﻿/**----------------javascript----------------------------**/
/*-----------------open popup without scrollbar -------------*/
function showCenterWindow(url, width, height) {
	
	leftPos = 0
	topPos = 0
	if (screen) 
	{
		leftPos = (screen.width / 2) - (width/2)
		topPos = (screen.height / 2) - (height/2)
	}
	ElementWindow = window.open(url,"ElementWin","width="+width+",height="+height+",left="+leftPos+",top="+topPos);
}
//*******************open popup scrollbar *******************
function showCenterWindowScrollbar(url, width, height) {
	leftPos = 0
	topPos = 0
	if (screen) 
	{
		leftPos = (screen.width / 2) - (width/2)
		topPos = (screen.height / 2) - (height/2)
	}
	ElementWindow = window.open(url,"ElementWin","width="+width+",height="+height+",left="+leftPos+",top="+topPos+",scrollbars=yes"	
	)
} 
//########################################################################
var errormsg="";
var hasFocus=false;
//================================================================
function DoDelete(URL){
	if(confirm("Bạn có chắc chắn muốn hủy không ?")){
		  window.document.location = URL;
	}
}
//********************** Check email *****************
//Kiem tra email va confirm 
/*
* email : email 
* confirm_email : confirm_email
* err : Thong bao loi
*/
function CheckEmailMatch(email,confirm_email,err)
{
	if(email.toLowerCase() != confirm_email.toLowerCase())
	{
		errormsg=errormsg+"- " + err + " \n";
		return false;
	}
	return true;
}
//Kiem tra email
/*
* mailName : ten field email name
* mailDomain : ten field email Domain
* minlenMailName : Chieu dai nho nhat cua name mail
* minlenMailDomain : Chieu dai nho nhat cua name domain
* minlen : Chieu dai nho nhat cua mail (full)
* maxlen : Chieu dai lon nhat cua mail (full)
* err : Thong bao loi
*/
function CheckEmail(mailName,mailDomain,minlenMailName,minlenMailDomain,minlen,maxlen,err)
{
	var sMailName = mailName.value;
	var sMailDomain = mailDomain.value;
	if(sMailName.length < minlenMailName || sMailName.charAt(0) == '_' || sMailName.charAt(sMailName.length-1) == '_')
	{
		errormsg=errormsg+"- " + err + " \n";
		if(hasFocus==false)
		{
			hasFocus=true;
			mailName.focus();
		}
		return false;
	}
	if(sMailDomain.length < minlenMailDomain || sMailDomain.charAt(0) == '_' || sMailDomain.charAt(sMailDomain.length-1) == '_')
	{
		errormsg=errormsg+"- " + err + " \n";
		if(hasFocus==false)
		{
			hasFocus=true;
			mailName.focus();
		}
		return false;
	}
	//		
	var stringIn = sMailName+'@'+sMailDomain ;
	if (stringIn.indexOf('..') != -1 || stringIn.indexOf('.@') != -1 || stringIn.indexOf('@.') != -1 || stringIn.indexOf(':') != -1 || stringIn.indexOf('.-') != -1 || stringIn.indexOf('-.') != -1  || stringIn.indexOf('--') != -1)
	{
		errormsg=errormsg+"- " + err + " \n";
		if(hasFocus==false)
		{
			hasFocus=true;
			mailName.focus();
		}
		return false;
	}
	var re = /^([A-Za-z0-9\_\-]+\.)*[A-Za-z0-9\_\-]+@[A-Za-z0-9\_\-]+(\.[A-Za-z0-9\_\-]+)+$/;
	if (stringIn.search(re) == -1)
	{
		errormsg=errormsg+"- " + err + " \n";
		if(hasFocus==false)
		{
			hasFocus=true;
			mailName.focus();
		}
		return false;
	}		
	return true;	
}

function Trim(text)
{
	var len=text.length;
	var i=0;
	var j=len-1;
	var s="";
	
	while(text.charAt(i)==" ")
		i++;
	
	while(text.charAt(j)==" ")
		j--;
	
	if(i>j) 
		s="";
	else 
		s=text.substring(i,j+1);
	
	return s;
}
//***************************** BEGIN DATE TIME ************************************
//Kiem tra tinh hop le cua Ngay Bat Dau va Ngay Ket Thuc (Ngay Bat Dau < Ngay Ket Thuc) 
/*PARAM:
dateFrom : Ngay Bat Dau (dd/mm/yyyy)
nameDateFrom :Ten Ngay Bat Dau muon hien thi (string)
dateTo :Ngay Ket Thuc (dd/mm/yyyy)
nameDateTo :Ten Ngay Ket Thuc muon hien thi (string)
return : boolean
*/
function compareDate(dateFrom,nameDateFrom,dateTo,nameDateTo)
{
	var dayFrom=dateFrom.substr(0,2);
	var monthFrom=dateFrom.substr(3,2);
	var yearFrom=dateFrom.substr(6,4);
	
	var dayTo=dateTo.substr(0,2);
	var monthTo=dateTo.substr(3,2);
	var yearTo=dateTo.substr(6,4);
	
	bCheck=checkDate(dayFrom,monthFrom,yearFrom,nameDateFrom)&&checkDate(dayTo,monthTo,yearTo,nameDateTo);
	if(bCheck==true)
	{
		var unixtimeDateForm= new Date(Date.UTC(yearFrom,monthFrom-1,dayFrom));
		var unixtimeDateTo= new Date(Date.UTC(yearTo,monthTo-1,dayTo));
		unixtimeDateForm=unixtimeDateForm.getTime()/1000.0;
		unixtimeDateTo=unixtimeDateTo.getTime()/1000.0;
		
		if(parseInt(unixtimeDateForm) > parseInt(unixtimeDateTo))
			bCheck=false;
	}
	if(bCheck==false)
      errormsg=errormsg+"- " + nameDateFrom + " phai nho hon hoac bang " + nameDateTo + ".\n";
   
   return bCheck;
}

function compareDate1(dateFrom,nameDateFrom,dateTo,nameDateTo)
{
	var dayFrom=dateFrom.substr(0,2);
	var monthFrom=dateFrom.substr(3,2);
	var yearFrom=dateFrom.substr(6,4);
	
	var dayTo=dateTo.substr(0,2);
	var monthTo=dateTo.substr(3,2);
	var yearTo=dateTo.substr(6,4);
	
	bCheck=checkDate(dayFrom,monthFrom,yearFrom,nameDateFrom)&&checkDate(dayTo,monthTo,yearTo,nameDateTo);
	if(bCheck==true)
	{
		var unixtimeDateForm= new Date(Date.UTC(yearFrom,monthFrom-1,dayFrom));
		var unixtimeDateTo= new Date(Date.UTC(yearTo,monthTo-1,dayTo));
		unixtimeDateForm=unixtimeDateForm.getTime()/1000.0;
		unixtimeDateTo=unixtimeDateTo.getTime()/1000.0;
		
		if(parseInt(unixtimeDateForm) < parseInt(unixtimeDateTo))
			bCheck=false;
	}
	if(bCheck==false)
      errormsg=errormsg+"- " + nameDateFrom + " phai lon hon hoac bang " + nameDateTo + ".\n";
   
   return bCheck;
}

//Kiem tra tinh hop ly cua Ngay Thang
function checkDate(dd,mm,yyyy,err)
{
   result=true;  
   if(!isNaN(yyyy)&&(yyyy!="")&&(yyyy<10000))	
   {
      if( (mm=="02") && ((dd=="30")||(dd=="31")) )
         result=false;
      if( (mm=="02") && (dd=="29") && (yyyy%4>0) )
         result=false;
      if( ((mm=="04")||(mm=="06")||(mm=="09")||(mm=="11")) && (dd=="31") )
         result=false;
   }
   else
   {
      result=false;
   }
   if(dd == 0 || mm == 0 || yyyy == 0)
   	  result=false;
   if(result==false)
      errormsg=errormsg+" "+err+" \n"	
   return result;
}
//************************************ END DATE TIME ************************************

//************ check percent % (0-->100%) *************
function checkIsPercent(val,err)
{
	if(val!="" &&(!isNaN(val))&&(val>=0)&&(val<=100))
		return true;
	else
	{	
		errormsg=errormsg+"- "+err+"\n";
		return false;
	}
}
//************************ Check field empty ***************
function checkTextField(str,obj,err)
{
	if(trim(str)=="")
	{
		errormsg=errormsg+"- "+err+" \n";
		if(hasFocus==false)
		{
			hasFocus=true;
			obj.focus();
		}
		return false;
	}
	
	return true;
}
//*********************** Check field range length ***************
function checkTextLength(str1,minlen,maxlen,obj,err)
{
	var str = trim(str1);
	if(str.length<minlen || str.length>maxlen)
	{
		errormsg=errormsg+' '+err+" \n";
		if(hasFocus==false)
		{
			hasFocus=true;
			obj.focus();
		}
		return false;
	}
	return true;
}
//*********************** Check field min length ***************
function checkMinLength(str,minlen,obj,err)
{
	if(str.length<minlen)
	{
		errormsg=errormsg+"- "+err+" \n";
		if(hasFocus==false)
		{
			hasFocus=true;
			obj.focus();
		}
		return false;
	}
	return true;
}
//*********************** compare value field ***************
function compareText(firststr,secondstr,obj,err)
{
	if(firststr==secondstr)
	{
		errormsg=errormsg+"- "+err+" \n";			
		if(hasFocus==false)
		{
			hasFocus=true;
			obj.focus();
		}
		return false;
	}
	else
		return true;
}
//*********************** Check field static length ***************
function checkTextLengthStatic(str,minlen,obj,err)
{
	if(str.length!=minlen)
	{
		
		errormsg=errormsg+" "+err+" \n";
		if(hasFocus==false)
		{
			hasFocus=true;
			obj.focus();
		}
		return false;
	}
	return true;
}


/**
Check password
*/
function checkPassField(obj, minlen, maxlen, err){
	if(checkTextField(trim(obj.value),obj,err))
	{
		if(checkTextLength(trim(obj.value),6,32,obj,err)==false)	{
			obj.value='';
			obj.focus();
			return false;
		}
	}
	else{
		obj.value='';
		obj.focus();
		return false;
	}
	return true;

}
//**************************************** KIEM TRA PASSWORD ********************************************
/* check password va password confirm
** p: 		password
** rp: 		password confirm
** err		error message
*/
function checkPassword_match(p,rp,obj,err)
{
	if(p==rp)
		return true;
	else
	{			
		errormsg=errormsg+"- "+err+" \n";			
		if(hasFocus==false)
		{
			hasFocus=true;
			obj.value = '';
			obj.focus();
		}
		return false;
	}	 	
	
}
//************************************ check number (integer) **************************
function checkIsNum(val1,obj,error)
{
	var val = trim(val1);
	if((val!="")&&(!isNaN(val)) && (val>=0))
		return true;
	else
	{	
		errormsg=errormsg+"- "+error+" \n";
		if(hasFocus==false)
		{
			hasFocus=true;
			obj.focus();
		}
		return false;
	}

}
/****************** Ham Compare So(Integer) ********************
** intFrom : So Bat Dau
** nameIntFrom: Ten cua So Bat Dau (Alias)
** intTo : So Ket Thuc
** nameIntTo: Ten cua So Ket Thuc(Alias)
** return boolean
***************************************************************/
function compareInteger(intFrom,nameIntFrom,intTo,nameIntTo)
{
	var bflag=checkIsNum(intFrom,nameIntFrom)&&checkIsNum(intTo,nameIntTo);
	if(bflag==true)
	{
		if(parseInt(intFrom)>=parseInt(intTo))
			bflag=false;
	}
	
	if(bflag==false)
      errormsg=errormsg+"- " + nameIntFrom + " phai nho hon " + nameIntTo + "\n";
   
   return bflag; 
	
}
/****************** Ham Compare So(Integer) ********************
** intFrom : So Bat Dau
** nameIntFrom: Ten cua So Bat Dau (Alias)
** intTo : So Ket Thuc
** nameIntTo: Ten cua So Ket Thuc(Alias)
** return boolean
***************************************************************/
function compareIntegerBetween(val,name,intFrom,intTo,obj)
{
	var bflag=checkIsNum(val,name,obj);
	if(bflag==true)
	{
		if(val<intFrom || val>intTo){
			errormsg=errormsg+"- " + name + " phai nam trong khoang tu " + intFrom + " den " + intTo + ".\n";	
			if(hasFocus==false)
			{
				hasFocus=true;
				obj.focus();
			}
			return false;
		}
	}
   return true; 
}
//************************************ END KIEM TRA SO INTEGER ********************************************
//Kiem tra Choice
function checkChoice(value,obj,err)
{
	if(value=='' || value=='0' || value==0 || value==-1 )
	{
		errormsg=errormsg+"- "+err+" \n";
		if(hasFocus==false)
		{
			hasFocus=true;
			obj.focus();
		}
		return false;
	}
	return true;
}

function trim(st)
{
	index = 0;
	for (i = 0;i < st.length;i++)
	{
			ch = st.charAt(i);
			if (ch == ' ') index++;
			else break;
	}
	st = st.substring(index,st.length);
	index = st.length;
	for (i = index-1; i > 0; i--)
	{
			ch = st.charAt(i);
			if (ch ==' ') index--;
			else break;
	}
	st = st.substring(0,index);
	return st;
}

function checkSpecialChars(str,obj,err,chkAll)
{
		if(chkAll)
			var re = /^[0-9a-zA-Z]*$/;
		else
			var re = /^[0-9a-z]*$/;
		str = trim(str);
		var pos = str.search(re);                                                
		if(pos == -1)
		{
			errormsg=errormsg+" "+err+"\n";
			if(hasFocus==false)
			{
				hasFocus=true;
				obj.focus();
			}
			return false;
		} 
		else
		{
			return true;
		}
}
// kiem tra co dung la dia chi email.
function CheckFullEmail(stringIn, obj, err)
{
	var re = /^([A-Za-z0-9\_\-]+\.)*[A-Za-z0-9\_\-]+@[A-Za-z0-9\_\-]+(\.[A-Za-z0-9\_\-]+)+$/;
	if (stringIn.search(re) == -1)
	{
		errormsg=errormsg+" "+err+" \n";
		obj.focus();
		return false;
	}
	else
	{
		return true;
	}
}

//kiem ta Personal ID
function checkPersonalId(obj,minlen,maxlen,err,chkAll)
{
	if(checkTextLength(obj.value,minlen,maxlen,obj,err)){
		checkSpecialChars(obj.value,obj,err,chkAll);		
	}	
	return true;
}
//**************************************** KIEM TRA PASSWORD ********************************************
/* check password va password confirm
** p: 		password
** rp: 		password confirm
** err		error message
*/
function checkPersonalId_match(p,rp,obj,err)
{
	if(p==rp)
		return true;
	else
	{			
		errormsg=errormsg+"- "+err+" \n";			
		if(hasFocus==false)
		{
			hasFocus=true;
			obj.focus();
		}
		return false;
	}	 	
	
}
/**
Check region, answer
*/

function checkRegion(obj,minlen,maxlen,err){
	if(!checkTextField(trim(obj.value),obj,err))
		return false;
	if(checkTextLength(trim(obj.value),minlen,maxlen,obj,err))
		return false;																	
	
	return true;
}
//Kiem tra tai khoan
/**
@param object obj : ten object
@param integer minlen : chieu dai chuoi nho nhat
@param integer maxlen : chieu dai chuoi lon nhat
@param string err : Chuoi thon bao loi
@param boolean chkAll : kiem tra cho cho phep nhap ko phan biet chu hoa,thuong hay khong
	true : cho phep
	false : khong cho phep ,defaul : false 
@return N/A	
*
*/
function checkAccount(obj,minlen,maxlen,err,chkAll)
{	

	if(obj.value.charAt(0) == ' ' || obj.value.charAt(obj.value.length-1) == ' ')
	{
		errormsg=errormsg+"- "+err+" \n";			
		if(hasFocus==false)
		{
			hasFocus=true;
			obj.focus();
		}
		return false;	
	}
	if(checkTextLength(obj.value,minlen,maxlen,obj,err)){
		checkSpecialChars(obj.value,obj,err,chkAll);		
	}
	return true;
}
//Kiem tra password
/**
@param object obj1 : ten object 1 (mat khau )
@param object obj2 : ten object 2 (mat khau xac nhan)
@param integer minlen : chieu dai chuoi nho nhat
@param integer maxlen : chieu dai chuoi lon nhat
@param string err1 : Chuoi thon bao loi 1 (nhap khong hop le)
@param string err2 : Chuoi thon bao loi 1 (mat khau va mat khau xac nhan khong khop)
@param boolean chkAll : kiem tra cho cho phep nhap ko phan biet chu hoa,thuong hay khong
	true : cho phep
	false : khong cho phep ,defaul : false 
@return N/A	
*/
function checkPassWord(obj1,obj2,minlen,maxlen,err1,err2)
{	
	if(!checkTextLength(obj1.value,minlen,maxlen,obj1,err1))
	{
		obj1.value = '';
		obj2.value = '';
		return false;
	}
	else{
		if(obj1.value != obj2.value)
		{
			errormsg=errormsg+" "+err2+"\n";
			if(hasFocus==false)
			{
				hasFocus=true;
				obj1.focus();
			}
			obj1.value = '';	
			obj2.value = '';
			return false;
		}		
	}
	return true;
}

//kiem tra chuoi image security
/**
@param object obj : ten object 
@param integer minlen : chieu dai chuoi 
@param string err : Chuoi thon bao loi 
@param boolean chkAll : kiem tra cho cho phep nhap ko phan biet chu hoa,thuong hay khong
	true : cho phep
	false : khong cho phep ,defaul : false 
@return N/A	
*/
function checkImageSecurity(obj,minlen,err,chkAll)
{	
	checkTextLengthStatic(obj.value,minlen,obj,err);
	checkSpecialChars(obj.value,obj,err,chkAll);
}

// Hien thi thong bao loi  --> goi cuoi cung
function checkAll()
{
	if(errormsg!="")
	{
		alert(errormsg);
		errormsg="";
		hasFocus=false;
		return false;
	}
	else
		return true;
	errormsg="";
}
//##########################################################################################################
function showPopUpWindows(url, width, height, left, top) {
	window.open(url,"","menubar=No,location=No,toolbar=No,directories=No,scrollbars=Yes,resizable=No,height=" + height + ",width=" + width+",left="+left+",top="+top);
}
/*
	@param domain : ten domain 	
	Note : 	Ten mail : sEmailName
		 	Ten domain : sDomainMail
			Confirm : them tiep dau ngu confirm vao truoc 
*/

function ChangeTextBox(domain)
{	
	if(domain == 'sDomain')
	{		
		if(document.getElementById('sDomain').value == 'khac'){
			sInputMail = document.getElementById('sEmailName').value;
			str = ' <input type="text" name="sDomain" id="sDomain" value="" style="width:120px">';
			document.getElementById('email').innerHTML = str;
			if(hasFocus==false)
			{
				hasFocus=true;
				document.getElementById('sDomain').focus();
			}				
		}
	}else{
		if(document.getElementById('sConfirmDomain').value == 'khac'){
			sInputMail = document.getElementById('sConfirmEmailName').value;
			str = ' <input type="text" name="sConfirmDomain" id="sConfirmDomain" value="" style="width:120px">';
			document.getElementById('confirm_email').innerHTML = str;	
			if(hasFocus==false)
			{
				hasFocus=true;
				document.getElementById('sConfirmDomain').focus();		
			}	
		}
	}
}     
function goPageHelp(sitename)
{
	window.open(sitename);
}

/**
Check username
*/

function DoCheckUserName(frmName,elementName, url){
	var oUserName	=	document.forms[frmName].elements[elementName];
	var username 	= 	trim(oUserName.value);
	checkAccount(oUserName,4,32,ACCOUNT_NAME_LOGIN_INVALID,true);

	if(checkAll()){
		username = username.toLowerCase();
		showCenterWindow(url+username+'.html',400,200);
		return true;
	}
	return false;
			
}


/**
Check username
*/

function DoCheckEmail(frmName,email,domain, url){
	var oEmail	=	document.forms[frmName].elements[email];
	var oDomain	=	document.forms[frmName].elements[domain];
	var url_popup;
	var vDomain = oDomain.value;
	vDomain = vDomain.replace('.','_');
	CheckEmail(oEmail,oDomain,2,4,7,100,EMAIL_INVALID);

	if(checkAll()){
		showCenterWindow(url+oEmail.value+"."+vDomain+'.html',400,200);
		return true;
	}
	return false;
			
}
function SetFocus(idName){
  document.forms["frm"].elements[idName].focus();
  document.frm.ActionField.value = idName;
}
//check file upload
function check_file_ext(filename)
{
	ftype 	  = false;
	if (filename != "")
	{
		tmp = filename.toLowerCase();
		if ( (tmp.lastIndexOf(".jpg")!=-1) || (tmp.lastIndexOf(".gif")!=-1)|| (tmp.lastIndexOf(".png")!=-1) || (tmp.lastIndexOf(".jpeg")!=-1) )
		{
		   ftype = true; //hop kieu file JPG/JPEG/PNG
		}
	}
	if ((filename!="") && (ftype == false))
	{
		return false;
	}	
	return true;
}

function check_file_size(filename)
{
	ftype 	  = false;
	if (filename != "")
	{
		var imgobj = new Image();
		imgobj.src = filename;
		var size= imgobj.fileSize;
		if(size > (1024))
		{
			return false;
		}		
	}
	return true;
}
function checkTelePhone(str,obj,err)
{		     
		if(trim(str) == '')
		{
			errormsg=errormsg+" "+err+"\n";
			if(hasFocus==false)
			{
				hasFocus=true;
				obj.focus();
			}
			return false;
		} 
		else
		{
			return true;
		}
}
function checkCharacter(str)
{
	for(i=0;i<str.length;i++)
	{
		if(str.charCodeAt(i) < 32 || str.charCodeAt(i) > 126)
			return false;
	}
	return true;
}