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(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 check_required(field, field_name){
	if (!field.value.length){	
		alert('Please enter '+field_name+'.');
		field.focus();
		return false;
	}
	else
		return true;
}

function check_numeric(field, field_name){
	field.value=field.value.replace(/\s+$/g,'');
	field.value=field.value.replace(/^\s+/g,'');
	if (field.value.match(/\D/)){	
		alert('Please enter a number into '+field_name+'.');
		field.focus();
		return false;
	}
	else
		return true;
}

function check_email(field, field_name){
	if (!field.value.match(/\w+@\w+\.\w+/)){	
		alert('Please enter valid '+field_name+'.');
		field.focus();
		return false;
	}
	else
		return true;
}

function check_passwords(field1, field2){
	if (field1.value != field2.value){	
		alert('Verify password does not match. Please enter and verify the password again.');
		field2.focus();
		return false;
	}
	else
		return true;
}

function check_price(field, field_name){
	field.value=field.value.replace(/\s+$/g,'');
	field.value=field.value.replace(/^\s+/g,'');
	if (field.value.match(/[^0-9,\.\$\,]/)||(parseInt(field.value.replace(/[\.\$\,]/g,''))==0)||(field.value.replace(/[\.\$\,]/g,'')=='')){	
		alert('Please enter a valid '+field_name+'.');
		field.focus();
		return false;
	}
	else
		return true;
}

function check_price_quiet(field){
	field.value=field.value.replace(/\s+$/g,'');
	field.value=field.value.replace(/^\s+/g,'');
	
	if (field.value.match(/[^0-9,\.\$\,]/)||(parseInt(field.value.replace(/[\.\$\,]/g,''))==0)||(field.value.replace(/[\.\$\,]/g,'')=='')){	
		return false;
	}
	else
		return true;
}

function check_default(field,field_name) {
	if (!eval(field.name+'_click')) {
		alert('Please enter a valid '+field_name+'.');
		field.focus();
		return false;
	} else return true;

}

function empty_default(field,field_name) {
	if (!eval(field.name+'_click')) {
		field.value = '';
		eval(field.name+'_click'+' = 1');
	}
}
function checkDate(frmName, itemName, msg, month, day, year)
{
	if (document.forms[frmName].elements[itemName].value.length != 0)
	{
		var d = new Date (year, month-1, day);
		if (	d.getFullYear() != year
			||	(d.getMonth()+1) != month
			||	d.getDate() != day
			||	year < 1753			//SQL Server datetime limits
			||	year > 9999)
		{
			alert("Invalid "+msg+"!");
			document.forms[frmName].elements[itemName].focus();
			return false;
		}
	}
	return true;
}
