﻿/* Start main code (C) Landis media 2008 - Howard Williams */
/* updated 2011 Sept 29th for added new models to proCAB and proTOUR buying */
// Global addopts, checkhgvoption1, checkoption2, checkoption3, dcode, delopts, dflag, dvalu, hgvoption1desc, hgvoption1flag, hgvoption2flag, hgvoption3flag, i, list1, list2, list3, list4, modlist, modname, modoptdisplay, resetmessage, showhide, t, updateorder, workingcost, writing1, writing2
var list1=['Please select a model','TomTom GO 300','TomTom GO 500','TomTom GO 510','TomTom GO 520','TomTom GO 520 Music Edition','TomTom GO 520 T (Traffic)','TomTom GO 530','TomTom GO 530 Traffic','TomTom GO 540','TomTom GO 540 Traffic','TomTom GO 630','TomTom GO 650','TomTom GO 700','TomTom GO 7000 (Truck)','TomTom GO 7000 / 9000 (all models)','TomTom GO 710','TomTom GO 710(WORK)','TomTom GO 720','TomTom GO 720 T (Traffic)','TomTom GO 730','TomTom GO 730 Traffic','TomTom GO 740','TomTom GO 740 Traffic','TomTom GO 910','TomTom GO 920','TomTom GO 920 T','TomTom GO 930','TomTom GO 930 Traffic','TomTom GO 940','TomTom GO 940 Traffic','TomTom GO Classics','TomTom GO Live 550','TomTom GO Live 750','TomTom Go Live 950','TomTom Live Top Gear','TomTom NEW ONE (30 Series)','TomTom NEW ONE Regional','TomTom NEW ONE Regional Traffic','TomTom NEW XL (30 Series)','TomTom ONE 1st Edition','TomTom ONE 2nd Edition','TomTom ONE 3rd Edition','TomTom ONE Europe','TomTom ONE Europe 22 (new)','TomTom ONE Explore','TomTom One IQ routes','TomTom ONE New Edition Europe','TomTom ONE New Edition Regional','TomTom ONE Regional','TomTom ONE T Europe (Traffic)','TomTom ONE T Regional (Traffic)','TomTom ONE XL','TomTom ONE XL Europe','TomTom ONE XL HDT','TomTom ONE XL Regional','TomTom ONE XL S','TomTom XL IQ Routes Edition','TomTom XXL IQ routes Edition','TomTom DAIHATSU','TomTom ECLIPSE','TomTom NAVIGATOR 6','TomTom NAVIGATOR 6 on HP iPAQ','TomTom RIDER','TomTom RIDER (local)','TomTom RIDER 2nd Edition','TomTom TOYOTA'];
var list2=['-1','199028','199027','199026','199025','199024','199023','199022','199021','199020','199019','199056','199057','199018','199064','199065','199017','199016','199015','199014','199013','199012','199011','199010','199009','199008','199007','199006','199005','199004','199003','199002','199062','199063','199061','199066','199053','199052','199051','199050','199049','199048','199047','199046','199045','199044','199058','199043','199042','199041','199040','199039','199038','199037','199036','199035','199034','199059','199060','199030','199029','199055','199054','199033','199032','199031','199001'];

//var list3=['Please select a model','Garmin Colorado 300','Garmin Colorado 400c','Garmin Colorado 400i','Garmin Colorado 400t','Garmin eTrex Legend Cx','Garmin eTrex Venture Cx','Garmin eTrex Vista Cx','Garmin GPSMAP 496','Garmin GPSMAP 60CSx','Garmin GPSMAP 60Cx','Garmin GPSMAP 76CSx','Garmin GPSMAP 76Cx','Garmin iQue M3','Garmin iQue M4','Garmin nuvi 200','Garmin nuvi 200w','Garmin nuvi 205','Garmin nuvi 205t','Garmin nuvi 205w','Garmin nuvi 215','Garmin nuvi 215w','Garmin nuvi 250','Garmin nuvi 250w','Garmin nuvi 255','Garmin nuvi 255w','Garmin nuvi 260','Garmin nuvi 260w','Garmin nuvi 265t','Garmin nuvi 265wt','Garmin nuvi 270','Garmin nuvi 275t','Garmin nuvi 300','Garmin nuvi 310','Garmin nuvi 310t','Garmin nuvi 350','Garmin nuvi 360','Garmin nuvi 370','Garmin nuvi 500','Garmin nuvi 5000','Garmin nuvi 550','Garmin nuvi 600','Garmin nuvi 610','Garmin nuvi 650','Garmin nuvi 660','Garmin nuvi 670','Garmin nuvi 680','Garmin nuvi 750','Garmin nuvi 755t','Garmin nuvi 760','Garmin nuvi 760t','Garmin nuvi 765t','Garmin nuvi 770','Garmin nuvi 775t','Garmin nuvi 780','Garmin nuvi 785t','Garmin nuvi 850','Garmin nuvi 855','Garmin nuvi 865t','Garmin nuvi 880','Garmin nuvi 885t','Garmin nuvi 1200','Garmin nuvi 1210','Garmin nuvi 1240','Garmin nuvi 1300','Garmin nuvi 1300t','Garmin nuvi 1310','Garmin nuvi 1340','Garmin nuvi 1340t','Garmin nuvi 1370t','Garmin nuvi 1390t','Garmin nuvi 1490t','Garmin nuvi 1690','Garmin Oregon 300','Garmin Oregon 400c','Garmin Oregon 400i','Garmin Oregon 400t','Garmin Quest 2','Garmin StreetPilot 2720','Garmin StreetPilot 2730','Garmin StreetPilot 7200','Garmin StreetPilot 7500','Garmin StreetPilot c310','Garmin StreetPilot c320','Garmin StreetPilot c330','Garmin StreetPilot c340','Garmin StreetPilot c510','Garmin StreetPilot c550','Garmin StreetPilot c580','Garmin StreetPilot i2','Garmin StreetPilot i3','Garmin StreetPilot i5','Garmin zumo 450','Garmin zumo 500','Garmin zumo 550','Garmin nuvi 3790T','Garmin nuvi 3760T','Garmin nuvi 2460LT','Garmin nuvi 2440','Garmin nuvi 2350T','Garmin nuvi 2340','Garmin nuvi 2310','Garmin nuvi 2300','Garmin nuvi 2240','Garmin nuvi 2460LT','Garmin nuvi 2200','Garmin nuvi 2200T','Garmin nulink 1695','Garmin nuvi 1440','Garmin nuvi 1410'];
var list3=['Please select a model','Garmin Colorado 300','Garmin Colorado 400c','Garmin Colorado 400i','Garmin Colorado 400t','Garmin eTrex Legend Cx','Garmin eTrex Venture Cx','Garmin eTrex Vista Cx','Garmin GPSMAP 496','Garmin GPSMAP 60CSx','Garmin GPSMAP 60Cx','Garmin GPSMAP 76CSx','Garmin GPSMAP 76Cx','Garmin iQue M3','Garmin iQue M4','Garmin nüvi 200','Garmin nüvi 200w','Garmin nüvi 205','Garmin nüvi 205w','Garmin nüvi 250','Garmin nüvi 250w','Garmin nüvi 255','Garmin nüvi 255w','Garmin nüvi 260','Garmin nüvi 260w','Garmin nüvi 265t','Garmin nüvi 265wt','Garmin nüvi 270','Garmin nüvi 275t','Garmin nüvi 300','Garmin nüvi 310','Garmin nüvi 350','Garmin nüvi 360','Garmin nüvi 370','Garmin nüvi 500','Garmin nüvi 5000','Garmin nüvi 550','Garmin nüvi 600','Garmin nüvi 610','Garmin nüvi 650','Garmin nüvi 660','Garmin nüvi 670','Garmin nüvi 680','Garmin nüvi 750','Garmin nüvi 755t','Garmin nüvi 760','Garmin nüvi 765t','Garmin nüvi 770','Garmin nüvi 775t','Garmin nüvi 780','Garmin nüvi 785t','Garmin nüvi 850','Garmin nüvi 855','Garmin nüvi 880','Garmin nüvi 885t','Garmin Oregon 300','Garmin Oregon 400c','Garmin Oregon 400i','Garmin Oregon 400t','Garmin Quest 2','Garmin StreetPilot 2720','Garmin StreetPilot 2730','Garmin StreetPilot 7200','Garmin StreetPilot 7500','Garmin StreetPilot c310','Garmin StreetPilot c320','Garmin StreetPilot c330','Garmin StreetPilot c340','Garmin StreetPilot c510','Garmin StreetPilot c550','Garmin StreetPilot c580','Garmin StreetPilot i2','Garmin StreetPilot i3','Garmin StreetPilot i5','Garmin zumo 450','Garmin zumo 500','Garmin zumo 550','Garmin zumo 865t','Garmin nüvi 760t','Garmin nüvi 310t','Garmin nüvi 215','Garmin nüvi 215w','Garmin nüvi 250t','Garmin nüvi 1690','Garmin nüvi 1490t','Garmin nüvi 1390t','Garmin nüvi 1370t','Garmin nüvi 1340t','Garmin nüvi 1340','Garmin nüvi 1310','Garmin nüvi 1300','Garmin nüvi 1300t','Garmin nüvi 1240','Garmin nüvi 1210','Garmin nüvi 1200','Garmin nüvi 3760t','Garmin nüvi 3790t','Garmin nuvi 2460T','Garmin nuvi 2440','Garmin nuvi 2460LT','Garmin nuvi 2350','Garmin nuvi 2340','Garmin nuvi 2350T','Garmin nuvi 2310','Garmin nuvi 2300T','Garmin nuvi 2200T','Garmin nuvi 2200','Garmin nulink 1695T','Garmin nuvi 1490TV','Garmin nuvi 1440','Garmin nuvi 1410','Garmin nuvi (all others)','Garmin Nuvi 465T (Truck)','Garmin Nuvi 465TF (Truck Fleet)','Garmin dezl 560LT','Garmin Nuvi 2240','Garmin Nuvi 2300 (L/LT/etc)','Garmin Nuvi 2360(L/LT etc)','Garmin Nulink 2320','Garmin Nulink 2340','Garmin Nulink 2390','Garmin Nuvi 2440','Garmin Nuvi (all other models)','Garmin NULink (all other models)'];
var list4=['Please select a model','299001','299002','299003','299004','299005','299006','299007','299008','299009','299010','299011','299012','299013','299014','299015','299016','299017','299018','299019','299020','299021','299022','299023','299024','299025','299026','299027','299028','299029','299030','299031','299032','299033','299034','299035','299036','299037','299038','299039','299040','299041','299042','299043','299044','299045','299046','299047','299048','299049','299050','299051','299052','299053','299054','299055','299056','299057','299058','299059','299060','299061','299062','299063','299064','299065','299066','299067','299068','299069','299070','299071','299072','299073','299074','299075','299076','299077','299078','299079','299080','299081','299082','299083','299084','299085','299086','299087','299088','299089','299090','299091','299092','299093','299094','299095','299096','299097','299098','299099','299100','299101','299102','299103','299104','299105','299106','299107','299108','299109','299110','299111','299112','299113','299114','299115','299116','299117','299118','299119','299120','299121','299122','299123'];


//var list4=['-1','299001','299002','299003','299004','299005','299006','299007','299008','299009','299010','299011','299012','299013','299014','299015','299016','299017','299082','299018','299080','299081','299019','299020','299021','299022','299023','299024','299025','299026','299027','299028','299029','299030','299079','299031','299032','299033','299034','299035','299036','299037','299038','299039','299040','299041','299042','299043','299044','299045','299078','299046','299047','299048','299049','299050','299051','299052','299077','299053','299054','299094','299093','299092','299090','299091','299089','299088','299087','299086','299085','299084','299083','299055','299056','299057','299058','299059','299060','299061','299062','299063','299064','299065','299066','299067','299068','299069','299070','299071','299072','299073','299074','299075','299076','299077','299078','299079','299080','299081','299082','299083','299084','299085','299086','299087','299088','299089','299090','299091'];
var list5=['Please select a model','Navman B10','Navman F20','Navman F20','Navman F20 Europe','Navman F30','Navman F30','Navman F40','Navman F40 Europe','Navman F50','Navman F50','Navman iCN 320','Navman iCN 330','Navman iCN 520','Navman iCN 530','Navman iCN 550','Navman iCN 720','Navman iCN 750','Navman iCN510','Navman iCN520','Navman iCN530','Navman iCN550','Navman iCN610','Navman iCN620','Navman iCN630','Navman iCN635','Navman iCN650','Navman iCN720','Navman iCN750','Navman N20','Navman N20','Navman N40i','Navman N40i','Navman N60i','Navman N60i','Navman PiN 570','Navman PIN300','Navman PIN570','Navman Pocket PC (V3 and newer)','Navman S100','Navman S200 Europe','Navman S30 (with Navdesk Custom POI)','Navman S30 3D (with Navdesk Custom POI)','Navman S300T','Navman S50','Navman S50','Navman S50 3D','Navman S70','Navman S70','Navman S70 3D','Navman S80','Navman S90i','Navman S90i','Navman Panoramic','Navman/Mio any using Custom POI' ];
var list6=['-1','399001','399002','399003','399004','399005','399006','399007','399008','399009','399010','399011','399012','399013','399014','399015','399016','399017','399018','399019','399020','399021','399022','399023','399024','399025','399026','399027','399028','399029','399030','399031','399032','399033','399034','399035','399036','399037','399038','399039','399040','399041','399042','399043','399044','399045','399046','399047','399048','399049','399050','399051','399052','399053','399054'];

var list7=['Please select a model','Autoroute Other','Autoroute 2006','Autoroute 2007','Autoroute 2008'];
var list8=['-1','499001','499002','499003','499004'];

var list9=['Please select a model','TomTom Start 25','TomTom Start  20','TomTom START (All Models)','TomTom Go Live 825','TomTom GO LIVE 2505','TomTom GO LIVE 2405','TomTom GO LIVE 1000','TomTom GO LIVE 1005','TomTom GO LIVE (all others)','TomTom VIA LIVE 125','TomTom VIA LIVE 120','TomTom VIA 180','TomTom VIA 125','TomTom VIA 115','TomTom VIA 160','TomTom VIA 120','TomTom VIA 110','TomTom VIA (all others)','TomTom PRO 7150','TomTom PRO 7100'];
var list10=['-1','599015','599014','599022','599019','599011','599010','599009','599016','599017','599008','599007','599006','599005','599004','599003','599002','599001','599018','599013','599012'];

var modname=["TOMTOMG","TOMTOMV","GARMIN","NAVMAN","AUTOROUTE"];
var modlist=[list1,list9,list3,list5,list7];
var modcodes=[list2,list10,list4,list6,list8];

var item_code=['PCPTT','PCPTV','PCPGAR','PCPNAV','PCPAUT'];
var modoptdisplay = ["show","show","show","hide","hide"]; // this is the status for option 1 depending on the selection in this case a manual
// discos
var dcode=['AYESHA','ARSENAL','BOGWHOPPIT','FLEMING','FLEMMING','SHELLEY','KEATS','BYRON','INFODUS','GAGOOL','DRAKE','HWTEST','MERIBEL','SUSAN','CONAN','SAMBO','ROXTON','PALIN','CASTAWAY','TRUCKFEST','GAFFER'];
var dvalu=['10','10','10','20','20','10','10','10','10','20','20','54.78','25','25','10','25','5','25','5','5','5'];
var dcodeid=['11','11','11','12','12','11','11','11','11','12','12','13','14','14','15','19','17','18','20','21','17'];
// options
var hgvoption1flag = false; // this is because its hidden as default 
var hgvoption2flag = false; // this is because its hidden as default 
var hgvoption3flag = false; // this is because its hidden as default 
var orderready = false;
var hgvoption1desc = "Printed Color User Guide and Drivers Tips";
var hgvhorusdesc = "FREE UNLIMITED DOWNLOADS during membership";
var hgvhorusflag = false; // this is for horus discount dummy
var i;
var t;
var writing1 =''; // initialise writing
var writing2 =''; // initialise writing
var resetmessage="Please select a model and make";
var dflag=false;
var workingcost = 50;	// this is the base temp money setup  - must be set hyere or will keep rising
var ordersum ='';
var ditem;
var sitem;
var howfound='';
var listuse;
var codeuse;
var modtypelist;
var damnt;
var dcodeidtmp;


// this option removes select items
function delopts(selectbox)
{
	for(i=selectbox.options.length-1;i>=0;i-=1)
	{
		//selectbox.options.remove(i);
		selectbox.remove(i);
	}
}

// this adds itmes to a listbox
function addopts(selectbox, valuein, textin )
{
	var optn = document.createElement("OPTION");
	optn.text = textin;
	optn.value = valuein;
	selectbox.options.add(optn);
}


function writeorder (messobj,messg){
document.getElementById(messobj).innerHTML = messg; // apply writing to the printout area
//document.getElementById('orderdesc').style.align="left"; // align it left
return;
}

function resetorder () {
writeorder('orderdesc',resetmessage);
writeorder('totalcost',"Total Cost= &pound;" );
//alert(document.mainform.cdmake.value);
delopts(document.getElementById("modeltypeid"));
addopts(document.getElementById("modeltypeid"),"default","Please select your brand");
orderready=false;
return;
}






// this turns an option or off
function showhide (obj,state) {
if (state === "show") {document.getElementById(obj).style.display = "block"; return;} else {document.getElementById(obj).style.display = "none"; return;}
}


// code for checking an option
function checkhgvoption1 () {
// first is if its visible or not other option may hide or show this
			if (document.getElementById("hgvoption1id").style.display === "block")
			{
			// do this if its visible
	// this option is a checkbox type
	if (document.getElementById("hgvoption1inputid").checked === true)
	{
	// do this if it is  checked
	//alert("OPTION1 CHECKBOX IS CHECKED AND IS VISIBLE");
	hgvoption1flag = true;
	workingcost +=4.99;
	document.mainform.hgvoptionscode.value = 'M';
	}
	else
	{
	// do this if not checked
	//	alert("OPTION1 CHECKBOX IS not CHECKED AND IS VISIBLE");
	hgvoption1flag = false;
	document.mainform.hgvoptionscode.value = '';
	}	
			}				
			else 
			{
// do this if the option box is hidden
			//alert("OPTION1 CHECKBOX IS not VISIBLE");
	hgvoption1flag = false;
	document.mainform.hgvoptionscode.value = '';
			}
			return;
}

//placeholder
function checkoption2 () {
	if (document.mainform.hgvoption2input.selectedIndex===0 )
	{alert("Please select how you found us before you checkout");hgvoption2flag=false;return;}
	else
	{howfound = document.mainform.hgvoption2input.value;hgvoption2flag=true;document.mainform.os1.value = howfound;}
return(true);
}

function checkoption3 () {
}

function checkformakemodel () {

// if the user hasnt selected a make or model they are asked to
if (document.mainform.cdmake.selectedIndex===0)  {resetorder();alert("Please select a satnav brand first");return(false);}

// if the user hasnt selected a model they are asked to
if (document.mainform.modeltype.selectedIndex===0) {alert("Please select a " + document.mainform.cdmake.value + " model");return(false);}

// if the cd rom isnt checked the its download
return(true);
}



function checkforfilling(){
// check the satnav make and model have been chosen
if (checkformakemodel() !== true){return;}

// check for the way they found us being chosen
if (checkoption2() !== true){return;}

// if all is correct then make sure order is ready
//alert("setting ordeready to true");
orderready = true;
return;
}



// this is the main update order routing - called to check all selections
function updateorder(){
workingcost = 50;
// this is the base cost used for the item
// alert("temp cost = " + temcost);

if (document.getElementById("cdrom").checked !== true)  // this checks and flags the cdrom over
{
//alert('SUCCESS - DOWNLOAD APPLIED');
//document.getElementById("checkoutbuttons").style.display="block";  left behind to turn on and off checkout
document.mainform.shipping.value="0"; // set shipping to nothing
document.mainform.delivery.value="DOWNLOAD"; // set text description to download
showhide("downloadicon","show");
showhide("cdromicon","hide");
document.mainform.hgvformatcode.value ='DL';
}
else {
//alert('SUCCESS - CD ROM APPLIED');
//document.getElementById("checkoutbuttons").style.display="block"; as above
document.mainform.shipping.value="3.99"; // set shiiping to 3.99
//temcost += 3.99; // add shipping to the temp cost
document.mainform.delivery.value="CD-ROM (3.99 for P&P)";
showhide("downloadicon","hide");
showhide("cdromicon","show");
document.mainform.hgvformatcode.value ='CD';
}

// now for themanual if they have selected a model that will make it visible
checkhgvoption1();

// check for a discount
if (document.mainform.disco.value !== "OFF") {workingcost -= document.mainform.disco.value;} // apply the discount value from code used
document.mainform.tempcost.value = Math.round(workingcost*100)/100;

// writing is below
writing1 = "PRODUCT: <b>proCAB PLUS<\/b> MAKE:<b>" + document.mainform.cdmake.value.toUpperCase() + "<\/b><br/>";
writing1 += document.mainform.cdmake.value.toUpperCase() + " MODEL: <b>" + document.mainform.modeltype.value.toUpperCase() + "<\/b><br/>";
writing1 += "SUPPLIED ON A: <b>" + document.mainform.delivery.value + "<\/b><br/>";
if (hgvoption1flag === true) {writing1 += "OPTION: <b>" + hgvoption1desc + "<\/b><br/>";}
if (hgvhorusflag === true) {writing1 += "OFFER: <b>" + hgvhorusdesc + "<\/b><br/>";}
writing2 = "Total Cost= &pound;" + document.mainform.tempcost.value;
writeorder('orderdesc',writing1); // write to screen
writeorder('totalcost',writing2); // write to screen


// write ready for submit

ordersum = "Product: proCAB PLUS" + " Make:" +  document.mainform.cdmake.value.toUpperCase() + " Model:" + document.mainform.modeltype.value.toUpperCase() + " Supplied: " + document.mainform.delivery.value; 

document.mainform.custom.value = "0";
if (document.mainform.disco.value !== "OFF") {document.mainform.custom.value = document.mainform.discountid.value;} // apply the discount value from code used
document.mainform.on0.value = "Voucher: " + ditem;
document.mainform.on1.value = document.mainform.delivery.value;
//document.mainform.os0.value = document.mainform.cdmake.value.toUpperCase() + " Model:" + document.mainform.modeltype.value.toUpperCase();//
document.mainform.os0.value = document.mainform.modeltype.value.toUpperCase();
document.mainform.item_number.value = document.mainform.hgvmodelcode.value + document.mainform.hgvformatcode.value + document.mainform.hgvoptionscode.value;
//alert(document.mainform.item_number.value);
//document.mainform.item_name.value = ordersum; // chnaged for testing with ukp
//document.mainform.item_name.value = 'proCAB PLUS item:PTDM';
// test remove this if (hgvoption1flag === true) {document.mainform.item_name.value += hgvoption1desc;document.mainform.os1.value += hgvoption1desc;}
document.mainform.item_name.value =  "proCAB PLUS" + " for " +  document.mainform.cdmake.value.toUpperCase();
document.mainform.amount.value = document.mainform.tempcost.value;

//document.mainform.os2.if (document.mainform.os2.checked = true) {alert(document.mainform.os2.checked.value);};
//document.getElementById('orderdesc').innerHTML = "hello";
// write the return address


//test  chnage - if a dowenload then chnage return page - taken out
//if (document.getElementById("cdrom").checked !== true)  // this checks and flags the cdrom over
//{document.getElementById('preturn').value="http://www.hgvsolutions.com/success_pcplus"+ sitem.substr(0,3).toLowerCase() +"dl.htm";}

// set order ok to false so will go true once verified form
orderready=false;
//checkoption2();
}




// this applies the relevant dropdowns - the manual is turned on and off by this
function hgvselections () 
{
sitem = document.mainform.cdmake.value;
for (i=0;i<modname.length;i+=1){
if(modname[i]===sitem){
listuse = modlist[i];
codeuse = modcodes[i];
modtypelist = document.getElementById("modeltypeid");
    
//alert("got here and the option used is " + modoptdisplay[i]);				

showhide("hgvoption1id",modoptdisplay[i]); // shows or hides option 1 as per model
document.mainform.hgvmodelcode.value =  item_code[i];
delopts(modtypelist);
for (t=0;t<listuse.length;t+=1){addopts(modtypelist,codeuse[t],listuse[t]);}
updateorder();
return;
}		
}
resetorder();
updateorder();
return;
}



// this applies the relevant dropdowns - the manual is turned on and off by this
function checkdiscount ()
{

if ((dflag) || (hgvhorusflag)){alert("You have already applied a discount code");document.mainform.voucher.value = "";return;}

ditem = document.mainform.voucher.value.toUpperCase();
//blank out the value in box - then tell them they have itreturn;}
//if ((document.mainform.voucher.value ==="") || (document.mainform.voucher.value === "undefined" )) {alert("Please enter a code in the box");return;}

// special horus frig voucher
//if (ditem ==="HORUS") {hgvhorusflag=true;alert("SUCCESS - you will be given unlimited downloads during your membership");return;}

if ((document.mainform.voucher.value ==="") || (document.mainform.voucher.value === "undefined" )) {return;}
for (i=0;i<dcode.length;i+=1){if(dcode[i]===ditem){dflag=true;damnt=dvalu[i];dcodeidtmp = dcodeid[i];}}
if (dflag){
alert('SUCCESS - you have been discounted ' + damnt +" pounds and also have unlimited downloads during your membership");
document.mainform.disco.value = damnt; // apply the discount value to input field so no more can be used
document.mainform.discountid.value = dcodeidtmp;
// also award them unlimited so dont feel left out of things    
hgvhorusflag=true;
document.mainform.voucher.value = ""; //blank out the value in box
//	alert("Disco is " + document.mainform.disco.value);
updateorder(); // now update the order to hsow juicy new discount 
return;
}
else
{
// havent used a proper discount code but we will award them something to get a checkout
// also award them unlimited so dont feel left out of things    
hgvhorusflag=true;
document.mainform.voucher.value = ""; //blank out the value in box - then tell them they have it
alert("OFFER SUCCESS - Your Special Discount Offer has been added\nUNLIMITED DOWNLOADS have been added (worth £10)\n");
updateorder(); // now update the order to hsow juicy new discount 
}

}		

function subform () {
updateorder();
//alert("form submit has been called");

if ((!dflag) && (!hgvhorusflag)){checkdiscount();updateorder();}

//alert("done calling the discount checker");
 // now update the order    

checkforfilling();
//alert("got here to checkout and orderready is = " + orderready);
if (orderready===true){document.mainform.submit();return;}
}



