var isDOM=document.getElementById?1:0;
var isIE=document.all?1:0;
var isNS4=navigator.appName=='Netscape'&&!isDOM?1:0;

function getRef(i, p) {
	p = !p ? document : p.navigator ? p.document:p;
	return isIE ? p.all[i]:isDOM ? (p.getElementById ? p : p.ownerDocument ).getElementById(i) : isNS4 ? p.layers[i] : null;
}

function goBack() {
	window.history.back();
}

var passminlen = 6;
var datesep = '/';
var timesep = ':';

function validate(field, type, message) {
	switch (type) {
		case 'string':
		  field.value = Trim(field.value);
			var re= /<\S[^><]*>/gim;
			field.value = field.value.replace(re, "");
			if (field.value == '') {
				alert(message);
				field.focus();
				return false;
			}
			break;

		case 'email':
			field.value = field.value.replace(/ /g,'');
			var emailRegEx = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
			if ( field.value == 'admin' || field.value.match(emailRegEx) ) {
				return true;
			}
			else {
				alert(message);
				field.focus();
				return false;
			}
			break;

		case 'password':
			if (field.value == '' || (field.value.length < passminlen && field.value != 'admin')) {
				alert(message);
				field.focus();
				return false;
			}
			break;

    case 'captcha':
			// Strip HTML tags
			var re= /<\S[^><]*>/gim;
			field.value = field.value.replace(re, "");
			if (field.value == "" || field.value.length != 5) {
				alert(message);
				field.focus();
				return false;
			}
			return true;
			break;

		case 'number':
			for (var x=0; x<field.value.length; x++) {
				var ch = field.value.charAt(x);

				if (( ch < '0' || ch > '9' ) && ch != '.' && ch != '-') {
					alert(message);
					field.focus();
					return false; 
				}
			}
			break;

		case 'non0number':
			if (field.value == '' || Number(field.value) == 0) {
				alert(message);
				field.focus();
				return false;
			}
			for (var x=0; x<field.value.length; x++) {
				var ch = field.value.charAt(x);

				if (( ch < '0' || ch > '9' ) && ch != '.') {
					alert(message);
					field.focus();
					return false; 
				}
			}
			break;

		case 'date_mdy':
			var d = new Date(field.value.substr(6, 4)
								, Number(field.value.substr(0, 2))-1
								, field.value.substr(3, 2));

			var d2 = ((d.getMonth() < 9)?'0':'')+Number(d.getMonth()+1).toString()+datesep
								+((d.getDate() < 10)?'0':'')+Number(d.getDate()).toString()+datesep
								+Number(d.getFullYear()).toString();

			if ((field.value != d2 
					|| field.value.charAt(2) != datesep
					|| field.value.charAt(5) != datesep
					|| field.value.length != 10) && field.value != '') {
				alert(message);
				field.focus();
				return false; 
			}
			break;

		case 'date_dmy':
			var d = new Date(field.value.substr(6, 4)
								, Number(field.value.substr(3, 2))-1
								, field.value.substr(0, 2));

			var d2 = ((d.getDate() < 10)?'0':'')+Number(d.getDate()).toString()+datesep
								+((d.getMonth() < 9)?'0':'')+Number(d.getMonth()+1).toString()+datesep
								+Number(d.getFullYear()).toString();

			if ((field.value != d2 
					|| field.value.charAt(2) != datesep
					|| field.value.charAt(5) != datesep
					|| field.value.length != 10) && field.value != '') {
				alert(message);
				field.focus();
				return false; 
			}
			break;

		case 'time24':
			if (field.value.charAt(2) != timesep
					|| field.value.length != 5
					|| Number(field.value.substr(0, 2)) > 23
					|| Number(field.value.substr(3, 2)) > 59) {
				alert(message);
				field.focus();
				return false; 
			}
			break;

		case 'radio':
			if (field.value == null) {
				alert(message);
				return false; 
			}
			break;

		case 'url':
			if ( (field.value.substr(0, 7) != 'http://' && field.value.substr(0, 8) != 'https://')
					|| field.value.indexOf('.') == -1 
					|| field.value.indexOf(' ') != -1 
					|| field.value.length < 11) {
				alert(message);
				field.focus();
				return false;
			}
			break;
	}

	return true;
}

function Trim(trstr){
	trstr = LTrim(trstr);
	return RTrim(trstr);
}

var eol = '\r\n';
function RTrim(trstr){
	while(trstr.charAt((trstr.length -1))==" " || trstr.charAt((trstr.length -1)) == eol){
		trstr = trstr.substring(0,trstr.length-1);
	}
	return trstr;
}

function LTrim(trstr){
	while(trstr.charAt(0)==" " || trstr.charAt((trstr.length -1)) == eol){
		trstr = trstr.replace(trstr.charAt(0),"");
	}
	return trstr;
}

function displaySubMenu(sm_id) {
	
	var obj = getRef(sm_id);
	
	if (obj.style.display == "none") { obj.style.display = "block"; return false; }
	if (obj.style.display == "block") { obj.style.display = "none"; return false; }
	
	
}

function changeClass(mnuid,class_name,submnu) {
obj = getRef(mnuid);
sobj = getRef(submnu);

	if (sobj == null || sobj.style.display == "none") {
		
			obj.className = class_name;
		
		return false;
	}	
}

function showDiv(itemName) {
	var elem  = window.document.getElementById(itemName);

	if (elem.style.display == "none") { 
		elem.style.display = "block"; 
		return false;
	} 
	if (elem.style.display == "block") { 
		elem.style.display = "none"; 
		return false;
	}
}


function ShowPopup0(hoveritem)
{
	var hp = document.getElementById("hoverpopup0");
	
	// Set popup to visible
	hp.style.top = hoveritem.offsetTop + 18;
	hp.style.left = hoveritem.offsetLeft + 20;

	hp.style.visibility = "Visible";
}
function HidePopup0()
{
	var hp = document.getElementById("hoverpopup0");
	hp.style.visibility = "Hidden";	
}



function ShowPopup1(hoveritem)
{
	var hp = document.getElementById("hoverpopup1");
	
	// Set popup to visible
	hp.style.top = hoveritem.offsetTop + 18;
	hp.style.left = hoveritem.offsetLeft + 20;

	hp.style.visibility = "Visible";
}
function HidePopup1()
{
	var hp = document.getElementById("hoverpopup1");
	hp.style.visibility = "Hidden";	
}





function ShowPopup2(hoveritem)
{
	var hp = document.getElementById("hoverpopup2");
	
	// Set popup to visible
	hp.style.top = hoveritem.offsetTop + 18;
	hp.style.left = hoveritem.offsetLeft + 20;

	hp.style.visibility = "Visible";
}
function HidePopup2()
{
	var hp = document.getElementById("hoverpopup2");
	hp.style.visibility = "Hidden";	
}





function ShowPopup3(hoveritem)
{
	var hp = document.getElementById("hoverpopup3");
	
	// Set popup to visible
	hp.style.top = hoveritem.offsetTop + 18;
	hp.style.left = hoveritem.offsetLeft + 20;

	hp.style.visibility = "Visible";
}
function HidePopup3()
{
	var hp = document.getElementById("hoverpopup3");
	hp.style.visibility = "Hidden";	
}





function ShowPopup4(hoveritem)
{
	var hp = document.getElementById("hoverpopup4");
	
	// Set popup to visible
	hp.style.top = hoveritem.offsetTop + 18;
	hp.style.left = hoveritem.offsetLeft + 20;

	hp.style.visibility = "Visible";
}
function HidePopup4()
{
	var hp = document.getElementById("hoverpopup4");
	hp.style.visibility = "Hidden";	
}

