function checkmsg(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 isEmail(s)
{   
  if (isWhitespace(s)) return false
  if(s.indexOf(" ")>0) return false;
  var i = 1;
  var sLength = s.length;
  if ((s.indexOf(".")==sLength)||(s.lastIndexOf(".")==sLength)) return false;
  if (s.indexOf(".")<=0) return false;
  if (s.indexOf("@")!=s.lastIndexOf("@")) return false;

  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 ((i >= sLength - 1) || (s.charAt(i) != ".")) 
  	return false;
  else 
	{
		username=s.substring(0,s.indexOf("@"));
		domain=s.substring(s.indexOf("@")+1,s.length);
		usernames="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_.";
		domains="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_.";
		ULength=username.length;
		DLength=domains.length;		
		k=0
		m=0
		while (k < ULength) 
		  { 
		 	if (usernames.indexOf(username.charAt(k).toString())<0)
				{
					 return false;
				}
		  	k++
		  }
		 while (m < DLength) 
		  { 
		 	if (domains.indexOf(domain.charAt(m).toString())<0 )
				{
					 return false;
				}
		  	m++
		  }
	}
	
  return true;
}

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 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 isEmpty(s)
{   
	return ((s == null) || (s.length == 0))
}

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 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;
  }
