var DateFormatString = "yyyy-mm-dd";

if (location.href.indexOf('_f.') >-1) { currentLang = 'f' }
else { currentLang = 'e' }

var calendar;

function killPopup () {
	if (calendar) {
		calendar.close();
	}
}

function datewindow (f) {
	window.dateField=f;
    this.dateField   = window.dateField;
    this.inDate      = dateField.value;
//	dtObj = new Date(Date.parse(inDate));

    // SET DAY MONTH AND YEAR TO TODAY'S DATE
    var now   = new Date();
    var day   = now.getDate();
    var month = now.getMonth()+1;
    var year  = now.getYear();
    if (year > 99 && year < 1900) {
        year += 1900;
    }

    // IF A DATE WAS PASSED IN THEN PARSE THAT DATE yyyy-mm-dd
    if (inDate.indexOf('-') != -1) {
        var inYear   = inDate.substring(0,inDate.indexOf("-"));
		inYear = parseInt(inYear,10);

		var inMonth = inDate.substring(inDate.indexOf("-") + 1, inDate.lastIndexOf("-"));
		inMonth = parseInt(inMonth,10);

        var inDay = parseInt(inDate.substring(inDate.lastIndexOf("-") + 1, inDate.length),10);
        if (inDay) {
            day = inDay;
        }
        if (inMonth) {
            month = inMonth;
        }
        if (inYear) {
            year = inYear;
        }
    }
	calendar=window.open('/includes/calendar.php?lang='+currentLang,'cal','WIDTH=200,HEIGHT=210,left=270,top=150,resizable');
	if (navigator.appName == "Netscape") {
	    document.captureEvents(Event.MOUSEUP);
	}
	document.onmouseup = killPopup;
}

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";
			}
		}
	}
}

function fixPaddingIE() {
	return;
	if (document.layers) return;
	var divObjs = document.getElementsByTagName("DIV");
	for (var i=0; i<divObjs.length; i++) {
		var divObj = divObjs[i];
//		alert(divObj.style.cssText);
		if (divObj.style && divObj.style.padding != "") {
			alert(divObj.style.padding);
		}
	}
}

/* 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)";
//			objThis.childNodes.item(i).style.filter = "progid:DXImageTransform.Microsoft.Fade(duration=0.5)";
			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";
			}			
			objThis.childNodes.item(i).style.marginTop = (-1 * parseInt(objThis.offsetHeight,10))+"px";
			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(menuObject) {
	var objLICollection = menuObject.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") {
				objLI.childNodes.item(j).style.zIndex = 200;
				objLI.onmouseover=showSubMenu;
				objLI.onmouseout=hideSubMenu;
				for(var k = 0; k  < objLI.childNodes.length; k++) {
					if(objLI.childNodes.item(k).nodeName == "A") {					
						objLI.childNodes.item(k).className = "hassubmenu";
					}
				}
			}
		}
	}
}

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("sideMenu").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("sideMenu").style.display="none";
	}
}
if (window.attachEvent)
	window.attachEvent("onload", function (e) { initialiseMenu(document.getElementById("sideMenu")); });

if (window.addEventListener)
	window.addEventListener("load", function (e) { initialiseMenu(document.getElementById("sideMenu")); }, 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;
}
