function trim(st) {
	var len = st.length
	var begin = 0, end = len - 1;
	while (st.charAt(begin) == " " && begin < len) {
		begin++;
	}
	while (st.charAt(end) == " " && begin < end) {
		end--;
	}
	return st.substring(begin, end+1);
}    

function isEmail(input)
{
	var reg1str = "(@.*@)|(\\.\\.)|(@\\.)|(\\.@)|(^\\.)";
    var reg2str = "^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$";
    var invalid_email_reg = new RegExp(reg1str);
    var valid_email_reg = new RegExp(reg2str);

	if(invalid_email_reg.test(input) ||
	   !valid_email_reg.test(input))
		return false;		
	else
		return true;	   	
}

function isCharacter(input)
{
	// a-zA-Z
	var validRegExp=/^[a-zA-Z]*$/;
	
	if(validRegExp.test(input))
		return true;
	else
		return false;					
}

function isAlphanumeric(input)
{
	// a-zA-Z
	var validRegExp=/^[a-zA-Z|0-9]*$/;
	
	if(validRegExp.test(input))
		return true;
	else
		return false;					
}

function isProper(input)
{
	// DO NOT ACCEPT < > ' " & #	
	var invalidRegExp=/(<|>|\'|\"|&|#)+/;
	
	if(invalidRegExp.test(input))
		return false;
	else
		return true;					
}

function isProper2(input)
{
	// DO NOT ACCEPT < > & #	
	var invalidRegExp=/(<|>|&|#)+/;
	
	if(invalidRegExp.test(input))
		return false;
	else
		return true;					
}

function isProper3(input)
{
	// DO NOT ACCEPT < > #	
	var invalidRegExp=/(<|>|#)+/;
	
	if(invalidRegExp.test(input))
		return false;
	else
		return true;					
}

function isPosInteger(input) //MinOrder, MaxOrder, LeadTimeDays
{
	//Accept Positive Numbers only
	var validRegExp=/^[0-9]*$/;
	
	if(validRegExp.test(input))
		return true;
	else
		return false;					
}


function isDate(sYear, sMth, sDay)
{
	if (eval(sMth) == "2"){
		if (parseFloat(sYear%4) == 0){
			if (sDay > 29)
				return false;
		}
		else{
		 	if (sDay > 28)
				return false;
		}		
	}
	
	else{ 
		if ((eval(sMth) == 4) || (eval(sMth) == 6) || (eval(sMth) == 9) || (eval(sMth) == 11))
			if (sDay == 31)
				return false;
	}	
	return true;		
}

function isNRICFormat(st)
{
	if (st.length != 9)
		return false;
	else {
		if (!(st.charAt(0) == "s" || st.charAt(0) == "S" || st.charAt(0) == "t" || st.charAt(0) == "T"))
			return false;
		else {
			if (!isCharacter(st.charAt(8)))
				return false;
		}		
	}	
	
	return true;
}

/************************************************************************************************** 
	textCounter() parameters are:  text field, the count field, max length 

	Insert this into ur code :-
		<center>
		<form name=myform action="YOUR-SCRIPT.CGI">
		<font size="1" face="arial, helvetica, sans-serif"> ( You may enter up to 125 characters. )<br>
		<textarea name=message wrap=physical cols=28 rows=4 onKeyDown="textCounter(this.form.message,this.form.remLen,125);" onKeyUp="textCounter(this.form.message,this.form.remLen,125);"></textarea>
		<br>
		<input readonly type=text name=remLen size=3 maxlength=3 value="125"> characters left</font>
		</form>
		</center>
**************************************************************************************************/
function textCounter(field, countfield, maxlimit) 
{
	if (field.value.length > maxlimit) // if too long...trim it!
		field.value = field.value.substring(0, maxlimit);
	// otherwise, update 'characters left' counter
	else 
		countfield.value = maxlimit - field.value.length;
}