
function apa_doRequest(url,q,success){$.ajax({type:"POST",url:url,data:q,success:function(response){success(response);},error:function(XMLHttpRequest,textStatus,errorThrown){alert(textStatus);}})};function serialize(mixed_value){var _getType=function(inp){var type=typeof inp,match;var key;if(type=='object'&&!inp){return'null';}
if(type=="object"){if(!inp.constructor){return'object';}
var cons=inp.constructor.toString();match=cons.match(/(\w+)\(/);if(match){cons=match[1].toLowerCase();}
var types=["boolean","number","string","array"];for(key in types){if(cons==types[key]){type=types[key];break;}}}
return type;};var type=_getType(mixed_value);var val,ktype='';switch(type){case"function":val="";break;case"boolean":val="b:"+(mixed_value?"1":"0");break;case"number":val=(Math.round(mixed_value)==mixed_value?"i":"d")+":"+mixed_value;break;case"string":val="s:"+encodeURIComponent(mixed_value).replace(/%../g,'x').length+":\""+mixed_value+"\"";break;case"array":case"object":val="a";var count=0;var vals="";var okey;var key;for(key in mixed_value){ktype=_getType(mixed_value[key]);if(ktype=="function"){continue;}
okey=(key.match(/^[0-9]+$/)?parseInt(key,10):key);vals+=this.serialize(okey)+
this.serialize(mixed_value[key]);count++;}
val+=":"+count+":{"+vals+"}";break;case"undefined":default:val="N";break;}
if(type!="object"&&type!="array"){val+=";";}
return val;}
$.fn.extend({apa_UIlicarrousel:function(options){options=$.extend({},$.apa_UIlicarrousel.defaults,{delay:$.apa_UIlicarrousel.defaults.delay},options);return this.each(function(){new $.apa_UIlicarrousel(this,options);});},setOptions:function(options){return this.trigger("setOptions",[options]);}});$.apa_UIlicarrousel=function(ul,options){var listItems=$(ul).children();var itemsCount=listItems.size();var pointer=0;var active=0;var step=options.step;listItems.slice(pointer,parseInt(options.max)+parseInt(pointer)).fadeIn("slow");pointer+=1;if(!(itemsCount<=options.max))
setTimeout(changeList,options.delay);function changeList(){active+=options.step;var pointer=0;pointer=parseInt(options.max)+parseInt(active);if(pointer>=itemsCount){active=0;pointer=options.max;listItems.slice(0,itemsCount).fadeOut("slow",function(){listItems.slice(active,pointer).fadeIn("slow")});}else{listItems.slice(active-1,active).fadeOut("slow",function(){listItems.slice(active,pointer).fadeIn("slow")});}
setTimeout(changeList,options.delay);}}
$.apa_UIlicarrousel.defaults={delay:5000,max:5,step:1};$.fn.extend({apa_UIList:function(options){options=$.extend({},$.apa_UIList.defaults,{},options);return this.each(function(){new $.apa_UIList(this,options);});},setOptions:function(options){return this.trigger("setOptions",[options]);}});$.apa_UIList=function(ul,options){var divDisplay=$(ul).parent();$(ul).bind("setOptions",function(){});function init(){var divControl=$("<div/>").appendTo(divDisplay).addClass("control");var up=$("<div/>").appendTo(divControl).addClass("upDiv").addClass("off");var down=$("<div/>").appendTo(divControl).addClass("downDiv").addClass("off");list={control:{up:up,down:down},ul:$(ul),listItems:'',active:options.active,max:options.max,bind:function(){var listVar=this;this.control.up.click(function(){moveList(listVar,-1);return false;});this.control.down.click(function(){moveList(listVar,1);return false;});},reset:function(){this.active=0;this.listItems='';this.control.up.addClass("off");this.control.down.addClass("off");}};list.bind();list.listItems=$(list.ul).children();if(list.listItems.length>options.max){list.control.down.removeClass("off");}
list.listItems.addClass("off");list.listItems.slice(0,options.max).removeClass("off");}
function moveList(toList,step){toList.active+=step;if(toList.active>0){toList.control.up.removeClass("off");}
if(toList.active<=toList.listItems.size()-parseInt(options.max)){toList.control.down.removeClass("off");}
if(toList.active<=0){toList.control.up.addClass("off");toList.active=0;}else if(toList.active>=toList.listItems.size()-parseInt(options.max)){toList.control.down.addClass("off");toList.active=toList.listItems.size()-parseInt(options.max);toList.listItems.slice(toList.active,options.max).removeClass("off");}
toList.listItems.addClass("off");toList.listItems.slice(toList.active,parseInt(options.max)+parseInt(toList.active)).removeClass("off");}
init();};$.apa_UIList.defaults={active:0,max:8};$.fn.extend({apa_UIsuggest:function(reqURL,options){options=$.extend({},$.apa_UIsuggest.defaults,{url:reqURL,delay:$.apa_UIsuggest.defaults.delay},options);options.highlight=options.highlight||function(value){return value;};return this.each(function(){new $.apa_UIsuggest(this,options);});},result:function(handler){return this.bind("result",handler);},search:function(handler){return this.trigger("search",[handler]);},clearList:function(){this.clearList();return false;},setOptions:function(options){return this.trigger("setOptions",[options]);},unUIsearch:function(){return this.trigger("unUIsearch");}});$.apa_UIsuggest=function(input,options){var KEY={UP:38,DOWN:40,DEL:46,TAB:9,RETURN:13,ESC:27,COMMA:188,PAGEUP:33,PAGEDOWN:34,BACKSPACE:8};var $input=$(input).attr("autocomplete","off").addClass(options.inputClass);var $divSuggest=$("#"+options.resultDiv);var $divDisplay=$("#"+options.displayDiv);var timeout;var previousValue="";var hasFocus=0;var lastKeyPressCode;var blockSubmit;var list=new Array();var jsonRes;var isInit=0;var ready=false;$input.bind(($.browser.opera?"keypress":"keydown")+".UIsearch",function(event){hasFocus=1;lastKeyPressCode=event.keyCode;switch(event.keyCode){case KEY.UP:event.preventDefault();break;case KEY.DOWN:event.preventDefault();break;case KEY.PAGEUP:event.preventDefault();break;case KEY.PAGEDOWN:event.preventDefault();break;case KEY.TAB:case KEY.RETURN:if(!ready)
event.preventDefault();break;case KEY.ESC:hideList();break;default:ready=false;clearTimeout(timeout);timeout=setTimeout(onChange,options.delay);break;}}).focus(function(){hasFocus++;nameShow();}).blur(function(){hasFocus--;nameShow();}).click(function(){}).bind("search",function(){}).bind("setOptions",function(){}).bind("release",function(){$input.unbind();$(input.form).unbind(".UIsearch");}).val(options.fieldName);function init(){clearList();for(var i=0;i<options.resultCols.length;i++){var newdiv=$("<div/>").appendTo($divSuggest).attr("id",options.resultCols[i]+"Div");var divTitle=$("<h1/>").appendTo(newdiv).html(options.resultColsName[i]);$("<ul/>").appendTo(newdiv);var divControl=$("<div/>").appendTo(newdiv).addClass("control");var up=$("<div/>").appendTo(divControl).addClass("upDiv").addClass("off");var down=$("<div/>").appendTo(divControl).addClass("downDiv").addClass("off");list[i]=new Array();list[i]={name:options.resultCols[i],title:divTitle,control:{up:up,down:down},ul:$(newdiv).find("ul"),listItems:'',active:options.active,max:options.max,bind:function(){var listVar=this;this.control.up.click(function(){moveList(listVar,-1);return false;});this.control.down.click(function(){moveList(listVar,1);return false;});},reset:function(){this.active=0;this.listItems='';this.control.up.addClass("off");this.control.down.addClass("off");}};list[i].bind();}
isInit=1;}
function moveList(toList,step){toList.active+=step;if(toList.active>0){toList.control.up.removeClass("off");}
if(toList.active<=toList.listItems.size()-parseInt(options.max)){toList.control.down.removeClass("off");}
if(toList.active<=0){toList.control.up.addClass("off");toList.active=0;}else if(toList.active>=toList.listItems.size()-parseInt(options.max)){toList.control.down.addClass("off");toList.active=toList.listItems.size()-parseInt(options.max);toList.listItems.slice(toList.active,options.max).removeClass("off");}
toList.listItems.addClass("off");toList.listItems.slice(toList.active,parseInt(options.max)+parseInt(toList.active)).removeClass("off");}
function onChange(crap,skipPrevCheck){if(lastKeyPressCode==KEY.DEL){return;}
var currentValue=$input.val();if(!skipPrevCheck&&currentValue==previousValue)
return;previousValue=currentValue;if(currentValue.length>=options.minChars){loading(true);if(!options.matchCase)
currentValue=currentValue.toLowerCase();checkClean();options.onChangeDo(currentValue);suggestReq(currentValue,receiveData);}else{clearList();$("<p/>").attr("style","margin:10px; text-align: center;").html('No hay sugerencias. Digite su consulta').appendTo($divSuggest);}};function populate(data,q){if(!isInit)init();var empty=true;$divSuggest.find("ul").empty();for(var a=0;a<list.length;a++){list[a].reset();var word,url,ext,id;if(data[list[a].name]!=undefined){for(var i in data[list[a].name]){id=data[list[a].name][i].id;word=data[list[a].name][i].word;ext=data[list[a].name][i].ext;var li=$("<li/>").attr("id",id).html("<a href='#'>"+options.highlight(word,q)+"</a>").appendTo(list[a].ul).addClass("off");$(li).find("a").attr("alt",ext).attr("title",ext).tooltip({track:true,delay:0,showURL:false,showBody:" - ",fade:250});$(li).find("a").bind("click",{divDisplay:$divDisplay},options.onClickDo);}
if(data[list[a].name].length>options.max){list[a].control.down.removeClass("off");}
list[a].listItems=$(list[a].ul).children();list[a].listItems.slice(0,options.max).removeClass("off");}
if(list[a].listItems.length>0)empty=false;}
if(empty)
noResults();showList();loading(false);ready=true;};function receiveData(data,q){if(data){populate(data,q);}};function suggestReq(q,success){$.ajax({type:"POST",url:options.url,data:"q="+q,success:function(response){jsonRes=JSON.parse(response);success(jsonRes,q)}})};function showList(){$divDisplay.slideDown("slow");}
function hideList(){$divDisplay.slideUp("slow");}
function clearList(){$divSuggest.empty();isInit=0;}
function checkClean(){if($divSuggest.html()!='')
clearList();}
function nameShow(){var currentValue=$input.val();if(hasFocus&&currentValue==options.fieldName)
$input.val('');else if(!hasFocus&&currentValue==''){$input.val(options.fieldName);}}
function loading(yes){if(yes&&$divDisplay.is(':visible')){makeOverlay(options.displayDiv);overlayWaitMsj('overlay');}
else
setTimeout(function(){removeOverlayMsj();removeOverlay();},1000);}
function noResults(){clearList();$("<p/>").attr("style","margin:10px; text-align: center;").html("No hay sugerencias para "+options.highlight($input.val(),$input.val())).appendTo($divSuggest);}
init();};$.apa_UIsuggest.defaults={fieldName:'Field Name',minChars:3,delay:300,active:0,max:8,highlight:function(value,term){return value.replace(new RegExp("(?![^&;]+;)(?!<[^<>]*)("+term.replace(/([\^\$\(\)\[\]\{\}\*\.\+\?\|\\])/gi,"\\$1")+")(?![^<>]*>)(?![^&;]+;)","gi"),"<span>$1</span>");},displayDiv:"suggestInt",resultDiv:"innerSuggestDiv",resultCols:new Array("sAct","sName","sWord"),resultColsName:new Array("Por Rubro","Por Nombre","Por Palabra"),onClickDo:function(e){return false},onChangeDo:function(currentValue){return false},loadingClass:"loading"};