// JavaScript Document
// ---------Luan van tot nghiep  
// ---------Thu vien cac ham dung de xu ly loi cua form
// ---------Nguoi viet: Nguyen Ba Ky  
// ---------Ngay: 7-11-2003 
function ViewImage(ID){
		var arg= "width=600,height=450,resizable=yes,scrollbars=yes,status=0,menubar=no,top=20,left=200";		
		window.open ("ViewImageHtml.aspx?url=viewImage.aspx?productthumbid="+ID,"a",arg);
	} 


function isNull(obj){
	if((trim(obj.value)).length==0)return true;
	return false;
}

function createDate(day,hour){
	// vao: chuoi day co dang: dd-mm-yyyy
	var first=day.indexOf("/");
	var last=day.lastIndexOf("/");
	var d=day.substring(0,first);
	var m=day.substring(first+1,last);
	var y=day.substring(last+1,day.length);
	var dd;
	dd=new Date(y,eval(m-1),d,hour,0,0);
	return dd;
}
function compareDate(day1,day2){
	if(day1>day2)return 1;
	else if(day1==day2) return 0;
		else return -1;
}

function isemail(email) 
{	
	var pos1,pos2,pos3
	pos1=email.indexOf("@");	
	pos2=email.indexOf(" ");
	pos3=email.indexOf(".");	
	if ((pos1 == -1) || (pos2!= -1) || (pos3 == -1)) return false;
	else return true;
}
/*
function trim(text)
{
	pos1=0;
	pos2=text.length-1;
	for(i=0;i<=text.length-1;i++)
		if(text.substr(i,1)==" ") pos1=i;
		else break;
	for(i=length-1;i>=0;i--)
		if(text.substr(i,1)==" ") pos2=i;
		else break;
	if (pos2<pos1) return ""
	return text.substr(pos1,pos2-pos1)
}
*/
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;
}
function trimstring(strin)
{ 
	var strtemp;
	var i; 
	strtemp="";
	i=0;
	if (strin.charAt(i)!=" "){strtemp=strtemp+strin.charAt(i);}
	for (var i=1;i<strin.length-1;i++){
		if (strin.charAt(i)==" "){
			if (strin.charAt(i+1)!=" ") {strtemp=strtemp+strin.charAt(i)}
		}
		else {strtemp=strtemp+strin.charAt(i)} 
	}
	i=strin.length;
	if (strin.charAt(i)!=" "){strtemp=strtemp+strin.charAt(i)}
	return strtemp; 
} 
	
function trimfullstring(strin)
{ 
	var strtemp 
		strtemp="" 
		for (var i=0;i<strin.length;i++) 
			if (strin.charAt(i)!=" ") {strtemp=strtemp+strin.charAt(i)} 
		return strtemp; 
}

function IsNumberString(MyString)
{ 
	var checkOK = "0123456789"; 
	var checkStr = MyString ; 
	var allValid = true; 
	var decPoints = 0; 
	var allNum = ""; 
	if (checkStr.length<=0) { return (false); } 
	for (i = 0;  i < checkStr.length;  i++){ 
		ch = checkStr.charAt(i); 
		for (j = 0;  j < checkOK.length;  j++) 
			if (ch == checkOK.charAt(j)) 
				break; 
			if (j == checkOK.length) { 
				allValid = false; 
				break; 
			} 
			if (ch != ",") 
				allNum += ch; 
	} 
	if (!allValid) { return (false);} 
	return true; 
} 
	
function IsDoubleString(MyString)
{ 
	var checkOK = "0123456789."; 
	var checkStr = MyString ; 
	var allValid = true; 
	var decPoints = 0; 
	var allNum = ""; 
	if (checkStr.length<=0) { return (false); } 
	for (i = 0;  i < checkStr.length;  i++){ 
		ch = checkStr.charAt(i); 
		for (j = 0;  j < checkOK.length;  j++) 
			if (ch == checkOK.charAt(j)) 
				break; 
			if (j == checkOK.length) { 
				allValid = false; 
				break; 
			} 
			if (ch != ",") 
				allNum += ch; 
	} 
	if (!allValid) { return (false);} 
	return true; 
} 
	
function isDigit(c) 
{
	if((c=='0')||(c=='1')||(c=='2')||(c=='3')||(c=='4')||(c=='5')||(c=='6')||(c=='7')||(c=='8')||(c=='9'))
		return true;
	else
		return false;
}
	
function isPosInt(s)	
{
	var n;
	n = s.length
	if(n==0) return false;
		for(i=0;i<n;i++)
			if(!isDigit(s.charAt(i))) return false;
		return true;
}

function isPosReal(s)
{
	var dot;
	s = trim(s);
	dot =0;
	for(i=0;i<s.length;i++)
		if(!isDigit(s.charAt(i))) 
		{
			if(s.charAt(i)=='.') 
			{
				dot++;
				if(i==s.length-1) return false;
				if(dot>1) return false;
			}
			else return false;	
		}
	return true;
}

function isValidDate(strDate)
{
	 var m;
	 var d;
	 var y;
	 var i1;
	 var i2;
	 
	 strDate=trim(strDate);
	 if(strDate=="") return false;
	 i1 = strDate.indexOf("/")
	 if(i1<0) return false;
	 m = strDate.substring(0,i1)
	 i2= strDate.indexOf("/",i1+1)
	 if(i2<0) return false;
	 d = strDate.substring(i1+1,i2)
	 y = strDate.substring(i2+1)

	 if((m=="")||(d=="")||(y=="")) return false;
	 if((m==0)||(d==0)||(y==0)) return false;
	 if(!isPosInt(m))
	 	 return false;
	 else
	 	{	
		 m = parseInt(m);
		 if(m>12) return false;
	 	}

	 if(!isPosInt(y))
	 	 return false;
	 else
		{
		 y = parseInt(y)
		 if(y>9999) return false;
		}

	 if(!isPosInt(d))
	 	 return false;
	 else
		{
		 d = parseInt(d)
		 if((m==1)||(m==3)||(m==5)||(m==7)||(m==8)||(m==10)||(m==12))
			 if(d>31) return false;
	 	 if((m==4)||(m==6)||(m==9)||(m==11))
			if(d>30) return false;

		 if(m==2)
			{
			 if(d>29) return false;
			 if((y%4)!=0) // not a leap year
			 	if(d>28) return false;
			}
		}

	return true;
}

function isEmail(strEmail)
{
	var intlen;
	var ctmp;
	strEmail = trim(strEmail);
	if(strEmail=='') return false;
	intlen=strEmail.length;
	if(intlen<5) return false;
	if(strEmail.indexOf('@')==-1) return false;
	if(strEmail.indexOf('.')==-1) return false;
	if(intlen - strEmail.lastIndexOf('.') -1 > 3) return false; 
	if((strEmail.indexOf("_")!=-1) && (strEmail.lastIndexOf("_") > strEmail.lastIndexOf("@"))) return false;
	if(strEmail.lastIndexOf(".") <= strEmail.lastIndexOf("@")+1)  return false;
	if(strEmail.indexOf("@")!=strEmail.lastIndexOf("@")) return false;
	if(intlen -1 == strEmail.lastIndexOf('.')) return false;
	if(strEmail.charAt(strEmail.indexOf('@')+1)=='.') return false;
	if(strEmail.indexOf(" ")!=-1) return false;
	if(strEmail.indexOf("..")!=-1) return false;
 
	strEmail=strEmail.toLowerCase();
	for(intcnt=0;intcnt<intlen;intcnt++)
	{
		ctmp = strEmail.charAt(intcnt)
		if((!isDigit(ctmp))&& ((ctmp>'z')||(ctmp<'a')) && (ctmp!='-') && (ctmp!='.') && (ctmp!='@') && (ctmp!='_')) return false;
	}
	return true;
}
function matchToList(txtObj,lstObj,iOpt)  
// iOpt: 0 - match text, 1 - match value (lstObj should be ordered by value)
{
	var i = 0;
	var iMax = lstObj.length;
	var exist=false;
	var regSpcChr = /[/]/g;  // replace special character / in txtObj by \/
	var dumText = txtObj.value.replace(regSpcChr,"\\/");
	var regExp = eval("/^"+dumText+"/i");
	var testStr;
	switch(iOpt){
	case 0:  // match text
		while((!exist)&&(i<iMax))
		{
		testStr = lstObj.options[i].text;
		exist = regExp.test(testStr);
		i++;
		}
		break;
	case 1:  // match value
		while((!exist)&&(i<iMax))
		{
		testStr = lstObj.options[i].value;
		exist = regExp.test(testStr);
		i++;
		}
		break;
	default :	
	}
	lstObj.selectedIndex=i-1;
}

