var Exception=Class.create({initialize:function(a){this.element=$(a);this.trace=this.element.select("div.exception-trace").first();this.trace.hide();this.message=this.element.select(".exception-message").first();$("sc-tile-exception-container").insert({bottom:this.element});this.element.setStyle({backgroundColor:"#ee5533",padding:"4px",margin:"0px",fontFamily:"monospace"});this.message.setStyle({fontWeight:"bold",fontSize:"1.1em"});this.message.insert({top:'<img src="/images/expand.png"/> '});this.more=this.message.down();this.trace.insert({top:'<img src="/images/collapse.png"/> '});this.less=this.trace.down();[this.more,this.less].each(function(b){b.setStyle({cursor:"pointer"})});this.more.observe("click",this.showTrace.bindAsEventListener(this));this.less.observe("click",this.hideTrace.bindAsEventListener(this))},showTrace:function(a){a.stop();this.trace.show();this.message.hide()},hideTrace:function(a){this.trace.hide();this.message.show()}});var PageDebug=Class.create({initialize:function(b){this.element=$(b);this.hasError=false;$("sc-debug-container").insert({bottom:'<div id="sc-page-debug-container"></div>'});this.pageDebug=$("sc-page-debug-container");this.pageDebug.update('<div id="sc-page-debug-expanded"></div><div id="sc-page-debug-collapsed"></div>');this.pageDebugExpanded=$("sc-page-debug-expanded");this.pageDebugCollapsed=$("sc-page-debug-collapsed");this.pageDebugExpanded.update(this.element);this.pageDebugExpanded.insert({top:'<img src="/images/collapse.png"/> '});this.pageDebugCollapsed.update('<img title="View page debug information" src="/images/clock.png"/> ');this.pageDebugCollapsed.hide();this.collapse=this.pageDebugExpanded.down();this.expand=this.pageDebugCollapsed.down();this.collapse.setStyle({"float":"left",marginLeft:"3px"});this.collapse.observe("click",this.hideDebug.bindAsEventListener(this));this.expand.observe("click",this.showDebug.bindAsEventListener(this));var a=getSiteComponentsConfig("debug","collapsedPageInfoPosition","right");if(a=="left"){this.pageDebugCollapsed.setStyle({position:"absolute",top:"0",left:"0",padding:"2px 10px 2px 10px"})}else{this.pageDebugCollapsed.setStyle({position:"absolute",top:"0",right:"0",padding:"2px 10px 2px 10px"})}this.pageDebugExpanded.setStyle({backgroundColor:"#008822",borderBottom:"3px solid #003311",padding:"2px 10px 2px 10px",color:"#ffffff"});this.element.down().setStyle({listStyleType:"none",margin:"0px 0px 0px 25px",padding:"0px"});this.element.select("label").each(function(c){c.setStyle({paddingRight:"5px",color:"#77ff44"})});this.element.select("a").each(function(c){c.setStyle({color:"#fff"})});$$("div.db-log").each(function(c){c.setStyle({color:"#fff"})});this.element.select(".debug-error").each(function(c){c.setStyle({color:"#f00",background:"#fff",fontWeight:"bold"});this.hasError=true}.bind(this));this.element.down().childElements().each(function(c){c.setStyle({display:"inline",paddingRight:"10px",marginRight:"10px",borderRight:"2px solid #003311"})});this.initializeState()},initializeState:function(){this.cookie=new CtCookie();if(!this.hasError&&this.cookie.get("sc_debug_page_hidden")){this.hideDebug()}if(this.hasError){this.pageDebugExpanded.setStyle({backgroundColor:"#aa3311"});this.element.select("label").each(function(a){a.setStyle({color:"#ffbb88"})})}},hideDebug:function(){this.pageDebugExpanded.hide();this.pageDebugCollapsed.show();this.pageDebug.setStyle({overflow:"hidden",height:"0px"});this.cookie.set("sc_debug_page_hidden",1)},showDebug:function(){this.pageDebugExpanded.show();this.pageDebugCollapsed.hide();this.pageDebug.setStyle({overflow:"visible",height:"auto"});this.cookie.clear("sc_debug_page_hidden")}});document.observe("dom:loaded",function(b){var a=$$("div.ct-tile-exception");var d=$("sc-page-debug");$$("body").first().insert({top:'<div id="sc-debug-container"></div>'});if(a.length>0){$("sc-debug-container").insert({top:'<div id="sc-tile-exception-container"></div>'});$("sc-debug-container").setStyle({fontFamily:"monospace"});$("sc-tile-exception-container").setStyle({background:"#aa3311",color:"white",padding:"10px",borderBottom:"3px solid #552211"});var c=a.length>1?"s":"";$("sc-tile-exception-container").update("<h1>"+a.length+" unhandled tile exception"+c+":</h1>");$("sc-tile-exception-container").down().setStyle({marginTop:"5px"});a.each(function(e){new Exception(e)})}if(d!==null){new PageDebug(d)}});
