function HighLight(TheTR, sClassName)
{
    TheTR.className = sClassName;
}

function ShowDiv(sDivName, sFocusName)
{
    var MItem = document.getElementById(sDivName);
    if(MItem)
    {
        MItem.style.display = "";
        var objFocus = document.getElementById(sFocusName);
        if(objFocus)
        {
            objFocus.focus();
        }
    }
}

function HideDiv(sDivName)
{
    var MItem = document.getElementById(sDivName);
    if(MItem)
    {
        MItem.style.display="none";
    }
}

function MM_swapImgRestore()
{ //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages()
{ //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d)
{ //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function ToDayString()
{
	// Day of week name
	var arrDayOfWeek = new Array();
    arrDayOfWeek[0] = "Ch&#7911; Nh&#7853;t";
    arrDayOfWeek[1] = "Th&#7913; 2";
    arrDayOfWeek[2] = "Th&#7913; 3";
    arrDayOfWeek[3] = "Th&#7913; 4";
    arrDayOfWeek[4] = "Th&#7913; 5";
    arrDayOfWeek[5] = "Th&#7913; 6";
    arrDayOfWeek[6] = "Th&#7913; 7";
    
    today = new Date();
    weekday = 	today.getDay();
    date 	= 	today.getDate();
    if(date < 10)
    {
        date = "0" + date;
	}
    
    month 	= 	today.getMonth() + 1;
	if(month < 10)
	{
	    month = "0" + month;
	}

	year	=	today.getYear();
    if(year <= 1888)
    {
        year = 1900 + year;
	}
    
    var sDate = "";
    sDate = arrDayOfWeek[weekday] + ", " + date + "/" + month + "/" + year;
	return(sDate);
}

function CheckInt(nSrc)
{
	if(!nSrc)
	{
	    return(false);
	}
 	/*
	    Integer rules:
	        + Contain only number character.
	*/
	var NumRE = /^(\d)*$/;
	return(nSrc.match(NumRE));
}

function CheckPhone(nSrc)
{
	if(!nSrc)
	{
	    return(false);
	}
	/*
	    Phone number rules:
	        + Start with number character
	        + contain number, . or - character only
	        + finish with a number
	*/
	var PhoneNumRE = /^(\d)+(\d|.|-)*(\d)$/;
	return(nSrc.match(PhoneNumRE));
}

function CheckEmail(sSrc)
{
    if(!sSrc)
	{
	    return(false);
	}
	/*
	    Email rules:
	        + start with alphabet, number or _ character
	        + contain alphabet, number, _ character only
	        + Contain only 1 "@" character
	        + Finish with alphabet, number or _ character
	*/
	var EmailRE = /^(\w)+([.](\w)+)*@(\w)+([.](\w)+)+$/;
	return(sSrc.match(EmailRE));
}

function CheckName(sSrc)
{
    if(!sSrc)
	{
	    return(false);
	}
	/* Name rules:
	    + start with alphabet, number or _ character
	    + contain alphabet, number, _, . only
	    + there are maximum 1 "@" character
	    + finish with alphabet, number or _ character
	*/
	var NameRE = /^(\w)+([.](\w)+)*(@(\w)+([.](\w)+)+)?$/;
	return(sSrc.match(NameRE))
}

function CheckDomain(sSrc)
{
    if(!sSrc)
	{
	    return(false);
	}
	/* Domain rules:
	    + start with alphabet, number or _ character
	    + contain alphabet, number, _, . only
	    + finish with alphabet, number or _ character
	*/
	var DomainRE = /^(\w)+([.]([\w])+)+$/;
	return(sSrc.match(DomainRE))
}
function CheckDate(sSrc)
{
	if(!sSrc)
	{
	    return(false);
	}
	/* Domain rules:
	    + start with alphabet, number or _ character
	    + contain alphabet, number, _, . only
	    + finish with alphabet, number or _ character
	*/
	var DateRE = /^((0[1-9])|(1[0-2]))\/((0[1-9]|([1-2][0-9])|3[0-1]))\/\d{4}$/;
	return(sSrc.match(DateRE))

}

//------------- validator.js version new----------------------------------

// Validator Object
var valid = new Object();	// REGEX Elements
// Match Integer
valid.Integer = /^(\d)+$/;
//Match Name
valid.Name = /^(\w)+$/;
// matches 05:04 or 12:34 but not 75:83
valid.Time24 = /^(([0-1][0-9])|(2[0-4])):[0-5][0-9]$/;
//matches email
valid.Email = /^(\w)+([.](\w)+)*@(\w)+([.](\w)+)+$/;
// Match mm/yyyy
valid.MonthYear = /^(0[1-9])|(1[0-2]){1}\/\d{4}$/;
// Match dd/mm/yyyy
valid.DayMonthYear = /^((0[1-9]|([1-2][0-9])|3[0-1]))\/((0[1-9])|(1[0-2]))\/\d{4}$/;
// Match Phone number
valid.Phone = /^(\d)+(\d|.|-)*(\d)$/;
// Match mobi phone full
valid.MobiPhone = /^09[0|1|3|5|8]\d{7}$/;
function validateForm(theForm, sDisabledClass, sNormalClass) 
{	
	var objForm = document.getElementById(theForm);
	if(!objForm)
	{
		alert("Loi ten form khong hop le");
		return(false);
	}
	
	var bReturn = true;	
	var elArr = objForm.elements;		
	for(var i = 0; i < elArr.length; i++) 
	{
	  
		with(elArr[i]) 
		{
			if(!value)
			{
				if(elArr[i].required)
				{					
					elArr[i].className = sDisabledClass;					
					if(bReturn == true)
					{						
						elArr[i].select();
						elArr[i].focus();
					}					
					bReturn = false;
				}
				else
				{
					elArr[i].className = sNormalClass;
				}
				continue;
			}
			else
			{
				elArr[i].className = sNormalClass;
			}				
			var v = elArr[i].validator; 
			if(!v) continue;
			var thePat = valid[v];
			if(!thePat) continue;				
			var gotIt = thePat.exec(value); 
			if(! gotIt)
			{				
				elArr[i].className = sDisabledClass;				
				if(bReturn == true)
				{					
					elArr[i].select();
					elArr[i].focus();
				}
				bReturn = false;			 
			}
			else
			{
				elArr[i].className = sNormalClass;
			}
	   }
	}
	return(bReturn);
}

//kiem tra so dien thoai
function ValidatePhoneNumber(value)
// check for valid numeric strings 
{
var strString = value;
var strValidChars = '+.0123456789 '; //decimal ok
var strChar;
var blnResult = true;
// test strString consists of valid characters listed above
for (i = 0; i < strString.length && blnResult == true; i++)
{
	strChar = strString.charAt(i);
	if (strValidChars.indexOf(strChar) == -1)
	{
		blnResult = false;
	}
}
return blnResult;
}
function ValidatePhoneNumber_Update(FieldName)
// check for valid numeric strings 
{
var strString = document.getElementById(FieldName).value;
var strValidChars = '+.0123456789 '; //decimal ok
var strChar;
var blnResult = true;
// test strString consists of valid characters listed above
for (i = 0; i < strString.length && blnResult == true; i++)
{
	strChar = strString.charAt(i);
	if (strValidChars.indexOf(strChar) == -1)
	{
		blnResult = false;
	}
}
return blnResult;
}

// Dinh danh email
function ValidateEmail_Update(FieldName) {
 // Will check for @, period after @ and text in between
 var strValue = document.getElementById(FieldName).value;
 var in_space = strValue.indexOf(' ');
 if (in_space != -1)//Neu co khoan trang?
	{ return false; }
 var len = strValue.length;
 var alpha = strValue.indexOf('@');
 var last_alpha = strValue.lastIndexOf('@');

 if (alpha != last_alpha)//co hai dau @
	{ return false; }
 // No @, in first position, or name too short
 if (alpha == -1 || alpha == 0 || len<6 )
		{ return false; }
 var last_p = strValue.lastIndexOf('.');
// Be sure period at least two spaces after @, but not last char.
 if (last_p - alpha < 2 || last_p == (len - 1) )
	{ return false; }

return true;
 }
function ValidateEmail(value) {
 // Will check for @, period after @ and text in between
 var strValue = value;
 var in_space = strValue.indexOf(' ');
 if (in_space != -1)//Neu co khoan trang?
	{ return false; }
 var len = strValue.length;
 var alpha = strValue.indexOf('@');
 var last_alpha = strValue.lastIndexOf('@');

 if (alpha != last_alpha)//co hai dau @
	{ return false; }
 // No @, in first position, or name too short
 if (alpha == -1 || alpha == 0 || len<6 )
		{ return false; }
 var last_p = strValue.lastIndexOf('.');
// Be sure period at least two spaces after @, but not last char.
 if (last_p - alpha < 2 || last_p == (len - 1) )
	{ return false; }

return true;
 }


//====================================================================
/*
// Validator Object 
var valid = new Object();
// REGEX Elements
// Name
valid.Name = /^(\w)+$/;
// Title
valid.Title= /^(\w)|(\d)+$/;
// Company 
valid.Company = /^(\w)|(\d)+$/;
// Address
valid.Address = /^(\w)|(\d)+$/;
// Integer
valid.Int = /^(\d)+$/;
// matches 05:04 or 12:34 but not 75:83
valid.Time24 = /^(([0-1][0-9])|(2[0-4])):[0-5][0-9]$/;
//matches email
valid.Email = /^(\w)+([.](\w)+)*@(\w)+([.](\w)+)+$/;
// Match mm/yyyy
valid.MonthYear = /^(0[1-9])|(1[0-2]){1}\/\d{4}$/;
// Match dd/mm/yyyy
valid.DayMonthYear = /^((0[1-9]|([1-2][0-9])|3[0-1]))\/((0[1-9])|(1[0-2]))\/\d{4}$/;
// Match dd/mm/yyyy
valid.MonthDayYear = /^((0[1-9])|(1[0-2]))\/((0[1-9]|([1-2][0-9])|3[0-1]))\/\d{4}$/;
// Match Phone number
valid.Phone = /^(\d)+(\d|.|-)*(\d)$/;
// Match Fax number
valid.Fax = /^((\d)+(\d|.|-)*(\d))|\d{0}$/;
// Match mobi phone full
valid.MobiPhone = /^09[0|1|3|5|8]\d{7}$/;
// Match mobi phone short
valid.MobiPhoneShort = /^\d{7}$/;


// IP Address
valid.ipAddress = /^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/;
// Date xx/xx/xxxx
valid.Date = /^\d{1,2}(\-|\/|\.)\d{1,2}\1\d{4}$/;
    
function validateForm(theForm, sDisabledClass, sNormalClass) 
{
	var objForm = document.getElementById(theForm);
	if(!objForm)
	{
		alert("Loi ten form khong hop le");
		return(false);
	}
	var bReturn = true;
	
	var elArr = objForm.elements;
	
	for(var i = 0; i < elArr.length; i++) 
	{
	   with(elArr[i]) 
	   {
		  var v = elArr[i].validator; 
		  if(!v) continue;
		  var thePat = valid[v];
		  var gotIt = thePat.exec(value); 
		  if(! gotIt)
		  {
			var sMsgString = elArr[i].tip;			
			if(!sMsgString)
			{
				//alert(name + ": failure to match " + v + " to " + value);			
			}
			else
			{
				//alert(sMsgString + " khong hop le ");
			}
			 elArr[i].className = sDisabledClass;
			 elArr[i].select();
			 elArr[i].focus();
			 bReturn = false;
			 //return false;
		  }
		  else
		  {
			elArr[i].className = sNormalClass;
		  }
	   }
	}
	return(bReturn);
}*/