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;