function trim (s){
	s = s.replace(/^\s+/,'');
	s = s.replace(/\s+$/,'');
	return s;
}

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;
}

function checkEmail(frmName, itemName, msg)
{
	document.forms[frmName].elements[itemName].value=trim(document.forms[frmName].elements[itemName].value);
	if (((document.forms[frmName].elements[itemName].value.length != 0)
		&& ((document.forms[frmName].elements[itemName].value.search(/\w@\w./g) == -1)||(document.forms[frmName].elements[itemName].value.search(/\s/g) != -1)))
		|| (document.forms[frmName].elements[itemName].value.length == 0)
		 )
	{
		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 checkHex(frmName, itemName, msg)
{
	if (document.forms[frmName].elements[itemName].value.length){
		if (document.forms[frmName].elements[itemName].value.match(/^[0-9a-fA-F]*$/))
			return true;
		else{
			alert('Invalid '+msg);
			document.forms[frmName].elements[itemName].focus();
			document.forms[frmName].elements[itemName].select();
			return false;
		}
	}
	return true;
}

function checkFloat(frmName, itemName, msg)
{
	if (document.forms[frmName].elements[itemName].value.length){
		var val;
		val=parseFloat(document.forms[frmName].elements[itemName].value.replace(/,/g, ""));
		if (! isNaN(val)){
			if (val!=document.forms[frmName].elements[itemName].value){
				alert('Invalid '+msg);
				document.forms[frmName].elements[itemName].value=val;
				return false;
			}
		}
		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)
{
	checkstr = document.forms[frmName].elements[itemName].value;
	while (checkstr.indexOf(' ') != -1) {
   		checkstr = checkstr.replace(' ','');
	}
	if (checkstr.length == 0)
	{
		alert(msg);
		document.forms[frmName].elements[itemName].focus();
		document.forms[frmName].elements[itemName].select();
		return false;
	}
	return true;
}

function preDelete()
{
	return confirm('Are you sure you want to delete this item?');
}

function checkLen(frmName, itemName, itemLen, msg)
{
	if (document.forms[frmName].elements[itemName].value.length != 0)
		if (document.forms[frmName].elements[itemName].value.length != itemLen){
			alert(msg);
			document.forms[frmName].elements[itemName].focus();
			document.forms[frmName].elements[itemName].select();
			return false;
		}
	return true;
}

function checkLenGreater(frmName, itemName, itemLen, msg)
{
	if (document.forms[frmName].elements[itemName].value.length != 0)
		if (document.forms[frmName].elements[itemName].value.length < itemLen){
			alert(msg);
			document.forms[frmName].elements[itemName].focus();
			document.forms[frmName].elements[itemName].select();
			return false;
		}
	return true;
}

function breakFrames(){
	if	(top.location != self.location) top.location=self.location;
}
