function chkform(t)
	{
	t.className="chkform";
	var obj = getElementsByClassName(t.className, "form", document)[0]
	for(var i=0; i<obj.length; i++){
		
		xType=obj[i].type.toLowerCase()		
		xName=obj[i].name
		xValue=obj[i].value
		if ((xType=="text") || (xType=="textarea") || (xType=="select-one"))
		{
			if (document.all[xName].ref!="")
			{
//==============================================================================================
					xRef=document.all[xName].ref.toLowerCase()
					xInfo=document.all[xName].info
					xFirstRef=xRef.substr(0,1)

					if (xFirstRef=="r")
					{	
					//========================================================================
							if (xValue.length==0)
							{
								alert('Please enter value(Field '+xInfo+')')								
								document.all[xName].focus()
								document.all[xName].select()
								return false
							}
					//========================================================================
							if (xRef=="remail")
							{
								p=xValue.indexOf('@');
								p1=xValue.lastIndexOf('.');
								if ((p<2) || (p==(xValue.length-1)) || (p1==(xValue.length-1)) || (p1>(xValue.length-3)) || (p1==p+2))
									{
										alert('(Field '+xInfo+') must contain an e-mail address.');
										document.all[xName].focus()
										document.all[xName].select()
										return false
									}
							}
					//========================================================================
							if (xRef=="rnumber")
							{
								var str="0123456789"
								for(var k=0; k< xValue.length; k++)
								{
									str1=xValue.substr(k,1)
									if (str.indexOf(str1)<0)
									{
										alert('(Field '+xInfo+') must contain a number.');
										document.all[xName].focus()
										document.all[xName].select()
										return false;							
									}

								}
							}
					//=============RDecimal==============================
							if (xRef=="rdecimal")
							{
								var str="0123456789."
								
								for(var k=0; k< xValue.length; k++)
								{
									str1=xValue.substr(k,1)
									if (str.indexOf(str1)<0)
									{
										alert('(Field '+xInfo+') must contain a decimal.');
										document.all[xName].focus()
										document.all[xName].select()
										return false;							
									}

								}
							}	
					//========================================================================
							if (xRef=="rdate")
							{							
								if (!validDate(xValue)) {
									alert('Please enter valid date with format mm/dd/yyyy (Field '+xInfo+')');
									document.all[xName].focus();
									return false;
								}
							}
					//========================================================================

					//========================================================================

					//========================================================================

					//========================================================================

					//========================================================================

					//========================================================================

					//========================================================================

					//========================================================================

					}
					else // No Required
					{
						if (xValue.length>0)
						{
							//========================================================================
							if (xRef=="email")
							{
								p=xValue.indexOf('@');
								p1=xValue.lastIndexOf('.');
								if ((p<2) || (p==(xValue.length-1)) || (p1==(xValue.length-1)) || (p1>(xValue.length-3)) || (p1==p+2))
									{
										alert('(Field '+xInfo+') must contain an e-mail address.');
										document.all[xName].focus()
										document.all[xName].select()
										return false
									}
							}					
							//========================================================================
							if (xRef=="number")
							{
								var str="0123456789"
								for(var k=0; k< xValue.length; k++)
								{
									str1=xValue.substr(k,1)
									if (str.indexOf(str1)<0)
									{
										alert('(Field '+xInfo+') must contain a number.');
										document.all[xName].focus()
										document.all[xName].select()
										return false;							
									}

								}
							}
							//========================================================================
							if (xRef=="decimal")
							{
								var str="0123456789."
								
								for(var k=0; k< xValue.length; k++)
								{
									str1=xValue.substr(k,1)
									if (str.indexOf(str1)<0)
									{
										alert('(Field '+xInfo+') must contain a decimal.');
										document.all[xName].focus()
										document.all[xName].select()
										return false;							
									}

								}
							}	
							//========================================================================
							if (xRef=="date")
							{							
								if (!validDate(xValue)) {
									alert('Please enter valid date with format mm/dd/yyyy (Field '+xInfo+')');
									document.all[xName].focus();
									return false;
								}
							}
							//========================================================================
					
						}//end if (xValue.length==0)
					}
					//================================================================================
					if (xRef=="combobox")
					{
						if (document.all[xName].selectedIndex <= 0 ) 
							{
								if (!document.all[xName].disabled) 
									alert('Please enter value (Field '+xInfo+')');			
									document.all[xName].focus();
								return false;
							}
					}
					//================================================================================

//==============================================================================================			
			}//end if (document.all[xName].ref!="")			
			
		}//end if ((xType=="text") || (xType=="textarea"))
	}//end for(var i=0; i<obj.length; i++)
	return true
}//end function



function getElementsByClassName(strClassName, strTagName, oElm){
    var arrElements = (strTagName == "*" && document.all)? document.all : oElm.getElementsByTagName(strTagName);
    var arrReturnElements = new Array();
    strClassName = strClassName.replace(/\-/g, "\\-");
    var oRegExp = new RegExp("(^|\\s)" + strClassName + "(\\s|$)");
    var oElement;
    for(var i=0; i<arrElements.length; i++){
        oElement = arrElements[i];      
        if(oRegExp.test(oElement.className)){
            arrReturnElements.push(oElement);
		
        }   
    }
    return (arrReturnElements)
}

function validDate(s){
	
	var i = 0;
	var d, m, y;
	var separate = "/";
		m = s.substr(0,s.indexOf(separate));
		s = s.substr(s.indexOf(separate) + 1);
		d = s.substr(0,s.indexOf(separate));
		y = s.substr(s.indexOf(separate) + 1);
	if (!validIntFormat(m) || isNaN(parseInt(m)) || m<1 || m>12) {return false;} 		
	if (!validIntFormat(y) || isNaN(parseInt(y)) || y<1900 || y.length>9999) {return false;} 
	if (!validIntFormat(d) || isNaN(parseInt(d)) || d<1 || d>31) { return false;} 	
	if (((m == 4)||(m == 6)||(m == 9)||(m == 11))&&(d > 30)){return false;}
	if (m == 2){
			if (y%4 == 0){
				if ((y%100 != 0)||(y%400 == 0)) {	if (d > 29) {return false; }	}
				else if (d > 28){ return false;	}
			}
			else {	if (d > 28){ return false;	}	}
	}
	return true
}

function validIntFormat(value) {
	var valid, code, i;
	valid=true;
	for (i=0; i<value.length; i++) {
		code = value.charAt(i);
		if (!((code >= "0" && code <= "9") || (code == "-"))) { 
			valid=false; 
			break; 
		}
	}
	return valid;
}		


var win = null;
function NewWindow(mypage,myname,w,h,scroll){
LeftPosition = (screen.width) ? (screen.width-w)/2 : 0;
TopPosition = (screen.height) ? (screen.height-h)/2 : 0;
settings =
'height='+h+',width='+w+',top='+TopPosition+',left='+LeftPosition+',scrollbars='+scroll+',No'
win = window.open(mypage,myname,settings)
}
//directories
//location
//menubar
//resizable
//status
//toolbar
//<a href="http://wsabstract.com" onclick="NewWindow(this.href,'name','400','400','yes');return false">Website Abstraction</a>



function hidestatus(){
window.status=document.title
return true
}

if (document.layers)
document.captureEvents(Event.MOUSEOVER | Event.MOUSEOUT)

document.onmouseover=hidestatus
document.onmouseout=hidestatus


/*<script src="lib.js"></script>
<form name=main  onsubmit="return chkform(this)" method=post action="index.php">
	R: <input type=text value="" ref="R" name=f1 info="R">*<br>
	REmail: <input type=text value="" ref="REmail" name=f2 info="REmail">*<br>
	RNumber: <input type=text value="" ref="RNumber" name=f3 info="RNumber">*<br>
	RDecimal: <input type=text value="" ref="RDecimal" name=f4 info="RDecimal">*<br>
	Email: <input type=text value="" ref="Email" name=f5 info="Email"><br>
	Number: <input type=text value="" ref="Number" name=f6 info="Number"><br>
	Decimal: <input type=text value="" ref="Decimal" name=f7 info="Decimal"><br>
	Date: <input type=text value="" ref="Date" name=f9  info="Date"><br>
	RDate: <input type=text value="" ref="RDate" name=f10 info="RDate"><br>
	Combobox <select ref="Combobox" name=f8 info="Combobox">
					<option>Please select your information</option>
					<option value=1>1</option>
					<option value=2>2</option>
			  </select>
	<input type=submit value=Save name="fr" >
</form>
*/
//Time
    function tS(){ x=new Date(); x.setTime(x.getTime()); return x; }
    function lZ(x){ return (x>9)?x:'0'+x; }
    function tH(x){ if(x==0){ x=12; } return (x>12)?x-=12:x; }
    function y2(x){ x=(x<500)?x+1900:x; return String(x).substring(0,4) }
    function dT(){ if(fr==0){ fr=1; document.write('<span id="tP" class=tP>'+eval(oT)+'</span>'); } tP.innerText=eval(oT); setTimeout('dT()',1000); }
    function aP(x){ return (x>11)?'PM':'AM'; }
    var dN=new Array('Chủ nhật','Thứ hai','Thứ ba','Thứ tư','Thứ năm','Thứ sáu','Thứ bảy'),mN=new Array('tháng 1','tháng 2','tháng 3','tháng 4','tháng 5','tháng 6','tháng 7','tháng 8','tháng 9','tháng 10','tháng 11','tháng 12'),fr=0,oT="tH(tS().getHours())+':'+lZ(tS().getMinutes())+':'+lZ(tS().getSeconds())+' '+aP(tS().getHours())+' |'+' '+dN[tS().getDay()]+', ngày '+tS().getDate()+' '+mN[tS().getMonth()]+', '+y2(tS().getYear())+' '";
//End Time

 function openWindow(){  
 window.open('../download.php','_yourname','width=650,height=550,scrollbars=yes,resizable=no,status=0,top=0,left=0');
 }


function IsNumeric2()
  {
      	 	Key = window.event.keyCode;
			//alert(Key)
			if (((Key>47)&&(Key<58))||(Key==13)||(Key==8)||(Key==46)||((Key>36)&&(Key<41))) {return true}
			else return false			
   }


function IsNumeric3()
  {
      	 	Key = window.event.keyCode;
			//alert(Key)
			if (((Key>47)&&(Key<58))||(Key==13)||(Key==8)) {return true}
			else return false			
   }