// JavaScript Document
function loadXMLDoc(dname) 
{
var xmlDoc;
try
  {
  xmlDoc=new window.XMLHttpRequest();
  xmlDoc.open("GET",dname,false);
  xmlDoc.send("");
  return xmlDoc.responseXML;
  }
// IE 5 and IE 6
catch (err)
  {
  xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
  xmlDoc.async=false;
  xmlDoc.load(dname);
  return xmlDoc;
  }
alert("Error loading document");
return null;
}

function AddMakeItem(Text,Value)
{            
	var opt = document.createElement("option");
	document.getElementById("makeman").options.add(opt);
	opt.text = Text;
	opt.value = Value;

}

function AddModelItem(Text,Value)
{            
	var opt = document.createElement("option");
	document.getElementById("modelman").options.add(opt);
	opt.text = Text;
	opt.value = Value;

}

function AddYearItem(Value)
{            
	var opt = document.createElement("option");
	document.getElementById("caryear").options.add(opt);
	opt.text = Value;
	opt.value = Value;

}

function updatemodels()
{
	var makedd = document.getElementById("makeman");
	xmlDoc=loadXMLDoc("vehicledata.asp?carmake=" + makedd.options[makedd.selectedIndex].text);
	var modeldd = document.getElementById("modelman");
	modeldd.options.length=0;
	var x=xmlDoc.getElementsByTagName("car");
	AddModelItem('Please Select...',0);
	for (i=0;i<x.length;i++)
	{
		AddModelItem(x[i].getElementsByTagName("model")[0].childNodes[0].nodeValue + " (" + x[i].getElementsByTagName("cc")[0].childNodes[0].nodeValue + "cc)",x[i].getElementsByTagName("id")[0].childNodes[0].nodeValue);
	}
}

function updateinsgroup()
{
	var modeldd = document.getElementById("modelman");
	xmlDoc=loadXMLDoc("modeldata.asp?carmodel=" + modeldd.options[modeldd.selectedIndex].value);
	var x=xmlDoc.getElementsByTagName("car");
	for (i=0;i<x.length;i++)
	{
		document.getElementById("insurancegroup").value=x[i].getElementsByTagName("abigroup")[0].childNodes[0].nodeValue;
		document.getElementById("insgroup").innerHTML=x[i].getElementsByTagName("abigroup")[0].childNodes[0].nodeValue;
	}
}

function AddCoverItem(Text,Value)
{            
	var opt = document.createElement("option");
	document.getElementById("cover").options.add(opt);
	opt.text = Text;
	opt.value = Value;

}

function updateratings(whichcode,whichintroducer)
{
	var coverdd = document.getElementById("cover");
	
	if (document.getElementById("quoteform").postcodekeptovernight.value == "")
	{
		xmlDoc=loadXMLDoc("ratingdata.asp?pcode=" + document.getElementById("quoteform").postcode.value + "&gcode=" + document.getElementById("quoteform").postcode.value);
	}
	else
	{
		xmlDoc=loadXMLDoc("ratingdata.asp?pcode=" + document.getElementById("quoteform").postcode.value + "&gcode=" + document.getElementById("quoteform").postcodekeptovernight.value);
	}
	
	var x=xmlDoc.getElementsByTagName("rating");
	var thepostcode;
	coverdd.options.length=0;
	AddCoverItem('Please Select...',0);
	
	var discount;
	var discounttext; 
	
	if (whichintroducer > 0)
	{
		xmlDocIntro=loadXMLDoc("introducerdata.asp?icode=" + whichintroducer);
		var z=xmlDocIntro.getElementsByTagName("introducer");
		
		if (z.length > 0)
		{
			if (z[0].getElementsByTagName("discount")[0].childNodes[0].nodeValue != '')
			{
				discount = z[0].getElementsByTagName("discount")[0].childNodes[0].nodeValue;
			}
			if (z[0].getElementsByTagName("discounttext")[0].childNodes[0].nodeValue != '')
			{
				discounttext = z[0].getElementsByTagName("discounttext")[0].childNodes[0].nodeValue;
			}
		}
	}
	
	document.getElementById("discounttext").innerHTML="";

	if (x.length > 0) 
	{
		for (i=0;i<x.length;i++)
		{
			if (x[i].getElementsByTagName("rtype")[0].childNodes[0].nodeValue != 'RENEWAL')
			{
				if (discount > 0)
				{
					var price=x[i].getElementsByTagName("price")[0].childNodes[0].nodeValue.replace("\u00A3","");
					var discountamount=price/100;
					discountamount=discountamount*discount;
					discountamount=price-discountamount;
					discountamount=formatAsMoney(discountamount);
					
					AddCoverItem(x[i].getElementsByTagName("option")[0].childNodes[0].nodeValue + " (\u00A3" + discountamount + ")",x[i].getElementsByTagName("id")[0].childNodes[0].nodeValue);
				}
				else
				{
					AddCoverItem(x[i].getElementsByTagName("option")[0].childNodes[0].nodeValue + " (" + x[i].getElementsByTagName("price")[0].childNodes[0].nodeValue + ")",x[i].getElementsByTagName("id")[0].childNodes[0].nodeValue);
				}
			}
			if (document.getElementById("quoteform").postcode.value != document.getElementById("quoteform").postcodekeptovernight.value) {
				document.getElementById("coverbased").innerHTML="Cover (Based on " + x[i].getElementsByTagName("postcode")[0].childNodes[0].nodeValue + "):*";
			}
		}		
	}
	else
	{
		if (whichcode == 'postcode')
		{
			document.getElementById("quoteform").postcode.value="";
		}
		else
		{
			document.getElementById("quoteform").postcodekeptovernight.value="";
		}
		alert("We could not find your postcode, please ensure you type this in correctly i.e. PE10 0FF not PE100FF");	
	}
	if (discounttext)
	{
		if (discounttext != "none")
		{
			document.getElementById("discounttext").innerHTML=document.getElementById("discounttext").innerHTML + "<p><strong>" + discounttext + "</strong></p>";
		}
	}
}

function recalc_ratings(whichintroducer)
{
	var discount;
	var discounttext; 
	
	var coverdd = document.getElementById("cover");
	
	if (document.getElementById("quoteform").postcodekeptovernight.value == "")
	{
		xmlDoc=loadXMLDoc("ratingdata.asp?pcode=" + document.getElementById("quoteform").postcode.value + "&gcode=" + document.getElementById("quoteform").postcode.value);
	}
	else
	{
		xmlDoc=loadXMLDoc("ratingdata.asp?pcode=" + document.getElementById("quoteform").postcode.value + "&gcode=" + document.getElementById("quoteform").postcodekeptovernight.value);
	}
	
	var x=xmlDoc.getElementsByTagName("rating");
	var thepostcode;
	coverdd.options.length=0;
	AddCoverItem('Please Select...',0);
	

	if (whichintroducer > 0)
	{
		xmlDocIntro=loadXMLDoc("introducerdata.asp?icode=" + whichintroducer);
		var z=xmlDocIntro.getElementsByTagName("introducer");
		
		if (z.length > 0)
		{
			if (z[0].getElementsByTagName("discount")[0].childNodes[0].nodeValue != '')
			{
				discount = z[0].getElementsByTagName("discount")[0].childNodes[0].nodeValue;
			}
			if (z[0].getElementsByTagName("discounttext")[0].childNodes[0].nodeValue != '')
			{
				discounttext = z[0].getElementsByTagName("discounttext")[0].childNodes[0].nodeValue;
			}
		}
	}
	
	document.getElementById("discounttext").innerHTML="";
	
	if (x.length > 0) 
	{
		for (i=0;i<x.length;i++)
		{
			if (x[i].getElementsByTagName("rtype")[0].childNodes[0].nodeValue != 'RENEWAL')
			{
				if (discount > 0)
				{
					var price=x[i].getElementsByTagName("price")[0].childNodes[0].nodeValue.replace("\u00A3","");
					var discountamount=price/100;
					discountamount=discountamount*discount;
					discountamount=price-discountamount;
					discountamount=formatAsMoney(discountamount);
					
					AddCoverItem(x[i].getElementsByTagName("option")[0].childNodes[0].nodeValue + " (\u00A3" + discountamount + ")",x[i].getElementsByTagName("id")[0].childNodes[0].nodeValue);
				}
				else 
				{
					AddCoverItem(x[i].getElementsByTagName("option")[0].childNodes[0].nodeValue + " (" + x[i].getElementsByTagName("price")[0].childNodes[0].nodeValue + ")",x[i].getElementsByTagName("id")[0].childNodes[0].nodeValue);
				}
			}
			if (document.getElementById("quoteform").postcode.value != document.getElementById("quoteform").postcodekeptovernight.value) {
				document.getElementById("coverbased").innerHTML="Cover (Based on " + x[i].getElementsByTagName("postcode")[0].childNodes[0].nodeValue + "):*";
			}
		}	
		alert("Your prices were recalculated for you...");
		if (discounttext)
		{
			if (discounttext != "none")
			{
				document.getElementById("discounttext").innerHTML=document.getElementById("discounttext").innerHTML + "<p><strong>" + discounttext + "</strong></p>";
			}
		}
	}
	else
	{
		alert("The prices for your postcode could not be found.");	
	}
}

function checkcontacts()
{
	xmlDoc=loadXMLDoc("contactdata.asp?email=" + document.getElementById("quoteform").email.value);
	var x=xmlDoc.getElementsByTagName("contact");
	
	email = document.getElementById("quoteform").email.value;
	AtPos = email.indexOf("@");
	StopPos = email.lastIndexOf(".");

	if (AtPos == -1 || StopPos == -1)
    {
		document.getElementById("quoteform").email.value="";
        alert("Please enter a valid E-mail address" );
    }
	
	if (x.length > 0) 
	{
		confirmlogin()
		document.getElementById("quoteform").email.value="";
	}
}

function confirmlogin() {
		var answer = confirm("Your contact details already exist on this website. Would you like to login to continue or renew your policy application?")
		if (answer) {
			window.location.href= "customer-login.asp"
		} 
}

function updateaddress(add1,add2,twn,cty,pcode) {
	document.getElementById("quoteform").address1.value=add1;
	document.getElementById("quoteform").address2.value=add2;
	document.getElementById("quoteform").town.value=twn;
	document.getElementById("quoteform").county.value=cty;
	document.getElementById("quoteform").postcode.value=pcode;
	updateratings();
}

function updatevehicle(regno,make,model,regdate,insgroup) {
	document.getElementById("quoteform").carreg.value=regno;
	document.getElementById("quoteform").carregauto.value=regno;
	document.getElementById("quoteform").carreg.disabled=true;
	var makedd = document.getElementById("makeman");
	var modeldd = document.getElementById("modelman");
	var caryear = document.getElementById("caryear");
	makedd.options.length=0;
	modeldd.options.length=0;
	caryear.options.length=0;
	AddMakeItem(make,0);
	AddModelItem(model,0);
	AddYearItem(regdate);
	document.getElementById("quoteform").makeauto.value=make;
	document.getElementById("quoteform").modelauto.value=model;
	document.getElementById("quoteform").caryear.value=regdate;
	document.getElementById("quoteform").insurancegroup.value=insgroup;
	document.getElementById("insgroup").innerHTML=insgroup;
	
//	document.getElementById("quoteform").caryear.value=regdate;
//	document.getElementById("makeauto").innerHTML=make;
//	document.getElementById("quoteform").makeauto.value=make;
//	document.getElementById("modelauto").innerHTML=model;
//	document.getElementById("quoteform").modelauto.value=model;
//	document.getElementById("carreg").innerHTML=regno;
//	document.getElementById("quoteform").carreg.value=regno;
//	document.getElementById("caryear").innerHTML=regdate;
//	document.getElementById("quoteform").caryear.value=regdate;
//	document.getElementById("insgroup").innerHTML=insgroup;
//	document.getElementById("quoteform").insurancegroup.value=insgroup;

}

function checkemployment() {
	var employdd = document.getElementById("employmenttype");
	if (employdd.options[employdd.selectedIndex].value == 'Student' || employdd.options[employdd.selectedIndex].value == 'Unemployed') {
		document.getElementById("quoteform").typeofbusiness.value='N/A';
		document.getElementById("quoteform").occupation.value='N/A';
	}
	else {
		document.getElementById("quoteform").typeofbusiness.value='';
		document.getElementById("quoteform").occupation.value='';
	}
}

function quoteme()
{
	xmlDoc=loadXMLDoc("ratingdata.asp?pcode=" + document.getElementById("quoteform").postcode.value);
	var x=xmlDoc.getElementsByTagName("rating");
	
	xmlDocIntro=loadXMLDoc("introducerdata.asp?icode=" + document.getElementById("quoteform").introcode.value);
	var introXML=xmlDocIntro.getElementsByTagName("introducer");
	
	var discount;
	var discounttext; 
	
	if (introXML.length > 0)
	{
		if (typeof(introXML[0].getElementsByTagName("discount")[0].childNodes[0].nodeValue) != undefined)
		{
			discount = introXML[0].getElementsByTagName("discount")[0].childNodes[0].nodeValue;
		}

		if (typeof(introXML[0].getElementsByTagName("discounttext")[0].childNodes[0].nodeValue) != undefined)
		{
			discounttext = introXML[0].getElementsByTagName("discounttext")[0].childNodes[0].nodeValue;
		}
	}

	document.getElementById("quoteoptions").innerHTML="";
	
	if (x.length > 0) 
	{
		document.getElementById("quoteoptions").innerHTML="<h3>Your Quotation for Comprehensive Insurance:</h3>";
		for (i=0;i<x.length;i++)
		{
			if (x[i].getElementsByTagName("rtype")[0].childNodes[0].nodeValue != 'RENEWAL')
			{
				var price=x[i].getElementsByTagName("price")[0].childNodes[0].nodeValue.replace("\u00A3","");
				var month =x[i].getElementsByTagName("option")[0].childNodes[0].nodeValue;
				

				
				// Display equivalent 28/56/84 days
				var amountofmonths = month;
				var days;
				switch(amountofmonths) 
				{
					case '1 Month':days='28';break;
					case '2 Months':days='56';break;
					case '3 Months':days='84';break;
				}
				

				if (discount > 0)
				{
					// Calculate the discounted price
					var discountamount=price/100;
					discountamount=discountamount*discount;
					discountamount=price-discountamount;
					discountamount=formatAsMoney(discountamount);
					
					// Calulate equivalent 28/56/84 day prices
					var equivalentprice = discountamount*12;
					equivalentprice=equivalentprice/13;
					equivalentprice=equivalentprice.toFixed(2);
						
					document.getElementById("quoteoptions").innerHTML= document.getElementById("quoteoptions").innerHTML + "<div class=\"quoterowdiscount\"><div class=\"firstquotecell\">" + month + " </div><div class=\"quotecell\"><strike>&pound;" + price + "</strike></div><div class=\"quotecell\">  &pound;" + discountamount + "</div><div class=\"lastquotecell\">(Equivalent to &pound;" + equivalentprice + " for " + days + " days)</div></div><div class=\"clear_left\"></div>";
				}
				else
				{
					// Calulate equivalent 28/56/84 day prices
					var equivalentprice = price*12;
					equivalentprice=equivalentprice/13;
					equivalentprice=equivalentprice.toFixed(2);
					
					document.getElementById("quoteoptions").innerHTML=document.getElementById("quoteoptions").innerHTML + "<div class=\"quoterow\"><div class=\"firstquotecell\">" + month + "</div><div class=\"quotecell\"> &pound;" + price + "</div><div class=\"lastquotecell\"> (Equivalent to &pound;" + equivalentprice + " for " + days + " days)</div></div><div class=\"clear_left\"></div>";
				}
			}
		}
		
		if (discounttext)
		{
			if (discounttext != "none")
			{
						document.getElementById("quoteoptions").innerHTML=document.getElementById("quoteoptions").innerHTML + "<p></p><p>" + discounttext + "</p>";
			}
		}
		
		document.getElementById("quoteoptions").innerHTML=document.getElementById("quoteoptions").innerHTML + "<p></p><h3>This Quotation Covers:</h3><p>All cars up to group 16 (Example:- BMW 530 Diesel)</p><p>to a maximum value of &pound;20,000 <p><a href='young-driver-insurance-application.asp'>Buy Online Now...</a></p>";
	}
	else
	{
		document.getElementById("quoteform").postcode.value="";
		alert("We could not find your postcode, please ensure you type this in correctly");	
	}
}

function formatAsMoney(mnt) {
    mnt -= 0;
    mnt = (Math.round(mnt*100))/100;
    return (mnt == Math.floor(mnt)) ? mnt + '.00' 
              : ( (mnt*10 == Math.floor(mnt*10)) ? 
                       mnt + '0' : mnt);
}