var LB={createPanel:function(){return($('<div class="layoutbrowser-panel"></div>'))},currentPanel:function(){return($('div.layoutbrowser-panel:visible'))},firstPanel:function(){return($('div.layoutbrowser-panel:first',$('.layoutbrowser-panel-container')))},lastPanel:function(){return($('div.layoutbrowser-panel:last',$('.layoutbrowser-panel-container')))},prevPanel:function(){return(LB.currentPanel().prev('div.layoutbrowser-panel'))},nextPanel:function(){return(LB.currentPanel().next('div.layoutbrowser-panel'))},prependPanel:function(p){return(p.prependTo($('.layoutbrowser-panel-container')))},appendPanel:function(p){return(p.appendTo($('.layoutbrowser-panel-container')))},showPanel:function(a,b){if(!$('ul',a).next('div.clear').is('div.clear')){$('<div class="clear" style="clear:both;"><!-- spacer --></div>').appendTo(a)}a.fadeIn('slow',function(){if(typeof b=='function')b()})},hidePanel:function(a,b){a.fadeOut('slow')},goPanel:function(p,a){if(p.length==1){LB.hidePanel(LB.currentPanel());LB.showPanel(p,function(){LB.panelMaintenance();if(typeof a=='function')a()})}},goPrevPanel:function(a){if(LB.prevPanel().length==0){$('.layoutbrowser-prev').fadeOut('slow');$('.layoutbrowser-prev').fadeIn('slow')}else{LB.goPanel(LB.prevPanel(),a)}},goNextPanel:function(a){if(LB.nextPanel().length==0){$('.layoutbrowser-next').fadeOut('slow');$('.layoutbrowser-next').fadeIn('slow')}else{LB.goPanel(LB.nextPanel(),a)}},destroyPanel:function(p){if(!p.is(':visible')){p.remove()}},destroyFirstPanel:function(){LB.destroyPanel(LB.firstPanel())},destroyLastPanel:function(){LB.destroyPanel(LB.lastPanel())},panelMaintenance:function(){var a=false;var b=4;var c=2;var i;i=$('div.layoutbrowser-panel').index(LB.currentPanel().get()[0]);$('div.layoutbrowser-panel:lt('+(i-b)+')').remove();i=$('div.layoutbrowser-panel').index(LB.currentPanel().get()[0]);$('div.layoutbrowser-panel:gt('+(i+b)+')').remove();if(LB.currentPanel().nextAll('div').length<c){a=true;LB.loadNextPanel()}if(LB.currentPanel().prevAll('div').length<c){a=true;LB.loadPrevPanel()}return(a)},loadPanel:function(p,d,i){var q=LB.serviceParams;q['layout_id']=i;q['direction']=d;$.get('../services/layoutbrowser-xhtml.php',q,function(a){if(a=='null'){}else{var b;if(d=='prev')b=':last';if(d=='next')b=':first';$(a).find('li').each(function(i,e){if(d=='prev'){$('ul',p).append($(e))}if(d=='next'){$('ul',p).prepend($(e))}});var c=(3-$(a).find('li').length)-1;p.find('li.loader:gt('+c+')').remove()}p.find('li.loader').each(function(i,e){LB.convertLoaderLayoutToNull($(e))});LB.panelMaintenance()})},loadPrevPanel:function(a){var b=LB.firstPanel().find('ul li:first').attr('id');if(b){var c=b.replace(/^layout/,'')}if(!c){return false}else{var p=LB.prependPanel(LB.createPanel());p.append(LB.defaultPanelContents());LB.loadPanel(p,'prev',c)}},loadNextPanel:function(){var a=LB.lastPanel().find('ul li:last').attr('id');if(a){var b=a.replace(/^layout/,'')}if(!b){return false}else{var p=LB.appendPanel(LB.createPanel());p.append(LB.defaultPanelContents());LB.loadPanel(p,'next',b)}},defaultPanelContents:function(){return($('<ul></ul>').append(LB.defaultLayout()).append(LB.defaultLayout()).append(LB.defaultLayout()))},defaultLayout:function(){return($('<li class="layout loader"><div align="center" style="padding:42px; border:1px solid #666;"><img src="/images/layoutbrowser-loader.gif" zzzclass="layout_image" alt="...loading..."  border="0" height="15" width="15" /></div><div class="smallheader">...loading...</div><div class="small">...loading...</div><div class="small"></div></li>'))},convertLoaderLayoutToNull:function(a){a.children().remove();a.append('<div class="small" style="margin-top:40px; text-align:center;">No More Layouts</div>')},serviceParams:{},init:function(b){LB.serviceParams=b||{};LB.showPanel($('div.layoutbrowser-panel li.currentlayout').parents('div:first'));LB.panelMaintenance();var c=function(){var a=$(this);$(this).click=null;LB.goPrevPanel(function(){a.click(c)})};$('.layoutbrowser-prev').click(c);var d=function(){var a=$(this);$(this).click=null;LB.goNextPanel(function(){a.click(d)})};$('.layoutbrowser-next').click(d)}};