// Travel Insurance Premium Calculator
// by will b (will@bfinternet.co.uk) 11/05/00
// (c) bf internet (www.bfinternet.co.uk)

function formatamount (expr)
// format the amount with 2 decimal places
{
var str = "" + Math.round (eval(expr) * Math.pow(10,2));

while (str.length <= 2)
	{
	str = "0" + str;
	}

var decpoint = str.length - 2;

return str.substring(0,decpoint) + "." + str.substring(decpoint,str.length);
}

function calculatepremium(form)
{
var bagcover = 'yes';

var mult = 1; // premium multiplier

var written = 0; // has something been written

var location = form.location.options[form.location.selectedIndex].value;

var duration = 0;

// use escape to decode any spaces to '%20'
var decoded = escape(form.duration_of_stay.value);

// is the value a number?
var rightduration = isNaN(decoded);

if ((!rightduration) && (form.duration_of_stay.value > 0))
	{
	var duration = parseInt(form.duration_of_stay.value);
	}
	
// has the input been left blank?
if (form.duration_of_stay.value == '')
	{
	duration = 0;
	}
	
var people = form.number_of_people.options[form.number_of_people.selectedIndex].value;

if (form.winter_sports[0].checked)
	{
	var wintersports = "yes";
	}
else
	{
	var wintersports = "no";
	}

if (parseInt(navigator.appVersion) >= 4)
	{
	var sw = screen.width;
	var sh = screen.height;
	var window_left = ((sw/2) - 150);
	var window_top = ((sh/2) - 125);
	premwin= open("", "newwindow", "width=260,height=210,scrollbars=no,toolbar=no,directories=no,menubar=no,resizable=no,status=no,left="+window_left+",top="+window_top+",screenx="+window_left+",screeny="+window_top);
	}
else
	{
	premwin= open("", "newwindow", "width=260,height=230,scrollbars=no,toolbar=no,directories=no,menubar=no,resizable=no,status=no,left=200,top=100,screenx=200,screeny=100");
	}

premwin.document.open();

var prempage = '<HTML><HEAD><TITLE>Travel Insurance Premium&nbsp;&nbsp;&nbsp;&nbsp;</TITLE></HEAD><BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#BA4D0D" ALINK="#3E5B2B" VLINK="#BA4D0D" MARGINWIDTH="0" MARGINHEIGHT="0" LEFTMARGIN="0" TOPMARGIN="0"><TABLE BORDER="0" CELLPADDING="2" CELLSPACING="0" WIDTH="100%" HEIGHT="100%"><TR><TD BGCOLOR="#5C2D5C" VALIGN="TOP"><CENTER><TABLE BORDER="0" CELLPADDING="5" CELLSPACING="0"><TR><TD><IMG SRC="images/tinylogo.gif" WIDTH=33 HEIGHT=50 ALT="" BORDER="0"></TD><TD><FONT FACE="Arial,Helvetica" COLOR="#FFFFFF" SIZE="-1"><B STYLE="font-size:10pt">Three Counties Insurance<BR>Travel Insurance Premium</B></FONT></TD></TR></TABLE></CENTER></TD></TR><TR><TD><TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" WIDTH="90%" ALIGN="CENTER"><TR><TD><FONT FACE="Arial,Helvetica" SIZE="-1"><BR><P STYLE="font-size:10pt">';

if ((location == 'dummy') || (duration == 0) || (people == 'dummy'))
	{
	prempage += message1;
	calculated = 0;
	}
else
	{
	if (duration <= 31)
		{
		var durationband = 31;
		}
	if (duration <= 23)
		{
		var durationband = 23;
		}
	if (duration <= 17)
		{
		var durationband = 17;
		}
	if (duration <= 10)
		{
		var durationband = 10;
		}
	if (duration <= 5)
		{
		var durationband = 5;
		}
	if (duration >= 183)
		{
		prempage += message2;
		}
	else if (duration > 31)
		{
		if (people == 'couple')
			{
			people = 'under_65';
			mult = 2;
			}
		if (people == 'family')
			{
			people = 'under_65';
			mult = 2.5;
			}
		var xtraweeks = Math.ceil((duration-31) / 7);
		eval ('var premium = ((xtraweeks * '+location+people+'add) + '+location+people+'31);');

		premium = (premium*mult);

		if (wintersports == 'yes')
			{
			premium = (premium*2);
			}
		if ((wintersports == 'yes') && (people == 'over_65'))
			{
			prempage += message3;
			written = 1;
			calculated = 0;
			}
		if ((form.health_problems[0].checked) && (written != 1))
			{
			prempage += message5;
			written = 1;
			calculated = 0;
			}
		if ((!form.bag_cover[0].checked) && (written != 1))
			{
			bagcover='no';
			premium = (premium - (premium/100) * 15)
			prempage += message4 + formatamount(premium);
			written = 1;
			calculated = 1;
			}
		if (written != 1)
			{
			prempage += message4 + formatamount(premium);
			written = 1;
			calculated = 1;
			}
		}
	else
		{
		eval ('var premium = '+location+people+durationband+';');
		if (wintersports == 'yes')
			{
			premium = (premium*2);
			}
		if ((wintersports == 'yes') && (people == 'over_65'))
			{
			prempage += message3;
			written = 1;
			calculated = 0;
			}
		if ((form.health_problems[0].checked) && (written != 1))
			{
			prempage += message5;
			written = 1;
			calculated = 0;
			}
		if ((!form.bag_cover[0].checked) && (written != 1))
			{
			bagcover='no';
			premium = (premium - (premium/100) * 15);
			prempage += message4 + formatamount(premium);
			written = 1;
			calculated = 1;
			}
		if (written != 1)
			{
			prempage += message4 + formatamount(premium);
			written = 1;
			calculated = 1;
			}
		}
	}

prempage += '</P><BR></FONT></TD></TR></TABLE></TD></TR><TR><TD BGCOLOR="#3E5B28" VALIGN="BOTTOM"><CENTER><BR><FORM><INPUT TYPE="BUTTON" VALUE="Close" onClick="self.close()" STYLE="background-color:#BA4D0D;color:#FFFFFF;border-color:#FFAF6F;font-weight:bold;font-family:Arial,Helvetica;cursor:hand;font-size:10pt;">';

if (calculated == 1)
	{
	prempage+= '&nbsp;&nbsp;<INPUT TYPE="BUTTON" VALUE="Purchase" STYLE="background-color:#BA4D0D;color:#FFFFFF;border-color:#FFAF6F;font-weight:bold;font-family:Arial,Helvetica;cursor:hand;font-size:10pt;" onClick="parent.window.opener.location=\'https://secure.bfinternet.co.uk/secure_users/3co/travelform.htm?location='+location+'&duration='+duration+'&people='+people+'&wintersports='+wintersports+'&bagcover='+bagcover+'&premium='+formatamount(premium)+'\';self.close()">';
	}

prempage+= '</FORM></CENTER></TD></TR></TABLE></BODY></HTML>';

premwin.document.write(prempage);
premwin.document.close();
premwin.focus();
}

// UK variables
var ukunder_655 = 5.15;
var ukover_655 = 5.15;
var ukunder_185 = 2.60;
var ukcouple5 = ukunder_655 * 2;
var ukfamily5 = ukunder_655 * 2.5;

var ukunder_6510 = 5.80;
var ukover_6510 = 5.80;
var ukunder_1810 = 2.90;
var ukcouple10 = ukunder_6510 * 2;
var ukfamily10 = ukunder_6510 * 2.5;

var ukunder_6517 = 7.10;
var ukover_6517 = 7.10;
var ukunder_1817 = 3.55;
var ukcouple17 = ukunder_6517 * 2;
var ukfamily17 = ukunder_6517 * 2.5;

var ukunder_6523 = 8.00;
var ukover_6523 = 8.00;
var ukunder_1823 = 4.00;
var ukcouple23 = ukunder_6523 * 2;
var ukfamily23 = ukunder_6523 * 2.5;

var ukunder_6531 = 8.90;
var ukover_6531 = 8.90;
var ukunder_1831 = 4.45;
var ukcouple31 = ukunder_6531 * 2;
var ukfamily31 = ukunder_6531 * 2.5;

var ukunder_65add = 1.65;
var ukover_65add = 1.65;
var ukunder_18add = 0.80;

// EU variables
var euunder_655 = 13.40;
var euover_655 = 13.40;
var euunder_185 = 6.70;
var eucouple5 = euunder_655 * 2;
var eufamily5 = euunder_655 * 2.5;

var euunder_6510 = 15.25;
var euover_6510 = 15.25;
var euunder_1810 = 6.70;
var eucouple10 = euunder_6510 * 2;
var eufamily10 = euunder_6510 * 2.5;

var euunder_6517 = 18.60;
var euover_6517 = 18.60;
var euunder_1817 = 9.30;
var eucouple17 = euunder_6517 * 2;
var eufamily17 = euunder_6517 * 2.5;

var euunder_6523 = 23.80;
var euover_6523 = 23.80;
var euunder_1823 = 11.90;
var eucouple23 = euunder_6523 * 2;
var eufamily23 = euunder_6523 * 2.5;

var euunder_6531 = 31.05;
var euover_6531 = 31.05;
var euunder_1831 = 15.55;
var eucouple31 = euunder_6531 * 2;
var eufamily31 = euunder_6531 * 2.5;

var euunder_65add = 6.60;
var euover_65add = 13.15;
var euunder_18add = 3.30;

// AN variables
var anunder_655 = 26.95;
var anover_655 = 53.90;
var anunder_185 = 13.50;
var ancouple5 = anunder_655 * 2;
var anfamily5 = anunder_655 * 2.5;

var anunder_6510 = 32.00;
var anover_6510 = 64.00;
var anunder_1810 = 16.00;
var ancouple10 = anunder_6510 * 2;
var anfamily10 = anunder_6510 * 2.5;

var anunder_6517 = 37.75;
var anover_6517 = 75.50;
var anunder_1817 = 18.85;
var ancouple17 = anunder_6517 * 2;
var anfamily17 = anunder_6517 * 2.5;

var anunder_6523 = 47.30;
var anover_6523 = 94.69;
var anunder_1823 = 23.60;
var ancouple23 = anunder_6523 * 2;
var anfamily23 = anunder_6523 * 2.5;

var anunder_6531 = 58.25;
var anover_6531 = 116.50;
var anunder_1831 = 29.10;
var ancouple31 = anunder_6531 * 2;
var anfamily31 = anunder_6531 * 2.5;

var anunder_65add = 12.70;
var anover_65add = 25.45;
var anunder_18add = 6.35;

// XU variables
var xuunder_655 = 32.15;
var xuover_655 = 64.25;
var xuunder_185 = 16.10;
var xucouple5 = xuunder_655 * 2;
var xufamily5 = xuunder_655 * 2.5;

var xuunder_6510 = 35.80;
var xuover_6510 = 71.65;
var xuunder_1810 = 17.90;
var xucouple10 = xuunder_6510 * 2;
var xufamily10 = xuunder_6510 * 2.5;

var xuunder_6517 = 41.90;
var xuover_6517 = 83.85;
var xuunder_1817 = 20.95;
var xucouple17 = xuunder_6517 * 2;
var xufamily17 = xuunder_6517 * 2.5;

var xuunder_6523 = 52.00;
var xuover_6523 = 104.10;
var xuunder_1823 = 26.05;
var xucouple23 = xuunder_6523 * 2;
var xufamily23 = xuunder_6523 * 2.5;

var xuunder_6531 = 64.85;
var xuover_6531 = 129.70;
var xuunder_1831 = 32.40;
var xucouple31 = xuunder_6531 * 2;
var xufamily31 = xuunder_6531 * 2.5;

var xuunder_65add = 13.70;
var xuover_65add = 27.40;
var xuunder_18add = 6.90;

// WW variables
var wwunder_655 = 35.00;
var wwover_655 = 70.05;
var wwunder_185 = 17.50;
var wwcouple5 = wwunder_655 * 2;
var wwfamily5 = wwunder_655 * 2.5;

var wwunder_6510 = 41.60;
var wwover_6510 = 83.20;
var wwunder_1810 = 20.75;
var wwcouple10 = wwunder_6510 * 2;
var wwfamily10 = wwunder_6510 * 2.5;

var wwunder_6517 = 49.05;
var wwover_6517 = 98.10;
var wwunder_1817 = 24.50;
var wwcouple17 = wwunder_6517 * 2;
var wwfamily17 = wwunder_6517 * 2.5;

var wwunder_6523 = 62.50;
var wwover_6523 = 124.95;
var wwunder_1823 = 31.25;
var wwcouple23 = wwunder_6523 * 2;
var wwfamily23 = wwunder_6523 * 2.5;

var wwunder_6531 = 75.60;
var wwover_6531 = 151.30;
var wwunder_1831 = 37.80;
var wwcouple31 = wwunder_6531 * 2;
var wwfamily31 = wwunder_6531 * 2.5;

var wwunder_65add = 14.80;
var wwover_65add = 29.60;
var wwunder_18add = 7.40;

var message1 = 'Please make sure you fill in the correct details.';
var message2 = 'Please contact us for travel periods longer than 6 months.';
var message3 = 'Please contact us for prices for over-64-year-olds participating in winter sports.';
var message4 = 'For the options you have selected, the insurance premium will be: <B>&pound;';
var message5 = 'Please contact us for our travel rates for people with health problems.';
var calculated = 0;
