var xmldocTerms = getXmlHttpRequestObject();
var xmldocAbout = getXmlHttpRequestObject();
var xmldocOpex = getXmlHttpRequestObject();
var xmldocInsu = getXmlHttpRequestObject();
var xmldocCode = getXmlHttpRequestObject();
var xmldocPoli = getXmlHttpRequestObject();
var xmldocKeyf = getXmlHttpRequestObject();

function getXmlHttpRequestObject() {
	if (window.XMLHttpRequest) {
		return new XMLHttpRequest();
	} else if(window.ActiveXObject) {
		return new ActiveXObject("Microsoft.XMLHTTP");
	} else {
		alert("Your current browser does not support ActiveX controls.\nPlease upgrade your browser.");
	}
}

function showpolicies(){
	step = document.getElementById('step').value;
	if (step == 1){
		toggle('step2');
	}
	if (step == 2){
		$('lblDate1').innerHTML = '(' +  $F('ddlDocsDay') + ' ' + monthname($F('ddlDocsMonth')) + ' ' + $F('ddlDocsYear') + ')';
		PolDay 		= $F('ddlDocsDay');
		PolMonth 	= $F('ddlDocsMonth');
		PolYear 	= $F('ddlDocsYear');
		QuoteType	= $F('q');
		Affinity	= $F('affinity');
		WebVersion	= $F('webversion');
		QuoteSite	= $F('quotesite');
		toggle('step1');
		toggle('step2');
		toggle('step4');
		//alert('PolDay='+PolDay+'&PolMonth='+PolMonth+'&PolYear='+PolYear+'&QuoteType='+QuoteType+'&Affinity='+Affinity+'&WebVersion='+WebVersion+'&QuoteSite='+QuoteSite);
		makeRequestTerms('/_resources/usercontrols/application.proxy.asp','?url=http://www.outrightplc.co.uk/policydocumentsservice/doclibrary.asmx/GetToba?PolDay='+PolDay+'&PolMonth='+PolMonth+'&PolYear='+PolYear+'&QuoteType='+QuoteType+'&Affinity='+Affinity+'&WebVersion='+WebVersion);
		makeRequestAbout('/_resources/usercontrols/application.proxy.asp','?url=http://www.outrightplc.co.uk/policydocumentsservice/doclibrary.asmx/GetAois?PolDay='+PolDay+'&PolMonth='+PolMonth+'&PolYear='+PolYear+'&QuoteType='+QuoteType+'&Affinity='+Affinity+'&WebVersion='+WebVersion);
		makeRequestOpex('/_resources/usercontrols/application.proxy.asp','?url=http://www.outrightplc.co.uk/policydocumentsservice/doclibrary.asmx/GetOptionalExtras?PolDay='+PolDay+'&PolMonth='+PolMonth+'&PolYear='+PolYear+'&QuoteType='+QuoteType+'&QuoteSite='+QuoteSite);
		makeRequestInsu('/_resources/usercontrols/application.proxy.asp','?url=http://www.outrightplc.co.uk/policydocumentsservice/doclibrary.asmx/GetInsurerListDataSetByWebsite?&QuoteType='+QuoteType+'&QuoteSite='+QuoteSite);
	}
}
function showcodes(){
	InsurerCode		= $F('ddlInsurer');
	QuoteType		= $F('q');
	WebSchemesOnly	= $F('webschemesonly');
	makeRequestCode('/_resources/usercontrols/application.proxy.asp','?url=http://www.outrightplc.co.uk/policydocumentsservice/doclibrary.asmx/GetSchemeListByWebsite?QuoteType='+QuoteType+'&QuoteSite='+QuoteSite+'&InsurerCode='+InsurerCode);
}
function showpolicy(){
	if ($F('ddlInsurer') == ""){
		document.getElementById('eInsurer').innerHTML = 'Please select your insurer';
		return false;
	}
	$('lblDate2').innerHTML = '(' +  $F('ddlDocsDay') + ' ' + monthname($F('ddlDocsMonth')) + ' ' + $F('ddlDocsYear') + ')';
	toggle('copy1');
	toggle('copy2');
	toggle('step3');
	toggle('step4');
	PolDay 		= $F('ddlDocsDay');
	PolMonth 	= $F('ddlDocsMonth');
	PolYear 	= $F('ddlDocsYear');
	SchemeCode	= $F('ddlScheme');
	makeRequestPoli('/_resources/usercontrols/application.proxy.asp','?url=http://www.outrightplc.co.uk/policydocumentsservice/doclibrary.asmx/GetPolicyWording?PolDay='+PolDay+'&PolMonth='+PolMonth+'&PolYear='+PolYear+'&QuoteType='+QuoteType+'&SchemeCode='+SchemeCode);
	makeRequestKeyf('/_resources/usercontrols/application.proxy.asp','?url=http://www.outrightplc.co.uk/policydocumentsservice/doclibrary.asmx/GetKeyFacts?PolDay='+PolDay+'&PolMonth='+PolMonth+'&PolYear='+PolYear+'&QuoteType='+QuoteType+'&SchemeCode='+SchemeCode);
}
function toggle(divid){
	if (document.getElementById(divid).style.display == "block" || document.getElementById(divid).style.display == ""){
		document.getElementById(divid).style.display = "none";
	}else{
		document.getElementById(divid).style.display = "block";
	}
}

function makeRequestTerms(url, parameters) {
  xmldocTerms.open('GET', url + parameters, true);
  xmldocTerms.onreadystatechange = alertTerms;
  xmldocTerms.send(null);
}
function alertTerms() {
	if (xmldocTerms.readyState == 4) {
		if (xmldocTerms.status == 200) {
			var root 	= xmldocTerms.responseXML.getElementsByTagName("SecurePdfUrl")[0].firstChild.data;
			document.getElementById('lnkTOBA').href = root;
			//alert(root);
		}
	}
}

function makeRequestAbout(url, parameters) {
  xmldocAbout.open('GET', url + parameters, true);
  xmldocAbout.onreadystatechange = alertAbout;
  xmldocAbout.send(null);
}
function alertAbout() {
	if (xmldocAbout.readyState == 4) {
		if (xmldocAbout.status == 200) {
			var root 	= xmldocAbout.responseXML.getElementsByTagName("SecurePdfUrl")[0].firstChild.data;
			document.getElementById('lnkAOIS').href = root;
			//alert(root);
		}
	}
}

function makeRequestOpex(url, parameters) {
  xmldocOpex.open('GET', url + parameters, true);
  xmldocOpex.onreadystatechange = alertOpex;
  xmldocOpex.send(null);
}
function alertOpex() {
	if (xmldocOpex.readyState == 4) {
		if (xmldocOpex.status == 200) {
			var root 	= xmldocOpex.responseXML.getElementsByTagName("OptionalExtra");
			if(root.length > 0){
				stropex = "<h2>Optional extras</h2><ul class='pdf'>"
				for (i=0;i<root.length;i++)
				{
					var strtitle=  root[i].getElementsByTagName("OpexDesc")[0].firstChild.data;
					var strhref =  root[i].getElementsByTagName("SecurePdfUrl")[0].firstChild.data;
					stropex		= stropex + '<li><a href="'+strhref+'" title="'+strtitle+'" target="_blank" class="pdf">'+strtitle+'</a>';
				}
				stropex = stropex + '</ul>';
				document.getElementById('Opex').innerHTML = stropex;
			}
		}
	}
}

function makeRequestInsu(url, parameters) {
  xmldocInsu.open('GET', url + parameters, true);
  xmldocInsu.onreadystatechange = alertInsu;
  xmldocInsu.send(null);
}
function alertInsu() {
	if (xmldocInsu.readyState == 4) {
		if (xmldocInsu.status == 200) {
			var root 	= xmldocInsu.responseXML.getElementsByTagName("insurers");
				for (i=0;i<root.length;i++)
				{
					var strname	=  root[i].getElementsByTagName("CoName")[0].firstChild.data;
					var strcode =  root[i].getElementsByTagName("CoCode")[0].firstChild.data;
					document.getElementById('ddlInsurer').options[i+1] = new Option(strname,strcode);
				}
		}
	}
}

function makeRequestCode(url, parameters) {
  xmldocCode.open('GET', url + parameters, true);
  xmldocCode.onreadystatechange = alertCode;
  xmldocCode.send(null);
}
function alertCode() {
	if (xmldocCode.readyState == 4) {
		if (xmldocCode.status == 200) {
			//clear values
			for (i=0;i<document.getElementById('ddlScheme').options.length;i++){
				document.getElementById('ddlScheme').options[i] = null;
			}
			var root 	= xmldocCode.responseXML.getElementsByTagName("Scheme");
				for (i=0;i<root.length;i++)
				{
					var strcode =  root[i].getElementsByTagName("SchemeCode")[0].firstChild.data;
					document.getElementById('ddlScheme').options[i] = new Option(strcode,strcode);
				}
		}
	}
}

function makeRequestPoli(url, parameters) {
  xmldocPoli.open('GET', url + parameters, true);
  xmldocPoli.onreadystatechange = alertPoli;
  xmldocPoli.send(null);
}
function alertPoli() {
	if (xmldocPoli.readyState == 4) {
		if (xmldocPoli.status == 200) {
			var root 	= xmldocPoli.responseXML.getElementsByTagName("SecurePdfUrl")[0].firstChild.data;// + $F('ddlScheme') + '.pdf';
			document.getElementById('lnkPolWording').href = root;
			//alert(root);
		}
	}
}

function makeRequestKeyf(url, parameters) {
  xmldocKeyf.open('GET', url + parameters, true);
  xmldocKeyf.onreadystatechange = alertKeyf;
  xmldocKeyf.send(null);
}
function alertKeyf() {
	if (xmldocKeyf.readyState == 4) {
		if (xmldocKeyf.status == 200) {
			var root 	= xmldocKeyf.responseXML.getElementsByTagName("SecurePdfUrl")[0].firstChild.data;// + $F('ddlScheme') + '.pdf';
			document.getElementById('lnkKeyFacts').href = root;
			//alert(root);
		}
	}
}

function $F(str_var){
	var elements = document.getElementsByName(str_var);
	var el = elements[0];
	switch(el.type) {
		case 'text':   				return el.value; break
		case 'hidden':   			return el.value; break
		case 'select-one':  		return el.options[el.selectedIndex].value; break
		case 'select-multiple':  	return el.options[el.selectedIndex].value; break
		case 'radio':  				return get_selected(elements); break  
	}
}

function monthname(monthint){
	var monthname=new Array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec")
	return monthname[monthint-1];
}
