<!--
//////////////////////////////////// 
// GLOBAL JAVASCRIPT HEADER
////////////////////////////////////

//////////////////////////////////// 
// BROWSER DETECTION
////////////////////////////////////
var intBrowserVer = parseInt(navigator.appVersion);
var strBrowserName = navigator.appName;
var blnMAC = (navigator.userAgent.indexOf('Mac') != -1) ? true : false;
var blnIE = (document.all) ? true : false;
var blnNS4 = (document.layers) ? true : false;
var blnNS6 = (document.getElementById && !document.all) ? true : false;
var blnOpera = (strBrowserName == 'Opera');

//////////////////////////////////// 
// COMMON FUNCTIONS
////////////////////////////////////
// url: name of the url
// winName: name of the popup window
// w: width of the popup window
// h: height of the popup window
// tb: toolbar of the popup window
// s: scrollbars of the popup window
function PopupWin(url,winName,w,h,tb,s) {
	var l, t;
	if (navigator.appName == "Netscape" && parseInt(navigator.appVersion) >= 4) {
		l = (window.outerWidth / 2) - (w / 2);
		t = (window.outerHeight / 2) - (h / 2);
	}
	else {
		l = (window.screen.availWidth / 2) - (w / 2);
		t = (window.screen.availHeight / 2) - (h / 2);
	}
	var framewin = window.open(url,winName,"width="+w+",height="+h+",toolbar="+tb+",scrollbars="+s+",menubar=no,resizable=no,top="+t+",left="+l);
	if (framewin.focus) framewin.focus();
}

function LoadOpenerWindow(url) {
	if (window.opener && !window.opener.closed) {
		window.opener.location.href = url;
		if (window.opener.focus) window.opener.focus();
	}
	else {
		var win = window.open(url);
		if (win.focus) win.focus();
	}
}

function preload(imgName, imgSrc) {
	if (document.images) { 
		eval(imgName + ' = new Image()');
		eval(imgName + '.src = "' + imgSrc + '"');
	}
}

function imgOff(imgName) {
	if (document.images) {
		document[imgName].src = eval(imgName + "off.src");
	}
}

function imgOn(imgName) {
	if (document.images) {
		document[imgName].src = eval(imgName + "on.src");
	}
}

//////////////////////////////////// 
// USEFUL FORM FUNCTIONS
////////////////////////////////////
function blnBlank(s) {
	var str = s;
	if (str == "") return true;
	else return false;
}

function blnContainSpace(s) {
	var str = s;
	var flag = false;
	if (str != "") {
		for (var i = 0; i < str.length; i++) {
			if (str.charAt(i) == " ") {
				flag = true;
				break;
			}
		}
	}
	return flag;
}
	
function blnOnlySpace(s) {
	var str = s;
	var flag = true;
	if (str != "") {
		for (var i = 0; i < str.length; i++) {
			if (str.charAt(i) != " ") {
				flag = false;
				break;
			}
		}
	}
	return flag;
}

function isGUID(str) {
	var guidValidationString = "[A-F0-9]{8}-[A-F0-9]{4}-[A-F0-9]{4}-[A-F0-9]{4}-[A-F0-9]{12}"
	return RegExpTest(guidValidationString, str);
}

function isValidEmail(sEmailAddress) {
	var emailValidationString = "^[a-zA-Z0-9_\.\-]+@[a-zA-Z0-9\-][a-zA-Z0-9\.\-]*[\.][A-Za-z0-9]+$";
	return RegExpTest(emailValidationString, sEmailAddress);
}

function RegExpTest(strPattern, str) {
	var blnValid;
	var regex = new RegExp(strPattern);
	blnValid = regex.test(str);
	return blnValid;
}

function ChangeOptionDays(obj, selectIndex) {
	var yearVal = eval(obj + selectIndex + "Year.options[" + obj + selectIndex + "Year.selectedIndex].text");
	var monthVal = eval(obj + selectIndex + "Month.options[" + obj + selectIndex + "Month.selectedIndex].text");
	var dayVal = eval(obj + selectIndex + "Day.options[" + obj + selectIndex + "Day.selectedIndex].text");
	if (isNaN(monthVal)) {
		switch (monthVal) {
			case "January":
				monthVal = 1;
				break;
			case "February":
				monthVal = 2;
				break;
			case "March":
				monthVal = 3;
				break;
			case "April":
				monthVal = 4;
				break;
			case "May":
				monthVal = 5;
				break;
			case "June":
				monthVal = 6;
				break;
			case "July":
				monthVal = 7;
				break;
			case "August":
				monthVal = 8;
				break;
			case "September":
				monthVal = 9;
				break;
			case "October":
				monthVal = 10;
				break;
			case "November":
				monthVal = 11;
				break;
			case "December":
				monthVal = 12;
				break;
		}
	}
	if ((yearVal != "Year") && (monthVal != "Month")) {
		var timeA = new Date(yearVal, monthVal, 1);
		var timeDifference = timeA - 86400000;
		var timeB = new Date(timeDifference);
		var CurrentDayInMonth = (dayVal-1);
		var DaysInMonth = timeB.getDate();
		for (var i = 0; i < eval(obj + selectIndex + "Day.length"); i++) {
			eval(obj + selectIndex + "Day.options[0] = null");
		}
		eval(obj + selectIndex + "Day.options[0] = new Option('Day')");
		for (var i = 1; i <= DaysInMonth; i++) {
			eval(obj + selectIndex + "Day.options[" + i + "] = new Option(" + (i) + ")");
		}
		i = i - 1;
		if (CurrentDayInMonth < i)
			eval(obj + selectIndex + "Day.options[" + (CurrentDayInMonth + 1) + "].selected = true");
		else if (dayVal == "Day")
			eval(obj + selectIndex + "Day.options[0].selected = true");
		else
			eval(obj + selectIndex + "Day.options[" + i + "].selected = true");
	}
}
// -->