function getXMLHTTP() {
	var XMLHttp=false;
	if (window.XMLHttpRequest) {
		XMLHttp = new XMLHttpRequest();
	} else if (window.ActiveXObject) {
		XMLHttp = new ActiveXObject("Microsoft.XMLHTTP");	
	}	
 return XMLHttp;
}

function CatChangeQL() {
	var cat;
	for (var i=0; i<document.phone_finder.category.length; i++)  {
		if (document.phone_finder.category[i].checked)  {
			cat = document.phone_finder.category[i].value;
		}
	}
	var strURL	="http://www.affordablemobiles.co.uk/site_inc/ModelsQL.inc.php?search=1&catchange=1&cat="+cat;
	var req		= getXMLHTTP();
    if (req) {
		req.onreadystatechange = function() {
			if (req.readyState === 4) { document.getElementById('phone_finder_makes').innerHTML=req.responseText; ModelQL(); }
		}
		req.open("GET", strURL, true); 
		req.send(null);
	}
}

function CatChangeNet() {
	var cat;
	for (var i=0; i<document.network_finder.category.length; i++)  {
		if (document.network_finder.category[i].checked)  {
			cat = document.network_finder.category[i].value;
		}
	}
	var strURL	="http://www.affordablemobiles.co.uk/site_inc/ModelsQL.inc.php?search=1&network=1&cat="+cat;
	var req		= getXMLHTTP();
    if (req) {
		req.onreadystatechange = function() {
			if (req.readyState === 4) { 
				document.getElementById('network_finder_net').innerHTML=req.responseText; 
				if (cat == "payasyougo") { cat = "prepay"; }
				document.network_finder.action = 'http://www.affordablemobiles.co.uk/'+cat+'-mobile-phones/advanced-search.html';
			}
		}
		req.open("GET", strURL, true); 
		req.send(null);
	}
}

function ModelQL() {
	var cat;
	for (var i=0; i<document.phone_finder.category.length; i++)  {
		if (document.phone_finder.category[i].checked)  { cat = document.phone_finder.category[i].value; }
	}
	var man		= document.phone_finder.man.value;
	var strURL	="http://www.affordablemobiles.co.uk/site_inc/ModelsQL.inc.php?search=1&cat="+cat+"&man="+man;
	var req		= getXMLHTTP();
    if (req) {
		req.onreadystatechange = function() {
			if (req.readyState === 4) { 
				document.getElementById('phone_finder_models').innerHTML=req.responseText;
				if (cat == "contract") { cat = "contract-mobile-phones"; }
				if (cat == "payasyougo") { cat = "prepay-mobile-phones"; }
				if (man == "") { document.phone_finder.action = 'http://www.affordablemobiles.co.uk/'+cat+'/advanced-search.html';
				} else { document.phone_finder.action = 'http://www.affordablemobiles.co.uk/'+cat+'/advanced-search/'+man+'-mobile-phones.html'; }
			}
		}
		req.open("GET", strURL, true); 
		req.send(null);
	}
}

function getResults(selected,unselected) {	
	
	var man		= document.refine.man.value;
	var mod		= document.refine.mod.value;
//	var tar		= document.refine.tar.value;
	var col		= document.refine.col.value;
	var rent	= document.refine.rent.value;
	var len		= document.refine.len.value;
	var nwk		= document.refine.nwk.value;
	var gift	= document.refine.gift.value;
	var pn		= document.refine.pn.value;
	var maxpage	= document.refine.maxpage.value;
	// &tar="+tar+"
	
	var strURL	="http://www.affordablemobiles.co.uk/site_inc/ContractDeals.inc.php?man="+man+"&mod="+mod+"&col="+col+"&rent="+rent+"&len="+len+"&nwk="+nwk+"&gift="+gift+"&pn="+pn+"&maxpage="+maxpage+"&search=1&selected="+selected+"&unselected="+unselected;
    var req		= getXMLHTTP();
	
    if (req) {
		req.onreadystatechange = function() {
			if (req.readyState != 4) {
				document.getElementById('wait').style.display = "block";
				document.getElementById('searchbox').style.display = "none";
			} else {
				document.getElementById('searchbox').innerHTML=req.responseText;
				displayContract(document.getElementById('filename').value);
				document.getElementById('searchbox').style.display = "block";
				document.getElementById('wait').style.display = "none";
				/*window.location.hash="search"; */
			}
		}
		req.open("GET", strURL, true); 
		req.send(null);
	}
}

function getSearch() {	
	var man		= document.refine.man.value;
	var mod		= document.refine.mod.value;
	var col		= document.refine.col.value;
	var rent	= document.refine.rent.value;
	var len		= document.refine.len.value;
	var nwk		= document.refine.nwk.value;
	var gift	= document.refine.gift.value;
	var pn		= document.refine.pn.value;
	var maxpage	= document.refine.maxpage.value;
	var amount	= document.refine.amount.value;
	var strURL	="http://www.affordablemobiles.co.uk/site_inc/ContractResults.inc.php?man="+man+"&mod="+mod+"&col="+col+"&rent="+rent+"&len="+len+"&nwk="+nwk+"&gift="+gift+"&pn="+pn+"&maxpage="+maxpage+"&amount="+amount+"&search=1&main=1";
    var req		= getXMLHTTP();
	
    if (req) {
		req.onreadystatechange = function() {
			if (req.readyState != 4) {
				document.getElementById('wait').style.display = "block";
				document.getElementById('searchbox').style.display = "none";
			} else {
				document.getElementById('ContractResults').innerHTML=req.responseText;
				document.getElementById('searchbox').style.display = "block";
				document.getElementById('wait').style.display = "none";
				window.location.hash="results"; 
			}
		}
		req.open("GET", strURL, true); 
		req.send(null);
	}
}

function getBroadbandResults(selected,unselected){
	var rent	= document.refine.rent.value;
	var len		= document.refine.len.value;
	var colour	= document.refine.col.value;
	var gift	= document.refine.gift.value;
	var pn		= document.refine.pn.value;
	var maxpage	= document.refine.maxpage.value;
	
	var strURL	="http://www.affordablemobiles.co.uk/site_inc/BroadbandDeals.inc.php?col="+colour+"&rent="+rent+"&len="+len+"&gift="+gift+"&pn="+pn+"&maxpage="+maxpage+"&search=1&selected="+selected+"&unselected="+unselected;
    var req		= getXMLHTTP();
	
    if (req) {
		req.onreadystatechange = function() {
			if (req.readyState != 4) {
				document.getElementById('wait').style.display = "block";
				document.getElementById('searchbox').style.display = "none";
			} else {
				document.getElementById('searchbox').innerHTML=req.responseText;
				displayBroadband(document.getElementById('filename').value);
				document.getElementById('searchbox').style.display = "block";
				document.getElementById('wait').style.display = "none";
				//getBroadbandSearch();
			}
		}
		req.open("GET", strURL, true); 
		req.send(null);
	}
}

function getBroadbandSearch() {
	var rent	= document.refine.rent.value;
	var len		= document.refine.len.value;
	var colour	= document.refine.col.value;
	var gift	= document.refine.gift.value;
	var pn		= document.refine.pn.value;
	var maxpage	= document.refine.maxpage.value;
	var amount	= document.refine.amount.value;
	var strURL	="http://www.affordablemobiles.co.uk/site_inc/BroadbandResults.inc.php?col="+colour+"&rent="+rent+"&len="+len+"&gift="+gift+"&pn="+pn+"&maxpage="+maxpage+"&amount="+amount+"&search=1&main=1";
    var req		= getXMLHTTP();
	
    if (req) {
		req.onreadystatechange = function() {
			if (req.readyState != 4) {
				document.getElementById('wait').style.display = "block";
				document.getElementById('searchbox').style.display = "none";
			} else {
				document.getElementById('BroadbandResults').innerHTML=req.responseText;
				document.getElementById('searchbox').style.display = "block";
				document.getElementById('wait').style.display = "none";
				window.location.hash="results"; 
			}
		}
		req.open("GET", strURL, true); 
		req.send(null);
	}
}

function getPAYGResults(selected,unselected) {
	var man		= document.refine.man.value;
	var mod		= document.refine.mod.value;
	var col		= document.refine.col.value;
	var rent	= document.refine.rent.value;
	var nwk		= document.refine.nwk.value;
	var pn		= document.refine.pn.value;
	var maxpage	= document.refine.maxpage.value;
	var strURL	="http://www.affordablemobiles.co.uk/site_inc/PAYGDeals.inc.php?man="+man+"&mod="+mod+"&col="+col+"&rent="+rent+"&nwk="+nwk+"&pn="+pn+"&maxpage="+maxpage+"&search=1&selected="+selected+"&unselected="+unselected;
    var req		= getXMLHTTP();
	
    if (req) {
		req.onreadystatechange = function() {
			if (req.readyState != 4) {
				document.getElementById('wait').style.display = "block";
				document.getElementById('searchbox').style.display = "none";
			} else {
				document.getElementById('searchbox').innerHTML=req.responseText;
				displayPAYG(document.getElementById('filename').value);
				document.getElementById('searchbox').style.display = "block";
				document.getElementById('wait').style.display = "none";
			}
		}
		req.open("GET", strURL, true); 
		req.send(null);
	}
}

function getPAYGSearch() {	
	
	var man		= document.refine.man.value;
	var mod		= document.refine.mod.value;
	var col		= document.refine.col.value;
	var rent	= document.refine.rent.value;
	var nwk		= document.refine.nwk.value;
	var pn		= document.refine.pn.value;
	var maxpage	= document.refine.maxpage.value;
	var amount	= document.refine.amount.value;
	var strURL	="http://www.affordablemobiles.co.uk/site_inc/PAYGResults.inc.php?man="+man+"&mod="+mod+"&col="+col+"&rent="+rent+"&nwk="+nwk+"&pn="+pn+"&maxpage="+maxpage+"&amount="+amount+"&search=1&main=1";
    var req		= getXMLHTTP();
	
    if (req) {
		req.onreadystatechange = function() {
			if (req.readyState != 4) {
				document.getElementById('wait').style.display = "block";
				document.getElementById('searchbox').style.display = "none";
			} else {
				document.getElementById('PAYGResults').innerHTML=req.responseText;
				document.getElementById('searchbox').style.display = "block";
				document.getElementById('wait').style.display = "none";
				window.location.hash="results"; 
			}
		}
		req.open("GET", strURL, true); 
		req.send(null);
	}
}

function getSIMFreeResults(selected,unselected) {
	var man		= document.refine.man.value;
	var mod		= document.refine.mod.value;
	var col		= document.refine.col.value;
	var rent	= document.refine.rent.value;
	var pn		= document.refine.pn.value;
	var maxpage	= document.refine.maxpage.value;
	var strURL	="http://www.affordablemobiles.co.uk/site_inc/SIMFreeDeals.inc.php?man="+man+"&mod="+mod+"&col="+col+"&rent="+rent+"&pn="+pn+"&maxpage="+maxpage+"&search=1&selected="+selected+"&unselected="+unselected;
    var req		= getXMLHTTP();
	
    if (req) {
		req.onreadystatechange = function() {
			if (req.readyState != 4) {
				document.getElementById('wait').style.display = "block";
				document.getElementById('searchbox').style.display = "none";
			} else {
				document.getElementById('searchbox').innerHTML=req.responseText;
				displaySIMFree(document.getElementById('filename').value);
				document.getElementById('searchbox').style.display = "block";
				document.getElementById('wait').style.display = "none";
			}
		}
		req.open("GET", strURL, true); 
		req.send(null);
	}
}

function getSIMFreeSearch() {	
	
	var man		= document.refine.man.value;
	var mod		= document.refine.mod.value;
	var col		= document.refine.col.value;
	var rent	= document.refine.rent.value;
	var pn		= document.refine.pn.value;
	var maxpage	= document.refine.maxpage.value;
	var amount	= document.refine.amount.value;
	var strURL	="http://www.affordablemobiles.co.uk/site_inc/SIMFreeResults.inc.php?man="+man+"&mod="+mod+"&col="+col+"&rent="+rent+"&pn="+pn+"&maxpage="+maxpage+"&amount="+amount+"&search=1&main=1";
    var req		= getXMLHTTP();
	
    if (req) {
		req.onreadystatechange = function() {
			if (req.readyState != 4) {
				document.getElementById('wait').style.display = "block";
				document.getElementById('searchbox').style.display = "none";
			} else {
				document.getElementById('SIMFreeResults').innerHTML=req.responseText;
				document.getElementById('searchbox').style.display = "block";
				document.getElementById('wait').style.display = "none";
				window.location.hash="results"; 
			}
		}
		req.open("GET", strURL, true); 
		req.send(null);
	}
}

function getAccessoryResults(selected,unselected) {
	
//	var cat		= document.refine.cat.value;
	var subcat	= document.refine.subcat.value;
	var man		= document.refine.man.value;
	var mod		= document.refine.mod.value;
	var rent	= document.refine.rent.value;
	var pn		= document.refine.pn.value;
	var maxpage	= document.refine.maxpage.value;
	// cat="+cat+"&
	var strURL	="http://www.affordablemobiles.co.uk/site_inc/AccessoryDeals.inc.php?sub="+subcat+"&man="+man+"&mod="+mod+"&rent="+rent+"&pn="+pn+"&maxpage="+maxpage+"&search=1&selected="+selected+"&unselected="+unselected;
    var req		= getXMLHTTP();
	
    if (req) {
		req.onreadystatechange = function() {
			if (req.readyState != 4) {
				document.getElementById('wait').style.display = "block";
				document.getElementById('searchbox').style.display = "none";
			} else {
				document.getElementById('searchbox').innerHTML=req.responseText;
				displayAccessories(document.getElementById('filename').value);
				document.getElementById('searchbox').style.display = "block";
				document.getElementById('wait').style.display = "none";
			}
		}
		req.open("GET", strURL, true); 
		req.send(null);
	}
}

function getAccessorySearch() {	
	
	var subcat	= document.refine.subcat.value;
	var man		= document.refine.man.value;
	var mod		= document.refine.mod.value;
	var rent	= document.refine.rent.value;
	var pn		= document.refine.pn.value;
	var maxpage	= document.refine.maxpage.value;
	var amount	= document.refine.amount.value;
	var strURL	="http://www.affordablemobiles.co.uk/site_inc/AccessoryResults.inc.php?sub="+subcat+"&man="+man+"&mod="+mod+"&rent="+rent+"&pn="+pn+"&maxpage="+maxpage+"&amount="+amount+"&search=1&main=1";
    var req		= getXMLHTTP();
    if (req) {
		req.onreadystatechange = function() {
			if (req.readyState != 4) {
				document.getElementById('wait').style.display = "block";
				document.getElementById('searchbox').style.display = "none";
			} else {
				document.getElementById('AccessoryResults').innerHTML=req.responseText;
				document.getElementById('searchbox').style.display = "block";
				document.getElementById('wait').style.display = "none";
				window.location.hash="results"; 
			}
		}
		req.open("GET", strURL, true); 
		req.send(null);
	}
}

function clearSelection(selection,category,unselect) {
	if (selection == 'all') {
		if (document.refine.man)	{ document.refine.man[0].value = 'null'; }
		if (document.refine.mod)	{ document.refine.mod[0].value = 'null'; }
		if (document.refine.nwk)	{ document.refine.nwk[0].value = 'null'; }
//		if (document.refine.tar)	{ document.refine.tar[0].value = 'null'; }
		if (document.refine.len)	{ document.refine.len[0].value = 'null'; }
		if (document.refine.rent)	{ document.refine.rent[0].value = 'null'; }
		if (document.refine.gift)	{ document.refine.gift[0].value = 'null'; }
//		if (document.refine.cat)	{ document.refine.cat[0].value = 'null'; }
		if (document.refine.subcat)	{ document.refine.subcat[0].value = 'null'; }
		if (document.refine.col)	{ document.refine.col[0].value = 'null'; }
	}
	if (selection == 'man') {
		document.refine.man[0].value = 'null';
		document.refine.mod[0].value = 'null';
		if (document.refine.subcat)
		{
//			document.refine.cat[0].value = 'null';
			document.refine.subcat[0].value = 'null';
			document.refine.rent[0].value = 'null';
		}
	}
	if (selection == 'mod') {
		document.refine.mod[0].value = 'null';
	}
	if (selection == 'rent') {
		if (document.refine.len) { document.refine.len[0].value = 'null'; }
		document.refine.rent[0].value = 'null';
	}
	if (selection == 'nwk') {
		if (document.refine.len) { document.refine.len[0].value = 'null'; }
		document.refine.rent[0].value = 'null';
		document.refine.nwk[0].value = 'null';
	}
	if (selection == 'gift') {
		document.refine.gift[0].value = 'null';
	}
	if (selection == 'sub') {
		document.refine.subcat[0].value = 'null';
	}
	if (selection == 'len') {
		document.refine.len[0].value = 'null';
	}
	if (selection == 'col') {
		document.refine.col[0].value = 'null';
	}
	
	if(category == 'getResults')			{ getResults('10',unselect); }
	if(category == 'getPAYGResults')		{ getPAYGResults('10',unselect); }
	if(category == 'getSIMFreeResults')		{ getSIMFreeResults('10',unselect); }
	if(category == 'getAccessoryResults')	{ getAccessoryResults('10',unselect); }
	if(category == 'getBroadbandResults')	{ getBroadbandResults('10',unselect); }
}

function openFile(category) {
	if(category == 'contract')		{ displayContract(document.getElementById('filename').value); }
	if(category == 'payg')			{ displayPAYG(document.getElementById('filename').value); }
	if(category == 'simfree')		{ displaySIMFree(document.getElementById('filename').value); }
	if(category == 'accessories')	{ displayAccessories(document.getElementById('filename').value); }
	if(category == 'broadband')		{ displayBroadband(document.getElementById('filename').value); }
}

function resetpn() {
	document.refine.pn.value = '1';
}

function getShow(value) {
	document.refine.pn.value = '1';
	document.refine.maxpage.value = value;
}

function displayContract(searchfile) {
	var str	= searchfile;
	// Split file information into category sections
	var ele = str.split("|");
	
	// Split individuals into arrays
	var makes			= ele[3].split(",");
	var makecount		= ele[4].split(",");
	var modelheader		= ele[5].split(",");
	var models			= ele[6].split(",");
	var modelcount		= ele[7].split(",");
	var networks		= ele[8].split(",");
	var networkcount	= ele[9].split(",");
	var contracts		= ele[10].split(",");
	var contractcount	= ele[11].split(",");
	var rentals			= ele[16].split(",");
	var rentalcount		= ele[17].split(",");
	var fg				= ele[20].split(",");
	var gifts			= ele[21].split(",");
	var giftcount		= ele[22].split(",");
	var amount			= ele[23];
	var colours			= ele[25].split(",");
	var colourcount		= ele[26].split(",");
	
	
	// add updated form into a string to display
	var	display  = "";
		display  = "<form name='refine' method='post' action='http://www.affordablemobiles.co.uk/contract-mobile-phones/advanced-search.html'>";
		display += "<input type='hidden' value='1' name='pn' id='pn' />";
		display += "<input type='hidden' value='"+amount+"' name='amount' id='amount' />";
		display += "<table width='500' border='0' cellspacing='0' cellpadding='0' align='center'>";
		display += "<tr><td class='refine_ddbox' width='185' align='left'>";
		display += displayMake(makes,makecount,'getResults');
		display += "<td class='refine_ddbox' width='175' align='left'>";
		if(makes.length > 1) {
			display += displayInitModel();
		} else {
			display += displayModel(models,modelcount,'getResults');
		}
		display += "<td class='refine_ddbox' width='140' align='left'>";
		display += displayColour(colours,colourcount,'getResults');
		display += "</tr>";
		display += "<tr><td class='refine_ddbox' width='185' align='left'>";
		display += displayNetwork(networks,networkcount,'getResults');
		display += "<td class='refine_ddbox' width='160' align='left'>";
		display += displayContractLength(contracts,contractcount,'getResults');
		display += "<td class='refine_ddbox' width=145' align='left'>";
		display += displayRental(rentals,rentalcount,'getResults');
		display += "</tr>";
		display += "<tr><td class='refine_ddbox' width='385' colspan='3' align='left'>";
		display += displayGift(gifts,fg,giftcount,'getResults');
		display += "</tr>";
		display += "<tr><td colspan ='3' class='refine_sep_line'>&nbsp;</td></tr>";
		display += "<tr><td colspan='3'>&nbsp;</td></tr>";
		display += "<tr><td class='refine_matches' align='left'><b>"+amount+"</b>&nbsp;Matches.</td>";
		display += "<td colspan='2' class='refine_ddbox'>";
		display += "<span style='float:left; margin: 2px auto auto auto;'>";
		display += "<select name='maxpage' id='maxpage' style='width: 100px;' onchange='resetpn();'>";
		display += "<option value='10' selected='selected'> Show 10</option>";
		display += "<option value='25'>Show 25</option><option value='50'>Show 50</option></select></span>";
		display += "<span class='refine_update_button' style='width:98px;'><a href=\"#\" onclick=\"getSearch();\"> &nbsp; ";
		display += "</a></span>";
		display += "<span class='refine_cancel_button' style='width:82px;'><a href=\"#\" onclick=\"clearSelection('all','getResults', '11');\"> &nbsp; ";
		display += "</a></span>";
		display += "</td></tr></table>";
		display += "</form>";
	document.getElementById('searchbox').innerHTML=display;
}

function displayPAYG(searchfile) {
	var str	= searchfile;
	// Split file information into category sections
	var ele = str.split("|");
	// Split individuals into arrays
	var makes			= ele[3].split(",");
	var makecount		= ele[4].split(",");
	var modelheader		= ele[5].split(",");
	var models			= ele[6].split(",");
	var modelcount		= ele[7].split(",");
	var networks		= ele[8].split(",");
	var networkcount	= ele[9].split(",");
	var contracts		= ele[10].split(",");
	var contractcount	= ele[11].split(",");
	var tariffheader	= ele[12].split(",");
	var len				= ele[13].split(",");
	var tariffs			= ele[14].split(",");
	var tariffcount		= ele[15].split(",");
	var rentals			= ele[16].split(",");
	var rentalcount		= ele[17].split(",");
	var amount			= ele[23];
	var colours			= ele[24].split(",");
	var colourcount		= ele[25].split(",");
	
	// add updated form into a string to display
	var	display  = "<form name='refine' method='post' action='http://www.affordablemobiles.co.uk/payasyougo/advanced-search.html'>";
		display += "<input type='hidden' value='1' name='pn' id='pn' />";
		display += "<input type='hidden' value='"+amount+"' name='amount' id='amount' />";
		display += "<table width='500' border='0' cellspacing='0' cellpadding='0' align='center'>";
		display += "<tr><td class='refine_ddbox' width='185' align='left'>";
		display += displayMake(makes,makecount,'getPAYGResults');
		display += "<td class='refine_ddbox' width='175' align='left'>";
		if(makes.length > 1) {
			display += displayInitModel();
		} else {
			display += displayModel(models,modelcount,'getPAYGResults');
		}
		display += "<td class='refine_ddbox width='160' align='left'>";
		display += displayColour(colours,colourcount,'getPAYGResults');
		display += "</tr>";
		display += "<tr><td class='refine_ddbox' align='left' width='110'>";
		display += displayNetwork(networks,networkcount,'getPAYGResults');
		display += "<td class='refine_ddbox' width='110' align='left'>";
		display += displayRental(rentals,rentalcount,'getPAYGResults');
		display += "<td width='160'>&nbsp;</td>";
		display += "</tr>";
		display += "<tr><td colspan ='3' class='refine_sep_line'>&nbsp;</td></tr>";
		display += "<tr><td colspan='3'>&nbsp;</td></tr>";
		display += "<tr><td class='refine_matches' align='left'><b>"+amount+"</b>&nbsp;Matches.</td>";
		display += "<td colspan='2' class='refine_ddbox'>";
		display += "<span style='float:left; margin: 2px auto auto auto;'>";
		display += "<select name='maxpage' id='maxpage' style='width: 100px;' onchange='resetpn();'>";
		display += "<option value='10' selected='selected'> Show 10</option>";
		display += "<option value='25'>Show 25</option><option value='50'>Show 50</option></select></span>";
		display += "<span class='refine_update_button' style='width:98px;'><a href=\"#\" onclick=\"getPAYGSearch()\"> &nbsp; ";
		display += "</a></span>";
		display += "<span class='refine_cancel_button' style='width:82px;'><a href=\"#\" onclick=\"clearSelection('all','getPAYGResults', '11');\">";
		display += "</a></span>";
		display += "</td></tr></table>";
		display += "</form>";
		
	
	document.getElementById('searchbox').innerHTML=display;
}

function displaySIMFree(searchfile) {
	var str	= searchfile;
	// Split file information into category sections
	var ele = str.split("|");
	// Split individuals into arrays
	var makes			= ele[3].split(",");
	var makecount		= ele[4].split(",");
	var modelheader		= ele[5].split(",");
	var models			= ele[6].split(",");
	var modelcount		= ele[7].split(",");
	var rentals			= ele[16].split(",");
	var rentalcount		= ele[17].split(",");
	var amount			= ele[23];
	var colours			= ele[24].split(",");
	var colourcount		= ele[25].split(",");
	
	// add updated form into a string to display
	var	display  = "<form name='refine' method='post' action='http://www.affordablemobiles.co.uk/simfree/advanced-search.html'>";
		display += "<input type='hidden' value='1' name='pn' id='pn' />";
		display += "<input type='hidden' value='"+amount+"' name='amount' id='amount' />";
		display += "<table width='500' border='0' cellspacing='0' cellpadding='0' align='center'>";
		display += "<tr><td class='refine_ddbox' width='185' align='left'>";
		display += displayMake(makes,makecount,'getSIMFreeResults');
		display += "<td class='refine_ddbox' width='165' align='left'>";
		if(makes.length > 1) {
			display += displayInitModel();
		} else {
			display += displayModel(models,modelcount,'getSIMFreeResults');
		}
		display += "<td class='refine_ddbox' align='left'>";
		display += displayColour(colours,colourcount,'getSIMFreeResults');
		display += "</tr><tr>";
		display += "<td class='refine_ddbox' width='110' align='left'>";
		display += displayRental(rentals,rentalcount,'getSIMFreeResults');
		display += "<td colspan='2'>&nbsp;</td>";
		display += "</tr>";
		display += "<tr><td colspan ='3' class='refine_sep_line'>&nbsp;</td></tr>";
		display += "<tr><td colspan='3'>&nbsp;</td></tr>";
		display += "<tr><td class='refine_matches' align='left'><b>"+amount+"</b>&nbsp;Matches.</td>";
		display += "<td colspan='2' class='refine_ddbox'>";
		display += "<span style='float:left; margin: 2px auto auto auto;'>";
		display += "<select name='maxpage' id='maxpage' style='width: 100px;' onchange='resetpn();'>";
		display += "<option value='10' selected='selected'> Show 10</option>";
		display += "<option value='25'>Show 25</option><option value='50'>Show 50</option></select></span>";
		display += "<span class='refine_update_button' style='width:98px;'><a href=\"#\" onclick=\"getSIMFreeSearch()\"> ";
		display += "</a></span>";
		display += "<span class='refine_cancel_button' style='width:82px;'><a href=\"#\" onclick=\"clearSelection('all','getSIMFreeResults', '11');\">";
		display += "</a></span>";
		display += "</td></tr></table>";
		display += "</form>";
	
	document.getElementById('searchbox').innerHTML=display;
}

function displayAccessories(searchfile) {
	var str	= searchfile;
	// Split file information into category sections
	var ele = str.split("|");
	var selected = '0';
	// Split individuals into arrays
	var makes				= ele[3].split(",");
	var makecount			= ele[4].split(",");
	var models				= ele[6].split(",");
	var modelcount			= ele[7].split(",");
	var subcategory			= ele[11].split(",");
	var subcategorycount	= ele[12].split(",");
	var rentals				= ele[16].split(",");
	var rentalcount			= ele[17].split(",");
	var amount				= ele[23];
	
	// add updated form into a string to display
	var	display  = "<form name='refine' method='post' action='http://www.affordablemobiles.co.uk/accessories/advanced-search.html'>";
		display += "<input type='hidden' value='1' name='pn' id='pn' />";
		display += "<input type='hidden' value='"+amount+"' name='amount' id='amount' />";
		display += "<table width='500' border='0' cellspacing='0' cellpadding='0' align='center'>";
		display += "<tr><td class='refine_ddbox' width='190' align='left'>";
		display += displayMake(makes,makecount,'getAccessoryResults');
		display += "<td class='refine_ddbox' width='165' align='left'>";
		if(makes.length > 1) {
			display += displayInitModel();
		} else {
			display += displayModel(models,modelcount,'getAccessoryResults');
		}
		display += "<td class='refine_text' width='160' align='left'>";
		display += "<a href='/models.php?make="+makes[0]+"&models="+models+"'";
//		if(makes.length == 1 && models.length > 1) {		
//			display += "style='visibility: visible;'>View models</a></td>";
//		} else {
//			display += "style='visibility: hidden;'>View models</a></td>";
//		}
		display += "</tr>";
		display += "<tr><td class='refine_ddbox' width='190' align='left'>";
		display += displaySubCategory(subcategory,subcategorycount,'getAccessoryResults');
		display += "<td class='refine_ddbox' width='165' align='left'>";
		display += displayRental(rentals,rentalcount,'getAccessoryResults');
		display += "</tr>";
		display += "<tr><td colspan ='3' class='refine_sep_line'>&nbsp;</td></tr>";
		display += "<tr><td colspan='3'>&nbsp;</td></tr>";
		display += "<tr><td class='refine_matches' align='left'><b>"+amount+"</b>&nbsp;Matches.</td>";
		display += "<td colspan='2' class='refine_ddbox'>";
		display += "<span style='float:left; margin: 2px auto auto auto;'>";
		display += "<select name='maxpage' id='maxpage' style='width: 100px;' onchange='resetpn();'>";
		display += "<option value='10' selected='selected'> Show 10</option>";
		display += "<option value='25'>Show 25</option><option value='50'>Show 50</option></select></span>";
		if (document.getElementById('selected_0'))	{ selected = document.getElementById('selected_0').value; }
		if(((makes.length == 1 && models.length == 1) || makes.length > 1) || selected == 0) {
			display += "<span class='refine_update_button' style='width:98px;'><a href=\"#\" onclick=\"getAccessorySearch()\">";
			display += "</a></span>";
		} else {
			display += "<span class='refine_update_button' style='width:98px;'>&nbsp;</span>";
		}
		display += "<span class='refine_cancel_button' style='width:82px;'><a href=\"#\" onclick=\"clearSelection('all','getAccessoryResults', '11');\">";
		display += "</a></span>";
		display += "</td></tr></table>";
		display += "</form>";
	document.getElementById('searchbox').innerHTML=display;
//	if(makes.length == 1 && models.length > 1) { initialize(); }
}

function displayBroadband(searchfile) {
	var str	= searchfile;
	// Split file information into category sections
	var ele = str.split("|");
	
	// Split individuals into arrays
	var contracts		= ele[10].split(",");
	var contractcount	= ele[11].split(",");
	var rentals			= ele[16].split(",");
	var rentalcount		= ele[17].split(",");
	var fg				= ele[20].split(",");
	var gifts			= ele[21].split(",");
	var giftcount		= ele[22].split(",");
	var amount			= ele[23];
	var colours			= ele[24].split(",");
	var colourcount		= ele[25].split(",");
	
	// add updated form into a string to display
	var	display  = "";
		display += "<form name='refine' method='post' action='http://www.affordablemobiles.co.uk/mobile-broadband/advanced-search.html'>";
		display += "<input type='hidden' value='1' name='pn' id='pn' />";
		display += "<input type='hidden' value='"+amount+"' name='amount' id='amount' />";
		display += "<table width='500' border='0' cellspacing='0' cellpadding='0' align='center'>";
		display += "<tr><td class='refine_ddbox' width='190' align='left'>";
		display += displayContractLength(contracts,contractcount,'getBroadbandResults');
		display += "<td class='refine_ddbox' width='165' align='left'>";
		display += displayRental(rentals,rentalcount,'getBroadbandResults');
		display += "<td class='refine_ddbox' width='160' align='left'>";
		display += displayColour(colours,colourcount,'getBroadbandResults');
		display += "</tr>";
		display += "<tr><td colspan='3' class='refine_ddbox' width='190' align='left'>";
		display += displayGift(gifts,fg,giftcount,'getBroadbandResults');
		display += "</tr>";
		display += "<tr><td colspan ='3' class='refine_sep_line'>&nbsp;</td></tr>";
		display += "<tr><td colspan='3'>&nbsp;</td></tr>";
		display += "<tr><td class='refine_matches' align='left'><b>"+amount+"</b>&nbsp;Matches.</td>";
		display += "<td colspan='2' class='refine_ddbox'>";
		display += "<span style='float:left; margin: 2px auto auto auto;'>";
		display += "<select name='maxpage' id='maxpage' style='width: 100px;' onchange='resetpn();'>";
		display += "<option value='10' selected='selected'> Show 10</option>";
		display += "<option value='25'>Show 25</option><option value='50'>Show 50</option></select></span>";
		display += "<span class='refine_update_button' style='width:98px;'><a href=\"#\" onclick=\"getBroadbandSearch()\"> ";
		display += "</a></span>";
		display += "<span class='refine_cancel_button' style='width:82px;'><a href=\"#\" onclick=\"clearSelection('all','getBroadbandResults', '11');\">";
		display += "</a></span>";
		display += "</td></tr></table>";
		display += "</form>";
	document.getElementById('searchbox').innerHTML=display;
}

function displayMake(makes,makecount,category) {
	var display		= "";
	var output		= "";
	var selected	= "0";
	if (document.getElementById('selected_0'))	{ selected = document.getElementById('selected_0').value; }
	if(makes.length > 1 || selected == 0) {
		display += "<select name=\"man\" id=\"man_Drop_Down\" style=\"width: 175px;\" onChange=\""+category+"('0','10')\">";
		display += "<option value='null' selected='selected'>Manufacturer</option>";
		for (x = 0; x < makes.length; x++) {
			display += "<option value='"+makes[x]+"'>"+makes[x]+" ("+makecount[x]+")</option>";
		}
		display += "</select></td>";
	} else {
		if(makes[0] == '') { output = 'No Handsets Available'; } else { output = makes[0]; }
		display += "<select name='man' id='man_Drop_Down' style='display: none;'>";
		display += "<option value='"+makes[0]+"' selected='selected'></option></select>";
		display += "<div align='left' class='searchResult' width='171'>"+output+"</div>";
		display += "<div align='left' class='searchChange'><a href=\"#\" onclick=\"clearSelection('man','"+category+"', '0');\">change</a></div></td>";
	}
	return display;
}

function displayInitModel() {
	var display		= "";
		display += "<select name=\"mod\" id=\"mod_Drop_Down\"  style=\"width: 160px;\">";
		display += "<option value='null' selected='selected'>Model</option>";
		display += "<option value=''>Select manufacturer first</option>";
		display += "</select></td>";
	return display;
}

function displayModel(models,modelcount,category) {
	var display		= "";
	var output		= "";
	var selected	= "0";
	if (document.getElementById('selected_1'))	{ selected = document.getElementById('selected_1').value; }
	if(models.length > 1 || selected == 0) {
		display += "<select name=\"mod\" id=\"mod_Drop_Down\"  style=\"width: 160px;\" onChange=\""+category+"('1','10')\">";
		display += "<option value='null' selected='selected'>Model</option>";
		for (x = 0; x < models.length; x++) {
			display += "<option value='"+models[x]+"'>&nbsp;"+models[x]+" ("+modelcount[x]+")</option>";
		}
		display += "</select></td>";
	} else {
		if(models[0] == '') { output = 'No Handsets Available'; } else { output = models[0]; }
		display += "<select name='mod' id='mod_Drop_Down' style='display: none;'>";
		display += "<option value='"+models[0]+"' selected='selected'></option></select>";
		display += "<div align='left' class='searchResult' width='156'>"+output+"</div>";
		display += "<div align='left' class='searchChange'><a href=\"#\" onclick=\"clearSelection('mod','"+category+"', '1');\">change</a></div></td>";
	}
	return display;
}

function displayNetwork(networks,networkcount,category) {
	var display = "";
	var output = "";
	var selected	= "0";
	if (document.getElementById('selected_2'))	{ selected = document.getElementById('selected_2').value; }
	if(networks.length > 1 || selected == 0) {
		display += "<select name=\"nwk\" id=\"nwk_Drop_Down\"  style=\"width: 175px;\" onChange=\""+category+"('2','10')\">";
		display += "<option value='null' selected='selected'>Network</option>";
		for (x = 0; x < networks.length; x++) {
			display += "<option value='"+networks[x]+"'>"+networks[x]+" ("+networkcount[x]+")</option>";
		}
		display += "</select></td>";
	} else {
		if(networks[0] == '') { output = 'No Handsets Available'; } else { output = networks[0]; }
		display += "<select name='nwk' id='nwk_Drop_Down' style='display: none;'>";
		display += "<option value='"+networks[0]+"' selected='selected'></option></select>";
		display += "<div align='left' class='searchResult' width= '171'>"+output+"</div>";
		display += "<div align='left' class='searchChange'><a href=\"#\" onclick=\"clearSelection('nwk','"+category+"', '2');\">change</a></div></td>";
	}
	return display;
}

/*
function displayTariff(tariffs,tariffcount,category) {
	var display = "";
	var output = "";
	var selected	= "0";
	if (document.getElementById('selected_3'))	{ selected = document.getElementById('selected_3').value; }
	if(tariffs.length > 1 || selected == 0) {
		display += "<select name=\"tar\" id=\"tar_Drop_Down\"  style=\"width: 160px;\" onChange=\""+category+"('3','10')\">";
		display += "<option value='null' selected='selected'>Tariff</option>";
		for (x = 0; x < tariffs.length; x++) {
			display += "<option value='"+tariffs[x]+"'>"+tariffs[x]+" ("+tariffcount[x]+")</option>";
		}
		display += "</select></td>";
	} else {
		if(tariffs[0] == '') { output = 'No Handsets Available'; } else { output = tariffs[0]; }
		display += "<select name='tar' id='tar_Drop_Down' style='display: none;'>";
		display += "<option value='"+tariffs[0]+"' selected='selected'></option></select>";
		display += "<div align='left' class='searchResult' width='156'>"+output+"</div>";
		display += "<div align='left' class='searchChange'><a href=\"#\" onclick=\"clearSelection('tar','"+category+"', '3');\">change</a></div></td>";
	}
	return display;
}
*/

function displayContractLength(contracts,contractcount,category) {
	var display		= "";
	var output		= "";
	var selected	= "0";
	if (document.getElementById('selected_4'))	{ selected = document.getElementById('selected_4').value; }
	if(contracts.length > 1 || selected == 0) {
		display += "<select name=\"len\" id=\"len_Drop_Down\"  style=\"width: 160px;\" onChange=\""+category+"('4','10')\">";
		display += "<option value='null' selected='selected'>Contract Length</option>";
		for (x = 0; x < contracts.length; x++) {
			display += "<option value='"+contracts[x]+"'>"+contracts[x]+" ("+contractcount[x]+")</option>";
		}
		display += "</select></td>";
	} else {
		if(contracts[0] == '') { output = 'None Available'; } else { output = contracts[0]; }
		display += "<select name='len' id='len_Drop_Down' style='display: none;'>";
		display += "<option value='"+contracts[0]+"' selected='selected'></option></select>";
		display += "<div align='left' class='searchResult' width='156'>"+output+"</div>";
		display += "<div align='left' class='searchChange'><a href=\"#\" onclick=\"clearSelection('len','"+category+"', '4');\">change</a></div></td>";
	}
	return display;
}

function displayRental(rentals,rentalcount,category) {
	var display = "";
	var output = "";
	var selected	= "0";
	if (document.getElementById('selected_5'))	{ selected = document.getElementById('selected_5').value; }
	if(rentals.length > 1 || selected == 0) {
		display += "<select name=\"rent\" id=\"rent_Drop_Down\"  style=\"width: 110px;\" onChange=\""+category+"('5','10')\">";
		if(category == 'getResults') {
			display += "<option value='null' selected='selected'>Monthly Cost</option>";
		} else {
			display += "<option value='null' selected='selected'>Price Range</option>";
		}
		for (x = 0; x < rentals.length; x++) {
			display += "<option value='"+rentals[x]+"'>"+rentals[x]+" ("+rentalcount[x]+")</option>";
		}
		display += "</select></td>";
	} else {
		if(rentals[0] == '') { output = 'None Available'; } else { output = rentals[0]; }
		display += "<select name='rent' id='rent_Drop_Down' style='display: none;'>";
		display += "<option value='"+rentals[0]+"' selected='selected'></option></select>";
		display += "<div align='left' class='searchResult' width='106'>"+output+"</div>";
		display += "<div align='left' class='searchChange'><a href=\"#\" onclick=\"clearSelection('rent','"+category+"', '5');\">change</a></div></td>";
	}
	return display;
}


function displayGift(gifts,fg,giftcount,category) {
	var display = "";
	var output = "";
	var selected	= "0";
	if (document.getElementById('selected_6'))	{ selected = document.getElementById('selected_6').value; }
	if(gifts.length > 1 || selected == 0) {	
		var CB = 0;
		display += "<select name=\"gift\" id=\"gift_Drop_Down\"   style=\"width: 345px;\" onChange=\""+category+"('6','10')\">";
		display += "<option value='null' selected='selected'>Gift</option>";
		for (x = 0; x < gifts.length; x++) {
			if(gifts[x] == '') { gifts[x] = 'Not Specified'; }
			display += "<option id='"+fg[x]+"' value='"+fg[x]+"'>&nbsp;"+gifts[x]+" ("+giftcount[x]+")</option>";
		}
		display += "</select></td>";
	} else {
		if(gifts[0] == '') { output = 'No Handsets Available'; } else { output = gifts[0]; }
		display += "<select name='gift' id='gift_Drop_Down' style='display: none;'>";
		display += "<option value='"+fg[0]+"' selected='selected'></option></select>";
		display += "<div align='left' class='searchResult' width='341'>"+output+"</div>";
		display += "<div align='left' class='searchChange'><a href=\"#\" onclick=\"clearSelection('gift','"+category+"', '6');\">change</a></div></td>";
	}
	display += "<input type='hidden' value='"+fg[0]+"' name='"+gifts[0]+"' />";
	return display;
}

function displayCategory(cat,catcount,category) {
	var display = "";
	var output = "";
	var selected	= "0";
	if (document.getElementById('selected_7'))	{ selected = document.getElementById('selected_7').value; }
	if(cat.length > 1 || selected == 0) {	
		display += "<select name=\"cat\" id=\"cat_Drop_Down\"   style=\"width: 175px;\" onChange=\""+category+"('7','10')\">";
		display += "<option value='null' selected='selected'>Categories</option>";
		for (x = 0; x < cat.length; x++) {
			display += "<option id='"+x+"' value='"+cat[x]+"'>&nbsp;"+cat[x]+" ("+catcount[x]+")</option>";
		}
		display += "</select></td>";
	} else {
		if(cat[0] == '') { output = 'No Handsets Available'; } else { output = cat[0]; }
		display += "<select name='cat' id='cat_Drop_Down' style='display: none;'>";
		display += "<option value='"+cat[0]+"' selected='selected'></option></select>";
		display += "<div align='left' class='searchResult' width='171'>"+output+"</div>";
		display += "<div align='left' class='searchChange'><a href=\"#\" onclick=\"clearSelection('cat','"+category+"', '7');\">change</a></div></td>";
	}
	return display;	
}

function displaySubCategory(subcat,subcatcount,category) {
	var display = "";
	var output = "";
	var selected	= "0";
	if (document.getElementById('selected_8'))	{ selected = document.getElementById('selected_8').value; }
	if(subcat.length > 1 || selected == 0) {	
		display += "<select name=\"subcat\" id=\"subcat_Drop_Down\"   style=\"width: 175px;\" onChange=\""+category+"('8','10')\">";
		display += "<option value='null' selected='selected'>Accessory Type</option>";
		for (x = 0; x < subcat.length; x++) {
			display += "<option id='"+x+"' value='"+subcat[x]+"'>&nbsp;"+subcat[x]+" ("+subcatcount[x]+")</option>";
		}
		display += "</select></td>";
	} else {
		if(subcat[0] == '') { output = 'No Handsets Available'; } else { output = subcat[0]; }
		display += "<select name='subcat' id='subcat_Drop_Down' style='display: none;'>";
		display += "<option value='"+subcat[0]+"' selected='selected'></option></select>";
		display += "<div align='left' class='searchResult' width='171'>"+output+"</div>";
		display += "<div align='left' class='searchChange'><a href=\"#\" onclick=\"clearSelection('sub','"+category+"', '8');\">change</a></div></td>";
	}
	return display;
}

function displayColour(colours,colourcount,category) {
    var display = "";
    var output = "";
    var selected    = "0";
    if (document.getElementById('selected_9'))    { selected = document.getElementById('selected_9').value; }
    if(colours.length > 1 || selected == 0) {
        display += "<select name=\"col\" id=\"col_Drop_Down\"  style=\"width: 100px;\" onChange=\""+category+"('9','10')\">";
        display += "<option value='null' selected='selected'>Colours</option>";
        for (x = 0; x < colours.length; x++) {
			if(colours[x] == '') { colours[x] = 'Not Specified'; }
            display += "<option value='"+colours[x]+"'>"+colours[x]+" ("+colourcount[x]+")</option>";
        }
        display += "</select>";
    } else {
        if(colours[0] == '') { output = 'No Handsets Available'; } else { output = colours[0]; }
        display += "<select name='col' id='col_Drop_Down' style='display: none;'>";
        display += "<option value='"+colours[0]+"' selected='selected'></option></select>";
		display += "<div align='left' class='searchResult' width='171'>"+output+"</div>";
        display += "<div align='left' class='searchChange'><a href=\"#\" onclick=\"clearSelection('col','"+category+"', '9');\">change</a></div>";
		display += "</div>";
    }
    return display;
}