function makeInputComboboxSex(name,width)
					{
					var LisSexVN=Array('Nữ','Nam');
					var LisSexEN=Array('FeMale','Male');
					var newinput		 = document.createElement('SELECT');
					newinput.name 		 = name+ '_'+__uid;
					newinput.id 		 = name+ '_'+__uid;
					newinput.style.width = width;
					newinput.tabIndex	 = -1;
					var listSex;
					var option='';
					var language=2;
					language=parseURL('l');if(language==2){ listSex=LisSexVN;}
					else{listSex=LisSexEN;}
					for(i=0;i<listSex.length;i++)
					{  
						var _option =document.createElement('OPTION');
							_option.text=listSex[i];
							_option.label=listSex[i];
							_option.value=i;
							try{newinput.add(_option);}catch(err){
							try{newinput.appendChild(_option);}catch(err){}
								}
			
					}
		
				return newinput;
			} 

	function makeInputComboboxCustommerType(name,width)
					{	
			var ListVN=Array('Người lớn','Trẻ em','Trẻ nhỏ');
			var ListEN=Array('Adult','Child','Baby');
		
			var newinput		 = document.createElement('SELECT');
			newinput.name 		 = name+ '_'+__uid;
			newinput.id 		 = name+ '_'+__uid;
			newinput.style.width = width;
			newinput.tabIndex	 = -1;
			var listType;
			var option='';
			var language=2;
			language=parseURL('l');
			if(language==2){ listType=ListVN;}
			else{listType=ListEN;}
		
			for(i=0;i<listType.length;i++)
			{
				option =document.createElement('OPTION');
				option.label=listType[i];
				option.text=listType[i];
				option.value=i;
				try{newinput.add(option);}
				catch(err)
				{
					try{newinput.appendChild(option);}
					catch(err){}
				}
			
			}
			newinput.onchange = new Function ('checkLimitGuest(this);');
			return newinput;
		}

	function makeInputComboboxNationality(name,width)
				{ var LisVn=Array('--- Khác ---','Afghanistan','Ấn độ','Anh','Băng La Đét','Bỉ','Brazil','Brunei','Campuchia','Canada','Đức','Ha Lan','Hàn Quốc','Hoa Kỳ','Irắc','Irăn','Lào','Mã Lai','Nhật Bản','Pháp','Singapore','Suđăn','Thái Lan','Trung Quốc','Úc','Việt Nam','Ý'); 
				var LisEn=Array('--- Other ---','Afghanistan','Indian','England','Bangladesh','Belgium','Brazil','Brunei','Cambodian','Canada','Germany','Holland','South Korea','American','Irac','Iran','Laos','Malaysia','Japanese','France','Singapore','Sudan','Thailand','China','Australia','Vietnamese','Italy'); 
				var ListValue=Array('Other','Afghanistan','Indian','England','Bangladesh','Belgium','Brazil','Brunei','Cambodian','Canada','Germany','Holland','South Korea','American','Irac','Iran','Laos','Malaysia','Japanese','France','Singapore','Sudan','Thailand','China','Australia','Vietnamese','Italy'); 
//				var ListValue=Array('NON','AF','IND','EN','BAN','BEL','BRA','BRN','CAM','CA','GER','HL','KOR','USA','IRA','IR','LAO','MAL','JP','FR','SIN','SUD','TL','TQ','AUS','VN','ITA');
				var newinput		 = document.createElement('SELECT');
			newinput.name 		 = name+ '_'+__uid;
			newinput.id 		 = name+ '_'+__uid;
			newinput.style.width = width;
			newinput.tabIndex	 = -1;
			var listNation;
			var option='';
			var language=2;
			language=parseURL('l');
		
			if(language==2){ listNation=LisVn;}
			else{listNation=LisEn;}
		
			for(i=0;i<listNation.length;i++)
			{
				option =document.createElement('OPTION');
				option.label=listNation[i];
				option.text=listNation[i];
				option.value=ListValue[i];
				try{newinput.add(option);}
				catch(err)
				{
					try{newinput.appendChild(option);}
					catch(err){}
				}
			}
		
			return newinput;
		}

	function makeInputComboboxSingleRoom(name,width)
					{	
			var LisSingleRoomVN=Array('Không','Có');
			var LisSingleRoomEN=Array('No','Yes');
			var _current =__uid;
			var newinput		 = document.createElement('SELECT');
			newinput.name 		 = name+ '_'+__uid;
			newinput.id 		 = name+ '_'+__uid;
			newinput.style.width = width;
			newinput.tabIndex	 = -1;
			var LisSingleRoom;
			var option='';var language=2 
				if(language==2){ LisSingleRoom=LisSingleRoomVN;}
			else{LisSingleRoom=LisSingleRoomEN;}
		
			for(i=0;i<LisSingleRoom.length;i++)
			{
				option =document.createElement('OPTION');
				option.text=LisSingleRoom[i];
				option.label=LisSingleRoom[i];
				option.value=i;
				try{newinput.add(option);}
				catch(err)
				{
					try{newinput.appendChild(option);}
					catch(err){}
				}
			}
		
			return newinput;
		}

	function makeInputComboboxVisaTaiNhap(name,width)
					{	
			var LisVisaTaiNhapVN=Array('Không','Có');
			var LisVisaTaiNhapEN=Array('No','Yes');
			var _current =__uid;
			var newinput		 = document.createElement('SELECT');
			newinput.name 		 = name+ '_'+__uid;
			newinput.id 		 = name+ '_'+__uid;
			newinput.style.width = width;
			newinput.tabIndex	 = -1;
			var LisVisaTaiNhap;
			var option='';var language=2 
				if(language==2){ LisVisaTaiNhap=LisVisaTaiNhapVN;}
			else{LisVisaTaiNhap=LisVisaTaiNhapEN;}
		
			for(i=0;i<LisVisaTaiNhap.length;i++)
			{
				option =document.createElement('OPTION');
				option.text=LisVisaTaiNhap[i];
				option.label=LisVisaTaiNhap[i];
				option.value=i;
				try{newinput.add(option);}
				catch(err)
				{
					try{newinput.appendChild(option);}
					catch(err){}
				}
			}
		
			return newinput;
		}

	
// 



			
var __uid 		= 0;

/////////////////////
var MAXADULT		= 1;
var MAXCHILD		= 0;
var MAXPETTYCHILD	= 0;
/////////////////////

var MINROW		= 1;
var MAXROW		= 1;
var MINCOLUMN	= 1;
var MAXCOLUMN 	= 5;

// Data type
var NAME		= '';
var STRING		= 0;
var DATE		= 1;
var DATENCP		= 1;
var DATEHHP	= 1;
var GENDER		= 2;
var GUEST_TYPE	= 3;
/////////////////
var ADULTPRICE		= 0;
var CHILDPRICE		= 0;
var SMALLCHILDPRICE	= 0;
//////////////////
function setDefault(_maxRow,_maxAdult,_maxChild,_maxSmall_Child)
{
	MAXROW=_maxRow; 
	MAXADULT		= _maxAdult;
	MAXCHILD		= _maxChild;
	MAXPETTYCHILD	= _maxSmall_Child;

}
function AddPrice(_AdultPrice,_ChildPrice,_SmallChildPrice)
{
	ADULTPRICE=_AdultPrice;
	CHILDPRICE=_ChildPrice;
	SMALLCHILDPRICE=_SmallChildPrice;
	document.Form1._txtGiaTour.value=ADULTPRICE;
}
function setTongSoLuong(_this)
{
	var giatri=_this.value;
	if (!numberValid(giatri,1,99))
	{		alert('Dữ liệu nhập vào không hợp lệ');
		 _this.focus();
	     _this.value=1;
	     _this.select();
	     
	
	}
}

function setValue()
{		
	var TongSoKhach =document.Form1._txtSoKhach.value;
	var TongSoKhachNguoiLon=document.Form1._txtNguoiLon.value;
	var TongSoKhachTreEm=document.Form1._txtTreEm.value;
	var TongSoKhachTreNho=document.Form1._txtTreNho.value;
	
	if (!numberValid(TongSoKhachNguoiLon,1,100))
	{	alert('Dữ liệu nhập vào không hợp lệ');
	document.Form1._txtNguoiLon.focus();
	document.Form1._txtNguoiLon.value=1;
	document.Form1._txtNguoiLon.select();
	
	
	}
else
	{	if (!numberValid(TongSoKhachTreEm,0,100 ))
			{	alert('Dữ liệu nhập vào không hợp lệ');
			document.Form1._txtTreEm.focus();
			document.Form1._txtTreEm.value=0;
			document.Form1._txtTreEm.select();
								
			}
			else
				{ if (!numberValid(TongSoKhachTreNho,0,100 ))
					{	alert('Dữ liệu nhập vào không hợp lệ');
					document.Form1._txtTreNho.focus();
					document.Form1._txtTreNho.value=0;
					document.Form1._txtTreNho.select();
					}
				else{
					
					var _maxAdult=parseInt(TongSoKhachNguoiLon);
					var _maxChild=parseInt(TongSoKhachTreEm);
					var _maxSmall_Child=parseInt(TongSoKhachTreNho);
				
				document.Form1._txtSoKhach.value=_maxAdult+_maxChild+_maxSmall_Child;
				
				var _maxRow=parseInt(document.Form1._txtSoKhach.value);
				setDefault(_maxRow,_maxAdult,_maxChild,_maxSmall_Child);
				// gan gia tri cho hiddien ;
				document.Form1.TotalAdult.value=_maxAdult;
				document.Form1.TotalChild.value=_maxChild;
				document.Form1.TotalSmall_Child.value=_maxSmall_Child;	
				
				}
				}
	}
}




function delRow(rowid)
{	var currentRow = getObj(rowid);
	if(!currentRow) return;

	var tbl	= getObj('customerListBody');
	var lastRow	= tbl.rows.length;
	if(lastRow>2)
	{	var startRow = currentRow.rowIndex;
		currentRow.parentNode.removeChild(currentRow);

		var lastRow	= tbl.rows.length;
		for(var i=startRow; i<lastRow; i++)
		{	tbl.rows[i].className = ((i%2) ? 'row_even' : 'row_odd');
			var textNode = tbl.rows[i].cells[0].firstChild;
			textNode.nodeValue = i;
		}		
	}
}

function checkElementBeforeAddRow(rowid, column)
{	var currentRow	= getObj(rowid);
	var tbl			= getObj('customerListBody');
	
	if((currentRow==null) || (tbl==null)) return;

	// Tao moi mot dong khi dang xu ly o dong cuoi
	var lastRow	= tbl.rows.length-1;
	var index	= currentRow.rowIndex;
	var currentNode = tbl.rows[index].cells[column].firstChild;	
	if((index==lastRow) && (currentNode.value!='') && (currentNode.value!='0') && (lastRow<MAXROW)) addRow('customerListBody');	
			
	// Xu ly phim
	switch(event.keyCode)
	{	case 13:	// Enter key -> Chan ma phim Enter lai, tra ve ma tab (chuyen sang control ke)
			event.keyCode = 9;
			break;
		case 37:	// Left key
			if(column>MINCOLUMN)
			{	if(currentNode.value=='')
				{	tbl.rows[index].cells[parseInt(column) - 1].firstChild.focus();
				}
			}
			break;			
		case 38:	// Up key
			if(index>MINROW) tbl.rows[index-1].cells[column].firstChild.focus();
			break;
		case 39:	// Right key
			if(column<MAXCOLUMN)
			{	if(currentNode.value=='')
				{	tbl.rows[index].cells[parseInt(column) + 1].firstChild.focus();
				}
			}
			break;
		case 40: 	// Down key
			if(index<lastRow) tbl.rows[index+1].cells[column].firstChild.focus();
			break;
	}	
}

function addRow(id)
{	var tbl = getObj(id);
	
	//create a new row
	var lastRow	= tbl.rows.length;
	var newrow	= document.createElement("TR");
	newrow.id	= "row_" + __uid;
	newrow.className = ((lastRow%2) ? 'row_even' : 'row_odd');

	
	/*var newcell, newinput;
	newcell		= makeCell(200);
	newcell.appendChild(document.createTextNode(lastRow));
	newrow.appendChild(newcell);*/
	
	
	newcell		= makeCell(200);
	newinput	= makeInputText("txtHoTen", "", 120, 0, NAME);
	newcell.appendChild(newinput);
	newrow.appendChild(newcell);
	
	
	newcell		= makeCell(200);
	newinput	= makeInputText("txtNgaySinh", "", 70, 1, DATE);
	newcell.appendChild(newinput);
	newrow.appendChild(newcell);
	

	
	newcell		= makeCell(200);
	newinput	= makeInputComboboxSex("txtGioiTinh",60);
	newcell.appendChild(newinput);
	newrow.appendChild(newcell);
	
	
	/*newcell		= makeCell(200);
	newinput	= makeInputComboboxCustommerType("txtLoaiKhach",80);
	newcell.appendChild(newinput);
	newrow.appendChild(newcell);
	*/
	
	newcell		= makeCell(200);
	newinput	= makeInputComboboxNationality("cboNation",85);
	newcell.appendChild(newinput);
	newrow.appendChild(newcell);
	
	newcell		= makeCell(200);
	newinput	= makeInputText("txtPassport", "", 80, 7, STRING);
	newcell.appendChild(newinput);
	newrow.appendChild(newcell);
	

	newcell		= makeCell(200);
	newinput	= makeInputText("txtNgayCap", "", 80, 6, DATE);
	newcell.appendChild(newinput);
	newrow.appendChild(newcell);
	
	
	newcell		= makeCell(200);
	newinput	= makeInputText("txtNgayHetHan", "", 80, 7, STRING);
	newcell.appendChild(newinput);
	newrow.appendChild(newcell);
	
	newcell		= makeCell(200);
	newinput	= makeInputText("cboVisaTaiNhap", "", 80, 7, STRING);
	newcell.appendChild(newinput);
	newrow.appendChild(newcell);
	
	newcell		= makeCell(200);
	newinput	= makeInputText("cboPhongDon", "", 80, 7, STRING);
	newcell.appendChild(newinput);
	newrow.appendChild(newcell);
	
		
	tbl.appendChild(newrow);
	__uid++;	
	document.Form1.TotalRows.value=__uid;
}

function makeCell(width)
{	var newcell		 = document.createElement("TD");
	//newcell.width	 = width;
	newcell.style.textAlign  = "center";
	return newcell;
}

function makeInputText(name, value, width, column, dataType)
{	var newinput		 = document.createElement('input');
	newinput.type		 = 'text';
	newinput.name 		 = name+'_'+__uid;
	newinput.id 		 = name+'_'+__uid;
	newinput.value		 = value;	
	//newinput.style.width = width;
	newinput.style.width = width;
	
	newinput.onkeydown 	 = new Function ("checkElementBeforeAddRow('row_"+__uid+"', '"+column+"');");

	switch(dataType)
	{	
	  case NAME:
			newinput.onblur = new Function ("setDefaultGenderPersonkind(this);");
			break;
	 case DATE:
			newinput.onblur = new Function ("checkDate(this);");
			break;
	
	/*case DATENCP:
			newinput.onblur = new Function ("checkDateNgayCapP(this);");
			break;
	 case DATEHHP:
			newinput.onblur = new Function ("checkDateNgayHHP(this);");
			break;
			*/
	case GENDER:
			newinput.onblur = new Function ("checkNumber(this, 0, 1);");
			break;
	case GUEST_TYPE:
			newinput.onblur = new Function ("checkNumber(this, 0, 2);checkLimitGuest(this);");
			break;
	}

	return newinput;
}

function makeInputButton(name, value, width)
{	var newinput		 = document.createElement('input');
	newinput.type		 = 'button';
	newinput.name 		 = name+ '_'+__uid;
	newinput.id 		 = name+ '_'+__uid;
	newinput.value		 = value;
	newinput.style.width = width;
	newinput.tabIndex	 = -1;
	newinput.onclick	 = new Function ("delRow('row_"+__uid+"');");		
	//newinput.onclick	 = new Function ("delElem('row_"+__uid+"' , __uid);");	
	return newinput;
}


// lay param tu URL
function parseURL(strParamName)
	{ var strReturn = "";
	var strHref = window.location.search;//window.location.href;
		if ( strHref.indexOf("?") > -1 )
				{ 
					var strQueryString = strHref.substr(1);
					var aQueryString = strQueryString.split("&");
						for (var i=0; i<aQueryString.length; i++)
							{ var aParam = aQueryString[i].split("=");
								if (aParam[0]==strParamName)
									{ strReturn = aParam[1];
									break;
										}
							}
				}
		return unescape(strReturn);
	}
function checkEmail_input(field,messages)
{	if(!isEmail(field.value))
	{	alert(messages);
		field.focus();
		field.select();
		return false;
	}
	return true;
}
function isEmail(s)
{	if (s=="")return true;
	if((s.indexOf("")>0)||(s.indexOf("@")==-1)||(s.indexOf(".")==-1)||(s.indexOf("..")!=-1)
		||(s.indexOf("@")!=s.lastIndexOf("@"))||(s.lastIndexOf(".")==s.length-1))
			return false;		
		var str="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-@._0123456789"
		for(var j=0;j<s.length-1;j++)
			if(str.indexOf(s.charAt(j))==-1)
				return false;
		return true;							
}

function checkDate_input_required(field,messages,_kind)
{
 if (_kind=='1') // bat buoc nhap.
{
	if (field.value=="")
	{
		field.focus();
		field.select();
		return false;
	}
   
   if(!dateValid(field))
	{	alert(messages);
		field.focus();
		field.select();
		return false;
	}

}
else
{	
   if(!dateValid(field))
	{	alert(messages);
		field.focus();
		field.select();
		return false;
	}
	return true;
}
}
function checkDate_input(field,messages)
{	if(!dateValid(field))
	{	alert(messages);
		field.focus();
		field.select();
		return false;
	}
	return true;
}
function checkDate(field)
{	if(!dateValid(field))
	{	alert('Ngày tháng vừa nhập không hợp lệ');
		field.focus();
		field.select();
		return false;
	}
	return true;
}
function checkDateNgayCapP(field)
{	if(!dateValid(field))
	{	alert('Ngày cấp Passport không hợp lệ');
		field.focus();
		field.select();
		return false;
	}
	return true;
}
function checkDateNgayHHP(field)
{	if(!dateValid(field))
	{	alert('Ngày hết hạn Passport không hợp lệ');
		field.focus();
		field.select();
		return false;
	}
	return true;
}
function checkNumber(field, minValue, maxValue)
{	if(!numberValid(Trim(field.value), minValue, maxValue))
	{	field.value = 0;
		return false;
	}
	return true;
}
function setDefaultGenderPersonkind(field)
{
  // gan Gioi tinh Default la : 1
	//var value = parseInt(tbl.rows[i].cells[4].firstChild.value);
   Set_checkLimitGuest();
  
}


function Set_checkLimitGuest()
{   var numberofadult = 0;
	var numberofchild = 0;
	var numberofpettychild = 0;

var tbl = getObj('customerListBody');
var numberofrow = tbl.rows.length;

for(var i=1; i<numberofrow; i++)
	{ var value = parseInt(tbl.rows[i].cells[4].firstChild.value);
		switch(value)
			{ case 0:
			numberofadult++;
			break;
			case 1:
			numberofchild++;
			break;
			case 2:
			numberofpettychild++;
			break;
			}
}
// xet xem dang o Row thu may .
				
		var current=parseInt(tbl.rows[numberofrow-1].cells[4].firstChild.value);
		

		switch(parseInt(current))
		{ case 0:
		if(numberofadult>MAXADULT)
		{ //alert('Khong the nhap vuot qua so khach nguoi lon');
		//field.focus();
		if(numberofchild<MAXCHILD)
		{ tbl.rows[numberofrow-1].cells[4].firstChild.value = 1;
		}else if(numberofpettychild<MAXPETTYCHILD)
		{ tbl.rows[numberofrow-1].cells[4].firstChild.value = 2;
		}
		}
		break;
		case 1:
		if(numberofchild>MAXCHILD)
		{ //alert('Khong the nhap vuot qua so khach tre em');
		//field.focus();
		if(numberofpettychild<MAXPETTYCHILD)
		{ tbl.rows[numberofrow-1].cells[4].firstChild.value = 2;
		}else if(numberofadult<MAXADULT)
		{ tbl.rows[numberofrow-1].cells[4].firstChild.value = 0;
		}
		}
		break;
		case 2:
		if(numberofpettychild>MAXPETTYCHILD)
		{ //alert('Khong the nhap vuot qua so khach tre nho');
		//field.focus();
		if(numberofadult<MAXADULT)
		{ tbl.rows[numberofrow-1].cells[4].firstChild.value = 0;
		}else if(numberofchild<MAXCHILD)
		{ tbl.rows[numberofrow-1].cells[4].firstChild.value = 1;
		}
		}
		break;
}
}



function checkLimitGuest(field)
{ var numberofadult = 0;
	var numberofchild = 0;
	var numberofpettychild = 0;

var tbl = getObj('customerListBody');
var numberofrow = tbl.rows.length;
	for(var i=1; i<numberofrow; i++)
	{ var value = parseInt(tbl.rows[i].cells[4].firstChild.value);
		switch(value)
			{ case 0:
			numberofadult++;
			break;
			case 1:
			numberofchild++;
			break;
			case 2:
			numberofpettychild++;
			break;
			}
}

		switch(parseInt(field.value))
		{ case 0:
		if(numberofadult>MAXADULT)
		{ //alert('Khong the nhap vuot qua so khach nguoi lon');
		//field.focus();
		if(numberofchild<MAXCHILD)
		{ field.value = 1;
		}else if(numberofpettychild<MAXPETTYCHILD)
		{ field.value = 2;
		}
		}
		break;
		case 1:
		if(numberofchild>MAXCHILD)
		{ //alert('Khong the nhap vuot qua so khach tre em');
		//field.focus();
		if(numberofpettychild<MAXPETTYCHILD)
		{ field.value = 2;
		}else if(numberofadult<MAXADULT)
		{ field.value = 0;
		}
		}
		break;
		case 2:
		if(numberofpettychild>MAXPETTYCHILD)
		{ //alert('Khong the nhap vuot qua so khach tre nho');
		//field.focus();
		if(numberofadult<MAXADULT)
		{ field.value = 0;
		}else if(numberofchild<MAXCHILD)
		{ field.value = 1;
		}
		}
		break;
}
}


function dateValid(field)
{	var dateStr = Trim(field.value);
	if (isNull(dateStr)) return true;
	
	var i = dateStr.indexOf("/");
	var j = dateStr.indexOf("/", i + 1);
	if ((i == -1) || (j == -1)) return false;
	
	var day		= parseInt(dateStr.substr(0, i), 10);
	var month	= parseInt(dateStr.substr(i + 1, (j - i - 1)), 10);
	var year	= parseInt(dateStr.substr(j + 1), 10);
	
	if ((month < 1) || (month > 12)) return false;
	
	if (isNaN(day) || isNaN(month) || isNaN(year) || (year < 0)) return false;
	
	var DOM = 31;
	switch(month)
	{	case 2:
			DOM = ((((year % 4) == 0) && ((year % 100) != 0)) || ((year % 400) == 0)) ? 29 : 28;
			break;
		case 4:
		case 6:
		case 9:
		case 11:
			DOM = 30; break;
		default:
			DOM = 31;
	}
	
	if ((day < 1) || (day > DOM)) return false;

	if (year < 30)
	{	year += 2000;
	}else if (year < 100)
	{	year += 1900;
	}
		
	field.value = ((day<10) ? ("0"+day) : day) + "/" +((month<10) ? ("0"+month) : month) + "/" + year;
	return true;
}

function numberValid(str, minValue, maxValue)
{	if (isNull(str)) return false;
	
	var num = parseInt(str);
	if(isNaN(num)) return false;

	if((num<minValue) || (num>maxValue)) return false;
	
	return true;
}

function isNull(str)
{	if(str==null) return true;

	var NumberOfChar = str.length;
	for (var i=0; i<NumberOfChar; i++)
	{	if (str.charAt(i)!=' ') return false;
	}
	return true;
}

function Trim(str)
{	// LEFT TRIM
	while((str.length > 0) && (str.charAt(0) == ' ')) str = str.substring(1, str.length);
	// RIGHT TRIM
	while((str.length > 0) && (str.charAt(str.length-1) == ' ')) str = str.substring(0,str.length-1);
			
	return str;
}

function getObj(name)
{   if (document.getElementById)
	{	return document.getElementById(name);
	}else if (document.all)
	{	return document.all[name];
	}else if (document.layers)
	{	return document.layers[name];
	}
}

