function urlencode(str) {
str = escape(str);
str = str.replace('+', '%2B');
str = str.replace('%20', '+');
str = str.replace('*', '%2A');
str = str.replace('/', '%2F');
str = str.replace('@', '%40');
return str;
}
function PopulateMake(val)
{
  var idx = val.selectedIndex;
  var val = val[idx].text;
  var par = document.forms["mobilesearch"];
  var makelmts = par.elements;
  var makesel = makelmts["make"];
  var type = val;
// alert (type);
  if (type != "")
  {
	   if(type=="Contract Phones"){
		Http.get({
		url: "http://deals.mobilephonereviews.org/includes/populate.php?type=contract",
		callback: fillMake,
		cache: Http.Cache.Get
	}, [makesel]);
	   }else if(type=="Pay as you go Phones"){
		Http.get({
		url: "http://deals.mobilephonereviews.org/includes/populate.php?type1="+type,
		callback: fillMake,
		cache: Http.Cache.Get
	}, [makesel]);
	   }else if(type=="Sim Free Phones"){
	   Http.get({
		url: "http://deals.mobilephonereviews.org/includes/populate.php?type2="+type,
		callback: fillMake,
		cache: Http.Cache.Get
	}, [makesel]);
	   }else if(type=="All" || type==""){
	   Http.get({
		url: "http://deals.mobilephonereviews.org/includes/populate.php?type3="+type,
		callback: fillMake,
		cache: Http.Cache.Get
	}, [makesel]);
	   }
  }
}

function fillMake(xmlreply, makelmt)
{
  if (xmlreply.status == Http.Status.OK)
  {
    var makeresponse = xmlreply.responseText;
    var makear = makeresponse.split("|");
    makelmt.length = 1;
    makelmt.length = makear.length;
    for (o=1; o < makear.length; o++)
    {
      makelmt[o].text = makear[o];
    }
  }
  else
  {
    alert("Cannot handle the AJAX calltype.");
  }
}

function PopulateModel(val)
{
  var idx = val.selectedIndex;
  var val = val[idx].text;
  var par = document.forms["mobilesearch"];
  var modellmts = par.elements;
  var modelsel = modellmts["model"];
  var make = val;
  var type=document.forms.mobilesearch.type.selectedIndex;
  if (make != "")
  {
	 // alert(type);
	 if(type == 0 || type == "" || type == 1){
 	Http.get({
		url: "http://deals.mobilephonereviews.org/includes/populate.php?make="+urlencode(make),
		callback: fillModel,
		cache: Http.Cache.Get
	}, [modelsel]);
	 }else if(type == 2){
		  	Http.get({
		url: "http://deals.mobilephonereviews.org/includes/populate.php?make1="+urlencode(make),
		callback: fillModel,
		cache: Http.Cache.Get
	}, [modelsel]);
	 }else if(type == 3){
		  	Http.get({
		url: "http://deals.mobilephonereviews.org/includes/populate.php?make2="+urlencode(make),
		callback: fillModel,
		cache: Http.Cache.Get
	}, [modelsel]);
	 }else if(type == 4){
		  	Http.get({
		url: "http://deals.mobilephonereviews.org/includes/populate.php?make3="+urlencode(make),
		callback: fillModel,
		cache: Http.Cache.Get
	}, [modelsel]);
	 }
  }
}

function fillModel(xmlreply, modellmt)
{
  if (xmlreply.status == Http.Status.OK)
  {
    var modelresponse = xmlreply.responseText;
    var modelar = modelresponse.split("|");
    modellmt.length = 1;
    modellmt.length = modelar.length;
    for (o=1; o < modelar.length; o++)
    {
      modellmt[o].text = modelar[o];
    }
  }
  else
  {
    alert("Cannot handle the AJAX call.");
  }
}
function PopulateNetwork(val)
{
  var idx = val.selectedIndex;
  var val = val[idx].text;
  var par = document.forms["mobilesearch"];
  var networklmts = par.elements;
  var networksel = networklmts["network"];
  var model = val;
  var type=document.forms.mobilesearch.type.selectedIndex;
  if (model != "")
  {
	  if(type==0 || type == 1){
		  // ALL network types
		   	Http.get({
		url: "http://deals.mobilephonereviews.org/includes/populate.php?model="+urlencode(model),
		callback: fillNetwork,
		cache: Http.Cache.Get
	}, [networksel]);
	  }else if(type == 2){
		  // contract phones
		   	Http.get({
		url: "http://deals.mobilephonereviews.org/includes/populate.php?model1="+urlencode(model),
		callback: fillNetwork,
		cache: Http.Cache.Get
	}, [networksel]);
	  }else if(type==3){
		  // PAYG
		   	Http.get({
		url: "http://deals.mobilephonereviews.org/includes/populate.php?model2="+urlencode(model),
		callback: fillNetwork,
		cache: Http.Cache.Get
	}, [networksel]);
	  }else if(type==4){
		//  Sim Free
		  		   	Http.get({
		url: "http://deals.mobilephonereviews.org/includes/populate.php?model3="+urlencode(model),
		callback: fillNetwork,
		cache: Http.Cache.Get
	}, [networksel]);
	  }
  }
}

function fillNetwork(xmlreply, networklmt)
{
  if (xmlreply.status == Http.Status.OK)
  {
    var networkresponse = xmlreply.responseText;
    var networkar = networkresponse.split("|");
    networklmt.length = 1;
    networklmt.length = networkar.length;
    for (o=1; o < networkar.length; o++)
    {
      networklmt[o].text = networkar[o];
    }
  }
  else
  {
    alert("Cannot handle the AJAX call.");
  }
}
function opentariff(URL) {
day = new Date();
id = day.getTime();
eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0,width=600,height=500,left = 262,top = 134');");
}
function submitform()
{
  document.mobilesearch.submit();
}