var debugWindow=null;function debug(b,a){if(debugWindow==null){return}time="-";if(a){$("debug").innerHTML=time+" "+b+"<br>"+$("debug").innerHTML;debugWindow.getContent().scrollTop=0}else{$("debug").innerHTML+=time+" "+b+"<br>";debugWindow.getContent().scrollTop=10000}}function hideDebug(){if(debugWindow){debugWindow.destroy();debugWindow=null}}function showDebug(a){if(debugWindow==null){debugWindow=new Window("debug_window",{className:"dialog",width:250,height:100,right:4,bottom:42,zIndex:1000,opacity:1,showEffect:Element.show,resizable:true,title:"Debug"});debugWindow.getContent().innerHTML="<style>#debug_window .dialog_content {background:#000;}</style> <div id='debug'></div>";date=new Date;date.setMonth(date.getMonth()+3)}if(typeof a=="undefined"||a){debugWindow.show()}}function clearDebug(){if(debugWindow==null){return}$("debug").innerHTML=""}function $E(c){var b;if("string"==typeof c){b=document.createTextNode(c)}else{b=document.createElement(c.tag);delete (c.tag);if("undefined"!=typeof c.children){if("string"==typeof c.children||"undefined"==typeof c.children.length){b.appendChild($E(c.children))}else{for(var a=0,d=null;"undefined"!=typeof(d=c.children[a]);a++){b.appendChild($E(d))}}delete (c.children)}for(attr in c){b[attr]=c[attr]}}return b}var Debug={inspectOutput:function(a,b){b=b||debugWindow.getContent();if(debugWindow==null){return}b.appendChild(a)},inspect:function(b){var a=$E({tag:"div",className:"inspector"});Debug.inspectObj(b,a);debugWindow.getContent().appendChild(a)},inspectObj:function(b,a){for(prop in b){Debug.inspectOutput(Debug.inspectable(b,prop),a)}},inspectable:function(a,b){cont=$E({tag:"div",className:"inspectable",children:[b+" value: "+a[b]]});cont.toInspect=a[b];Event.observe(cont,"click",Debug.inspectClicked,false);return cont},inspectClicked:function(a){Debug.inspectContained(Event.element(a));Event.stop(a)},inspectContained:function(a){if(a.opened){a.parentNode.removeChild(a.opened);delete (a.opened)}else{sibling=a.parentNode.insertBefore($E({tag:"div",className:"child"}),a.nextSibling);if(a.toInspect){Debug.inspectObj(a.toInspect,sibling)}a.opened=sibling}}};var inspect=Debug.inspect;