jQuery(document).click(function(){ jQuery("#sf_results").hide(); });
function sf_get_results()
{
if(jQuery("#s").val() != "")
{
var loading = "
"+
""+
"
"+
""+
"";
jQuery("#sf_val").html("");
jQuery("#sf_results").show();
var data = { action: "ajaxy_sf", sf_value: jQuery("#s").val()};
jQuery.post(sf_ajaxurl, data, function(resp) {
var results = eval("("+ resp + ")");
var m = "";
var s = 0;
if(typeof(results.order) != "undefined")
{
for(var mindex in results.order)
{
var c = sf_load(results[mindex]);
m += c[0];
s += c[1];
}
}
var sf_selected = "";
if(s == 0)
{
sf_selected = " sf_selected";
}
m += "" + sf_templates + "";
m = m.replace(/{search_value_escaped}/g, jQuery("#s").val());
m = m.replace(/{search_value}/g, jQuery("#s").val());
m = m.replace(/{total}/g, s);
if(s > 0)
{
jQuery("#sf_val").html("");
}
else
{
jQuery("#sf_val").html("");
}
sf_load_events();
jQuery("#sf_results").show();
});
}
else
{
jQuery("#sf_results").hide();
}
}
function sf_load_events()
{
jQuery("#sf_val li.sf_lnk").mouseover(function(){
jQuery(".sf_lnk").each(function() { jQuery(this).attr("class",jQuery(this).attr("class").replace(" sf_selected" , "")); });
jQuery(this).attr("class", jQuery(this).attr("class") + " sf_selected");
});
}
function sf_replace_results(results, template)
{
for(var s in results)
{
template = template.replace(new RegExp("{"+s+"}", "g"), results[s]);
}
return template;
}
function sf_load(results)
{
var m = "";
var s = 0;
if(typeof(results) != "undefined")
{
if(results.all.length > 0)
{
m += "";
for(var i in results.all)
{
s ++;
m += ""+ sf_replace_results(results.all[i], results.template) + "";
}
}
}
return new Array(m, s);
}
jQuery(window).keydown(function(event){
if(jQuery("#sf_results").css("display") != "none")
{
if(event.keyCode == "38" || event.keyCode == "40")
{
if(jQuery.browser.webkit)
{
jQuery("#sf_results").focus();
}
var s_item = null;
var after_s_item = null;
var s_sel = false;
var all_items = jQuery("#sf_val li.sf_lnk");
var s_found = false;
event.stopPropagation();
event.preventDefault();
for(var i = 0; i < all_items.length; i++)
{
if(jQuery(all_items[i]).attr("class").indexOf("sf_selected") >= 0 && s_found == false)
{
s_sel = true;
if(i < all_items.length - 1 && event.keyCode == "40")
{
jQuery(all_items[i]).attr("class",jQuery(all_items[i]).attr("class").replace(" sf_selected", ""));
jQuery(all_items[i+1]).attr("class", jQuery(all_items[i+1]).attr("class")+ " sf_selected");
i = i+1;
s_found = true;
}
else if(i > 0 && event.keyCode == "38")
{
jQuery(all_items[i]).attr("class",jQuery(all_items[i]).attr("class").replace(" sf_selected", ""));
jQuery(all_items[i-1]).attr("class", jQuery(all_items[i-1]).attr("class")+ " sf_selected");
i = i+1;
s_found = true;
}
}
else
{
jQuery(all_items[i]).attr("class",jQuery(all_items[i]).attr("class").replace(" sf_selected", ""));
}
}
if(s_sel == false)
{
if(all_items.length > 0)
{
jQuery(all_items[0]).attr("class", jQuery(all_items[0]).attr("class")+ " sf_selected");
}
}
//jQuery(window).unbind("keypress");
}
else if(event.keyCode == 27)
{
jQuery("#sf_results").hide();
}
else if(event.keyCode == 13)
{
window.location.href = jQuery("#sf_val li.sf_selected a").attr("href");
return false;
}
}
});