// FOR DURING TRANSITION
var isIE = document.all ? true : false;

function runFilter(thisObj) {
	if (thisObj.filters) {
		if (thisObj.filters[0]) {
			thisObj.filters[0].Apply();
			thisObj.filters[0].Play();
		}
	}
}

function datewindow (f) {
	window.dateField=f;
	calendar=window.open('/includes/calendar_'+currentLang+'.html','cal','WIDTH=200,HEIGHT=240,left=270,top=150,resizable');
}


function setLinkRedirects() {
	if (document.getElementsByTagName) {
		var allAnchors = document.getElementsByTagName("A");
		for (var i=0; i<allAnchors.length; i++) {
			if (allAnchors[i].href.toLowerCase().indexOf("http://") == 0 && allAnchors[i].href.toLowerCase().indexOf(location.hostname.toLowerCase()) == -1) {
				allAnchors[i].target = "_blank";
			}
		}
	}
}

/* Return an object by name, checking to see if the value passed is already an object */
function getThisObj (objName) {
	if (typeof(objName) == 'object') {
		return objName;
	} else {
		if (document.getElementById && document.getElementById(objName)) {
			return document.getElementById(objName);
		} else if (document.layers && document.layers[objName]) {
			return document.layers[objName];
		} else if (document.all && document.all[objName]) {
			return document.all[objName];
		} else if (document[objName]) {
			return document[objName];
		} else {
			alert(objName + " not found!");
			return false;
		}
	}
}

/* get the left pixel position for a given element */
function getXPos(thisObj) {
	var x=0;
	do {
		x += thisObj.offsetLeft;
		thisObj = thisObj.offsetParent;
	} while (thisObj != null)
	return x;
}

/* get the top pixel position for a given element */
function getYPos(thisObj) {
	var y=0;
	do {
		y += thisObj.offsetTop;
		thisObj = thisObj.offsetParent;
	} while (thisObj != null)
	return y;
}


var activeSidebarMenu = null;
function showSubMenu() {
	var objThis = this;
	for(var i = 0; i  < objThis.childNodes.length; i++) {
		if(objThis.childNodes.item(i).nodeName == "UL")	{
			objThis.childNodes.item(i).style.filter = "progid:DXImageTransform.Microsoft.Inset(duration=0.25)";
			if (objThis.childNodes.item(i).filters && objThis.childNodes.item(i) != activeSidebarMenu) {
				objThis.childNodes.item(i).filters[0].Apply();
				objThis.childNodes.item(i).style.display = "block";
				objThis.childNodes.item(i).filters[0].Play();
			} else {
				objThis.childNodes.item(i).style.display = "block";
			}			
			if (document.all)
				objThis.childNodes.item(i).style.marginTop = -1 * parseInt(objThis.offsetHeight)+26;
			activeSidebarMenu = objThis.childNodes.item(i);
		}
	}
}

function hideSubMenu() {								
	var objThis = this;
	for(var i = 0; i  < objThis.childNodes.length; i++) {
		if(objThis.childNodes.item(i).nodeName == "UL") {
			objThis.childNodes.item(i).style.display = "none";
			activeSidebarMenu = objThis.childNodes.item(i);
			return;
		}
	}
}

function initialiseMenu(menuObj) {
	if (!menuObj) return;
	var objLICollection = menuObj.getElementsByTagName("LI");
	for(var i = 0; i < objLICollection.length; i++) {		
		var objLI = objLICollection[i];
		for(var j = 0; j  < objLI.childNodes.length; j++) {
			if(objLI.childNodes.item(j).nodeName == "UL") {
				if (!document.all) {
					objLI.childNodes.item(j).style.top="26px";
					objLI.childNodes.item(j).style.marginLeft="50px";
				}
				objLI.onmouseover=showSubMenu;
				objLI.onmouseout=hideSubMenu;
				fixAnchorsIE(objLI);
				for(var k = 0; k  < objLI.childNodes.length; k++) {
					if(objLI.childNodes.item(k).nodeName == "A") {
						objLI.childNodes.item(k).className = "hassubmenu";
					}
				}
			}
		}
	}
}

function fixAnchorsIE(thisLI) {
	if (!isIE) return;
	if (thisLI && thisLI.getElementsByTagName) {
		var allAnchors = thisLI.getElementsByTagName("A");
		for (var i=0; i<allAnchors.length; i++) {
			allAnchors[i].style.width = allAnchors[i].parentElement.style.width;
		}
	}
}

var mainStyleSheetUrl = "";
function togglePrintView() {
	if (document.styleSheets[0].href == "null") {
		document.styleSheets[0].href = mainStyleSheetUrl;
		document.getElementById("topBanner").style.display="block";
		document.getElementById("clfCommonMenu").style.display="block";
		document.getElementById("main_menu").style.display="block";
	} else {
		mainStyleSheetUrl = document.styleSheets[0].href;
		document.styleSheets[0].href="null";
		document.getElementById("topBanner").style.display="none";
		document.getElementById("clfCommonMenu").style.display="none";
		document.getElementById("main_menu").style.display="none";
	}
}
if (window.attachEvent)
	window.attachEvent("onload", function (e) { initialiseMenu(document.getElementById("main_menu")); });

function fixPNG() {
	var pngToFix = document.getElementById("left_side");
	if (pngToFix) {
		pngToFix.style.background = "";
		pngToFix.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='/images/template-2/left-side-overlay.png', sizingMethod='scale')";
	}
}

if (window.attachEvent)
	window.attachEvent("onload", fixPNG);

if (window.addEventListener)
	window.addEventListener("load", function (e) { initialiseMenu(document.getElementById("main_menu")); }, false);


// always returns year, month, day
function getDateArray(dtString,dtFrmt) {
	var separator = "-";
	if (dtFrmt.indexOf('/') != -1) {
		separator = "/";
	} else if (dtFrmt.indexOf('.') != -1) {
		separator = ".";
	}
	var dtFrmtArray = dtFrmt.toLowerCase().split(separator);
	var dtStringArray = dtString.split(separator);
	var ymd = new Array;
	var parseError = false;
	if (dtFrmtArray.length == 3 && dtStringArray.length == 3) {
		for (i=0;i<3;i++) {
			if (dtFrmtArray[i].charAt(0) == "m") {
				ymd[1] = parseInt(dtStringArray[i],10);
			} else if (dtFrmtArray[i].charAt(0) == "d") {
				ymd[2] = parseInt(dtStringArray[i],10);
			} else if (dtFrmtArray[i].charAt(0) == "y") {
				ymd[0] = parseInt(dtStringArray[i],10);
			} else {
				parseError = true;
			}
		}
	} else {
		parseError = true;
	}
	if (parseError) {
		return null;
	} else {
		return ymd;
	}
}
function getDateString(year,month,day,dtFrmt) {
	var separator = "-";
	if (dtFrmt.indexOf('/') != -1) {
		separator = "/";
	} else if (dtFrmt.indexOf('.') != -1) {
		separator = ".";
	}
	var dtFrmtArray = dtFrmt.toLowerCase().split(separator);
	var DateOutput = "";
	var parseError = false;
	if (dtFrmtArray.length == 3) {
		for (var i=0;i<3;i++) {
			if (DateOutput != "") {
				DateOutput = DateOutput + separator;
			}
			if (dtFrmtArray[i] == "mm") {
				DateOutput = DateOutput + padNumber(2,month+"");
			} else if (dtFrmtArray[i] == "m") {
				DateOutput = DateOutput + (parseInt(month,10)+0);
			} else if (dtFrmtArray[i] == "dd") {
				DateOutput = DateOutput + padNumber(2,day+"");
			} else if (dtFrmtArray[i] == "d") {
				DateOutput = DateOutput + (parseInt(day,10)+0);
			} else if (dtFrmtArray[i] == "yy") {
				DateOutput = DateOutput + year.substring(2,3);
			} else if (dtFrmtArray[i] == "yyyy") {
				DateOutput = DateOutput + ((parseInt(year,10) < 100) ? (parseInt(year,10) + 2000) : year);
			} else {
				parseError = true;
			}
		}
	}
	if (parseError) {
		return "";
	} else {
		return DateOutput;
	}
}

function padNumber(padLength,StringNumber) {
	StringNumber = StringNumber.replace(/[^0-9]/g,"");
	var padElem = padLength - StringNumber.length;
	for (var i=0;i<padElem;i++) {
		StringNumber = "0"+StringNumber;
	}
	return StringNumber;
}