$(document).ready(function(){
  
    $("#searchForm > *").change(function(){
    var cookieStr="";
    $.each($('#searchForm input[type="checkbox"]:checked'),function(i,item){
      cookieStr+=$(this).attr("name")+"="+$(this).val()+"&";
      });
    $.each($('#searchForm select'),function(i,item){
      cookieStr+=$(this).attr("name")+"="+$(this).val()+"&";
      });
    $.cookie("search",cookieStr,{path: '/'});
    });
    
   //set filters depending on cookie
  var cookie = $.cookie("search");
  if(cookie!=null)
  {
    function cookieLoop(fields)
    {
      if(i<$(fields).length)
      {
        var split=fields[i].split("=");
      if(split[0]=="model" && i!=$(fields).length-1)
      {
        var tmp = fields[i];
        fields.splice(i,1);
        fields.push(tmp);
        cookieLoop(fields);
      }
      else
      {
        i++;
        var field = $('#searchForm').find('*[name="'+split[0]+'"]');
        var field1 = $(field).filter('[type="checkbox"]').filter('[value="'+split[1]+'"]');
        if($(field1).length>0)
        {
          $(field1).attr("checked","checked");
        }
        else if($(field).filter("select").find('option[value="'+split[1]+'"]').length>0)
        {
          $(field).filter("select").find('option[value="'+split[1]+'"]').parent().val(split[1]);
        }
        if(split[0]=="manufacturer")
        {
          $(".find_mobile form select[name=manufacturer]").change();
          var tmp = function(){ cookieLoop(fields) }
          setTimeout(tmp,1000);
        }
        else
        {
          cookieLoop(fields);
        }
      }
      }
    }
    
    var fields=cookie.split("&");
    i=0;
    cookieLoop(fields);
    
  }
  else
  {
    $(".find_mobile form select[name=manufacturer]").change();
  }
  });
  function doSearch(url)
  {
    $("#phoneboxes").html('<img src="/images/ajax-loader.gif" alt="loading" />');
    if(url === undefined)
    {
      params="ajax=doSearch&"+$.getQueryString();
    }
    else
    {
      params=url;
    }
     $.ajax({
  url: "/ajax",
  dataType: 'html',
  data: params,
  success: function(html)
  {
    $("#phoneboxes").html(html);
    var numDeals=$("#phoneboxes > h3").html().replace(" results found","");
    if(numDeals>numPerPage)
    {
                  html="";
                  if(page==1)
                  {
                    var uri="#";
                  }
                  else
                  {
                  var i=page-1;
                    var uri='/search/'+queryString.replace(/page\=[0-9]*/,"page="+i).replace(/se_text=/,"");
                    if(uri.indexOf("?")==-1) uri+='?';
                      if(uri.indexOf("page=")==-1) uri+="&amp;page="+i;
                  }
                    html+='<li><a href="'+uri+'" class="previous">&nbsp;<span>previous</span></a></li>';
                    var start=1;
                    if(page>5) start=page-5;
                    for(i=start;i<=Math.ceil(numDeals/numPerPage);i++)
                    {
                      uri='/search/'+queryString.replace(/page\=[0-9]*/,"page="+i).replace(/se_text=/,"");
                      if(uri.indexOf("?")==-1) uri+='?';
                      if(uri.indexOf("page=")==-1) uri+="&amp;page="+i;
                      html+= '<li><a rel="canonical" href="'+uri+'"';
                      if(i==page) html+=' class="current"';
                      html+='>'+i+'</a></li>';
                      if(i>start+8) break;
                    }
                    if(page==i-1)
                    {
                      uri="#";
                    }
                    else
                    {
                      i=page+1;
                    uri='/search/'+queryString.replace(/page\=[0-9]*/,"page="+i).replace(/se_text=/,"");
                      if(uri.indexOf("?")==-1) uri+='?';
                      if(uri.indexOf("page=")==-1) uri+="&amp;page="+i;
                    }
                    html+='<li><a href="'+uri+'" class="next">&nbsp;<span>next</span></a></li>';
                $("div.search-pagination > ul").html(html);
    }
    
    
      },
      error: function error(XMLHttpRequest, textStatus, errorThrown){ $("#phoneboxes").html(textStatus+" "+errorThrown); }
   });
    
    return false;
  }

