
function confirmDate(dateStr) {
	var month = dateStr.substring(0, dateStr.indexOf("/"));
	var day   = dateStr.substring(dateStr.indexOf("/")+1, dateStr.lastIndexOf("/"));
	var year  = dateStr.substring(dateStr.lastIndexOf("/")+1, dateStr.length);
	if (!isNaN(month) && !isNaN(day) && !isNaN(year)) {
		if (year > 79 && year < 100)
			year = parseInt(year) + 1900;
		if (year > 0 && year < 79)
			year = parseInt(year) + 2000;
		if (month < 1 || month > 12 || day < 1 || day > 31 || year < 1800 || year > 2200)
			return false;
		else
		if (month == 2 && day > 29 && (year%400 == 0))
			return false;
		else
		if (month == 2 && day > 28 && (year%100 == 0) && (year%400 != 0))
			return false;
		else
		if (month == 2 && day > 29 && (year%4 == 0))
			return false;
		else
		if (month == 2 && day > 28 && (year%4 != 0))
			return false;
		else
		if (month == 9 && day > 30)
			return false;
		else
		if (month == 11 && day > 30)
			return false;
		else
		if (month == 4 && day > 30)
			return false;
		else
		if (month == 6 && day > 30)
			return false;
		else
			return true;
	}
	else
		return false;
}

function verifyEmail(str) {
	var reg = /^[0-9a-zA-Z_\-\.]+@[0-9a-zA-Z_\-\.]+\.[0-9a-zA-Z]+$/;
	return reg.test(Trim(str));
}

// removes any erroneous whitespaces
function Trim(str) {
	var left = /^\s+/;
	var right = /\s+$/;
	return str.replace(right,"").replace(left,"");
}

function empty(str) {
	return (Trim(str)=="");
}

function popup(url) {
	var height = screen.availHeight/2;
	var width = screen.availWidth/2;
	var options = "width="+width+",height="+height+",scrollbars=yes,resizable=yes,toolbar=no";
	popupwindow = window.open(url,'popupwindow',options);
	popupwindow.focus();
}

function showCal(frm, url) {
	var x = window.screenX;
	var y = window.screenY;
	var cx = (x+(window.outerWidth/2));
	var cy = (y+175);
	var inputName = frm.name;
	if (url+"" == "undefined") {
		url = "gtd/datePicker.asp";
	}
	var hWindow = window.open(url+"?inputName="+frm.name+"&shortdate="+frm.value, "datePicker", "width=250,height=240,screenX="+cx+",screenY="+cy);
}

function makeValidNumber(bvObj, dval) {
	var dimStr = bvObj.value;
	var ret = "";
	for (var i=0; i<dimStr.length; i++) {
		if (!isNaN(dimStr.charAt(i))&&dimStr.charAt(i)!=" ")
			ret += dimStr.charAt(i);
	}
	if (ret == "") {
		ret = dval;
	}
	return ret;
}

function checkNumber(fName, dval) {
	var dl = eval(fName);
	dl.value = makeValidNumber(dl, dval);
	return;
}

function verifyFloat(formfield) {
	var dl = eval(formfield);
	if (Trim(dl.value)=="") return false;
	return !isNaN(dl.value);
}

function redirect(url, target) {
	if (url != '#' && url != '') {
		if (target == "_new") {
			// open new window
			var popup = window.open(url,'popup');
			popup.focus();
		}
		else {
			// redirect to url
			location.href = url;
		}
	}
}

function setText(text) {
	if (text != '#' && text != '') {
		window.status = text;
	}
}

function clearText() {
	window.status='';
}

function dateOut(dt) {
	return (parseInt(dt.getMonth())+parseInt(1))+"/"+dt.getDate()+"/"+dt.getYear();
}

function fillinDate(fld) {
	fld.value = dateOut(new Date());
}

// returns true when value is element in array, false otherwise
function isPartOf(val, ar) {
	for (var i = 0;i<ar.length;i++) {
		if (val == ar[i]) {
			return true;
		}
	}
	return false;
}

function out(s)
{
	document.write(s);
}