require.def("preview/pageList",["domplate/domplate","core/lib","core/trace","core/cookies","preview/requestList","i18n!nls/pageList","domplate/popupMenu"],function(Domplate,Lib,Trace,Cookies,RequestList,Strings,Menu){with(Domplate){function PageList(a){this.input=a,this.listeners=[]}PageList.prototype=domplate({tableTag:TABLE({"class":"pageTable",cellpadding:0,cellspacing:0,onclick:"$onClick",_repObject:"$input"},TBODY(TAG("$rowTag",{groups:"$input.log.pages"}))),rowTag:FOR("group","$groups",TR({"class":"pageRow",_repObject:"$group"},TD({"class":"groupName pageCol",width:"1%"},SPAN({"class":"pageName"},"$group|getPageTitle")),TD({"class":"netOptionsCol netCol",width:"15px"},DIV({"class":"netOptionsLabel netLabel",onclick:"$onOpenOptions"})))),bodyTag:TR({"class":"pageInfoRow",style:"height:auto;"},TD({"class":"pageInfoCol",colspan:2})),getPageTitle:function(a){return Lib.cropString(a.title,100)},getPageID:function(a){return"["+a.id+"]"},onClick:function(a){var b=Lib.fixEvent(a);if(Lib.isLeftClick(a)){var c=Lib.getAncestorByClass(b.target,"pageRow");c&&(this.toggleRow(c),Lib.cancelEvent(a))}},toggleRow:function(a,b){var c=Lib.hasClass(a,"opened");if(!c||!b){Lib.toggleClass(a,"opened");if(Lib.hasClass(a,"opened")){var d=this.bodyTag.insertRows({},a)[0],e=this.createRequestList(),f=PageList.prototype.pageTimings;for(var g=0;g-1;e.push({label:Strings["column.label."+g],type:"checkbox",checked:h,command:Lib.bindFixed(this.onToggleColumn,this,g)}),h&&(c=f,d++)}d==1&&(e[c].disabled=!0),e.push("-"),e.push({label:Strings["action.label.Reset"],command:Lib.bindFixed(this.updateColumns,this)});return e},onToggleColumn:function(a){var b=RequestList.getVisibleColumns();Lib.remove(b,a)||b.push(a),this.updateColumns(b)},updateColumns:function(a){a||(a=RequestList.defaultColumns),RequestList.setVisibleColumns(a)},createRequestList:function(){var a=new RequestList(this.input);a.listeners=this.listeners;return a},append:function(a){var b=this.createRequestList();b.render(a,null);var c=this.input.log.pages;if(c&&c.length){var d=this.tableTag.append({input:this.input},a,this),e=Lib.getElementsByClass(d,"pageRow"),f=Lib.getElementsByClass(a,"pageTable");e.length==1&&f.length==1&&this.toggleRow(e[0]);var g=Lib.getURLParameter("expand");g&&this.expandAll(d)}},render:function(a){this.append(a)},addListener:function(a){this.listeners.push(a)},removeListener:function(a){Lib.remove(this.listeners,a)}}),PageList.prototype.pageTimings=[];return PageList}})