function CheckDay(vmonth, vday, vyear)
{
	var vDatetime, cDay, cDate;
	if ((vmonth>12)||(vday >31)) {
		return false;
	} else {
		vDatetime = vmonth+"/"+vday+"/"+vyear;
		cDate = new Date(vDatetime);
		cDay = cDate.getDate();
		if ( cDay == vday) {
			return true;
		} else {
			return false;
		}
	}
}

function CheckEmail(emailStr) {
      var checkTLD=1;
      var knownDomsPat=/^(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum)$/;
      var emailPat=/^(.+)@(.+)$/;
      var specialChars="\\(\\)><@,;:\\\\\\\"\\.\\[\\]";
      var validChars="\[^\\s" + specialChars + "\]";
      var quotedUser="(\"[^\"]*\")";
      var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
      var atom=validChars + '+';
      var word="(" + atom + "|" + quotedUser + ")";
      var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
      var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");
      var matchArray=emailStr.match(emailPat);
        if (matchArray==null) {
          alert("Dia chi e-mail khong hop le!");
          return false;
        }
      var user=matchArray[1];
      var domain=matchArray[2];

        if (domain.toLowerCase()!="hn.vnn.vn") {
          alert("Ten domain cua dia chi e-mail phai la hn.vnn.vn");
          //return false;
        }

        for (i=0; i<user.length; i++) {
          if (user.charCodeAt(i)>127) {
            alert("Ten nguoi dung cua dia chi e-mail chua ky tu khong hop le!");
            return false;
          }
        }
        for (i=0; i<domain.length; i++) {
          if (domain.charCodeAt(i)>127) {
            alert("Ten domain cua dia chi e-mail chua ky tu khong hop le!");
            return false;
          }
        }
        if (user.match(userPat)==null) {
          alert("Ten nguoi dung cua dia chi e-mail khong hop le!");
          return false;
        }
      var IPArray=domain.match(ipDomainPat);
        if (IPArray!=null) {
          for (var i=1;i<=4;i++) {
            if (IPArray[i]>255) {
              alert("Dia chi IP dich cua dia chi e-mail khong hop le!");
              return false;
            }
          }
          return true;
        }
      var atomPat=new RegExp("^" + atom + "$");
      var domArr=domain.split(".");
      var len=domArr.length;
        for (i=0;i<len;i++) {
          if (domArr[i].search(atomPat)==-1) {
            alert("Ten domain cua dia chi e-mail khong hop le!");
            return false;
          }
        }
        if (checkTLD && domArr[domArr.length-1].length!=2 &&
          domArr[domArr.length-1].search(knownDomsPat)==-1) {
          alert("Dia chi e-mail phai ket thuc voi domain da biet hoac voi hai ky tu cua ten nuoc!");
          return false;
        }
        if (len<2) {
          alert("Dia chi e-mail khong co hostname!");
          return false;
        }
        return true;
}

function trim(s){
            var output='';

            i=0;
            while (s.charAt(i)==' ') { i++;}

            j=s.length-1;
            while (s.charAt(j)==' ') { j--; }

            for (k=i; k<=j; k++){

                    if ((s.charAt(k)==' ')&& (s.charAt(k+1)==' ')){

                    }else{
                            output = output + s.charAt(k);
                    }
            }
            return output;
}

function isCharsInBag (s, bag)
	{
		var i;
		for (i = 0; i < s.length; i++)
		{
			var c = s.charAt(i);
			if (bag.indexOf(c) >= 0) return true;
		}
		return false;
}

function isAllCharsInBag (s, bag)
	{
		var i;
		for (i = 0; i < s.length; i++)
		{
			var c = s.charAt(i);
			if (bag.indexOf(c) < 0) return false;
		}
		return true;
}

function isSoHDInt (s)
	{
		var h_flg=0;
		var str_yyyy="";
		var i;
		for (i = 0; i < s.length; i++)
		{
			var c = s.charAt(i);
			if (h_flg==1)
			{
				str_yyyy=str_yyyy+c;
			}
			if (c=="/") h_flg=1;
		}
		
		if ((h_flg==1) && (str_yyyy.length==4) && isAllCharsInBag(str_yyyy, "0123456789"))
				return true;
		
		return false;
}

function user(s){
            var first=s.charAt(0);

			if(isCharsInBag(s, "`~!#$%^&*()+-=|{}[]?/\'<>;:,")) {
				alert( "Ten Account khong chua cac ky tu dac biet !!!" );
	            return false;
            }
			
			if(isCharsInBag(first, "0123456789")) {
				alert( "Ten Account khong bat dau bang so !!!" );
    	        return false;
            }
			
			for (i=0; i<s.length; i++) {
				if (s.charCodeAt(i)>127) {
					alert("Ten Account chua ky tu khong hop le !!!");
					return false;
				}
			}
			
			i=0;
            j=s.length-1;
            for (k=i; k<=j; k++) {
                if (s.charAt(k)==' ') {
					alert( "Ten Account khong chua khoang trang !!!" );
                    return false;
				}
						
            }
			
			if (s.match("@")!=null) {
				alert("Khong can nhap ten domain !!! \n (@hn.vnn.vn)");
				return false;
			}
	
			return true;
}

function isDDMMYY(s) 
{
	isValid = true;
	i = 0;
	mmStr = "";
	ddStr = "";
	yyStr = "";
	/* Validate parameter before attempting to run string operations */
	if ((s == null) || (s.length >10))
		isValid = false;
	else {
		for (i = 0; i < s.length; i++) {
			if (!((s.charAt(i) >= '0') && (s.charAt(i) <= '9') || 
					(s.charAt(i) == '/') || (s.charAt(i) == '-'))) {
				isValid = false;
				break;
			} 
		} // end for loop
			var1=0;
			var2=0;
			var3=0;
		   var1=s.indexOf('-', 0);
			if (var1>0) {
				var2=s.indexOf('-', var1+1); 
				var3=s.indexOf('-', var2+1);
					}
			else {
				var1 = s.indexOf('/', 0);
				var2 = s.indexOf('/', var1+1);
				var3 = s.indexOf('/', var2+1);
				}
			if ((var1>0) && (var2>0) && (var3<=0))
			{
				ddStr = s.substring(0, var1);
				mmStr = s.substring(var1+1,var2);
				yyStr = s.substring(var2+1);
				mmInt=parseInt(mmStr, 10);
				if (!((mmInt >= 1) && (parseInt(mmStr, 10) <= 12))) 
					isValid = false;
				if (!((parseInt(yyStr, 10) >= 19) && (parseInt(yyStr, 10) <= 9999)))
					isValid = false;
				if ((mmInt=1)|| (mmInt=3)||(mmInt=5)||(mmInt=7)||(mmInt=8)||(mmInt=10)||(mmInt=12))
					{
					if (!((parseInt(ddStr, 10) >= 1) && (parseInt(ddStr, 10) <= 31))) 
					isValid = false;
					}
				else
					{
					if (!((parseInt(ddStr, 10) >= 1) && (parseInt(ddStr, 10) <= 30))) 
					isValid = false;
					}
				if((yyStr%4)>0)
					{
						if ((parseInt(ddStr,10)>28) && (parseInt(mmStr, 10)==2))
							isValid = false;
					}
		
		}	//var1>0
		else
			isValid=false
	} // end outer-most else
	return isValid;
} // end isMMDDYY

