function chkMessage(f) 
{
	var len = f.value.length;
	var cl;
	if ((len == 1) && (f.value.substring(0, 1) == " ")) 
	{
		f.value = ""; len = 0;
	}
	if (len > 500) 
	{
		f.value = f.value.substring(0, 500);
	}	
}

function isEmpty(s)
{   
	return ((s == null) || (s.length == 0))
}

function isWhitespace (s)
{   
	var whitespace = " \t\n\r";
	var i;
	if (isEmpty(s)) return true;
  	for (i = 0; i < s.length; i++)
  	{   
    	var c = s.charAt(i);
    	if (whitespace.indexOf(c) == -1) 
			return false;
  	}
  	return true;
}

function isUserName(s)
{   
	
	var invalidChracters = " !@#$%^&*()+|?<>\t\n\r";
	var i;
	for (i = 0; i < s.length; i++)
  	{   
    	var c = s.charAt(i);
    	if (invalidChracters.indexOf(c) != -1) 
			return false;
  	}
  	return true;
}

function isEmail(s)
{   
	if (isEmpty(s)) 
		if (isEmail.arguments.length == 1) return false;
		else 
			return (isEmail.arguments[1] == true);
		
  	if (isWhitespace(s)) 
		return false;
    var i = 1;
  	var sLength = s.length;
	while ((i < sLength) && (s.charAt(i) != "@"))
  	{ 
		i++;
  	}
	if ((i >= sLength) || (s.charAt(i) != "@")) 
		return false;
  	else 
		i += 2;
	while ((i < sLength) && (s.charAt(i) != "."))
  	{ 
		i++;
  	}
  	if ((s.indexOf(".com")<5)&&(s.indexOf(".org")<5)
		&&(s.indexOf(".gov")<5)&&(s.indexOf(".net")<5)
		&&(s.indexOf(".mil")<5)&&(s.indexOf(".edu")<5)&&(s.indexOf(".vn")<5))
	{
		return false;
	}
	if ((i >= sLength - 1) || (s.charAt(i) != ".")) 
		return false;
  	else 
		return true;
}

function isDigit (c)
{	
	return ((c >= "0") && (c <= "9"))
}

function isAllDigit (s)
{   
	var i;
	if (isEmpty(s)) 
		if (isAllDigit.arguments.length == 1) 
			return false;
		else 
			return (isDigital.arguments[1] == true);
	  	for (i = 0; i < s.length; i++)
	  	{   
			var c = s.charAt(i);
			if (isDigit(c)==false)
				return false;
	 	}
	return true;
}

function isStateCode(s)
{
	if (s.length !=2) return false;
	s = s.toUpperCase();
	var USStateCodeDelimiter = "|";
	var USStateCodes = "AL|AK|AS|AZ|AR|CA|CO|CT|DE|DC|FM|FL|GA|GU|HI|ID|IL|IN|IA|KS|KY|LA|ME|MH|MD|MA|MI|MN|MS|MO|MT|NE|NV|NH|NJ|NM|NY|NC|ND|MP|OH|OK|OR|PW|PA|PR|RI|SC|SD|TN|TX|UT|VT|VI|VA|WA|WV|WI|WY|AE|AA|AE|AE|AP"
	if (isEmpty(s)) 
		if (isStateCode.arguments.length == 1) return false;
    else 
		return (isStateCode.arguments[1] == true);
	return ((USStateCodes.indexOf(s) != -1) && (s.indexOf(USStateCodeDelimiter) == -1))
}

function isPhone(s){
	if ( s.indexOf("+")>=0 && s.indexOf("+")!=0 ){
		return false;
	}
	var temp1 = s.split("(")
	var temp2 = s.split(")")
	var temp3 = s.split("-")
	var temp4 = s.split(".")
	if ( temp1.length >=3 || temp2.length>=3){
		return false
	}
/*	if (temp3.length+ temp4.length >=4){
		return false
	}*/
	if ( temp1.length != temp2.length ){
		return false;
	}
	if ( s.indexOf("(")>= 0 && s.indexOf(")")>=0 && s.indexOf(")") <= s.indexOf("(") ){
		return false;
	}
	if ( s.indexOf (")") >=0 && s.indexOf("-")>=0 && s.indexOf("-") <= s.indexOf(")") )
	{
		return false;
	}
	if ( s.indexOf (")") >=0 && s.indexOf(".")>=0 && s.indexOf(".") <= s.indexOf(")") )
	{
		return false;
	}
	for (var i=0;i < s.length;i++){
		var c= s.charAt(i);
		if (!isDigit(c) && c!="+"&& c!="("&& c!=")"&& c!="."&& c!="-"&& c!=" "){
			return false
		}
	}
	return true;
}
	function checkDate(strdate,type)
  
  // TestDate(StringdateToChange,TypeOfFormat,StringOut)
  // StringdateToChange : Ngay muon kiem tra hop le
  // TypeOfFormat : Dang truyen vao cua ngay muon kiem tra hop le:
  // TypeOfFormat =1 : Truyen vao dd/mm/yyyy
  // TypeOfFormat =2 : Truyen vao mm/dd/yyyy
  // Tri tra ve cua ham 1: Ngay hop le
  //		      0: Ngay khong hop le rterretret
  	{
   		var m,d,y;
		var t=new Array(0,31,28,31,30,31,30,31,31,30,31,30,31);
		var s, pos1,pos2;
		var s = strdate;
		if (s.length==0) return 1;
		pos1=s.indexOf("/",0);
		pos2=s.indexOf("/",pos1+1);
		if ((pos1<0)||(pos2<0))
			return false;
		d=parseInt(s.substr(0,pos1),10);
		m=parseInt(s.substr(pos1+1,pos2-pos1-1),10);
		y=parseInt(s.substr(pos2+1,s.length-pos2-1),10);
		var y1=s.substr(pos2+1,s.length-pos2-1);
		if (y1.length!=4) 
		{
		   return false;
		}
		if (y%4==0){
			if ((y%100) ==0 && (y%400) != 0){
				t[2]=28;
			}
			//Nam nhuan
			else{
				t[2]=29;
			}
		}
		if (type == 1) {
			if ( (t[m]<d)||(d<1) || (m<1) || (m>12)){
				return false;
			}
		}	
		if (type == 2){
			if ((t[d]<m)||(m<1) || (d<1) || (d>12)){
				return false;
			}
		}
		return true;	
  }// end Testday
   
  function isValidDate(d,m,y)
  {
  		var t=new Array(0,31,28,31,30,31,30,31,31,30,31,30,31);
		if (y%4==0){
			if ((y%100) ==0 && (y%400) != 0){
				t[2]=28;
			}
			//Nam nhuan
			else{
				t[2]=29;
			    }
		}
		if((m<1) || (m>12) || (d>t[m]) || (d<1))
			return false;
		return true;	
  }

  function CompDate(strdate1,strdate2) 
  {
   
	var m1,d1,y1,m2,d2,y2;

	var s, pos1,pos2;
	var s = strdate1,s1=strdate2;
	if (s.length==0 || s1.length==0) return true;
	pos1=s.indexOf("/",0);
	pos2=s.indexOf("/",pos1+1);
	d1=parseInt(s.substr(0,pos1),10);
	m1=parseInt(s.substr(pos1+1,pos2-pos1-1),10);
	y1=parseInt(s.substr(pos2+1,s.length-pos2),10);
	
	pos1=s1.indexOf("/",0);
	pos2=s1.indexOf("/",pos1+1);
	d2=parseInt(s1.substr(0,pos1),10);
	m2=parseInt(s1.substr(pos1+1,pos2-pos1-1),10);
	y2=parseInt(s1.substr(pos2+1,s1.length-pos2),10);
	var d1= new Date(y1,m1,d1);
	var d2= new Date(y2,m2,d2);
	//alert(d1);
	//alert(d2);
	if (d1>d2) 
		return true;
	else
		return false;
  }
  
function checkNumber(str){
	var a, st;
	st= str;
	for (var i=0;i< st.length; i++){
		if (st.charAt(i) < '0' || st.charAt(i)>'9'){
			if (st.charAt(i) != '.') {
				return false;
			} 
		}
	}
	return true;
}

function isImage(strImage)
{
	if(strImage.substring(strImage.length-3,strImage.length)=='gif' || strImage.substring(strImage.length-3,strImage.length)=='jpg' || strImage.substring(strImage.length-3,strImage.length)=='png')
		return true;
	return false;	
}
