//Defines
var update_in_progress = 0;
var update_queue = 0;
var page_save = "";


//Check Price values
function check_price_values() {
 var pl_val = document.getElementById('price_low').value;
 var ph_val = document.getElementById('price_high').value;

 if (isNaN(pl_val) == true) {pl_val = min_price;}
 if (isNaN(ph_val) == true) {ph_val = max_price;}

 pl_val = parseInt(pl_val); document.getElementById('price_low').value =  pl_val;
 ph_val = parseInt(ph_val); document.getElementById('price_high').value = ph_val;

 if (ph_val > max_price) {document.getElementById('price_high').value = max_price;}
 if (pl_val < min_price) {document.getElementById('price_low').value = min_price;}

 if (pl_val > ph_val) {document.getElementById('price_low').value = document.getElementById('price_high').value;} price_slider_set();

 var ssl_val = document.getElementById('ss_low').value;
 var ssh_val = document.getElementById('ss_high').value;

 if (isNaN(ssl_val) == true) {ssl_val = min_ss;}
 if (isNaN(ssh_val) == true) {ssh_val = max_ss;}

 ssl_val = parseInt(ssl_val); document.getElementById('ss_low').value =  ssl_val;
 ssh_val = parseInt(ssh_val); document.getElementById('ss_high').value = ssh_val;

 if (ssh_val > max_ss) {document.getElementById('ss_high').value = max_ss;}
 if (ssl_val < min_ss) {document.getElementById('ss_low').value = min_ss;}

 if (ssl_val > ssh_val) {document.getElementById('ss_low').value = document.getElementById('ss_high').value;} price_slider_set();
}

//Price slider set
function price_slider_set() {

 if (my_price_slider) {
 my_price_slider.setValue(document.getElementById('price_low').value,'0');
 my_price_slider.setValue(document.getElementById('price_high').value,'1');
 }

 if (my_ss_slider) {
 my_ss_slider.setValue(document.getElementById('ss_low').value,'0');
 my_ss_slider.setValue(document.getElementById('ss_high').value,'1');
 }
}

//Price slider overall
function prices_update(page_save) {
 check_price_values();
 update_results(page_save);
}

//Main result update
function update_results2(page_save) {
 if (update_in_progress == 0) {
  update_in_progress = 1;
  var ser_data = $('main_refine').serialize();
  var ajax_main_results = new Ajax.Updater('main_results', 'includes/ajax/update_results.php',
  {method: 'post',
  parameters: ser_data,
  asynchronous:true,
  evalScripts: true,
  onComplete: function (t) {
   UnTip();
   if (update_queue > 0 ) {
    update_queue = 0;
    update_in_progress = 0;
    update_results(page_save);
   } else {
    update_in_progress = 0;
   }
  },
  onFailure: function (t2) {
   update_queue = 0;
   update_in_progress = 0;
   update_results(page_save);
  }
  });
 } else {
   update_queue ++;
 }
}

function update_results(page_save) {
 UnTip();
 if (page_save != 'savepage') {document.getElementById('page').value = 1;}
 new Ajax.Updater('main_results', 'includes/ajax/loader.php',{method: 'post'});
 clearTimeout(this_timeout);
 var this_timeout = setTimeout("update_results2(page_save);",450);
}

//Force update if we get stuck
function update_results_force() {
 update_in_progress = 0;
 update_queue = 0;
 update_results2();
}

//Set Page
function set_page(this_page) {
 document.getElementById('page').value = this_page;
 update_results('savepage');
}

//Set Sorty By
function set_sort_by() {
 document.getElementById('sob').value = document.getElementById('sort_by_down').value;
 update_results('savepage');
}

//Remove all search filters
function kill_all() {
 //Just reset everything here
 document.getElementById('sob').value = 1;
 document.getElementById('page').value = 1;
 document.getElementById('price_low').value =  min_price;
 document.getElementById('price_high').value = max_price;
 document.getElementById('ss_low').value =  min_ss;
 document.getElementById('ss_high').value = max_ss;
 document.getElementById('incd1').checked = true;
 if (document.getElementById('h3d')) {document.getElementById('h3d').checked = false};
 if (document.getElementById('h1080')) {document.getElementById('h1080').checked = false};
 if (document.getElementById('hfvhd')) {document.getElementById('hfvhd').checked = false};
 if (document.getElementById('hfshd')) {document.getElementById('hfshd').checked = false};
 document.getElementById('ret').value = "";
 document.getElementById('brand').value = "";
 document.getElementById('newt').value = "";
 document.getElementById('hashz').value = ""; 
 prices_update();
}

//Select and copy field
function selectAndCopy(id)
{
    document.getElementById(id).focus();
    document.getElementById(id).select();

    toclip(id);
}

//Clipboard script
function toclip(cmd) {
  cmd = document.getElementById(cmd).value;

  if (window.clipboardData) {
    window.clipboardData.setData('Text', cmd);
  } else if (window.netscape) {
	netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
        var str = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString);
        if (!str)
          return;
        str.data = cmd;
        var clip = Components.classes['@mozilla.org/widget/clipboard;1'].createInstance(Components.interfaces.nsIClipboard);
        if (!clip)
          return;
        var trans = Components.classes['@mozilla.org/widget/transferable;1'].createInstance(Components.interfaces.nsITransferable);
        if (!trans)
          return;
        trans.addDataFlavor('text/unicode');
        trans.setTransferData('text/unicode',str,cmd.length*2);
        var clipid = Components.interfaces.nsIClipboard;
        clip.setData(trans,null,clipid.kGlobalClipboard);
  }
        return false;



}

//Index search script
function ajax_index_search_count(){
var serialise_data = $('not_sure_search').serialize();
var myAjax = new Ajax.Updater('ajax_search_count', 'includes/ajax/ajax.index_search_count.php', {method: 'post', parameters: 'show_icon=1&' + serialise_data });
}

//Auto complete search
function ajax_top_search(){
 if (document.top_every_page_search) {
  document.top_every_page_search.query_box.focus();
  var myAutoCompleter = new Ajax.Autocompleter('query_box', 'autocomplete1', 'includes/ajax/ajax.search.php', {minChars: 3, callback: MyTypeCallback});
 }
}

function MyTypeCallback(element, entry) {
 return entry + "&search_type=" +  escape($F('search_type'));
}





