function radioChecked(objRadio,msg){
	 var i = 0;
	 for(i = 0 ; i < objRadio.length ; i++){
		if(objRadio[i].checked) return i;
	 }
	objRadio[0].focus();
	if(msg != null) alert(msg)
	return -1;
}

function getIndex(){

	var s = document.getElementById("selMemberCount");	
	var g = document.getElementById("selMemberCount1");
	var inx = Number(s.options[s.selectedIndex].text) + 1;
		
	if(radioChecked(document.FrmMain.rdWho) == 0) inx = 2;
	if(radioChecked(document.FrmMain.rdWho) == 1) inx = 3;
	if(radioChecked(document.FrmMain.rdWho) == 3) 
	inx = Number(g.options[g.selectedIndex].text) + 1;
	
	return inx;
}




function changePeople(){	

	var inx = getIndex();
	
	if(radioChecked(document.FrmMain.rdWho,null)<0){
		inx = 2;
	}
		
	var i = 0;
	for(i = 2 ; i < inx; i++){
		document.getElementById("divPerson"+i).style.display = "block";		
	}
	if(inx < 2) inx = 2;
	
	for(i = inx ; i < 11; i++){
		document.getElementById("divPerson"+i).style.display = "none";		
	}
		
}

function trim (str) {
	str = str.replace(/^\s+/, '');
	for (var i = str.length - 1; i >= 0; i--) {
		if (/\S/.test(str.charAt(i))) {
			str = str.substring(0, i + 1);
			break;
		}
	}
	return str;
}



function checkText(objSel,msg,defaultval){
	
	if(trim(objSel.value) == "" || objSel.value == defaultval){
	  alert(msg);
	  objSel.focus();
	  return true;
	}
	return false;
}


function checkEmail(objSel,msg,defaultval){

var re = /^\w+[\+\.\w-]*@([\w-]+\.)*\w+[\w-]*\.([a-z]{2,4}|\d+)$/i


   if(objSel.value == defaultval || !objSel.value.match(re)){
	  alert(msg);
	  objSel.focus();
	  return true;
	}
	return false;
	

}

function checkSelect(objSel,msg){

	if(objSel.selectedIndex == 0){
	  alert(msg);
	  objSel.focus();
	  return true;
	}
	return false;
}
function isDate(strValue){
	  var re = /^\d{1,2}\/\d{1,2}\/\d{4}$/;//dd/mm/yyyy
	  if (!re.test(strValue)) return false;
	  strValue = strValue.split('/');		
	  var d = parseFloat(strValue[0]);
	  var m = parseFloat(strValue[1]);
	  var y = parseFloat(strValue[2]);
	 
	  if(m < 1 || m > 12 || y < 1900 || y > 2100) return false;
	  if(m == 2){
			  var days = ((y % 4) == 0) ? 29 : 28;
	  }else if(m == 4 || m == 6 || m == 9 || m == 11){
			  var days = 30;
	  }else{
			  var days = 31;
	  }
	  return (d >= 1 && d <= days);
}
function validateDate(){
	var objDate = document.getElementById('inPolicyStartDate');
	var dated = objDate.value;
	
	strValue = dated.split('-');		
	var d = parseFloat(strValue[0]);
	var m = parseFloat(strValue[1]);
	var y = parseFloat(strValue[2]);
	dated = d + '/' + m + '/' + y;
		
	if (isDate(dated) == false) {
		alert('Please enter a valid Policy Start Date in the format "dd-mm-yyyy"');	
		objDate.focus();
		return true;
	}	
	var today =  new Date();
	var startDate = new Date();
	startDate.setFullYear(y,m-1,d);
	if(startDate<=today){
		alert('Please enter a valid Policy Start Date in the format "dd-mm-yyyy"');	
		objDate.focus();
		return true;
	}		
	return false;
}
function checkDob(objSel,msg,defaultval){
	var anum=/(^\d+$)|(^\d+\.\d+$)/;
	if(trim(objSel.value) == "" || objSel.value == defaultval || !anum.test(objSel.value)){
	  alert(msg);
	  objSel.focus();
	  return true;
	}
	
	return false;
	
}

function validateDob(i){
	
	var objDate = document.getElementById('inPolicyStartDate');
	var dated = objDate.value;	
	strValue = dated.split('-');		
	var d = parseFloat(strValue[0]);
	var m = parseFloat(strValue[1]);
	var y = parseFloat(strValue[2]);
	var policyDate= new Date();
	policyDate.setFullYear(y,m-1,d);
	//	var date1 = (y*365.25)+(m*30)+d;	
	var dobD=  document.getElementById('dobDay'+i).value;
	var dobM=   parseInt(document.getElementById('dobMonth'+i).value,10);
	var dobY=  document.getElementById('dobYear'+i).value;
	if(dobD<1 || dobD>31){alert('Enter valid date for date of birth');document.getElementById('dobDay'+i).focus();return true ;}
	if(dobM<1 || dobM>12){alert('Enter valid month for date of birth');document.getElementById('dobMonth'+i).focus();return true;}
	if(dobY<y-120 || dobY>y){alert('Enter valid Year for date of birth');document.getElementById('dobYear'+i).focus();return true;}
	var dob= new Date();
	dob.setFullYear(dobY,dobM - 1,dobD);
	var x= policyDate - dob;
	var age=Math.floor((((x/365.25)/24)/3600)/1000);
	document.getElementById('selAgeP'+i).value=age;
	return false;
	
}
function checkDob1(objSel,msg){
		var Today = new Date();
		//alert(Today.getDate());
		if(Today.getDate()==getDate(objSel.value).getDate() && Today.getMonth()==getDate(objSel.value).getMonth() &&  Today.getYear()==getDate(objSel.value).getYear()){
			alert(msg);
			
			return true;
		}else{
			return false;
		}
		
	}

function validateForm(searchForm,brand){
	
	if(checkSelect(searchForm.selCountry,"Please select a value for Country")) return;
	if(validateDate()) return;
	if(radioChecked(searchForm.rdWho,"Please select a value for 'Who is this policy for'")<0) return;
	if(searchForm.rdWho[2].checked)
		if(checkSelect(searchForm.selMemberCount,"You have selected family. Please select how many people")) return;
	if(brand=='STX'){
	if(searchForm.rdWho[3].checked)
		if(checkSelect(searchForm.selMemberCount1,"You have selected group. Please select how many people")) return;
		}
		if(brand=='STS' || brand=='STX'){
	if(checkDob(searchForm.dobDay1,"Please enter valid Date of Birth for person1 ","dd"))return;
	if(checkDob(searchForm.dobMonth1,"Please enter valid Date of Birth for person1 ","mm"))return;
	if(checkDob(searchForm.dobYear1,"Please enter valid Date of Birth for person1 ","yyyy"))return;
	if(validateDob(1))return;
	}
	
	if(checkSelect(searchForm.selAgeP1,"Please select age of proposer")) return;
	if(radioChecked(searchForm.rdGenderP1,"Please select gender of proposer")<0) return;
	if(radioChecked(searchForm.rdSmokerP1,"Please select Smoker/Non-Smoker for proposer")<0) return;
	
	var inx = getIndex();
	if(inx > 1){
		var i = 0;		
		for(i = 2 ; i < inx; i++){
			if(brand=='STX' || brand=='STS'){
			if(checkDob(eval("searchForm.dobDay"+i),"Please enter valid Date of Birth for person "+i,"dd"))return;
			if(checkDob(eval("searchForm.dobMonth"+i),"Please enter valid Date of Birth for person "+i,"mm"))return;
			if(checkDob(eval("searchForm.dobYear"+i),"Please enter valid Date of Birth for person "+i,"yyyy"))return;
			if(validateDob(i))return;
			}
			if(checkSelect(eval("searchForm.selAgeP"+i),"Please select age of person "+i)) return;
			if(radioChecked(eval("searchForm.rdGenderP"+i),"Please select gender of person "+i)<0) return;
			if(radioChecked(eval("searchForm.rdSmokerP"+i),"Please select Smoker/Non-Smoker for person "+i)<0) return;
			
			
		}
	}
	
	if(checkSelect(searchForm.selPremium,"Please select the Premium")) return;
	if(brand=='STX')if(checkSelect(searchForm.selExcessRange,"Please select the Excess Range")) return;
	if(checkSelect(searchForm.selUserTitle,"Please select the Title")) return;
	if(checkText(searchForm.inUserFname,"Please enter first name","Enter your first name")) return;
	if(checkText(searchForm.inUserLname,"Please enter last name","Enter your last name")) return;
	if(checkEmail(searchForm.inUserEmail,"Please enter a valid email","Email address")) return;
	if(searchForm.inUserEmail.value != searchForm.inUserEmailCon.value){ alert("Please check confirmation email (does not match)"); searchForm.inUserEmailCon.focus(); return;}
	if(checkText(searchForm.inUserTelephone,"Please enter value for Telephone")) return;
	
	if(checkText(searchForm.inUserAddress1,"Please enter value for address 1")) return;
	//if(checkText(searchForm.inUserAddress2,"Please enter value for address 2")) return; //not required
	if(checkText(searchForm.inUserCity,"Please enter value for city")) return;
	//if(checkText(searchForm.inUserRegion,"Please enter value for county/region")) return;
	if(checkText(searchForm.inPostCode,"Please enter value for postcode")) return;
	if(checkText(searchForm.inUserCountry,"Please enter value for country")) return;
	if(checkSelect(searchForm.SelHowHear,"Please  select a value for how you reached Staysure")) return;
	
	return true;	
}






