function plManager(){this._requestCache=new Hash();this._dbg=false;this._lastHash="";this._ajaxDivId="paneContentbereich";this._domAjaxDiv=null;this._htmlRequest=null;this.debug=function(a){if(plm._dbg&&window.console!=undefined){console.log(a)}};this.setAjaxDivId=function(a){if(a!=null){plm._ajaxDivId=a;plm._domAjaxDiv=null}};this.getAjaxDiv=function(){if(plm._domAjaxDiv==null){plm._domAjaxDiv=$(plm._ajaxDivId)}return plm._domAjaxDiv};this.loadProduktListe=function(d){plm.debug("loadProduktListe "+d);kdeEventManager.addListener("TIMER100",this._hashDetector);kdeEventManager.addTimerEvent("TIMER100",100,null);var c="";var b=gf_getHashFromURL();if(b==null||b==""){c="";plm._loadProductsByKid(d)}else{c="&"+window.location.hash;plm._loadProductsByHash()}var a=Browser.ie;if(a){c=""+gf_getHashFromURL();$("ajaxhidden").src="/jsp/general/kategorie_produktliste_ajaxcontent.jsp?iframe=yes&"+c}};this._loadProductsByKid=function(c){plm.debug("loadProductsByKid "+c);var e="successUrl=/jsp/general/kategorie_produktliste_ajaxcontent.jsp";var a=plm.getParameterFromURL(c,"kid");var d=new URI(location.href);var f=d.parsed.query.parseQueryString().pfad+"+"+d.parsed.query.parseQueryString().kid;var b="kategorieAnzeigen.do?pageCount=1&seopfad=&"+e+"&kid="+a+"&pfad="+f;plm._loadProductsByUrl(b)};this._loadProductsByUrl=function(a){plm.debug("loadProductsByUrl "+a);var b=new RegExp(plm._getFilterPrefix(),"g");var c=a.replace(b,"");if(plm.getAjaxDiv()&&!plm._recycleFromRequestCache(c)){plm._doRealHtmlRequest(c)}};this._recycleFromRequestCache=function(c){var a=false;plm.debug("recycleFromRequestCache "+c);var b=plm._requestCache.get(c);if(b!=null){this.debug("cache hit: "+c);plm._cb_loadContent(b,c,true);a=true}else{a=false}return a};this._doRealHtmlRequest=function(a){plm.debug("doRealHtmlRequest "+a);plm.debug("no cache do request...");var b=plm._getRequestInstance();b.options.url=a;b.onSuccess=function(c,d){plm.debug("onSuccess ");plm._cb_loadContent(c,a,false);if(gf_isSports()){gf_SeitenanfangForTarget("paneContent",false)}else{gf_Seitenanfang()}};b.send()};this._getRequestInstance=function(){if(!plm._htmlRequest){plm._htmlRequest=new Request({evalScripts:true,method:"get",link:"cancel",onRequest:function(){plm.debug("onRequest ");plm._showAjaxLoading()},onFailure:function(a){plm.debug("onFailure "+a+" status "+a.status);plm._showErrorPage(a)},onLoadstart:function(a,b){plm.debug("onLoadstart e: "+a+" xhr: "+b)},onProgress:function(a,b){plm.debug("onProgress e: "+a+" xhr: "+b)},onComplete:function(){plm.debug("onComplete")},onCancel:function(){plm.debug("onCancel")},onException:function(b,a){plm.debug("onException headerName: "+b+" value: "+a)},onTimeout:function(){plm.debug("onTimeout")}})}return plm._htmlRequest};this._showAjaxLoading=function(){plm.debug("showAjaxLoading ");var a=plm.getAjaxDiv();var b=a.getElements(".product_listing .product_element a .dummyBildKlein .image");var c="background: white url('/pics/11/ajaxload.gif') no-repeat center center";b.each(function(e,d,f){e.set("style",c)});if(a&&b.length==0){a.empty();a.grab(html.IMG({src:"/pics/11/ajaxload.gif","class":"bela"}))}};this._showErrorPage=function(b){plm.debug("showErrorPage ");var a=plm.getAjaxDiv();if(a!=null&&b!=null){a.empty();if(b.status==0){a.set("html","<h1>Bitte warten</h1><p>Bitte haben Sie einen Moment Geduld. Die Seite wird neu geladen.</p>")}else{a.set("html",'<h1>Es ist ein technischer Fehler aufgetreten.</h1><p>Aufgrund einer technischen Störung ist diese Seite kurzfristig nicht verfügbar. Bitte wählen Sie einen anderen Bereich und rufen Sie diese Seite erneut zu einem späteren Zeitpunkt auf.</p><p>Hier geht\'s zur <a href="/">karstadt.de Startseite.</a></p>')}}};this._getFilterPrefix=function(){if(typeof(exsu)=="undefined"){return"filter_"}else{return exsu.FILTEROPTIONPREFIX}};this._getFilterStatusPrefix=function(){if(typeof(exsu)=="undefined"){return"fs_"}else{return exsu.FILTERSTATEPREFIX}};this._loadProductsByHash=function(){plm.debug("loadProductsByHash");var f=encodeURIComponent(gf_getHashFromURL());var e=plm._getHashUrlBase64Decoded(f.substring(0,f.length));var d="successUrl=/jsp/general/kategorie_produktliste_ajaxcontent.jsp";var a=plm.getParameterFromURL(window.location.search,"kid");var c=new URI(location.href);var g=c.parsed.query.parseQueryString().pfad+"+"+c.parsed.query.parseQueryString().kid;var b="kategorieAnzeigen.do?kid="+a+"&pfad="+g+"&"+e+"&seopfad=&"+d;plm._loadProductsByUrl(b)};this._getHashUrlBase64Decoded=function(a){var b="=";var d="";var c=a.split("&");if(c&&c.each){c.each(function(n,j,k){var m=n.substring(0,n.indexOf(b));if(m.indexOf(plm._getFilterPrefix())>=0){var h=n.indexOf(b)+1;var l=n.substring(h,n.length);var f=decodeURIComponent(l);var i=Base64.decode(f);var g=encodeURIComponent(i);var e=m.substring(plm._getFilterPrefix().length);d=d+e+b+g+"&"}else{d=d+n+"&"}})}return d};this._cb_loadContent=function(a,c,b){plm.debug("cb_loadContent "+c+" isCacheHit"+b);if(!b){plm._addToRequestCache(c,a)}var d=plm.getAjaxDiv();if(d){d.empty();d.set("html",a);if(typeof(setSortVisible)=="function"&&typeof(setSortInvisible)!="function"){setSortVisible()}plm._changeClickEvents(d)}window.setTimeout(function(){plm.showEmptyDialogWhenNeccessary()},100)};this.showEmptyDialogWhenNeccessary=function(){var e=plm.getAjaxDiv();var b=e.getElements(".product_listing .product_element a .dummyBildKlein .image");if(e&&b.length==0){var i=html.DIV({"class":"content left"});var j=html.DIV({"class":"auswahl"});i.grab(j);var q=html.SPAN({text:"","class":""});var d=html.DIV({"class":"button  button_small left button_allgemein zlez"});var f=html.A({text:"Zum letzten Ergebnis zurück","class":""});d.addEvent("click",function(){history.go(-1);exsu._disposeLeerFilterDialog()});d.grab(f);var p=html.SPAN({text:"oder","class":"mitte"});var m=html.DIV({"class":"button  button_small left button_allgemein afl"});var o=html.A({text:"Alle Filter löschen","class":""});m.addEvent("click",function(){exsu._auswahlAufheben();exsu._disposeLeerFilterDialog()});m.grab(o);var n=html.SPAN({text:"","class":""});j.grab(d);j.grab(p);j.grab(m);var a=$("leerFilter");if(a){a.dispose()}a=html.BASICDIALOGBOX("Für die ausgewählten Filter wurden keine Produkte gefunden.",i,{id:"leerFilter","class":"product_layer invisible"});var g=$("paneContent");g.grab(a);dm.showDialog(a,true,true,null,null,true);if(g){var l=g.getElement(".category_header_base");if(l){var k=html.DIV({"class":"leerFilter"});k.grab(i.clone());k.inject(l,"after");var c=k.getElement("div.zlez");c.addEvent("click",function(){history.go(-1);exsu._disposeLeerFilterDialog()});var h=k.getElement("div.afl");h.addEvent("click",function(){exsu._auswahlAufheben();exsu._disposeLeerFilterDialog()})}}}};this._addToRequestCache=function(a,b){plm.debug("addToRequestCache "+a);plm._requestCache.set(a,b);this.debug("response cached!")};this._changeClickEvents=function(b){plm.debug("changeClickEvents ");var a=b.getElements(".panePaginatorTop a");a.each(function(g,f,h){g.addEvent("click",function(){var i=g.get("href");plm._refreshHashFromUrl(i);return false})});var c=$("sortProductListId");if(c){var e=c.getElement("select");if(e){e.removeEvent("change");e.set("onchange","");e.addEvent("change",function(){if(e){var i=e.get("value");var h="";var g="";if(i=="RESET"){h="";g=""}else{if(i=="PPPRC_ASC"){h="PPPRC";g="ASC"}else{if(i=="PPPRC_DESC"){h="PPPRC";g="DESC"}else{if(i=="RATING_DESC"){h="F_BEWERTUNGDURCHS";g="DESC"}else{if(i=="SELL_DESC"){h="F_ABVERKAUF,PRRFNBR";g="DESC,DESC"}}}}}var f=plm.getParameterFromURL(window.location.search,"kid");var j=new Array();j.push("orderBy="+h);j.push("orderDir="+g);j.push(e.get("name")+"="+e.get("value"));j.push("orderKid="+f);plm.addParameterToHash(j)}pe_addRememberSortierung();return false})}}pe_countCompareProducts();gf_setTooltipByElements("span");var d=b.getElements("div.product_top3 a");d.each(function(g,f,h){g.addEvent("click",function(){pe_addRememberTopseller()})})};this.getParameterFromURL=function(d,a){plm.debug("getParameterFromURL "+d);a=a.replace(/[\[]/,"\\[").replace(/[\]]/,"\\]");var b="[\\?&]"+a+"=([^&#]*)";var e=new RegExp(b);var c=e.exec(d);if(c==null){return""}else{return c[1]}};this._refreshHashFromUrl=function(c){plm.debug("refreshHashFromUrl "+c);if(c==null){return false}var d=new Array();var f=c.indexOf("?");if(f==-1){return false}var a=c.indexOf("#");if(a==-1){a=c.length}var b=c.substring(f,a);var e=b.substring(1,b.length).split("&");plm._addParameterToHashFromPaginator(e)};this._addParameterToHashFromPaginator=function(c){var a=new Array();var b="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";c.each(function(f,h,g){if(f.length>1){var d=(b.indexOf(f.charAt(0))!=-1);var e=f.charAt(1)=="$";if(d&&e){}else{a.include(f)}}});plm.addParameterToHash(a)};this.addParameterToHash=function(p,k,d){var f=true;plm.debug("addParameterToHash ");if(p instanceof Array){}else{var a=new Array();a.push(p+"="+k);p=a}if(d!==undefined){p=d;f=false}var v=new Array();var c=new Array();var b=gf_getHashFromURL();var g=b.substring(0,b.length).split("&");if(g!=null&&g.length>0){var q=0;for(q=0;q<g.length;q++){var h=g[q];var o=h.split("=");var m=o[0];var l=o[1];if(m!=null&&l!=null){var j=m.indexOf(plm._getFilterPrefix())==0;if(!j||f){v[m]=l;c.push(m)}}}}if(p!=null&&p.length>0){var u=0;for(u=0;u<p.length;u++){var e=p[u];var t=e.split("=");var s=t[0];var r=t[1];if(s!=null&&r!=null&&s!="kid"&&s!="successUrl"&&s!="seopfad"){v[s]=r;if(!c.contains(s)){c.push(s)}}}}v.parameterNames=c;var n=plm._getHashStringOfParamsArray(v);plm._setNewHash(n)};this.removeParameterFromHashWithPrefix=function(b){var c=gf_getHashFromURL();var a=plm._removeParameterFromStringWithPrefix(c,b);plm._setNewHash(a)};this._removeParameterFromStringWithPrefix=function(a,g){var h=a.substring(0,a.length).split("&");var k=new Array();var b=new Array();if(h!=null&&h.length>0){var d=0;for(d=0;d<h.length;d++){var f=h[d];var j=f.split("=");var e=j[0];var l=j[1];if(e!=null&&l!=null){var c=false;g.each(function(i,o,n){if(e.indexOf(i)==0){c=true}});if(!c){k[e]=l;b.push(e)}}}}k.parameterNames=b;var m=plm._getHashStringOfParamsArray(k);return m};this._setNewHash=function(c){var a=Browser.ie;if(!a){gf_setHashToURL(c)}else{var b=new URI(location.href);var d=b.parsed.query.parseQueryString().pfad+"+"+b.parsed.query.parseQueryString().kid;$("ajaxhidden").src="/jsp/general/kategorie_produktliste_ajaxcontent.jsp?iframe=yes&"+c}};this._getHashStringOfParamsArray=function(d){plm.debug("getHashStringOfParamsArray ");var a="";var c=d.parameterNames;var b=0;for(b=0;b<c.length;b++){var e=c[b];var f=d[e];if(b==0){a=a}else{a=a+"&"}a=a+e+"="+f}return a};this._refreshUrlInBrowser=function(a){var b=gf_getHashFromURL();if(b==null||b==""){plm._loadProductsByKid(a)}else{plm._loadProductsByHash()}};this._hashDetector=function(){var a=gf_getHashFromURL();var b=plm._removeParameterFromStringWithPrefix(a,new Array(plm._getFilterStatusPrefix()));if(b!=plm._lastHash){plm._hideKategorieListWhenNeeded();plm._lastHash=b;plm._refreshUrlInBrowser(window.location.href)}return false};this._hideKategorieListWhenNeeded=function(){var a=$("paneContent");if(a){var c=a.getElement(".subKatTeaser");if(c){var b=gf_getHashFromURL();if(b.indexOf(exsu.FILTEROPTIONPREFIX)>-1){dt_Hide(c)}else{}}}};this.callBackFromIframe=function(a){plm.debug("callBackFromIframe "+a);var b=a.substring(a.indexOf("?")+"?iframe=yes&".length,a.length);if(b.indexOf("#")==0){b=b.substring(1,b.length)}plm.debug("new Hash: "+b);gf_setHashToURL(b);return false}}var plm=new plManager();
