﻿/*************************************
** Nguyen Nghiem                    
** 84-913-745-789                   
** nnghiem@vietnamthink.com 
** --------------------------------------------
** VietnamThink.com, Inc.          
** 123 Truong Dinh, Quan 3, Tp. HCM 
** 84-8-9321005                     
*************************************/

/*-----ULITIES-----*/



function Trim(str)
{
    while((str.length > 0) && (str.charAt(0) == ' '))
	    str = str.substring(1,str.length);
    while((str.length > 0) && (str.charAt(str.length-1) == ' '))
	    str = str.substring(0,str.length-1);
    return str;
}
function  UpdateDate()  
{
}
function Split(str, delim)
{
    var res = new Array();
	while(str.length > 0)
	{
	    var pos = (str+delim).indexOf(delim);
	    res[res.length] = str.substring(0, pos);
	    str = (pos == str.length)?"":str.substring(pos+delim.length);
	}
	return res;
}

function Merge(array, br)
{
	var s = "";
	for(var i=0;i<array.length;i++)
		s += ((i==0)?"":br)+array[i];
	return s;
}
	
function Replace(str, sold, snew)
{
	var pos = 0;
	while( (pos = str.indexOf(sold, pos)) >= 0)
	{
	    str = str.substring(0, pos)+snew+str.substring(pos+sold.length);
	    pos += snew.length;
	}
	return str;
}

function StartsWith(str, s)
{
	return (str.indexOf(s) == 0);
}
    
function EndsWith(str, s)
{
	return (str.indexOf(s)+s.length == str.length);
}

function IndexOf(array, elem)
{
	for(var i=0;i<array.length;i++)
		if(elem == array[i])return i;
	return -1;
}

/*/----FORM SECURITY----/*/

function IsEmpty(field)
{
    return(Trim(field.value).length == 0);
}
/* 
	Type:	member function
	Name:	IsRequireWithP
	Author:	Võ Chí Truong Date:2/3/2006
	Input:	form element, int
	Output:	void
	Operation: Ham alert thong bao yeu cau viec nhap du lieu voi loai ngon ngu lang. lang=1 default la
	ngon ngu vietnamese. lang <>1 thong bao bang English
*/
function IsRequireWithP(field,lang)
{
	if(field.length)
	{
		for(i=0;i<field.length;i++)
		{
			var express = field.type?"field.options["+i+"].selected":"field["+i+"].checked";
			if(eval(express))return true;
		}
	} 
	else
	{
		if( (field.type == 'checkbox')||(field.type == 'radio') )
		{
			if(field.checked) return true;
		}
		else if(Trim(field.value).length > 0)return true;
	}
	var err="";
	if(lang==1)
		err="Trường có dấu * là bắt buộc. Vui lòng nhập dữ liệu.";
	else if(lang==3)
		err= "This field must have a value";
	else if(lang==5)
		err="の項目は必須です。データを入力してください。";
	return Warn((field.type)?field:field[0], err);
}
function IsRequire(field)
{
	if(field.length)
	{
		for(i=0;i<field.length;i++)
		{
			var express = field.type?"field.options["+i+"].selected":"field["+i+"].checked";
			if(eval(express))return true;
		}
	}
	else
	{
		if( (field.type == 'checkbox')||(field.type == 'radio') )
		{
			if(field.checked) return true;
		}
		else if(Trim(field.value).length > 0)return true;
	}
	return Warn((field.type)?field:field[0], " Trường này là bắt buộc. Yêu cầu nhập dữ liệu.");
}

function IsEmailsWithP(form, fnames, lang)
{
	var names = Split(fnames,",");
	for(var i=0;i<names.length;i++)
	{
		var field = eval("form."+Trim(names[i]));
		if((field.type)&&(field.type == 'text')&&(!IsEmailWithP(field, lang)))return false;
	}
	return true;
}
function IsEmailWithP(field, lang)
{
	if(IsEmpty(Trim(field)))return true;
	var err = "Email không hợp lệ!\r\n\r\n Định dạng của một địa chỉ email có dạng sau: ten_nguoi_dung@domain (Ví dụ: admin@softech.vn)";
	//var err_en = "Invalid Email!\r\n\r\n Email format must be : ten_nguoi_dung@domain (Ex : admin@softech.vn)";
	if(lang==1)
		err = "Email không hợp lệ!\r\n\r\n Định dạng của một địa chỉ email có dạng sau: ten_nguoi_dung@domain (Ví dụ: admin@softech.vn)";
	else if(lang==3)	
		err = "Invalid Email!\r\n\r\n Email format must be : user_name@domain (Ex : admin@softech.vn)";
	else if(lang==5)
		err = "メールアドレスは不正です。\r\n\r\n正しいメールアドレスの形式は次の通りです。user_name@domain (例: admin@softech.vn)";
	var email=field.value;
   	 var splitted = email.match("^(.+)@(.+)$");
   	 if(splitted == null) return Warn(field, err);
   	 if(splitted[1] != null )
   	 {
      var regexp_user=/^\"?[\w-_\.]*\"?$/;
      if(splitted[1].match(regexp_user) == null) return Warn(field, err);
     }
     if(splitted[2] != null)
     {
      var regexp_domain=/^[\w-\.]*\.[A-Za-z]{2,4}$/;
      if(splitted[2].match(regexp_domain) == null) 
      {
	    var regexp_ip =/^\[\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\]$/;
	    if(splitted[2].match(regexp_ip) == null) return Warn(field, err);
      }// if
      return true;
     }
     return false;
}
function IsNumber(field)
{
	if(IsEmpty(field))return true;
    return (!isNaN(field.value))?true:Warn(field,"Giá trị trường này là kiểu số !");
}
function IsInvalid(form,valid)
{	
	var names = Split(valid,",");
	
	for(var i=0;i<names.length;i++)
	{
		var field = eval("form."+Trim(names[i]));
		var ale="";
		var special=";,:,>,<,.,?,\',\",{,},[,],\\,\/,\|,\=,+,),(,*,\&,^,%,$,#,!,~";
		var specials=Split(special,",");
		for(var j=0;j<specials.length;j++){
			var kytu=specials[j];
			if(field.value.indexOf(kytu)>-1){
				alert("Họ tên và tên đăng nhập không được phép nhập các ký tự đặc biệt: ;,:,>,<,.,?,\',\",{,},[,],\\,\/,\|,\=,+,),(,*,\&,^,%,$,#,!,~");
				return false;
			} 
		}
		/*if(field.value.indexOf(";")>-1 ||field.value.indexOf("\"")>-1||field.value.indexOf(">")>-1||field.value.indexOf("<")>-1)
		{
			alert("Bạn không được phép nhập các ký tự đặc biệt");
			return false;
		}*/
	}
	return true;
}

function IsMaxLength(form,maxName,lang)
{	
	var names = Split(maxName,",");
	
	for(var i=0;i<names.length;i++)
	{
		var field = eval("form."+Trim(names[i]));
		var ale="";
		if(field.value.length>5000)
		{
			if(lang==1)
				ale="Dữ liệu quá lớn. Bạn vui lòng nhập nội dung dưới 5000 ký tự";
			else if(lang==3)	
				ale="Content is too large. Please enter under 5000 characters";
			else if(lang==5)	
				ale="J入力データは大きすぎです。5000桁以内で記入してください。";
			alert(ale);
			return false;
		}
	}
	return true;
}
function IsMaxLength1(form,maxName,lang)
{	
	var names = Split(maxName,",");
	
	for(var i=0;i<names.length;i++)
	{
		var field = eval("form."+Trim(names[i]));
		var ale="";
		if(field.value.length>3000)
		{
			if(lang==1)
				ale="Dữ liệu quá lớn. Bạn vui lòng nhập nội dung dưới 3000 ký tự";
			else if(lang==3)	
				ale="Content is too large. Please enter under 3000 characters";
			else if(lang==5)	
				ale="J入力データは大きすぎです。3000桁以内で記入してください。";
			alert(ale);
			return false;
		}
	}
	return true;
}

function IsMaxLength2(form,maxName,lang)
{	
	var names = Split(maxName,",");
	
	for(var i=0;i<names.length;i++)
	{
		var field = eval("form."+Trim(names[i]));
		var ale="";
		if(field.value.length>5000)
		{
			if(lang==1)
				ale="Dữ liệu quá lớn. Bạn vui lòng nhập nội dung dưới 5000 ký tự";
			else if(lang==3)	
				ale="Content is too large. Please enter under 5000 characters";
			else if(lang==5)	
				ale="J入力データは大きすぎです。5000桁以内で記入してください。";
			alert(ale);
			return false;
		}
	}
	return true;
}
function IsPass(form,kt)
{	
	var names = Split(kt,",");
	
	for(var i=0;i<names.length;i++)
	{
		var field = eval("form."+Trim(names[i]));
		var ale="";
		if(field.value.length<6)
		{
			alert("Mật khẩu phải tối thiểu 6 ký tự !");
			return false;
		}
	}
	return true;
}

function IsYear(form, fnames)
{
	var names = Split(fnames,",");
	for(var i=0;i<names.length;i++)
	{
		var field = eval("form."+Trim(names[i]));
		if((field.type)&&(field.type == 'text')&&(!IsNumber(field)))
		{ 
			return false;
		}
		else
		{
		}
	}
	return false;
}

function IsEmail(field)
{
	if(IsEmpty(field))return false;
	var fields = Split(field, ",");
	var err = "Email khong hop le !\r\n\r\n dang cua mot dia chi email la ten_nguoi_dung@domain (vidu. admin@yahoo.com)";
	var chars = ".@-_0123456789abcdefghijklmnopqrstuvxywz";
	for(var k=0;k<fields.length;k++){
		for(var i=0;i<fields[k].length;i++)
			if(chars.indexOf(fields[k].toLowerCase().charAt(i)) < 0)return Warn(field, err);
		if( (fields[k].indexOf(".") <= 0)||(fields[k].indexOf("@") <= 0) )return Warn(field, err);
	}
    return true;
}

function IsEmail1(field)
{
	if(IsEmpty(Trim(field)))return true;
	var err = "Email không hợp lệ!\r\n\r\n Định dạng của một địa chỉ email có dạng sau: ten_nguoi_dung@domain (Ví dụ: admin@softech.vn)";
	/*var chars = ".@-_0123456789abcdefghijklmnopqrstuvxywz";
	field.value=Trim(field.value);
	//if(field.value!="")
	//{
		for(var i=0;i<field.value.length;i++)
			if(chars.indexOf(field.value.toLowerCase().charAt(i)) < 0)return Warn(field, err);
		if( (field.value.indexOf(".") <= 0)||(field.value.indexOf("@") <= 0) )return Warn(field, err);
		if(field.value.substring(field.value.indexOf('.')+1,field.value.length)<=0) return Warn(field, err);; 
		return true;
	//} else 
		//return true;*/
	field.value=Trim(field.value);
	 var email=field.value;
   	 var splitted = email.match("^(.+)@(.+)$");
   	 if(splitted == null) return Warn(field, err);
   	 if(splitted[1] != null )
   	 {
      var regexp_user=/^\"?[\w-_\.]*\"?$/;
      if(splitted[1].match(regexp_user) == null) return Warn(field, err);
     }
     if(splitted[2] != null)
     {
      var regexp_domain=/^[\w-\.]*\.[A-Za-z]{2,4}$/;
      if(splitted[2].match(regexp_domain) == null) 
      {
	    var regexp_ip =/^\[\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\]$/;
	    if(splitted[2].match(regexp_ip) == null) return Warn(field, err);
      }// if
      return true;
     }
     return false;	
}

function IsEmails1(form, fnames)
{
	var names = Split(fnames,",");
	for(var i=0;i<names.length;i++)
	{
		var field = eval("form."+Trim(names[i]));
		if((field.type)&&(field.type == 'text')&&(!IsEmail1(field)))return false;
	}
	return true;
}

//---------------Ham nay co chuc nang kiem tra nhung doi tuong nhap vao co thoa man yeu cau hay khong---
//Modife:Nguyen Van Tuan
//ngay:8/12/2005
function IsFile(field, file_types)
{
	if(IsEmpty(field))return true;
	
	var types = Split(file_types, ",");
	var n= field.value.indexOf(".");
	if(n==-1)
	{
//	 return Warn(field, "Accept file types, (*."+Replace(file_types, ",", ", *.")+") only !");
	 return Warn(field, "Chỉ chấp nhận các kiểu file : (*."+Replace(file_types, ",", ", *.")+") !");
	}
	else
	{
	for(var i=0;(file_types != "*")&&(i<types.length);i++)
	{
		if(EndsWith(field.value, Trim(types[i])))break;
		if(i == types.length-1)
			return Warn(field, "Chỉ chấp nhận các loại file : (*."+Replace(file_types, ",", ", *.")+")  !");
	}
	
    return true;//(field.value.indexOf(":\\") == 1)?true:Warn(field,"Please click 'Browse...' button and choose a file for uploading.");
}}  


function IsFile(field, file_types)
{
	if(IsEmpty(field))return true;
	
	var types = Split(file_types, ",");
	var n= field.value.indexOf(".");
	if(n==-1)
	{
//	 return Warn(field, "Accept file types, (*."+Replace(file_types, ",", ", *.")+") only !");
	 return Warn(field, "Chỉ chấp nhận các kiểu file: (*."+Replace(file_types, ",", ", *.")+") !");
	}
	else
	{
	for(var i=0;(file_types != "*")&&(i<types.length);i++)
	{
		if(EndsWith(field.value, Trim(types[i])))break;
		if(i == types.length-1)
			return Warn(field, "Chỉ chấp nhận các kiểu file:(*."+Replace(file_types, ",", ", *.")+") !");
	}
	
    return true;//(field.value.indexOf(":\\") == 1)?true:Warn(field,"Please click 'Browse...' button and choose a file for uploading.");
}}
function IsFileEx(field, file_types)
	{
		if(IsEmpty(field))return true;
		
		var types = Split(file_types, ",");
		for(var i=0;(file_types != "*")&&(i<types.length);i++)
		{
			if(EndsWith(field.value, Trim(types[i])))break;
			if(i == types.length-1)
				return false;
		}
		return true;//(field.value.indexOf(":\\") == 1)?true:Warn(field,"Please click 'Browse...' button and choose a file for uploading.");
	}  
function IsOverLength(field, max_chars)
{
	if(field.value.length > max_chars)
	{
		field.value = field.value.substring(0, max_chars);
		return (!Warn(field, 'Number of characters in this field must be less than '+max_chars));
	}
	return false;
}

function Warn(field, desc)
{
    alert(desc);
    field.focus();
    return false;
}

function IsEquals(field1, field2)
{
	return(Trim(field1.value) == Trim(field2.value))?true:Warn(field2,"Value of "+field1.name+" and value of "+field2.name+" must be equal !");
}

/* 
	Type:	member function
	Name:	IsRequiresWithP
	Author:	Võ Chí Truong Date:2/3/2006
	Input:	form element, int
	Output:	void
	Operation: Ham alert thong bao yeu cau viec nhap du lieu voi loai ngon ngu lang. lang=1 default la
	ngon ngu vietnamese. lang <>1 thong bao bang English
*/
function IsRequiresWithP(form, fnames,lang)
{
	var names = Split(fnames,",");
	for(var i=0;i<names.length;i++)
	{
		var field = eval("form."+Trim(names[i]));
		if(!field)
		{
			alert(names[i]+" is not a web field. Please check your form carefully !");
			return false;
		}
		if(!IsRequireWithP(field,lang))return false;
	}
	return true;
}
/* 
	Type:	member function
	Name:	IsEmailLang
	Author:	Võ Chí Truong Date:3/8/2006
	Input:	form element, String
	Output:	void
	Operation: Ham Kiem tra hop le theo dinh dang Email cua mot thanh phan form. lang=1 default la
	ngon ngu vietnamese. lang <>1 thong bao bang English
*/
function IsEmailLang(field,lang)
{
	if(IsEmpty(field))return false;
	var fields = Split(field, ",");
	var err = "";
	if(lang.equals("1"))
	{
			err="Email không hợp lệ !\r\n\r\ Định dạng Email có dạng : tênngườidùng@domain (ví dụ. admin@dsp.com.vn)";
	}
	else
	{
			err="Email is not valid !\r\n\r\ Email's form is user@domain (For example : admin@dsp.com.vn)";
	}
	var chars = ".@-_0123456789abcdefghijklmnopqrstuvxywz";
	for(var k=0;k<fields.length;k++){
		for(var i=0;i<fields[k].length;i++)
			if(chars.indexOf(fields[k].toLowerCase().charAt(i)) < 0)return Warn(field, err);
		if( (fields[k].indexOf(".") <= 0)||(fields[k].indexOf("@") <= 0) )return Warn(field, err);
	}
    return true;
}
/* 
	Type:	member function
	Name:	IsEmailsWithLang
	Author:	Võ Chí Truong Date:3/8/2006
	Input:	form element, String
	Output:	void
	Operation: Ham Kiem tra hop le theo dinh dang Email cua mot thanh phan form. lang=1 default la
	ngon ngu vietnamese. lang <>1 thong bao bang English
*/
function IsEmailsWithLang(form, fnames,lang)
{
	var names = Split(fnames,",");
	for(var i=0;i<names.length;i++)
	{
		var field = eval("form."+Trim(names[i]));
		if((field.type)&&(field.type == 'text')&&(!IsEmailLang(field,lang))) return false;
	}
	return true;
}
function IsRequires(form, fnames)
{
	var names = Split(fnames,",");
	for(var i=0;i<names.length;i++)
	{
		var field = eval("form."+Trim(names[i]));
		if(!field)
		{
			alert(names[i]+" is not a web field. Please check your form carefully !");
			return false;
		}
		if(!IsRequire(field))return false;
	}
	return true;
}
function Nouser(form,field)
 { var vals =field.value;
   
	if(vals.indexOf("'"))
	{

	 alert('Ban khong duoc nhap kt tu la vao truong '+field);
	  return false;
	 }
	 return true;
  
 
  
}
function IsTel(field)
	{
		var err="Số điện thoại gồm 8 ký tự trở lên";
		var chars = ",. 0123456789";
		if(field.value!="")
		{
			for(var i=0;i<field.value.length;i++)
				if(chars.indexOf(field.value.toLowerCase().charAt(i)) < 0)return Warn(field, err);
			if(field.value.length<8) return Warn(field, err);
			return true;
			//alert('ko rong');
		}else
			//alert('rong');
		return true;
	}	
	function IsTels(form, ftels)
	{
		var tels = Split(ftels,",");
		for(var i=0;i<tels.length;i++)
		{
			var field = eval("form."+Trim(tels[i]));
			if((field.type)&&(field.type == 'text')&&(!IsTel(field)))return false;
		}
		return true;
	}
	function IsTelWithP(field, lang)
	{
		var err="";
		//var err_en = "Tel must be more than 8 number and format is: 08.829604 or 0905.737027";
		if(lang==1)
			err= "Số điện thoại gồm 8 ký tự trở lên";
		else if(lang==3)
			err = "Tel must be more than 8 number";
		else if(lang==5)
			err = "電話番号は８文字以上で記入してください。";	
		var chars = ",. 0123456789";
		if(field.value!="")
		{
			for(var i=0;i<field.value.length;i++)
				if(chars.indexOf(field.value.toLowerCase().charAt(i)) < 0)return Warn(field, err);
			if(field.value.length<8) return Warn(field, err);
			return true;
			//alert('ko rong');
		}else
			//alert('rong');
		return true;
	}
	function IsFaxWithP(field, lang)
{
	var err="";
	//var err_en = "Fax must be more than 6 number and format is 08.829604 or 737027";
	if(lang==1)
		err= "Số fax gồm 6 ký tự trở lên";
	else if(lang==3)
		err = "Fax must be more than 6 number";
	else if(lang==5)
		err = "FAXは６文字以上で記入してください。";
	var chars = ",. 0123456789";
	if(field.value!="")
	{
		for(var i=0;i<field.value.length;i++)
			if(chars.indexOf(field.value.toLowerCase().charAt(i)) < 0) return Warn(field, err);
		if(field.value.length<6) return Warn(field, err);
		return true;
		//alert('ko rong');
	}else
		//alert('rong');
	return true;
}
function IsFax(field)
	{
		var err="Số fax gồm 6 ký tự trở lên";
		var chars = ",. 0123456789";
		if(field.value!="")
		{
			for(var i=0;i<field.value.length;i++)
				if(chars.indexOf(field.value.toLowerCase().charAt(i)) < 0) return Warn(field, err);
			if(field.value.length<6) return Warn(field, err);
			return true;
			//alert('ko rong');
		}else
			//alert('rong');
		return true;
	}	

function IsNumbers(form, fnames)
{
	var names = Split(fnames,",");
	for(var i=0;i<names.length;i++)
	{
		var field = eval("form."+Trim(names[i]));
		if((field.type)&&(field.type == 'text')&&(!IsNumber(field)))return false;
	}
	return true;
}

function IsEmails(form, fnames)
{
	var names = Split(fnames,",");
	for(var i=0;i<names.length;i++)
	{
		var field = eval("form."+Trim(names[i]));
		if((field.type)&&(field.type == 'text')&&(!IsEmail(field)))return false;
	}
	return true;
}

function IsFiles(form, fnames, file_types)
{
	var names = Split(fnames,",");
	
	for(var i=0;i<names.length;i++)
	{
		var field = eval("form."+Trim(names[i]));
		if(!IsFile(field, file_types))return false;
	}
	
	return true;
}
 // Ham chuyen doi kiem tra 1 string co phai la 1 integer ?
 // Dung them vao - ngay 8/9/2005

function checkInt(checkStr) {
	if (checkStr.length < 1) return false;
	var checkOK = "0123456789,.";
	for (i=0; i<checkStr.length; i++) {
		ch = checkStr.charAt(i);
		if (checkOK.indexOf(ch) < 0)
			return false;
	}
	if (checkStr.valueOf()<1) return false;
	return true;
}

// ham nay se thuc hien convert hs:mm:ss đ/mm/yyy=> đ/mm/yy hs:mm:ss
function convertday(s)
{
  var vndate=s.substr(s.indexOf("-")-2,s.length());
  var vnhs=s.substr(0,s.indexOf("-")-2);
  return  vndate+vnhs;

}

 // Ham chuyen doi date tu kieu mm/dd/yyyy sang dd/mm/yyyy 
 // Dung them vao - ngay 18/6/2005
function changeDates(s)
	{	
	var i1 = s.indexOf("/");
	if (i1<0) return ;
	var i2 = s.indexOf("/",i1+1);
	if (i2<0) return ;
	var mm = s.substr(0, i1);
	var dd = s.substr(i1+1, i2-(i1+1));
	var yy = s.substr(i2+1);

	return (dd+'/'+mm+'/'+yy);
	}

function checkIntInDate(checkStr) {
	if (checkStr.length < 1) return false;
	var checkOK = "0123456789";
	for (i=0; i<checkStr.length; i++) {
		ch = checkStr.charAt(i);
		if (checkOK.indexOf(ch) < 0)
			return false;
	}
	if (checkStr.valueOf()<1) return false;
	return true;
}

   
function checkDate(s) {
	
	var i1 = s.indexOf("/");
	if (i1<0) return false;
	var i2 = s.indexOf("/",i1+1);
	if (i2<0) return false;
	var dd = s.substr(0, i1);
	var mm = s.substr(i1+1, i2-(i1+1));
	var yy = s.substr(i2+1);

	if (!checkIntInDate(dd)) return false;
	if (!checkIntInDate(mm)) return false;
	if (!checkIntInDate(yy)) return false;

	d = dd.valueOf();
	m = mm.valueOf();
	y = yy.valueOf();

	if ((m<1) || (m>12)) return false;
	if ((y<1000)||(y>2900)) return false;
	var leapyear=( ((y % 4)==0 && (y % 100)!=0) || (y % 400)==0 );
	var maxday=0;

	maxday=31;
	if ((m==4) || (m==6) || (m==9) || (m==11))
		maxday=30;
	if (m==2)
		maxday=(leapyear)?29:28;
	
	if ((dd.valueOf()<1) || (dd.valueOf()>maxday)) return false;
	
	return true;
	
}

//-----SET FORM ELEMENTS-----//

VALUES_BREAK = ",";

function SetValues(form, names, values)
{
	for(var i=0;i<names.length;i++)
	{
		var field = eval("form."+Trim(names[i]));
		if(!field)
		{
			alert(names[i]+" is not a web field. Please check your form carefully !");
			break;
		}
		SetValue(field, values[i]);
	}
}

function SetValue(field, values)
{
	if(field.length)
	{
		SetGroup(field, values)
	}
	else
	{
		if( (field.type == 'checkbox')||(field.type == 'radio') ) field.checked = 1;
		else field.value = values;			
	}
}
/*function isValidURL(field){
	var err = "Định dạng Website không hợp lệ (http://www.abc.com)!";
	var url=field.value;
	var valid = new RegExp(); 
    valid.compile("^(http|https):\/\/[[A-Za-z0-9]+([\-\.]{1}[[A-Za-z0-9]+)*\.[A-Za-z0-9-_%&\?\/.=]{1,800}?$");
	if(url!=""){
		if(valid.test(url)){
			return true;
		}else{
			return Warn(field, err);
			return false;
		}
	}else
		return true;
}*/

function isValidURL(field){
	var err = "Định dạng Website không hợp lệ!";//\r\n\r\n Định dạng của một địa chỉ website có dạng sau: http://www.abc.com.vn hoặc abc.com.vn";
	//var field = eval("form."+Trim(url));
	var url=field.value;
	var valid = new RegExp(); 
    valid.compile("^(http|https):\/\/[[A-Za-z0-9]+([\-\.]{1}[[A-Za-z0-9]+)*\.[A-Za-z0-9-_%&\?\/.=]{1,800}?$");
	if(url!=""){
		if(valid.test(url)){
			return true;
		}else{
			return Warn(field, err);
			return false;
		}
	}else
		return true;
}

function SetGroup(field, values)
{			
	var array = Split(values, VALUES_BREAK);
    for(var i=0;i<field.length;i++)
	{
		if(field.type)
			field.options[i].selected = (IndexOf(array, field.options[i].value) != -1);

		else  
			field[i].checked = (IndexOf(array, field[i].value) != -1);
	}
}

//-----PROCESSING LIST OF CHECKBOXES-----//

function SelectItems(form, field_name, is_checked)
{
	var field = eval("form."+field_name);
	if(field != null)
	{
		if(field.length == null)
		{
			field.checked = is_checked;
		}
		else
		{
			for(var i=0;i < field.length;i++)
				field[i].checked = is_checked;
		}
	}
	
}

function CheckOneItem(form, field_name, field_name_1, name) 
{
	var chk=false;
	var field = eval("form."+field_name);
	var field_1 = eval("form."+field_name_1);
  	if (name.checked==false) 
  	{
   		field.checked=false;
  	}else{
		for(var i=0;i < field_1.length;i++){
			if(field_1[i].checked == false){
				chk=true;
				break;
			}
		}
		if(chk==false){
			field.checked=true;
		}
	}
}

function PostItems(form, field_name, msg)
{
	var field = eval("form."+field_name);
	msg = "Bạn có muốn xóa bản ghi này không?";
	if(field != null)
	{
		var checked = false;
		if(field.length == null)
			checked = field.checked;
		else
			for(var i=0;(!checked) && (i < field.length);i++)checked = field[i].checked;
//		if(!checked)alert("No items selected. Please select one or more !");
		if(!checked)alert("Bạn chưa chọn mục nào cả. Xin vui lòng chọn ít nhất một mục!");
		else if( confirm(msg) )form.submit();
	}
} 

function UploadFile(value, directory, name)
{
	UF_WIN = window.open('UploadFile?file_name='+value+'&directory='+directory+'&result_field='+name, 'UF_WIN', 'width=450,height=300,resizable=yes,scrollbars=yes');
	UF_WIN.focus();
}

//-----DATE FUNCTIONS-----//

function ShowDates()
{
	DATE_WIN = window.open("date", "DATE_WIN", "fullscreen=no,width=130,height=159,left=300,top=255");
	DATE_WIN.focus();
}

DATE_FIELD = null;
function OnSelectDate(month, date, year)
{
	if(DATE_FIELD != null)DATE_FIELD.value = month+"/"+date+"/"+year;
	DATE_WIN.close();
}
//===========================================================
function OnSelectDate_1(date,month, year)
{
	if(DATE_FIELD != null)DATE_FIELD.value = date+"/"+month+"/"+year;
	DATE_WIN.close();
}

function OnSelectDateNew(month, date, year)
{	
	var str = date+"/"+month+"/"+year;
	location.href="ScheduleView.jsp?dateview="+str;
}


//============================================================

//-----TABLE ROW HIGH LIGHT-----//

var OVER_COLORS = new Array("#DDDDDD", "#85A9CD", "#DBBBBB", "#CCDDFA", "#BEB8C4", "#B8DADA", "#D8F9E3", "#F7F7E2");
var OVER_COLOR = "#DDDDDD";
setTimeout("OVER_COLOR = OVER_COLORS[Math.round(OVER_COLORS.length*Math.random())]", 5000);

var SELECTED_ROW = null;

var PREVIOUS_ROW = null;
var PREVIOUS_COLOR = null;

function MouseOver(objRow)
{
	if(objRow)
	{
		PREVIOUS_COLOR = objRow.style.backgroundColor;
		objRow.style.backgroundColor = OVER_COLOR;
		if(PREVIOUS_ROW)PREVIOUS_ROW.style.backgroundColor = PREVIOUS_COLOR;
		PREVIOUS_ROW = objRow;
	}
}

function MouseOut(objRow)
{
	if(SELECTED_ROW)
		MouseOver(SELECTED_ROW);
	else if(objRow)
		objRow.style.backgroundColor = PREVIOUS_COLOR;
}

function MouseClick(objRow)
{
	SELECTED_ROW = objRow;
}
function GetField(form, name)
{
	var field = eval("form." + Trim(name));
	return (field != null) ? field : alert(name + " is not a web field. Please check your form carefully !");
}
function compareDateTime(form, fname, dt1, dt2)
{
	field = GetField(form, fname);
	var date1 = new Date(dt1);
	var date2 = new Date(dt2);
	if (date2.getTime() <= date1.getTime())
	{
		return Warn(field, 'Period is not suitable!');
	}
	else
	{
		return true;
	}
}


function readfile(){
//var TristateFalse = 0;
//var ForWriting = 2;
//var str="";
 alert("thanh cong");
//var filename = 'c:\\test.txt'; 
 //var fso, a, ForReading; 
 //ForReading = 1; 
 
     //     fso = new ActiveXObject('Scripting.FileSystemObject'); 
      //    file = fso.OpenTextFile(filename, ForReading, false); 
	//	 var name = file.readAll();       
     //     file.Close(); 
      //    document.write(name + '<br>'); 
   


}
function compareValue(form, fname, vl1, vl2)
{
	field = GetField(form, fname);
	
	//alert("yurtytryu"+vl2);
	if (parseFloat(vl2) > parseFloat(vl1))
	{
		return Warn(field, 'Value is not suitable!');
	}
	else
	{
		return true;
	}
}
//=============THAO TAC VOI COOKIES====15/9/2005======
//-=Gan giá tr? cho cookie tên name, giá tr? value=-
function SetCookie (name, value) 
{ 
	var expDays = 30;
	var exp = new Date(); 
	exp.setTime(exp.getTime() + (expDays*24*60*60*1000));

	var argv = SetCookie.arguments; 
	var argc = SetCookie.arguments.length; 
	var expires = exp; 
	var path = (argc > 3) ? argv[3] : null; 
	var domain = (argc > 4) ? argv[4] : null; 
	var secure = (argc > 5) ? argv[5] : false; 
	document.cookie = name + "=" + escape (value) + ((expires == null) ? "" : ("; expires=" + expires.toGMTString())) + 
	((path == null) ? "" : ("; path=" + path)) + ((domain == null) ? "" : ("; domain=" + domain)) + 
	((secure == true) ? "; secure" : "");
}
//-=Hàm l?y cookie giá tr? name, n?u  không có tr? v? null=-
function getCookie(name) {
	var prefix = name + "="
	var cookieStartIndex = document.cookie.indexOf(prefix)
	if (cookieStartIndex == -1)
		return null
	var cookieEndIndex = document.cookie.indexOf(";", cookieStartIndex + prefix.length)
	if (cookieEndIndex == -1)
		cookieEndIndex = document.cookie.length
	return unescape(document.cookie.substring(cookieStartIndex + prefix.length, cookieEndIndex))
}
//-=Hàm xóa cookie=-
function deleteCookie(name, path, domain) 
{
	if (getCookie(name)) 
	{
		document.cookie = name + "=" + 	((path) ? "; path=" + path : "") +
		((domain) ? "; domain=" + domain : "") +";expires=Thu, 01-Jan-70 00:00:01 GMT"
	}
}
//-=Hàm l?y giá tr? c?a  cookie có tên labelName=-
function getCookieVal(labelName) 
{
	var labelLen = labelName.length;
	
	var cookieData = document.cookie
	var cLen = cookieData.length
	var i = 0
	var cEnd
	while (i < cLen)
	{
		var j = i + labelLen
		if (cookieData.substring(i,j) == labelName) 
		{
			cEnd = cookieData.indexOf(";",j)
			if (cEnd == -1)
			{
				cEnd = cookieData.length
			}
			return unescape(cookieData.substring(j+1, cEnd))
		}
		i++
	}
	return null
}
//22/9/2005 S? ki?n du?c g?i t? Header.jsp. Ki?m tra n?u Trang ti?ng anh ch?n thì gán giá tr? cho Cookie LANG_SESSION 
function setSession()
{
		var  checkLS=getCookie("LANG_SESSION");
		if(checkLS!=null)
		{
			//alert("co gia tri cookie="+checkLS);
			if(getCookieVal("LANG_SESSION")=="1")
			{
				SetCookie("LANG_SESSION","2");
			}
			else SetCookie("LANG_SESSION","1");
			}
		else
		{
			SetCookie("LANG_SESSION","1");
		}
		//document.list.submit();
		
}

function mOvr(src) {
		if (!src.contains(event.fromElement)) {
			src.style.cursor = 'hand';
			src.style.backgroundColor = '#FFFFFF';
		}

	}
function mOut(src) {
	if (!src.contains(event.toElement)) {
		src.style.cursor = 'default';
		src.style.backgroundColor = '#C9D7E2';
	}
}
//18/07/2006
function writeTime(s)
{
	var mydate=new Date(s)
	document.write(s+"  ");
	var year = mydate.getYear()
	if (year < 1000)
		year += 1900
	var month = mydate.getMonth() + 1
	if (month < 10)
		month = "0" + month
	var day = mydate.getDate()
	if (day < 10)
		day = "0" + day

	var dayw = mydate.getDay()
	
	var hour = mydate.getHours()
	if (hour < 10)
		hour = "0" + hour
	
	var minute=mydate.getMinutes()
	if (minute < 10)
		minute = "0" + minute
	var dayarray=new Array("Ch&#7911; Nh&#7853;t","Th&#7913; Hai","Th&#7913; Ba","Th&#7913; T&#432;","Th&#7913; N&#259;m","Th&#7913; S&#225;u","Th&#7913; B&#7843;y")
	//document.write(dayarray[dayw]+", "+day+"/"+month+"/"+year+",&nbsp;"+hour+":"+minute+" (GMT+7)")
}
//18/07/2006 with Lang
function writeTime(s, lang)
{
	var mydate=new Date(s)
document.write(s+"  ");
	
	var year = mydate.getYear()
	if (year < 1000)
		year += 1900
	var month = mydate.getMonth() + 1
	if (month < 10)
		month = "0" + month
	var day = mydate.getDate()
	if (day < 10)
		day = "0" + day

	var dayw = mydate.getDay()
	
	var hour = mydate.getHours()
	if (hour < 10)
		hour = "0" + hour
	
	var minute=mydate.getMinutes()
	if (minute < 10)
		minute = "0" + minute
	var dayarray=new Array("Ch&#7911; Nh&#7853;t","Th&#7913; Hai","Th&#7913; Ba","Th&#7913; T&#432;","Th&#7913; N&#259;m","Th&#7913; S&#225;u","Th&#7913; B&#7843;y")
	if(lang!="1") dayarray=new Array("Sunday","Monday","Tueday","Wednesday","Thursday","Friday","Saturday");
	//document.write(dayarray[dayw]+", "+day+"/"+month+"/"+year+",&nbsp;"+hour+":"+minute+" (GMT+7)")
}
function alertMess(){
	alert('Nhập vào từ khóa tìm kiếm!');
}
function getTimeString(s)
{
	document.write("<font color='#666666'><i>");
	writeTime(s);
	document.write("</i></font>")
}
function getTimeString(s,lang)
{
	document.write("<font color='#666666'><i>");
	writeTime(s,lang);
	document.write("</i></font>")
}
function JSFX_FloatTopDiv()
{
	var startX = document.body.clientWidth - 120,
		startY = 35;
	var ns = (navigator.appName.indexOf("Netscape") != -1);
	var d = document;					
	function ml(id)
	{
		var el=d.getElementById?d.getElementById(id):d.all?d.all[id]:d.layers[id];
		if(d.layers)el.style=el;
		el.sP=function(x,y){this.style.left=x;this.style.top=y;};
		el.x = startX;
		if (verticalpos=="fromtop")
		el.y = startY;
		else{
		el.y = ns ? pageYOffset + innerHeight : document.body.scrollTop + document.body.clientHeight;
		el.y -= startY;
		}
		return el;
	}
	window.stayTopLeft=function()
	{
		if (verticalpos=="fromtop"){
		var pY = ns ? pageYOffset : document.body.scrollTop;
		ftlObj.y += (pY + startY - ftlObj.y)/8;
		}
		else{
		var pY = ns ? pageYOffset + innerHeight : document.body.scrollTop + document.body.clientHeight;
		ftlObj.y += (pY - startY - ftlObj.y)/8;
		}
		ftlObj.sP(ftlObj.x, ftlObj.y);
		setTimeout("stayTopLeft()", 10);
	}
	ftlObj = ml("divStayTopLeft");
	stayTopLeft();
}

