function checkEmail(frmName, itemName, msg)
{
	str=document.forms[frmName].elements[itemName].value;
	var supported = 0;
	var valid     = 0;
	if (window.RegExp) {
		var tempStr = "a";
		var tempReg = new RegExp(tempStr);
		if (tempReg.test(tempStr)) supported = 1;
	}
	if (!supported) 
		valid=(str.indexOf(".") > 2) && (str.indexOf("@") > 0)
	else{
		var r1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)|(.*\")|(.*\\[|\\]|\\)|\\(|\\{|\\}|\\>|\\<|\\,|\\:|\\;|\\')|(.*\x7F)|(.*[\x01-\x20])");
		var r2 = new RegExp("^.+\\@(\\[?)(([a-zA-Z0-9\\-\\.])|([^a-zA-Z0-9]))+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$");

		valid= (!r1.test(str) && r2.test(str));
		}

	if (!valid) {
		alert("Invalid "+msg);
		document.forms[frmName].elements[itemName].focus();
		return false;
		}
	return true;
}

function checkInt(frmName, itemName, msg)
{
	if (document.forms[frmName].elements[itemName].value.length){
		var val;
		val=parseInt(document.forms[frmName].elements[itemName].value.replace(/,/g, ""));
		if (! isNaN(val)){
			document.forms[frmName].elements[itemName].value=val;
		}
		else{
			alert('Invalid '+msg);
			document.forms[frmName].elements[itemName].focus();
			document.forms[frmName].elements[itemName].select();
			return false;
		}
	}
	return true;
}
function checkNotEmpty(frmName, itemName, msg)
{
	if (document.forms[frmName].elements[itemName].value.length == 0){
		alert(msg);
		document.forms[frmName].elements[itemName].focus();
		document.forms[frmName].elements[itemName].select();
		return false;
	}
	return true;
}

function validateDateEx(date_element, month, day, year) {
	curr_month = month-1;
	curr_year = (year < 1000)?parseInt(year+2000):year;
	if (curr_month < 0 || curr_month > 12) return false;
	if (day < 1 || day > 31) return false;

	end_day = 31;
	check_date = new Date(curr_year,curr_month,end_day);
	while (curr_month != check_date.getMonth()) {
		check_date = new Date(curr_year,curr_month,--end_day);	
	}
	curr_day = (day < end_day)?day:end_day;
	if (curr_day!=day) {
		date_element.value = (parseInt(curr_month++,10)<10?'0':'')+curr_month+'/'+curr_day+'/'+curr_year;
	}
	return true;
}

function checkDateWithValidate(itemName,msg) {
   		date_obj = document.getElementById(itemName);
   		re = /(\d+)/g; 
		month = 0;
		day = 0;
		year = 0;
		i = 0;
   		while (re.lastIndex < date_obj.value.length) {   			
   			myArray = re.exec(date_obj.value);
			if (myArray) {
				if (i==0) month = parseInt(myArray[1],10);
				if (i==1) day = parseInt(myArray[1],10);
				if (i==2) year = parseInt(myArray[1],10);	
			} else {
				i = 3;
			}
			if (i > 2) break;	
	  		i++;
   		}
   		re.lastIndex = 0;
   		re = null;
   		
   		if (month==0||day==0||year==0||!validateDateEx(date_obj, month, day, year)) {
   			alert(msg);
   			date_obj.focus();
   			return false;
   		}
		return true;
	}