// JavaScript Document
function setSamePresentAddress(enable){		
	if (enable){
		copyContent(document.forms[0].txtPresentAddress,document.forms[0].txtRegisterAddress);
		copyContent(document.forms[0].txtTelPresent,document.forms[0].txtTelRegister);
		copyContent(document.forms[0].txtTelPresent2,document.forms[0].txtTelRegister2);
		document.forms[0].txtRegisterAddress.disabled= true;
		document.forms[0].txtTelRegister.disabled= true;
		document.forms[0].txtTelRegister2.disabled= true;
	}else{
		document.forms[0].txtRegisterAddress.disabled= false;
		document.forms[0].txtTelRegister.disabled= false;
		document.forms[0].txtTelRegister2.disabled= false;
	}
}

function copyContent(source,dest){
	if (source && dest){
		dest.value = source.value;
	}
}

function setMilitaryService(checked){		
		document.forms[0].txtCompleteMilitary.disabled = !checked;
		document.forms[0].txtInCompleteMilitary.disabled = checked;	
		checked?document.forms[0].txtCompleteMilitary.focus():document.forms[0].txtInCompleteMilitary.focus();
}
	
function setShowContent(){
	var args  = arguments;	
	if (args.length>1){
		for (var i=1;i<args.length;i++){
			var obj = document.getElementById(args[i]);
			if (obj){							
				obj.style.display = args[0]?"inline":"none";
			}
		}
	}
}

function setDisplayMilitaryService(show){
		setShowContent(show,'rowMilitaryService','rowMilitaryService2','rowMilitaryService3');
}

function setApplicationFormStep(step){
		switch(step){		
			case 1:
				setShowContent(true,'Position');				
				setShowContent(false,'Personal','Education','LanguageSkill','Career','ComputerSkill');
				setActiveList('listApplicationFormStep','listPosition');				
				break;
			case 2:
				setShowContent(true,'Personal');
				setShowContent(false,'Position','Education','LanguageSkill','Career','ComputerSkill');
				setActiveList('listApplicationFormStep','listPersonal');		
				break;
			case 3:
				setShowContent(true,'Education');				
				setShowContent(false,'Position','Personal','LanguageSkill','Career','ComputerSkill');
				setActiveList('listApplicationFormStep','listEducation');
				break;
			case 4:
				setShowContent(true,'LanguageSkill');
				setShowContent(false,'Position','Personal','Education','Career','ComputerSkill');
				setActiveList('listApplicationFormStep','listLanguageSkill');
				break;
			case 5:
				setShowContent(true,'Career');
				setShowContent(false,'Position','Personal','Education','LanguageSkill','ComputerSkill');
				setActiveList('listApplicationFormStep','listCareer');
				break;
			case 6:
				setShowContent(true,'ComputerSkill');
				setShowContent(false,'Position','Personal','Education','LanguageSkill','Career');
				setActiveList('listApplicationFormStep','listComputerSkill');
				break;
			default:
				setShowContent(true,'Personal');
				setShowContent(false,'Position','Education','LanguageSkill','Career','ComputerSkill');
				setActiveList('listApplicationFormStep','listPersonal');				
				break;
		}
		// Set Scroll  (0,0)
		scroll(0,0);
	}
	
	function setActiveList(listItemsId,activeListId){
		var obj = document.getElementById(listItemsId);
		if (obj){
			for (var i=0;i<obj.childNodes.length;i++){
				var listItem = obj.childNodes[i];
				if (listItem.id && listItem.id==activeListId){
					listItem.className = "active";
				}else{
					listItem.className = "";
				}
			}
		}
	}	
	
	function validateStep1(){
		var frm = document.forms[0];
		var divName = 'divError';		
		var errorMessage = '';
		var focusObj  = null;
		
		if (frm.listPosition.selectedIndex==0){	
			errorMessage += 'Please select job position\n';
			focusObj = frm.listPosition;
		}else if (!isNumeric(frm.txtSalary.value)){
			errorMessage += 'Expected salary must be numeric\n';
			focusObj = frm.txtSalary;
		}else if (parseInt(frm.txtSalary.value)<=0){
			errorMessage += 'Salary can not be negative number';
			focusObj = frm.txtSalary;
		}
		
		if (errorMessage!=''){		
			alert(errorMessage);		
			if (focusObj){ focusObj.focus(); }
		}		
		return errorMessage=='';
	}
	
	function validateStep2(){			
		var frm = document.forms[0];
		var reEmail = new RegExp("[A-Za-z\_\-]{1,}@[A-Za-z\_\-]{1,}");
		var reIDNo = new RegExp("([0-9]{13})|([0-9]{1}-[0-9]{4}-[0-9]{5}-[0-9]{2}-[0-9]{1})");		
		var rePhone = new RegExp("[0-9 ]{9,10}");
		var errorMessage = '';
		
		var mobilePhone = Trim(frm.txtMobilePhone.value)+Trim(frm.txtMobilePhone2.value);
		var presentPhoneNo = Trim(frm.txtTelPresent.value)+Trim(frm.txtTelPresent2.value);
		var registerPhoneNo = Trim(frm.txtTelRegister.value)+Trim(frm.txtTelRegister2.value);
		var IDCardNo = Trim(frm.txtID.value)+Trim(frm.txtID2.value)+Trim(frm.txtID3.value)+Trim(frm.txtID4.value)+Trim(frm.txtID5.value);
		var focusObj = null;
		
		if (isBlank(frm.txtEngName.value)){			
			errorMessage += 'Full english name field is require';	
			focusObj = frm.txtEngName;
		}else if (isBlank(frm.txtThaiName.value)){
			errorMessage += 'Full thai name field is require';	
			focusObj = frm.txtThaiName;
		}else if (!isInteger(frm.txtHeight.value)){
			errorMessage += 'Height must be integer';
			focusObj = frm.txtHeight;
		}else if (!isInteger(frm.txtWeight.value)){
			errorMessage += "Weight must be integer";
			focusObj = frm.txtWeight;
		}else if (!isDate(frm.txtBirthDate.value,'dd/MM/yyyy')){
			errorMessage += "Birth date incorrect format ,correct format is dd/MM/yyyy (ex: 1/1/2000)";
			focusObj = frm.txtBirthDate;
		}else if (isBlank(frm.txtEmail.value)){
			errorMessage += 'Email field is require';
			focusObj = frm.txtEmail;
		}else if (!reEmail.test(frm.txtEmail.value)){
			errorMessage += 'Email incorrect format';
			focusObj = frm.txtEmail;
		}else if (isBlank(mobilePhone)){
			errorMessage += 'Mobile phone field is require';
			focusObj = frm.txtMobilePhone;
		}else if (!rePhone.test(mobilePhone)){
			errorMessage += 'Mobile phone number incorrect format';
			focusObj = frm.txtMobilePhone;
		}else if (isBlank(frm.txtPresentAddress.value)){
			errorMessage += 'Present address field is require';		
			focusObj = frm.txtPresentAddress;
		}else if (!isBlank(presentPhoneNo)&& !rePhone.test(presentPhoneNo)){
			errorMessage += 'Telephone number incorrect format ';
			focusObj = frm.txtTelPresent;
		}else if (isBlank(frm.txtRegisterAddress.value)){
			errorMessage += 'Register address field is require';
			focusObj = frm.txtRegisterAddress;
		}else if (!isBlank(registerPhoneNo)&& !rePhone.test(registerPhoneNo)){
			errorMessage += 'Telephone number incorrect format ';
			focusObj = frm.txtTelRegister;		
		}else if (isBlank(frm.txtNationality.value)){
			errorMessage += 'Nationality field is require';
			focusObj = frm.txtNationality;
		}else if (isBlank(frm.txtRace.value)){
			errorMessage += 'Race field is require';
			focusObj = frm.txtRace;
		}else if (isBlank(frm.txtReligion.value)){
			errorMessage += 'Religion field is require';
			focusObj = frm.txtReligion;
		}else if (isBlank(IDCardNo)){
			errorMessage += 'ID Card NO field is require';
			focusObj = frm.txtID;
		}else if (!reIDNo.test(IDCardNo)){
			errorMessage += 'ID Card NO incorrect format';
			focusObj = frm.txtID;
		}
	
		if (errorMessage!=''){
			alert(errorMessage);			
			if (focusObj){ focusObj.focus(); }
		}		
		return errorMessage=='';	

	}	
	
	function validateStep3(){
		var table = document.all?document.all['tbEducation']:document.getElementById('tbEducation');		
		var errorMessage = '';
		var focusObj = null;
		
		if (table){
			var numRows = table.	rows.length;
			for (var i=1;i<numRows;i++)
			{
				var dateFromObj = document.getElementsByName('txtEduDateFrom'+i)[0];	
				if (dateFromObj){
					if (!isDate(dateFromObj.value,'dd/MM/yyyy')){
						errorMessage += "Education date from incorrect format ,correct format is dd/MM/yyyy (ex: 1/1/2000)\n";
						focusObj = dateFromObj;
					}	
				}
				
				var dateToObj = document.getElementsByName('txtEduDateTo'+i)[0];	
				if (dateToObj){
					if (!isDate(dateToObj.value,'dd/MM/yyyy')){
						errorMessage += "Education date to incorrect format ,correct format is dd/MM/yyyy (ex: 1/1/2000)\n";
						focusObj = dateToObj;
					}	
				}
				
				var institueObj = document.getElementsByName('txtEduInstitue'+i)[0];	
				if (institueObj){
					if (isBlank(institueObj.value)){
						errorMessage += "Institue field is require\n";	
						focusObj = institueObj;
					}	
				}
				
				if (errorMessage!=''){
					alert(errorMessage);
					if (focusObj){ focusObj.focus();}
					break;
				}				
			}	 // end for			
			return errorMessage=='';				
		} // end if table is not null
		return true;
	} 
	
	function validateStep4(){
		return true;
	}
	
	function validateStep5(){		
		var table = document.all?document.all['tbCareer']:document.getElementById('tbCareer');		
		var errorMessage = '';
		var focusObj = null;
		
		if (table){
			var numRows = table.	rows.length;
			if (numRows>2){
				for (var i=1;i<numRows;i++)
				{
					var dateFromObj = document.getElementsByName('txtCareerDateFrom'+i)[0];	
					if (dateFromObj){
						if (!isDate(dateFromObj.value,'dd/MM/yyyy')){
							errorMessage += "Career history date from incorrect format ,correct format is dd/MM/yyyy (ex: 1/1/2000)\n";
							focusObj = dateFromObj;
						}	
					}
					
					var dateToObj = document.getElementsByName('txtCareerDateTo'+i)[0];	
					if (dateToObj){
						if (!isDate(dateToObj.value,'dd/MM/yyyy')){
							errorMessage += "Career history date to incorrect format ,correct format is dd/MM/yyyy (ex: 1/1/2000)\n";
							focusObj = dateToObj;
						}	
					}
					
					var companyObj = document.getElementsByName('txtCompany'+i)[0];	
					if (companyObj){
						if (isBlank(companyObj.value)){
							errorMessage += "Company field is require\n";	
							focusObj = companyObj;
						}	
					}
					
					var positionObj = document.getElementsByName('txtPosition'+i)[0];
					if (positionObj){
						if (isBlank(positionObj.value)){
							errorMessage += "Position field is require\n";		
							focusObj = positionObj;
						}
					}
					
					var salaryObj = document.getElementsByName('txtSalary'+i)[0];
					if (salaryObj){
						if (!isBlank(salaryObj.value))
						{
							if (!isNumeric(salaryObj.value)){
								errorMessage += "Salary must be numeric\n";	
								focusObj = salaryObj;
							}else if (parseInt(salaryObj.value)<0){
								errorMessage += "Salary can not be negative number\n";	
								focusObj = salaryObj;
							}
						}
					}
					
					if (errorMessage!=''){
						alert(errorMessage);
						if (focusObj){ focusObj.focus();}
						break;
					}				
				}	 // end for		
			}
			return errorMessage=='';				
		} // end if table is not null
		return true;		
	}