var engine,select,query;select={init:function(obj){var option_engine={"list_id":"list","message":key.toolTipEngine,"lambda":selectEngine,"trigger":setService,"next":"#search-button, #holder2","tabIndex":2,"target":"#engine"},option_service={"list_id":"list2","message":key.toolTipMenu,"lambda":selectService,"trigger":setForm,"next":"#search-button","tabIndex":3,"target":"#xtraopts"},option_child={"list_id":"list2","message":key.toolTipMenu,"lambda":selectChild,"trigger":setForm,"next":"#search-button","tabIndex":3,"target":"#xtraopts"},param=_cookie?_cookie.get("engine_id"):false;if(param){_cookie.remove("engine_id");}select.util.insert("holder","engine_id",obj,option_engine,param);$("body").keydown(keydown).click(click);$("#sendsrch > a, #searchfield").bind("focus",select.close);$("#searchfield").bind("keydown",search).bind("keyup focus",general.setWaterMark).focus();function selectEngine(){var id=$(this).attr("id");select.util.insert("holder","engine_id",obj,option_engine,id);general.setWaterMark();};function selectService(){var id=$(this).attr("id");select.util.insert("holder2","service_id",select.cache.services,option_service,id);};function selectChild(){var id=$(this).attr("id");select.util.insert("holder2","engine_id",select.cache.childs,option_child,id);};function setService(actual,target){if("image_path"in actual){var name="name"in actual?actual.name:actual["name_"+lang];target.children("img").hide();$("<img/>").attr({"src":general.baseUrl+actual.image_path,"title":name}).appendTo(target);select.cache=actual;if("services"in actual&&actual.services.length>0&&"type"in actual&&actual.type==="SEARCH"){$("#xtraopts").empty();select.util.insert("holder2","service_id",actual.services.sort(engine.asc),option_service);}else if("childs"in actual&&actual.childs.length>0){$("#xtraopts").empty();select.util.insert("holder2","engine_id",actual.childs.sort(engine.asc),option_child);}else{$("#xtraopts").empty();setForm(actual,target);}}};function setForm(actual,target){var name="name"in actual?actual.name:actual["name_"+lang];if(!("image_path"in actual&&!target.is("#holder2"))){target.text(name);$("div#sendsrch > a").text(key.searchin+" "+select.cache.name+" "+(name.toLowerCase()==="web"?"":name));}else{$("div#sendsrch > a").text(key.searchin+" "+name);}select.service=actual;set(actual,$("form#cse-search-box"),false);function set(object,target,_self){var args=object["arguments"].match(/[^&=]+=[^&]+/g)||[],action=object["url"],method=object["method"],value;if(_self===true){action="/result.php";method="get";$(document.createElement("input")).attr({"type":"hidden","name":"ref"}).prependTo(target).val(obj["url"]+"?"+obj["query_name"]+"="+q+"&"+obj["arguments"]);$(document.createElement("input")).attr({"type":"hidden","name":"name"}).val(obj["query_name"]).prependTo(target);}else{target.children("input:hidden").remove();for(var i=0;i<args.length;i++){value=args[i].substr(args[i].indexOf("=")+1);value=value.indexOf("eval")>-1?eval(value):value;$(document.createElement("input")).attr({"type":"hidden","name":args[i].substr(0,args[i].indexOf("="))}).prependTo(target).val(value);}$("input#searchfield").attr("name",object["query_name"]||select.cache["query_name"]);}target.attr({"method":method,"action":action});return true;};};function keydown(e){var e=e||window.event,code=e.keyCode||e.which;if(code===27){select.close();}};function click(e){var target;e=e||window.event;target=$(e.target);if(!target.is("li")&&target.attr("id")!=="holder"&&target.attr("id")!=="holder2"&&!target.is("img")){select.close();}};function search(e){var e=e||window.event,code=e.keyCode||e.which;if(code===13&&$(this).val().length>0){log.q();$("form#cse-search-box").submit();}}},util:{insert:function(id,proper,obj,option,selected){var elem=$("#"+id).is(":visible")?$("#"+id):$("<div/>").attr({"id":id,"tabIndex":option.tabIndex}).focus(showUl).keydown(keydown).appendTo(option.target),_default=option.list_id==="list2"&&typeof selected==="undefined"?select.util.getDefault(obj):false;actual=!_default?select.util.get(obj,proper,selected||"first"):_default;if(typeof obj!=="undefined"&&!obj.hasOwnProperty("length")&&obj.hasOwnProperty("length")>0){return false;}if("trigger"in option){option.trigger(actual,elem);}if(typeof tooltip==="string"&&tooltip.toLowerCase()==="y"){select.util.tooltip(elem,option.message);}function showUl(e){select.close(option.list_id);if($("#"+option.list_id).is(":visible")){return false;}else if($("#"+option.list_id).is(":hidden")){return $("#"+option.list_id).show();}else{select.util.list(option.list_id,proper,obj,option.lambda,option.target);}};function keydown(e){var code=e.keyCode||e.which,enter=13,tab=9;e=e||window.event;if(code===tab){$("#"+option.list_id).children("li.over:first").click();return true;}if(code>36&&code<41){if($("#"+option.list_id).is(":hidden")){elem.focus();}changeByCode(code);}else if(code>64&&code<91){if($("#"+option.list_id).is(":hidden")){elem.focus();}changeByLetter(String.fromCharCode(code).toLowerCase());}else if(code===enter){$("#"+option.list_id).children("li.over:first").click();}else if(code===27){select.close();}return preventDefault();function preventDefault(){e.returnValue=false;if("stopPropagation"in e){e.stopPropagation();}if("preventDefault"in e){e.preventDefault();}return false;};function changeByCode(type){var index=$("#"+option.list_id).children("li").index($("#"+option.list_id).children("li.over")),max=obj.length-1,min=0,result;if(type===38){index=--index<min?min:index;}else if(type===40){index=++index>max?max:index;}result=obj[index];$("li#"+result[proper]).addClass("over").siblings().removeClass("over");}function changeByLetter(character){var prev=select.stack[0]||"",label;for(var i=0;i<obj.length;i++){label=("name"in obj[i]?obj[i].name:obj[i]["name_"+lang]).toLowerCase();with(obj[i]){if(label.charAt(0)===character){if(select.stack.length<1){select.stack.push(label);}else{if(prev.charAt(0)===label.charAt(0)){if(select.stack.indexOf(label)>-1){continue;}else{select.stack.push(label);}}else{select.stack=[label];}}$("li#"+obj[i][proper]).addClass("over").siblings().removeClass("over");return;}}}}}},get:function(obj,proper,value){var result=false;if(value==="first"&&obj.length>0){result=obj[0];}else{for(var i=0;i<obj.length;i++)if(proper in obj[i]&&String(obj[i][proper])===String(value))result=obj[i];}return result;},getDefault:function(object,value,proper){var d=false,c=false,r=false;for(var i=0;i<object.length;i++){if(object[i]["default"]===true){d=object[i];}else if(object[i]["reach"]==="COUNTRY"&&object[i]["reach_id"]===String(country)){c=object[i];}else if(object[i]["reach"]==="REGION"&&region.indexOf(object[i]["reach_id"])>-1){r=object[i];}};return c!==false?c:r!==false?r:d;},list:function(id,proper,obj,lambda,target){var ul=$("<ul/>").attr({"id":id}).addClass("dropdown").css({"left":0,"top":"42px"}).appendTo(target);for(var i=0;i<obj.length;i++){var name="name"in obj[i]?obj[i].name:obj[i]["name_"+lang];with(obj[i]){if("image_path"in obj[i]&&target!=="#xtraopts"){$("<li/>").attr("id",obj[i][proper]).append($("<img/>").attr({"src":general.baseUrl+image_path,"title":name})).appendTo(ul);}else{$("<li/>").attr("id",obj[i][proper]).text(name).appendTo(ul);}}}return ul.children().hover(over,out).click(select.close).click(lambda);function over(){$(this).addClass("over").siblings().removeClass("over");};function out(){$(this).removeClass("over");};},tooltip:function(obj,message){var xOffset=47,yOffset=20,obj=obj||{};obj.hover(over,remove);function over(e){var text=message||"Click aquí para cambiar su motor de búsqueda",position=getPosition(obj.get(0));pageY=position.top,pageX=position.left;if($("div#tooltip").is(":visible")&&obj.is("#holder")){return false;}else{remove();}$("<div/>").attr("id","tooltip").html(text).appendTo("body").css({"top":(pageY-xOffset)+"px","left":(pageX+yOffset)+"px"}).show();};function remove(){$("div#tooltip").remove();};function getPosition(object){var topValue=0,leftValue=0;while(object){leftValue+=object.offsetLeft;topValue+=object.offsetTop;object=object.offsetParent;}return({"left":leftValue,"top":topValue,"parent":object});}}},close:function(id){$("ul.dropdown").each(close);function close(){if(typeof id==="undefined"||this.id!==id){$(this).hide();}}},stack:[],cache:{}};engine={init:function(id,elem){var user_id=id||0,elem=elem||$("#engine");select.elem=elem;this.load(user_id,select.init);},load:function(user_id,lambda){if(user_id*1>0){$.ajax({async:true,global:false,type:"get",url:"ajax/get-data.php",data:{"file":"myengines.js","code":1,"id":user_id},dataType:"json",beforeSend:function(){$("#search-button").html("<i>"+key.loading+"...</i>");},success:callback});}else{$.ajax({async:true,global:false,url:"ajax/get-incs.php",type:"get",dataType:"json",data:{"url":"/inc/ms-"+geoip+".js","type":"ms"},beforeSend:function(){$("#search-button").html("<i>"+key.loading+"...</i>");},success:callback});}function callback(e){engine.cache=e;lambda(e);}},asc:function(a,b){var proper,x,y;if("order"in a){proper="order";x=a[proper]*1,y=b[proper]*1;}else{proper="name"in a?"name":"name_"+lang,x=a[proper].toLowerCase(),y=b[proper].toLowerCase();}return(x>y)?1:(x<=y)?-1:0;},cache:{},service:{}};if(!Array.prototype.indexOf){Array.prototype.indexOf=function(elt){var len=this.length>>>0;var from=Number(arguments[1])||0;from=(from<0)?Math.ceil(from):Math.floor(from);if(from<0)from+=len;for(;from<len;from++){if(from in this&&this[from]===elt)return from;}return-1;};}