function submitit(){
document.formname.submit()
}
   
function MakeAdults() {
	if (document.form1.multitrip.value==1) {
		
		if (document.form1.GroupType[0].checked) {
			document.form1.NumAdults.value = "1";
		}
		if (document.form1.GroupType[1].checked) {
			document.form1.NumAdults.value = "2";
		}
	}	

	if (document.form1.multitrip.value==0) {
			NumAdults = parseInt(document.form1.NumAdults69.value) + parseInt(document.form1.NumAdults65.value)+ parseInt(document.form1.NumAdults.value) + parseInt(document.form1.NumAdults45.value);
	}

}


function annualDisplay() {
	formObj = document.form1;
		//alert("Testing");
		getObj("BusinessCover").style.display="block";
		getObj("DPT").style.display="block";
		getObj("DPT31").style.display="none";
		formObj.MTAge.value = 69;
		formObj.SelectedDPT.value = formObj.DPT.value;

		if (formObj.Destination.value == "Europe") {	
		//alert("Europe");
			getObj("WintersportsCover").style.display="block";
			getObj("MotorcycleCover").style.display="block";		
			getObj("GolfCover").style.display="block";
			getObj("MTAdults65").style.display="none";
			getObj("MTAdults69").style.display="block";
			
			if (formObj.Motorcycle.checked == true) {
				getObj("MTAdults69").style.display="none";
				getObj("MTAdults65").style.display="block";
				getObj("BusinessCover").style.display="none";
				formObj.Business.checked = false;
				formObj.MTAge.value = 65;
				getObj("DPT").style.display="none";
				getObj("DPT31").style.display="block";
				formObj.SelectedDPT.value = formObj.DPT31.value;
			}
			
			if (formObj.Wintersports.checked == true) {
				getObj("MTAdults69").style.display="none";
				getObj("MTAdults65").style.display="block";
				formObj.MTAge.value = 65;
			}
		}
		
		if (formObj.Destination.value == "Worldwide inc. USA / Canada") {
		//alert("WWInc");
			getObj("WintersportsCover").style.display="block";
			getObj("MotorcycleCover").style.display="none";
			getObj("GolfCover").style.display="block";
			getObj("MTAdults65").style.display="none";
			getObj("MTAdults69").style.display="block";
			formObj.Motorcycle.checked = false;
			
			if (formObj.Wintersports.checked == true) {
				getObj("MTAdults69").style.display="none";
				getObj("MTAdults65").style.display="block";
				formObj.MTAge.value = 65;
			}
		}
		
		if (formObj.Business.checked == true) {
				getObj("MotorcycleCover").style.display="none";
				formObj.Motorcycle.checked = false;
				//alert("Please note the maximum age with Business Equipment Cover is 65");
				getObj("MTAdults65").style.display="block";
				getObj("MTAdults69").style.display="none";
				formObj.MTAge.value = 65;
		}
		
		if (formObj.DPT.value == 45 || formObj.DPT.value == 60) {
			getObj("MTAdults65").style.display="block";
			getObj("MTAdults69").style.display="none";
			formObj.MTAge.value = 65;
		}
		
		if (formObj.MTAge.value == 65) {
			if (formObj.MTType65.selectedIndex==0) document.form1.NumAdults.value = "0";
			if (formObj.MTType65.selectedIndex==1) document.form1.NumAdults.value = "1";
			if (formObj.MTType65.selectedIndex==2) document.form1.NumAdults.value = "2";	
		} 
		if (formObj.MTAge.value == 69) {
			if (formObj.MTType69.selectedIndex==0) document.form1.NumAdults.value = "0";
			if (formObj.MTType69.selectedIndex==1) document.form1.NumAdults.value = "1";
			if (formObj.MTType69.selectedIndex==2) document.form1.NumAdults.value = "2";
		}
		
		if (formObj.MTAge.value == 69) {
			formObj.MTType65.selectedIndex = 0;
		}
		else  {
			formObj.MTType69.selectedIndex = 0;
		}
	
}
function singleDisplay(){

	formObj = document.form1;
	//alert("Check 1 ");
			if (formObj.Destination.value == "Worldwide inc. USA / Canada") {
				getObj("WintersportsCover").style.display="block";
				getObj("MotorcycleCover").style.display="none";
				getObj("GolfCover").style.display="block";
				getObj("Adults18-60").style.display="block";
				getObj("Adults61-65").style.display="block";
				getObj("Adults66-69").style.display="block";
				getObj("Adults70-74").style.display="none";
				formObj.Adults7074.value = "0";
				formObj.Motorcycle.checked = false;
			} 
			if (formObj.Destination.value == "Worldwide exc. USA / Canada") {			
				getObj("WintersportsCover").style.display="block";
				getObj("MotorcycleCover").style.display="none";
				getObj("GolfCover").style.display="block";		
				getObj("Adults18-60").style.display="block";
				getObj("Adults61-65").style.display="block";
				getObj("Adults66-69").style.display="block";
				getObj("Adults70-74").style.display="none";
				formObj.Adults7074.value = "0";
				formObj.Motorcycle.checked = false;
			} 
			if (formObj.Destination.value == "Europe") {				
				getObj("Adults18-60").style.display="block";
				getObj("Adults61-65").style.display="block";
				getObj("Adults66-69").style.display="block";
				getObj("Adults70-74").style.display="block";
				getObj("MotorcycleCover").style.display="block";
			
				if (formObj.Motorcycle.checked == true) {
					formObj.Wintersports.checked = false;
					formObj.Golf.checked = false;
					getObj("MotorcycleCover").style.display="block";
					getObj("WintersportsCover").style.display="none";
					getObj("GolfCover").style.display="none";
					getObj("Adults70-74").style.display="none";
					formObj.Adults7074.value = "0";
				} else {
					getObj("WintersportsCover").style.display="block";
					getObj("GolfCover").style.display="block";
					if (formObj.Wintersports.checked == false) getObj("Adults70-74").style.display="block";
				}
				
				if (formObj.Wintersports.checked == true) {
					formObj.Motorcycle.checked = false;
					getObj("MotorcycleCover").style.display="none";
					getObj("Adults70-74").style.display="none";
					formObj.Adults7074.value = "0";
				} else {
					getObj("MotorcycleCover").style.display="block";
					if (formObj.Motorcycle.checked == false) getObj("Adults70-74").style.display="block";
				}
				
				if (formObj.Golf.checked == true && formObj.Motorcycle.checked == false) {
					formObj.Motorcycle.checked = false;
					getObj("MotorcycleCover").style.display="none";
				}
			}
			
			if (formObj.Destination.value == "United Kingdom") {		
				getObj("WintersportsCover").style.display="block";
				getObj("MotorcycleCover").style.display="none";
				getObj("GolfCover").style.display="none";		
				getObj("Adults18-60").style.display="block";
				getObj("Adults61-65").style.display="block";
				getObj("Adults66-69").style.display="block";
				getObj("Adults70-74").style.display="block";
				formObj.Motorcycle.checked = false;
				if (formObj.ShowSki.value == "Yes") formObj.Wintersports.checked = true;
				if (formObj.Wintersports.checked == true) {
					formObj.Adults7074.value = "0";
					getObj("Adults70-74").style.display="none";
				}
				if (formObj.Wintersports.checked == false) getObj("Adults70-74").style.display="block";
			}
}

function backpackerDisplay(){
	formObj = document.form1;
	PolicyValue = formObj.PolicyType.value;
	document.form1.NumAdults.value = "0"
	formObj.NumChildren.value = "0";
	}		

// *********  MISC FUNCTIONS FOR ABOVE  ***************

function getObj(objId){
  return document.getElementById(objId);
}
function chkNumeric(strString)
   //  check for valid numeric strings	
   {
   var strValidChars = "0123456789.-";
   var strChar;
   var blnResult = true;

   if (strString.length == 0) return false;

   //  test strString consists of valid characters listed above
   for (i = 0; i < strString.length && blnResult == true; i++)
      {
      strChar = strString.charAt(i);
      if (strValidChars.indexOf(strChar) == -1)
         {
         blnResult = false;
         }
      }
   return blnResult;
   }

function testdates() {
	alert (document.form1.datefrompicker.value);
	alert (document.form1.datetopicker.value);	
	
	document.form1.DateFrom.value = document.form1.datefrompicker.value;
	document.form1.DateTo.value = document.form1.datetopicker.value;
	
	currentDate = new Date()
	shortDate = new Date()
	shortFromDate = new Date()
	
	dDateFrom = new Date(document.form1.DateFrom.value);
	dDateTo = new Date(document.form1.DateTo.value);
	
	shortDate = ((currentDate.getMonth()+1) + "/" + currentDate.getDate() + "/" + currentDate.getFullYear());
	shortFromDate = ((dDateFrom.getMonth()+1) + "/" + dDateFrom.getDate() + "/" + dDateFrom.getFullYear());

	

	
}
// ************** SUBMISSION CHECK *****************
function checkSingle(){ 

	
	document.form1.DateFrom.value = document.form1.datefrompicker.value;
	document.form1.DateTo.value = document.form1.datetopicker.value;
		
	Children = parseInt(document.form1.Children.value);
	if (isNum(Children) == false) Children = 0;
	document.form1.NumChildren.value = Children ;

	if (document.form1.Adults7074.value == "" ) document.form1.Adults7074.value = 0 ;
	if (document.form1.Adults6669.value == "" ) document.form1.Adults6669.value = 0 ;
	if (document.form1.Adults6165.value == "" ) document.form1.Adults6165.value = 0 ;
	if (document.form1.Adults1860.value == "" ) document.form1.Adults1860.value = 0 ;
	
	Adults7074 = parseInt(document.form1.Adults7074.value);
	Adults6669 = parseInt(document.form1.Adults6669.value);
	Adults6165 = parseInt(document.form1.Adults6165.value);
	Adults1860 = parseInt(document.form1.Adults1860.value);

	if (isNum(Adults7074) == false) Adults6669 = 0;
	if (isNum(Adults6669) == false) Adults6669 = 0;
	if (isNum(Adults6165) == false) Adults6165 = 0;
	if (isNum(Adults1860) == false) Adults1860 = 0;
	
	document.form1.NumAdults.value = Adults7074 + Adults6669 + Adults6165 + Adults1860;
	
if (document.form1.NumAdults.value == "") document.form1.NumAdults.value = 0;
if (document.form1.NumChildren.value == "") document.form1.NumChildren.value = 0;
if (document.form1.Children.value == "") document.form1.Children.value = 0;

 if (document.form1.NumAdults.value == "1" && document.form1.NumChildren.value > 4) {
		alert("We are unable to automatically cover this number of children on this policy. Please call 01 633 0000.");
   		return false;
 }
 
  if (document.form1.NumAdults.value == "2" && document.form1.NumChildren.value > 8) {
		alert("We are unable to automatically cover this number of children on this policy. Please call 01 633 0000.");
   		return false;
 }

if (isNum(document.form1.Adults6669.value) == false){
   alert("I was expecting to find a numeral");
	document.form1.Adults6669.focus();
	document.form1.Adults6669.select();
   return false;
} 

if (isNum(document.form1.Adults6165.value) == false){
   alert("I was expecting to find a numeral");
	document.form1.Adults6165.focus();
	document.form1.Adults6165.select();
   return false;
} 
if (isNum(document.form1.Adults1860.value) == false) {
   alert("I was expecting to find a numeral");
	document.form1.Adults1860.focus();
	document.form1.Adults1860.select();
   return false;
} 

	NumAdults = parseInt(document.form1.NumAdults.value);
	NumChildren = parseInt(document.form1.NumChildren.value);

  if (isNum(NumAdults) == false){
   alert("I dont recognise the Number of Adults as a number");
   return false;
 } 

	 TotalAdults = NumAdults;
	 TotalChildren = NumChildren;
	 TotalInsured = TotalAdults + TotalChildren;
	 
	  if (TotalInsured == 0 ) {
	   alert("Please enter at least one person...");
	   return false;
	  }
  
	if (TotalInsured > 20 ) {
	   alert("There is a limit of 20 insured");
	   return false;
	}
	
	if (!document.form1.Resident.checked) {
		alert("Please tick the box to confirm you are a resident of the Republic of Ireland.");
		return false;
	}

return true;   //submit

}


// ****** CHECK BACKPACKER *****
function checkBackpacker(){ 
	
	document.form1.DateFrom.value = document.form1.datefrompicker.value;
	document.form1.DateTo.value = document.form1.datetopicker.value;
		
	document.form1.NumChildren.value = 0;

	if (document.form1.Insured045.value == "" ) document.form1.Insured045.value = 0 ;
	
	Insured045 = parseInt(document.form1.Insured045.value);
	if (isNum(Insured045) == false) Insured045 = 0;

	
	document.form1.NumAdults.value = Insured045;
	
	if (document.form1.NumAdults.value == "") document.form1.NumAdults.value = 0;
	if (document.form1.NumChildren.value == "") document.form1.NumChildren.value = 0;

if (isNum(document.form1.Insured045.value) == false){
   alert("Please enter a number");
	document.form1.Insured045.focus();
	document.form1.Insured045.select();
   return false;
} 

NumAdults = parseInt(document.form1.NumAdults.value);
NumChildren = parseInt(document.form1.NumChildren.value);

  if (isNum(NumAdults) == false){
   alert("I dont recognise the Number of Adults as a number");
   return false;
 } 

	 TotalAdults = NumAdults;
	 TotalChildren = NumChildren;
	 TotalInsured = TotalAdults + TotalChildren;
	 
 if (document.form1.NumAdults.value == "1" && document.form1.NumChildren.value > 4) {
		alert("We are unable to automatically cover this number of children on this policy. Please call 01 633 0000.");
   		return false;
 }
 
  if (document.form1.NumAdults.value == "2" && document.form1.NumChildren.value > 8) {
		alert("We are unable to automatically cover this number of children on this policy. Please call 01 633 0000.");
   		return false;
 }
	 
	  if (TotalInsured == 0 ) {
	   alert("Please enter at least one person...");
	   return false;
	  }
  
	if (TotalInsured > 20 ) {
	   alert("There is a limit of 20 insured");
	   return false;
	}


	if (!document.form1.Resident.checked) {
		alert("Please tick the box to confirm you are a resident of the Republic of Ireland.");
		return false;
	}

return true;   //submit

}
// ****** CHECK ANNUAL  *******

function checkAnnual(){ 
	document.form1.DateFrom.value = document.form1.datefrompicker.value;
	
	Children = parseInt(document.form1.Insured0017.value);
	if (isNum(Children) == false) Children = 0;
	document.form1.NumChildren.value = Children ;
	

	if(document.form1.NumAdults.value == "0") {
		alert("Please select the adults");
		return false;
	}
	
	 if (document.form1.NumAdults.value == "1" && document.form1.NumChildren.value > 4) {
		alert("We are unable to automatically cover this number of children on this policy. Please call 01 633 0000.");
   		return false;
 }
 
  if (document.form1.NumAdults.value == "2" && document.form1.NumChildren.value > 8) {
		alert("We are unable to automatically cover this number of children on this policy. Please call 01 633 0000.");
   		return false;
 }

	if (isNum(document.form1.MTAdultAge.value) == false) {
		alert("Please enter the age if the eldest adult as a number");
		document.form1.MTAdultAge.focus();
		document.form1.MTAdultAge.select();
		return false;
	} 

	if (document.form1.Insured0017.value == "") document.form1.Insured0017.value = 0;
	
	if (isNum(document.form1.Insured0017.value) == false) {
		alert("I didn't recognise the Number of Children");
		document.form1.Insured0017.focus();
		document.form1.Insured0017.select();
		return false;
	} 
	
	 if (parseInt(document.form1.MTAdultAge.value) > 69 ) {  //MTAdultAge
	   alert("We are uable to cover persons of the age you have entered");
	   return false;
	  }
	
	if (document.form1.MTAdultAge.value < 18 ) {
	   alert("We are unable to provide cover for under 17s on their own. Please check the details are correct and call for assistance if required.");
	   return false;
	}

	if (!document.form1.Resident.checked) {
		alert("Please tick the box to confirm you are a resident of the Republic of Ireland.");
		return false;
	}

 	 return true; 
}


// ***  Form Checking routines for quote.asp *** \\

// onFocus="this.blur()" 
//Disables editing of a field

function sendIt(){
window.open('','newWin','toolbar=no,location=no,directories=no,status=yes,menubar=no,scrollbars=no,resizable=no,width=500,height=300');
document.form1.submit();
}


function ignoreSpaces(string) {
var temp = "";
string = '' + string;
splitstring = string.split(" ");
for(i = 0; i < splitstring.length; i++)
temp += splitstring[i];
return temp;
}

function ignoreDashes(string) {
var temp = "";
string = '' + string;
splitstring = string.split("-");
for(i = 0; i < splitstring.length; i++)
temp += splitstring[i];
return temp;
}

// Checks for card number inc. spaces:
//  General purpose check for numbers called by onBlur="validnumber(this)" :
function validnumber(field) {
var valid = "0123456789"
var ok = "yes";
var temp;
for (var i=0; i<field.value.length; i++) {
temp = "" + field.value.substring(i, i+1);
if (valid.indexOf(temp) == "-1") ok = "no";
}
if (ok == "no") {
alert("This doesn't appear to be a number.");
field.focus();
field.select();
   }
}

function isNum(argvalue) {
argvalue = argvalue.toString();
if (argvalue.length == 0)
return false;

for (var n = 0; n < argvalue.length; n++)
if (argvalue.substring(n, n+1) < "0" || argvalue.substring(n, n+1) > "9")
return false;

return true;
}

function isValidDate(dateStr) {
// Checks for the following valid date formats:
// MM/DD/YY   MM/DD/YYYY   MM-DD-YY   MM-DD-YYYY

var datePat = /^(\d{1,2})(\/|-)(\d{1,2})\2(\d{4})$/; // requires 4 digit year

var matchArray = dateStr.match(datePat); // is the format ok?
if (matchArray == null) {
alert(dateStr + " Date is not in a valid format.")
return false;
}
month = matchArray[1]; // parse date into variables
day = matchArray[3];
year = matchArray[4];
if (month < 1 || month > 12) { // check month range
alert("Month must be between 1 and 12.");
return false;
}
if (day < 1 || day > 31) {
alert("Day must be between 1 and 31.");
return false;
}
if ((month==4 || month==6 || month==9 || month==11) && day==31) {
alert("Month "+month+" doesn't have 31 days!")
return false;
}
if (month == 2) { // check for february 29th
var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
if (day>29 || (day==29 && !isleap)) {
alert("February " + year + " doesn't have " + day + " days!");
return false;
   }
}
return true;
}

function isValidTime(timeStr) {
// Checks if time is in HH:MM:SS AM/PM format.
// The seconds and AM/PM are optional.

var timePat = /^(\d{1,2}):(\d{2})(:(\d{2}))?(\s?(AM|am|PM|pm))?$/;

var matchArray = timeStr.match(timePat);
if (matchArray == null) {
alert("Time is not in a valid format.");
return false;
}
hour = matchArray[1];
minute = matchArray[2];
second = matchArray[4];
ampm = matchArray[6];

if (second=="") { second = null; }
if (ampm=="") { ampm = null }

if (hour < 0  || hour > 23) {
alert("Hour must be between 1 and 12. (or 0 and 23 for military time)");
return false;
}
if (hour <= 12 && ampm == null) {
if (confirm("Please indicate which time format you are using.  OK = Standard Time, CANCEL = Military Time")) {
alert("You must specify AM or PM.");
return false;
   }
}
if  (hour > 12 && ampm != null) {
alert("You can't specify AM or PM for military time.");
return false;
}
if (minute < 0 || minute > 59) {
alert ("Minute must be between 0 and 59.");
return false;
}
if (second != null && (second < 0 || second > 59)) {
alert ("Second must be between 0 and 59.");
return false;
}
return true;
}

function dateDiff(dateform) {
date1 = new Date();
date2 = new Date();
diff  = new Date();

currentDate = new Date()
shortDate = new Date()
tmp1 = new Date()
tmp2 = new Date()
	
if (isValidDate(document.form1.DateFrom.value)) { // Validates first date

	date1temp = new Date(document.form1.DateFrom.value);
	date1.setTime(date1temp.getTime());

	tmp1 = ((shortDate.getMonth()+1) + "/" + shortDate.getDate() + "/" + shortDate.getFullYear());
	tmp2 = ((date1temp.getMonth()+1) + "/" + date1temp.getDate() + "/" + date1temp.getFullYear());
	
	
	alert ("date1temp " + date1temp);
	alert ("date1 " + date1);

	if (tmp2 < tmp1) alert ("Start Date is before today");
	}
//else return false; // otherwise exits



if (isValidDate(document.form1.DateTo.value)) { // Validates second date
date2temp = new Date(document.form1.DateTo.value);
date2.setTime(date2temp.getTime());
}

//if (date1temp > date2temp) alert ("Start Date is after End Date");
//else return false; // otherwise exits

// sets difference date to difference of first date and second date

diff.setTime(Math.abs(date1.getTime() - date2.getTime()));

timediff = diff.getTime();

weeks = Math.floor(timediff / (1000 * 60 * 60 * 24 * 7));
timediff -= weeks * (1000 * 60 * 60 * 24 * 7);

days = Math.floor(timediff / (1000 * 60 * 60 * 24));
timediff -= days * (1000 * 60 * 60 * 24);

hours = Math.floor(timediff / (1000 * 60 * 60));
timediff -= hours * (1000 * 60 * 60);

mins = Math.floor(timediff / (1000 * 60));
timediff -= mins * (1000 * 60);

secs = Math.floor(timediff / 1000);
timediff -= secs * 1000;

ActualDays = (weeks*7)+days;
document.form1.NumDays.value = ActualDays+1;
}

function timeDifference(startDate,endDate)
{

date1 = startDate;
date2 = endDate;

laterdate = date1.split("/");

laterM=laterdate[0];
laterD=laterdate[1];
laterY=laterdate[2];

earlierdate = date2.split("/");

earlierM=earlierdate[0];
earlierD=earlierdate[1];
earlierY=earlierdate[2];

var laterdate = new Date(laterY,laterM,laterD);
var earlierdate = new Date(earlierY,earlierM,earlierD);

var difference = laterdate.getTime() - earlierdate.getTime();

var daysDifference = Math.floor(difference/1000/60/60/24);
difference -= daysDifference*1000*60*60*24
var hoursDifference = Math.floor(difference/1000/60/60);
difference -= hoursDifference*1000*60*60
var minutesDifference = Math.floor(difference/1000/60);
difference -= minutesDifference*1000*60
var secondsDifference = Math.floor(difference/1000);

return daysDifference;

}