var RTEFilter={bind:true,timeout:null,request:0,loading:false,ajax:false,page:1,pageCount:0,pages:[],hash:"",getHash:function(A){if(A&&A.hash){return A.hash+"-"+A.itemsPerPage+"-"+A.order}return($("#wish_list").length==0?$("#filter_form input[name='hash']").val():"wishlist")+"-"+$("#filter_page_controls input[name='c']").val()+"-"+$("#filter_page_controls").parent().find("select[name='o']").val()},init:function(C,B){if(C!=null){this.pageCount=B;this.updatePageLinks(C)}if(this.bind){this.bind=false;this.ajax=($("#filter_message").length>0);if(this.ajax){this.hash=this.getHash();this.pages[this.hash]={loaded:[C],controls:[],conditions:[]};this.pages[this.hash].controls[C]=$("#filter_page_controls").html();this.pages[this.hash].conditions[C]=$("#rental_conditions").html()}$("#filter_form").submit(function(){RTEFilter.submit(true);return false});$("#filter_message").ajaxError(function(){$(this).text("An error has occurred")});var A=$("#filter_form li");$('input[type="text"], select',A).change(function(){RTEFilter.submit()});$('input[type="checkbox"]',A).click(function(){RTEFilter.submit()});$(".fulltext input",A).unbind("click").keyup(function(){RTEFilter.submit()})}var D=function(){if(this.sAction=="open"){$(this).slideDown("slow")}else{if(this.sAction=="close"){$(this).slideUp("slow")}}this.sAction=null};$("#product div.panel").hover(function(){var F=$("div.height",this);var G=F[0].sAction==null;F[0].sAction="open";if(F[0].nTimeout){window.clearTimeout(F[0].nTimeout)}if(G){F.slideDown("slow",D)}},function(){var F=$("div.height",this);F[0].sAction="close";F[0].nTimeout=window.setTimeout(function(){D.call(F[0])},500)});var E=$("#filter_form > div.advanced");if(E.length>0){$("#filter_form > div.simple").append('<a class="advanced" href="#">Advanced SEARCH<br><span class="summary"></span></a>').find("a.advanced").click(function(){$(this).fadeOut("slow");$("#filter_form > div.advanced").slideDown("slow",function(){$("#filter_form > div.advanced a.advanced").fadeIn("normal")});return false});E.append('<a class="advanced" href="#" style="display:none">Close Window</a>').find("a.advanced").click(function(){RTEFilter.updateAdvanced();$("#filter_form > div.simple a.advanced").fadeIn("slow");$("#filter_form > div.advanced").slideUp("slow");$(this).fadeOut("fast");return false});this.updateAdvanced()}},updateAdvanced:function(){var A=[];$("#filter_form > div.advanced li").each(function(){var B=$("input:checked",this);if(B.length>0){A.push($("div.label > strong",this).text())}});$("#filter_form > div.simple > a.advanced > span.summary").text((A.length==0?"":"by ")+A.join(", "))},initList:function(){var B=$("#product_list");if(window.bDisableDragDrop!=true&&B.parent("div.container").length==0){this.listWidth=B.width();this.listHeight=B.height();B.wrap('<div class="container"></div>').parent().width(this.listWidth).height(this.listHeight).css({position:"relative",overflow:"hidden"});B.width(this.listWidth).height(this.listHeight).css({position:"absolute",left:0,top:0}).find("div.clear").remove();listOffset=B.offset();this.productWidth=240;this.productHeight=220;var C=$(RTEUtil.selector,B);for(var A=C.length-1;A>=0;A--){var E=$(C[A]);var D=E.offset();this.productWidth=E.width();this.productHeight=E.outerHeight();E.css({"float":"none",position:"absolute",left:(D.left-listOffset.left)+"px",top:(D.top-listOffset.top)+"px"})}}return B},removeProduct:function(B,A){B.unbind("hover");B.unbind("submit");B.find(".compare > a").unbind("click");B.find(".wishlist > a").unbind("click");B.find(".form").unbind("click");B.draggable("destroy");if(A!=false){B.remove()}},showPage:function(B,D,A){var C=jQuery.inArray(B,this.pages[this.hash].loaded);if(C>=0){if(A==true){$("#product_list").css("left",(0-this.listWidth*C)+"px")}else{$("#product_list").animate({left:(0-this.listWidth*C)+"px"},1000,D)}}},update:function(B){if(B.request==this.request){var H=this.initList();var E=this.getHash(B);if(this.pages[E]&&this.pages[E].loaded.length>0){if(jQuery.inArray(B.page,this.pages[E].loaded)<0){this.pages[E].loaded.push(B.page);this.pages[E].loaded.sort();H.width(this.listWidth*this.pages[E].loaded.length);this.showPage(this.page,null,true);var K=this.listWidth;var L=jQuery.inArray(B.page,this.pages[E].loaded)*K;$(RTEUtil.selector,H).each(function(){var N=$(this);var O=parseInt(N.css("left"));RTEFilter.removeProduct(N,false);if(O>=L){N.css("left",(O+K)+"px")}});var G=-1,J=0,C=this.productWidth;var M=Math.floor(this.listWidth/C);for(var D=0;D<B.products.length;D++){G++;if(G>=M){G=0;J+=this.productHeight}H.append(B.products[D].html);$("#product_"+B.products[D].id).css({"float":"none",position:"absolute",left:(L+G*C)+"px",top:J+"px"})}if((J+this.productHeight)>this.listHeight){this.listHeight=J+this.productHeight;H.height(this.listHeight).parent().animate({height:this.listHeight+"px"},"normal")}this.pages[E].controls[B.page]=B.controls;this.pages[E].conditions[B.page]=B.conditions;RTEUtil.products()}this.showPage(B.page)}else{var K=this.listWidth;var L=jQuery.inArray(this.page,this.pages[this.hash].loaded)*K;$(RTEUtil.selector,H).each(function(){var N=$(this);var O=parseInt(N.css("left"));if(O<L||O>=(L+K)){RTEFilter.removeProduct(N)}else{N.css("left",(O-L)+"px")}});H.width(K).css("left",0);var A=[];if(window.bDisableDragDrop!=true){for(var D=B.products.length-1;D>=0;D--){if($("#product_"+B.products[D].id).length!=0){A.push(B.products[D].id)}}}var I=$(RTEUtil.selector,H);this.response=B;this.existing=A;var F=0;I.each(function(N){var P=parseInt(this.id.substr(this.id.lastIndexOf("_")+1));var O=$(this);RTEFilter.removeProduct(O,false);if(window.bDisableDragDrop||jQuery.inArray(P,A)<0){F++;O.fadeOut("normal",function(){O.remove();F--;if(F==0){RTEFilter.moveExisting()}})}});if(F==0){this.moveExisting()}this.pages[this.hash]={loaded:[]};this.hash=E;$("#filter_form input[name='hash']").val(B.hash);this.pages[this.hash]={loaded:[B.page],controls:[],conditions:[]};this.pages[this.hash].controls[B.page]=B.controls;this.pages[this.hash].conditions[B.page]=B.conditions}$("#product_list_empty").remove();if(B.html){$("#product_list").append(B.html)}if(B.total!=null){$("#product h1 span.count").text(B.total==0?"":(" ("+B.total+")"))}$("#rental_conditions").html(B.conditions);if(B.pageCount!=null){this.pageCount=B.pageCount}this.updatePageLinks(B.page,B.controls)}$("#filter_message, #filter_loading").fadeOut();this.loading=false},moveExisting:function(){var D=this.initList();var G=-1;var J=Math.floor(this.listWidth/this.productWidth);var I=0;var E=0;var H=this.response.products.length+10;var B=0;this.display=[];for(var F=0;F<this.response.products.length;F++){var A=this.response.products[F].id;G++;if(G>=J){I+=this.productHeight;G=0}left=G*this.productWidth;if(jQuery.inArray(A,this.existing)<0){if(E==0){D.prepend(this.response.products[F].html)}else{$("#product_"+E).after(this.response.products[F].html)}$("#product_"+A).css({display:"none","float":"none",position:"absolute",zIndex:H-F,left:left+"px",top:I+"px"});RTEFilter.display.push(A)}else{B++;var C=$("#product_"+A);C.css("zIndex",H-F).animate({left:left+"px",top:I+"px"},"normal",function(){B--;if(B==0){RTEFilter.displayNew()}})}E=A}var K=this.response.products.length>0&&this.productHeight>0?((I+this.productHeight)+"px"):(this.productHeight+"px");D.css("height",K).parent().animate({height:K},"normal");if(B==0){RTEFilter.displayNew()}this.response=false},displayNew:function(){for(var A=this.display.length-1;A>=0;A--){$("#product_"+this.display[A]).fadeIn("slow")}this.display=false;RTEUtil.products()},updatePageLinks:function(B,A){if(A){$("#filter_page_controls a").unbind("click");$('#filter_page_controls > .items_per_page input[name="c"]').unbind("keyup");$("#filter_page_controls").parent().unbind("submit").find("select[name='o']").unbind("change");$("#filter_page_controls").html(A)}this.page=(B>0?B:1);$("#filter_page_controls > .page_list a").click(function(){RTEFilter.submit(true,this.href.substr(this.href.indexOf("&p=")+3),null,true);return false});$("#filter_page_controls input[name='c']").keyup(function(){RTEFilter.submit(false,1,this.value,true)});$("#filter_page_controls").parent().submit(function(){return false}).find("select[name='o']").change(function(){RTEFilter.submit(true,1,$("#filter_page_controls input[name='c']").val(),true)});$("#filter_page_controls > .items_per_page a").click(function(){RTEFilter.submit(true,1,"all",true);return false})},submit:function(E,D,B,G){if(E){clearTimeout(this.timeout);this.timeout=null;var F=false;if(G&&D&&B==null&&D!="all"){if(jQuery.inArray(parseInt(D),this.pages[this.hash].loaded)>=0){this.update({request:this.request,page:parseInt(D),controls:this.pages[this.hash].controls[D],conditions:this.pages[this.hash].conditions[D]});F=true}}if(!F&&!this.ajax&&G!=true){$("#filter_form").each(function(){this.action+="&q=no";this.submit()});return false}if(!F&&!this.loading){$("#filter_message, #filter_loading").fadeIn()}this.loading=true;var A=window.location.href;if(A.indexOf("?")>0){A=A.substr(0,A.indexOf("?"))}if(B!=null){$('#filter_form input[name="c"]').val(B)}var C=$("#filter_form").serializeArray();C.push({name:"request",value:++this.request},{name:"f",value:"json"},{name:"p",value:D==null?1:D},{name:"o",value:$("#filter_page_controls").parent().find("select[name='o']").val()});if(F){C.push({name:"quick",value:""})}$.post(A,C,!F?function(H){RTEFilter.update(H)}:null,"json")}else{if(this.timeout!=null){clearTimeout(this.timeout)}this.timeout=setTimeout(function(){RTEFilter.submit(true,D,B,G)},333)}}};
