var pr={objTmp:new Object(),printDiv:{},printDiv2:{},printDivContents:{},printUl:{},selectfunction:0,selectclass:0,selectelement:0,selectstring:0,selectobject:0,init:function(D){this.objTmp=D;this.printDiv=new Element("div",{styles:{width:"400px",height:"400px",position:"absolute",top:"100px",left:"100px",border:"1px solid #e1e1e1",backgroundColor:"#ffffff"}}).inject(document.body);this.printDiv2=new Element("div",{styles:{backgroundColor:"#e1e1e1",fontFamily:"verdana",fontSize:"8pt",fontWeight:"bold",padding:"3px",paddingLeft:"15px",height:"15px"}}).setHTML("Print_r&nbsp;&nbsp;| <a href='#' onclick='pr.select(\"function\",event);return false;'>[function]</a> <a href='#' onclick='pr.select(\"class\",event);return false;'>[class]</a> <a href='#' onclick='pr.select(\"object\",event);return false;'>[object]</a> <a href='#' onclick='pr.select(\"element\",event);return false;'>[element]</a> <a href='#' onclick='pr.select(\"string\",event);return false;'>[string]</a> <a href='#' onclick='pr.printDiv.remove();'>[X]</a>").inject(this.printDiv);new Drag.Move(this.printDiv,{handle:this.printDiv2});this.printDivContents=new Element("div",{styles:{fontFamily:"verdana",fontSize:"8pt",display:"block",height:(this.printDiv.getSize().size.y-this.printDiv2.getSize().size.y-1),overflow:"auto"}}).inject(this.printDiv);this.printUl=new Element("ul").inject(this.printDivContents);var F;var B;var A;var C=$type(D);if(C=="array"||C=="object"||C=="collection"||C=="element"){for(var E in D){B=$type(D[E]);F=new Element("li",{id:B});if(E=="constructor"){F.setHTML("<b>"+E+"</b>: "+D.constructor)}else{if(B=="array"||B=="object"||B=="collection"||B=="element"){F.setHTML("<b>"+E+"</b>: <a href='#' onclick='pr.toggle(\""+E+"\",this);return false;'>["+B+"]</a>")}else{if(B=="function"||B=="class"){F.setHTML("<b>"+E+"</b>: <a href='#' onclick='this.parentNode.childNodes[4].toggle();return false;'>["+B+"]</a> <div style='display:none;border:1px solid #e1e1e1;padding:5px;color:gray;'>"+A+"</div>")}else{if($chk(D[E])){F.setHTML("<b>"+E+"</b>["+B+"]: ").appendText(D[E])}}}}if(F.innerHTML){F.inject(this.printUl)}}}else{if($chk(D)){this.printUl.setHTML(C+":<br />"+D)}else{this.printUl.setHTML("Value Undefined!")}}},toggle:function(name,target){eval("var obj = this.objTmp['"+name+"']");if(target.parentNode.childNodes[3]){target.parentNode.childNodes[3].toggle()}else{var printUl=new Element("ul").inject(target.parentNode);var printLi;var typeVal;var typeObj=$type(obj);if(typeObj=="array"||typeObj=="object"||typeObj=="collection"||typeObj=="element"){for(var val in obj){typeVal=$type(obj[val]);printLi=new Element("li",{id:typeVal});if(val=="constructor"){printLi.setHTML("<b>"+val+"</b>: "+obj.constructor)}else{if(typeVal=="array"||typeVal=="object"||typeVal=="collection"||typeVal=="element"){printLi.setHTML("<b>"+name+"."+val+"</b>: <a href='' onclick='pr.toggle(\""+name+"."+val+"\",this);return false;'>["+typeVal+"]</a>")}else{if(typeVal=="function"||typeVal=="class"){printLi.setHTML("<b>"+name+"."+val+"</b>: <a href='' onclick='this.parentNode.childNodes[4].toggle();return false;'>["+typeVal+"]</a> <div style='display:none;border:1px solid #e1e1e1;padding:5px;color:gray;'>"+obj[val].toString().replace(/\</ig,"&lt;")+"</div>")}else{if($chk(obj[val])){printLi.setHTML("<b>"+name+"."+val+"</b>["+typeVal+"]: ").appendText(obj[val])}}}}if(printLi.innerHTML){printLi.inject(printUl)}}}else{if($chk(obj)){printUl.setHTML(typeObj+":<br />"+Obj)}else{printUl.setHTML("Value Undefined!")}}}},select:function(name,event){eval("var selectValue = this.select"+name+";");var toggleArg=selectValue?"show":"hide";var toggleColor=selectValue?"black":"gray";var selectObj=$$("li");if($chk(selectObj)){selectObj.each(function(item,index){if(item.id==name){item.toggle(toggleArg)}})}var event=new Event(event);event.target.style.color=toggleColor;selectValue=selectValue?0:1;eval("this.select"+name+" = selectValue;")}};
