function getCountry(selectobj, dynamicobj)
{
	var vl = document.getElementById(selectobj).selectedIndex;
	var area0 = new Array("--- Select Area ---","");
    var area1 = new Array("--- Select Country Area ---","England","Northern Ireland","Scotland","United Kingdom","Wales","");
    var area2 = new Array("--- Select Country Area ---","Channel Islands","England","Ireland","Isle of Man","Northern Ireland","Republic of Ireland","Scotland","United Kingdom","Wales","");
    var area3 = new Array("--- Select Country Area ---","Albania","Andorra","Austria","Belarus","Belgium","Bosnia and Herzegovina","Bulgaria","Channel Islands","Croatia","Czech Republic","Denmark","Egypt","England","Estonia","Finland","France","Georgia","Germany","Gibraltar","Hungary","Iceland","Ireland","Isle of Man","Italy","Kazakhstan","Latvia","Liechtenstein","Lithuania","Luxembourg","Macedonia","Moldova, Republic of","Monaco","Morocco","Netherlands","Northern Ireland","Norway","Poland","Portugal","Republic of Ireland","Romania","Russian Federation","San Marino","Scotland","Serbia and Montenegro","Slovakia","Slovenia","Sweden","Switzerland","Ukraine","United Kingdom","Wales","");
    var area4 = new Array("--- Please Select ---","Albania","Andorra","Austria","Belarus","Belgium","Bosnia and Herzegovina","Bulgaria","Channel Islands","Croatia","Cyprus","Czech Republic","Denmark","Egypt","England","Estonia","Finland","France","Georgia","Germany","Gibraltar","Greece","Hungary","Iceland","Ireland","Isle of Man","Italy","Kazakhstan","Latvia","Liechtenstein","Lithuania","Luxembourg","Macedonia","Malta","Moldova, Republic of","Monaco","Morocco","Netherlands","Northern Ireland","Norway","Poland","Portugal","Republic of Ireland","Romania","Russian Federation","San Marino","Scotland","Serbia and Montenegro","Slovakia","Slovenia","Spain","Sweden","Switzerland","Turkey","Ukraine","United Kingdom","Wales","");

	var area5 = new Array("--- Select Country Area ---","Albania","Andorra","Australia","Austria","Belarus","Belgium","Bosnia and Herzegovina","Bulgaria","Channel Islands","Croatia","Cyprus","Czech Republic","Denmark","Egypt","England","Estonia","Finland","France","Georgia","Germany","Gibraltar","Greece","Hungary","Iceland","Ireland","Isle of Man","Italy","Kazakhstan","Latvia","Liechtenstein","Lithuania","Luxembourg","Macedonia","Malta","Moldova, Republic of","Monaco","Morocco","Netherlands","New Zealand","Northern Ireland","Norway","Poland","Portugal","Republic of Ireland","Romania","Russian Federation","San Marino","Scotland","Serbia and Montenegro","Slovakia","Slovenia","Spain","Sweden","Switzerland","Turkey","Ukraine","United Kingdom","Wales","");
	var area6 = new Array("--- Select Country Area ---","Afghanistan","Albania","Algeria","Andorra","Angola","Antarctica","Armenia","Australia","Austria","Azerbaijan","Bahrain","Bangladesh","Belarus","Belgium","Benin","Bhutan","Bosnia and Herzegovina","Botswana","Brunei","Bulgaria","Burkina Faso","Burundi","Cambodia","Cameroon","Cape Verde Islands","Central African Republic","Chad","Channel Islands","China","Christmas Islands","Cocos (Keeling) Islands","Comoros","Congo","Congo, the Democratic Republic of","Cook Islands","Cote D'Ivoire","Croatia","Cyprus","Czech Republic","Denmark","Djibouti","East Timor","Egypt","England","Equatorial Guinea","Eritrea","Estonia","Ethiopia","Fiji","Finland","France","Gabon","Gambia","Georgia","Germany","Ghana","Gibraltar","Greece","Guam","Guinea","Guinea Bissau","Hong Kong","Hungary","Iceland","India","Indonesia","Iran","Iraq","Ireland","Isle of Man","Israel","Italy","Japan","Jordan","Kazakhstan","Kenya","Kiribati","Korea, Republic of","Kuwait","Kyrgyzstan","Lao People's Democratic Republic","Latvia","Lebanon","Lesotho","Liberia","Libya","Liechtenstein","Lithuania","Luxembourg","Macau","Macedonia","Madagascar","Malawi","Malaysia","Maldives","Mali","Malta","Mauritania","Mauritius","Mayotte","Micronesia","Moldova, Republic of","Monaco","Mongolia","Morocco","Mozambique","Myanmar","Namibia","Nauru","Nepal","Netherlands","New Caledonia","New Zealand","Niger","Nigeria","Niue Island","Norfolk Island","Northern Ireland","Northern Mariana Islands","Norway","Occupied Palestinian Territory","Oman","Pakistan","Palau","Papua New Guinea","Philippines","Poland","Portugal","Qatar","Republic of Ireland","Reunion Island","Romania","Russian Federation","Rwanda","Samoa","San Marino","Sao Tome and Principe","Saudi Arabia","Scotland","Senegal","Serbia and Montenegro","Seychelles","Sierra Leone","Singapore","Slovakia","Slovenia","Solomon Islands","Somalia","South Africa","Spain","Sri Lanka","Sudan","Svalbard and Jan Mayen Islands","Swaziland","Sweden","Switzerland","Syria","Taiwan","Tajikistan","Tanzania","Thailand","Togo","Tonga","Tunisia","Turkey","Turkmenistan","Tuvalu","Uganda","Ukraine","United Arab Emirates","United Kingdom","Uzbekistan","Vanuatu","Vietnam","Virgin Islands (British)","Wales","Wallis and Futuna Islands","Yemen","Zambia","Zimbabwe","");
	var area7 = new Array("--- Select Country Area ---","Afghanistan","Albania","Algeria","American Samoa","Andorra","Angola","Anguilla","Antarctica","Antigua and Barbuda","Argentina","Armenia","Aruba","Australia","Austria","Azerbaijan","Bahamas","Bahrain","Bangladesh","Barbados","Belarus","Belgium","Belize","Benin","Bermuda","Bhutan","Bolivia","Bosnia and Herzegovina","Botswana","Brazil","Brunei","Bulgaria","Burkina Faso","Burundi","Cambodia","Cameroon","Canada","Cape Verde Islands","Cayman Islands","Central African Republic","Chad","Channel Islands","Chile","China","Christmas Islands","Cocos (Keeling) Islands","Colombia","Comoros","Congo","Congo, the Democratic Republic of","Cook Islands","Costa Rica","Cote D'Ivoire","Croatia","Cuba","Cyprus","Czech Republic","Denmark","Djibouti","Dominica","Dominican Republic","East Timor","Ecuador","Egypt","El Salvador","England","Equatorial Guinea","Eritrea","Estonia","Ethiopia","Falkand Islands","Faroe Islands","Fiji","Finland","France","French Guiana","French Polynesia","Gabon","Gambia","Gaudeloupe","Georgia","Germany","Ghana","Gibraltar","Greece","Greenland","Grenada","Guam","Guatemala","Guinea","Guinea Bissau","Guyana","Haiti","Honduras","Hong Kong","Hungary","Iceland","India","Indonesia","Iran","Iraq","Ireland","Isle of Man","Israel","Italy","Jamaica","Japan","Jordan","Kazakhstan","Kenya","Kiribati","Korea, Republic of","Kuwait","Kyrgyzstan","Lao People's Democratic Republic","Latvia","Lebanon","Lesotho","Liberia","Libya","Liechtenstein","Lithuania","Luxembourg","Macau","Macedonia","Madagascar","Malawi","Malaysia","Maldives","Mali","Malta","Marshall Islands","Martinique","Mauritania","Mauritius","Mayotte","Mexico","Micronesia","Moldova, Republic of","Monaco","Mongolia","Montserrat","Morocco","Mozambique","Myanmar","Namibia","Nauru","Nepal","Netherlands","Netherlands Antilles","New Caledonia","New Zealand","Nicaragua","Niger","Nigeria","Niue Island","Norfolk Island","Northern Ireland","Northern Mariana Islands","Norway","Occupied Palestinian Territory","Oman","Pakistan","Palau","Panama","Papua New Guinea","Paraguay","Peru","Philippines","Poland","Portugal","Puerto Rico","Qatar","Republic of Ireland","Reunion Island","Romania","Russian Federation","Rwanda","Samoa","San Marino","Sao Tome and Principe","Saudi Arabia","Scotland","Senegal","Serbia and Montenegro","Seychelles","Sierra Leone","Singapore","Slovakia","Slovenia","Solomon Islands","Somalia","South Africa","Spain","Sri Lanka","St. Helena","St. Kitts and Nevis","St. Lucia","St. Pierre and Miquelon","St. Vincent and Grenadines","Sudan","Suriname","Svalbard and Jan Mayen Islands","Swaziland","Sweden","Switzerland","Syria","Taiwan","Tajikistan","Tanzania","Thailand","Togo","Tonga","Trinidad and Tobago","Tunisia","Turkey","Turkmenistan","Turks and Caicos Islands","Tuvalu","Uganda","Ukraine","United Arab Emirates","United Kingdom","United States of America","Uruguay","Uzbekistan","Vanuatu","Venezuela","Vietnam","Virgin Islands (British)","Virgin Islands (US)","Wake/Midway Islands","Wales","Wallis and Futuna Islands","Yemen","Zambia","Zimbabwe","");	
	var so = new Array(area0,area1,area2,area3,area4,area5,area6,area7);

	//var so = new Array(area0,area1,area2,area3,area4);
	var f = so[vl];
	// delete all countrys
	for ( i = document.getElementById(dynamicobj).options.length-1; i >= 0; i-- ) {document.getElementById(dynamicobj).options[i+1] = null;}
	// make the others in
	for(i = 0; i < f.length; i++) {document.getElementById(dynamicobj).options[i] = new Option(f[i], f[i]);}
}

function initCountryLeisure()
{
	for (var idx=0;idx<document.getElementById('Country').options.length;idx++)
	{
		if (document.getElementById('Country').options[idx].value== '')
		{
			document.getElementById('Country').options[idx].selected=true;
		} // end if 
	} // end for
}

function daysToEndDate()
{
	var dateString 	= document.getElementById('StartDate').value;
	//var days = document.getElementById('leisure_days').value;
	if (isDate(dateString, "dd/MM/yyyy")&& _isInteger(days) && days != '')
	{
		var mdate = parseDate(dateString, "dd/MM/yyyy");
		mdate.setDate(mdate.getDate()+(days-1));

		document.getElementById('EndDate').value = formatDate(mdate,"dd/MM/yyyy");
	}
}

function dateToDays()
{
	var dateStringTo = document.getElementById('EndDate').value;
	var dateStringFrom 	= document.getElementById('StartDate').value;
	if (isDate(dateStringTo, "dd/MM/yyyy") && isDate(dateStringFrom, "dd/MM/yyyy"))
	{
		var mdateTo = parseDate(dateStringTo, "dd/MM/yyyy");
		var mdateFrom = parseDate(dateStringFrom, "dd/MM/yyyy");
		var days = (( (mdateTo.getTime() - mdateFrom.getTime())/(60*60*1000*24) )+1);

		//document.getElementById('leisure_days').value = Math.round(days);
	}
}

var dtCh= "/";
var minYear=1900;
var maxYear=2100;

function isInteger(s)
{
	var i;
	for (i = 0; i < s.length; i++)
	{
		// Check that current character is number.
		var c = s.charAt(i);
		if (((c < "0") || (c > "9"))) return false;
	}
	// All characters are numbers.
	return true;
}

function stripCharsInBag(s, bag)
{
	var i;
	var returnString = "";
	// Search through string's characters one by one.
	// If character is not in bag, append to returnString.
	for (i = 0; i < s.length; i++)
	{
		var c = s.charAt(i);
		if (bag.indexOf(c) == -1) returnString += c;
	}
	return returnString;
}

function daysInFebruary (year)
{
	// February has 29 days in any year evenly divisible by four,
	// EXCEPT for centurial years which are not also divisible by 400.
	return (((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28 );
}

function DaysArray(n)
{
	for (var i = 1; i <= n; i++)
	{
		this[i] = 31
		if (i==4 || i==6 || i==9 || i==11) {this[i] = 30}
		if (i==2) {this[i] = 29}
	}
	return this
}

function isDate(dtStr)
{
	var daysInMonth = DaysArray(12)
	if(dtStr==null || dtStr =="" || dtStr.length < 6 ||dtStr.length > 10 )
	{
		//alert("Please enter a valid Start Date"); 
		return false;
	}
	s1=dtStr.split("/");

	if( (s1[0].length==2 ||s1[0].length==1 ) && (s1[1].length==2 ||s1[1].length==1 ) && (s1[2].length==4 || s1[2].length==2 ) && !isNaN(s1[2]) && !isNaN(s1[0]) && !isNaN(s1[1]))
	{
		strDay = s1[0].length==2?s1[0]:"0"+s1[0];
		strMonth = s1[1].length==2?s1[1]:"0"+s1[1];
		strYear = s1[2].length==4?s1[2]:"20"+s1[2];
		dtStr = strDay+ '/' + strMonth + '/' + strYear
	}
	else
	{
		return false;
	}
	month=parseInt(strMonth,10)
	day=parseInt(strDay,10)
	year=parseInt(strYear)
	
	if (strMonth.length<1 || month<1 || month>12)
	{
		alert("Please enter a valid month")
		return false
	}

	if (strDay.length<1 || day<1 || day>31 || (month==2 && day>daysInFebruary(year)) || day > daysInMonth[month])
	{
		alert("Please enter a valid day")
		return false
	}

	if (strYear.length != 4 || year==0 || year<minYear || year>maxYear)
	{
		alert("Please enter a valid 4 digit year between "+minYear+" and "+maxYear)
		return false
	}
	return true
}

function dateupd()
{
	var str = document.getElementById("StartDate").value;
	var sd = new Date(parseInt(str.split("/")[2]), parseInt(str.split("/")[1],10)-1, parseInt(str.split("/")[0],10));
	var c = sd.setTime(sd.getTime() + 60 * 60 * 24 * 364 * 1000);
	var y = sd.getFullYear();
	var m = parseInt(sd.getMonth())+1;
	if(m<10) {m = "0"+m;}

	var d = sd.getDate();
	if(parseInt(d)<10){ d = "0"+d;}

	if(document.getElementById('policyoption').value == "2")
	{
		//document.getElementById("EndDate").value=d+"/"+m+"/"+y;
		var region = document.getElementById("Area").options[document.getElementById("Area").selectedIndex].text;
		//document.getElementById("Country").options[0] = new Option(region, region, true,true);
	}
}
function travellers_age(){
	var arr = new Array(document.getElementById("leisure_traveller_1").value, document.getElementById("leisure_traveller_2").value, document.getElementById("leisure_traveller_3").value, document.getElementById("leisure_traveller_4").value, document.getElementById("leisure_traveller_5").value, document.getElementById("leisure_traveller_6").value)
	var arr2 = new Array()
	for(i=0; i<=arr.length; i++) {
		if(arr[i] !== ""){
			arr2.push(arr[i]);
		}
	}
	var myStr = arr2.toString()
	var newStr = myStr.substring(0, myStr.length-1);
	document.getElementById("Travellers").value = newStr

}
function validate()
{
	dateupd();
	//var valid = false;
	var today = new Date();
	var alp = "cmn0100";
	var strFromDate = document.getElementById('StartDate').value//var strFromDate = document.policysales.StartDate.value;
	var strToDate = document.getElementById('EndDate').value //document.policysales.EndDate.value;
	var r1=false;var r2=false;var r3=false;var r4=false;var r5=false; var r6=false; var r7=false;var r8=false;r9=false;r10=false;r11=true;r12=false;r13=false;
	var d1,m1,y1,d2,m2,y2,s1,s2;
	if (isDate(strFromDate))
	{
		r1 = true;
		//valid = true
	} else {
		alert("Please enter the Date Travel Starts.");
	}

	if (isDate(strToDate))
	{
		r2 = true;
	} else {
		if (document.getElementById('EndDate').style.display != 'none')
		{
			alert("Please Enter the Date Insurance Ends.");
		}
		else{r2=true; }
//		alert("Please Enter the Date Insurance Ends.");
	}

	if(r1 && r2)
	{
		s1=strFromDate.split("/");
		s2=strToDate.split("/");	
		d1 = s1[0].length==2?s1[0]:"0"+s1[0];m1 = s1[1].length==2?s1[1]:"0"+s1[1];y1 = s1[2].length==4?s1[2]:"20"+s1[2];
		if(document.getElementById('EndDate').style.display != 'none')
		{
			d2 = s2[0].length==2?s2[0]:"0"+s2[0];m2 = s2[1].length==2?s2[1]:"0"+s2[1];y2 = s2[2].length==4?s2[2]:"20"+s2[2];
		}
		else
		{
			document.getElementById('EndDate').value = "";
		}

		var td =  new Date(today.getYear(),today.getMonth(),today.getDate());
		var sd = new Date(parseInt(y1), parseInt(m1,10)-1, parseInt(d1,10));
		var ed = new Date(parseInt(y2), parseInt(m2,10)-1, parseInt(d2,10));
		var dok = ed.getTime()/1000 - sd.getTime()/1000;
		var dur = ed.getTime()/1000 - sd.getTime()/1000;

		if (td.getTime()>sd.getTime())
		{
			alert("Start Date can not be earlier than today.");
		} else {
			r8=true
		}

		if (parseInt(dur)/(60 * 60 * 24) == 365)
		//adjust the end date to make it 364 days
		{
			ed = new Date(ed - 24*60*60*1000);
			d2 = ed.getDate();
			if (d2 < 10 ) {d2 = "0" + d2;}
			m2 = ed.getMonth() + 1.0;
			m2 = m2.length==2?m2:"0"+m2;
			y2 = ed.getFullYear();
		}
	}

	if(r1 && r2)
	{
		document.getElementById('StartDate').value = d1+"/"+m1+"/"+y1;
		document.getElementById('EndDate').value = d2+"/"+m2+"/"+y2;
	}

	if(parseInt(dur)/(60 * 60 * 24)>365){alert("We can only insure trips up to one year duration. Please check the dates you have entered.");}else{r7=true;}
	if(parseInt(dok)<0){alert("Date Travel Starts must be earlier than the Date Insurance Ends");}else{r6=true;}

	//if(document.policysales.Area.value !="--- Select Area of Travel ---" && document.policysales.Area.value !="")
	if(document.getElementById('Area').value !="--- Select Area of Travel ---" && document.getElementById('Area').value !="")
	{
		r3=true;
	} else {
		alert("Please choose your Area of Travel");
	}

	//if(document.policysales.Country.value!="--- Please Select ---" && document.policysales.Country.value!="")
	if(document.getElementById('Country').value!="--- Select Country Area ---" && document.getElementById('Country').value!="")
	{
		r12=true;
	} else {
		alert("Please choose the Country Most Time Spent In");
	}

	if(document.getElementById("leisure_traveller_1").value !="" || document.getElementById("leisure_traveller_3").value !="")
	{
		travellers_age()
		r4 = true;
	} else {
		alert("Please enter the Age of Each Traveller");
	}

	if(document.getElementById("ResidencyFlag").checked == false)
	{
		alert("are you a UK resident?");
		document.getElementById("ResidencyFlag").value = false;
	} else {
		r5 = true;
		document.getElementById("ResidencyFlag").value = true;
	}
	var age = new Array(document.getElementById("leisure_traveller_1").value, document.getElementById("leisure_traveller_2").value, document.getElementById("leisure_traveller_3").value, document.getElementById("leisure_traveller_4").value, document.getElementById("leisure_traveller_5").value, document.getElementById("leisure_traveller_6").value)
	var agei = new Array();
	for(i=0;i<age.length;i++){agei[i]=age[i].length>0?age[i]:"0"; if(agei[i] > 84){alert("We're sorry we cannot offer insurance to travellers over the age of 84.");return false;} else {r9 = true;}}
	for(i=0;i<age.length;i++){agei[i]=age[i].length>0?age[i]:"0"; if(age.length >1 && agei[i] > 74 && document.getElementById('policyoption').value == "2"){alert("Family Annual Multi Trip is currently unavailable for travellers over 74.");r11 = false;}}

	if(r1 && r2 && r3 && r4 && r5 && r6 && r7 && r8 && r9   && r11 && r12){return true} else {return false}
}


function clr(obj)
{
	if(obj.readOnly==false){obj.value = "";}
}

function X(obj)
{
	var curleft = 0;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curleft += obj.offsetLeft
			obj = obj.offsetParent;
		}
	} else if (obj.x)
		curleft += obj.x;return curleft;
}

function Y(obj)
{
	var curtop = 0;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curtop += obj.offsetTop
			obj = obj.offsetParent;
		}
	} else if (obj.y)
		curtop += obj.y;return curtop;
}

function getInternetExplorerVersion() {

    var rv = -1; // Return value assumes failure.

    if (navigator.appName == 'Microsoft Internet Explorer') {

        var ua = navigator.userAgent;

        var re = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})");

        if (re.exec(ua) != null)

            rv = parseFloat(RegExp.$1);

    }

    return rv;

}

function checkVersion() {
    var msg = "You're not using Windows Internet Explorer.";
    var ver = getInternetExplorerVersion();
    if (ver > -1) {
        if (ver >= 8.0)
            msg = "You're using a recent copy of Windows Internet Explorer."
        else
            msg = "You should upgrade your copy of Windows Internet Explorer.";
    }

    alert(msg);

}

function getInternetExplorerVersion() {
    var rv = -1; // Return value assumes failure.
    if (navigator.appName == 'Microsoft Internet Explorer') {
        var ua = navigator.userAgent;
        var re = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})");
        if (re.exec(ua) != null)
            rv = parseFloat(RegExp.$1);
    }

    return rv;

}

function changeClass_tab1(){
	var ver = getInternetExplorerVersion();
	 if (ver >= 8.0) {
		document.getElementById("tab1").setAttribute("class", "ui-tabs-selected");
		document.getElementById("tab2").setAttribute("class", "");	
	 }
	 else {
		document.getElementById("tab1").setAttribute("className", "ui-tabs-selected");
		document.getElementById("tab2").setAttribute("className", "");
	 }
		document.getElementById("tab1").setAttribute("class", "ui-tabs-selected");
		document.getElementById("tab2").setAttribute("class", "");	

	document.getElementById('EndDate').style.display ='block'
	document.getElementById('EndDate').value = '';
	document.getElementById('anchor2').style.display ='block';
	document.getElementById('policyoption').value = '1';
	document.getElementById("TripType").value = 'SingleTrip';
}
function changeClass_tab2(){
	var ver = getInternetExplorerVersion();
	 if (ver >= 8.0) {
		document.getElementById("tab2").setAttribute("class", "ui-tabs-selected");
		document.getElementById("tab1").setAttribute("class", "");	
	 }
	 else {
		document.getElementById("tab2").setAttribute("className", "ui-tabs-selected");
		document.getElementById("tab1").setAttribute("className", "");
	 }

		document.getElementById("tab2").setAttribute("class", "ui-tabs-selected");
		document.getElementById("tab1").setAttribute("class", "");	
	
	document.getElementById('EndDate').style.display ='none';
	document.getElementById('EndDate').value = '';
	document.getElementById('anchor2').style.display ='none';
	document.getElementById('policyoption').value = '2';
	document.getElementById("TripType").value = 'AnnualMultiTrip';

}