function ddpanel(a){a.dir="up";if(a.stateconfig.persiststate&&ddpanel.getCookie(a.ids[0])=="down"){a.dir="down"}if(a.dir=="up"){document.write('<style type="text/css">\n');document.write("#"+a.ids[1]+"{height:"+parseInt(a.stateconfig.initial)+"px; overflow:hidden}\n");document.write("</style>\n")}a.stateconfig.initial=parseInt(a.stateconfig.initial);this.setting=a;if(a.pointerimage.enabled){var b=new Image,c=new Image;b.src=a.pointerimage.src[0];c.src=a.pointerimage.src[1]}var d=this;if(window.addEventListener)ddpanel.addEvent(window,function(b){d.initpanel(a)},"load");else ddpanel.addEvent(window,function(b){setTimeout(function(){d.initpanel(a)},100)},"load");ddpanel.addEvent(window,function(b){d.uninit(a)},"unload")}ddpanel.events_array=[];ddpanel.addEvent=function(a,b,c){var d=a.addEventListener?"w3c":"ie";var e=d=="w3c"?"addEventListener":"attachEvent";var f=this.events_array.push({target:a,tasktype:(d=="ie"?"on":"")+c,listener:d=="ie"?function(){return b.call(a,window.event)}:b})-1;a[e](this.events_array[f].tasktype,this.events_array[f].listener,d=="w3c"?false:null)};ddpanel.removeEvent=function(a,b,c){var d=a.removeEventListener?"w3c":"ie";var e=d=="w3c"?"removeEventListener":"detachEvent";a[e](c,b,d=="w3c"?false:null)};ddpanel.getCookie=function(a){var b=new RegExp(a+"=[^;]+","i");if(document.cookie.match(b))return document.cookie.match(b)[0].split("=")[1];return null};ddpanel.setCookie=function(a,b){document.cookie=a+"="+b+";path=/"};ddpanel.addpointer=function(a,b,c){var d=document.createElement("img");d.src=c;d.className=b;d.style.borderWidth=0;a.appendChild(d);return d};ddpanel.prototype={togglepanel:function(a){var b=this.setting;b.dir=a||(b.dir=="up"?"down":"up");var c=b.pcontent,a=b.dir;c._currentheight=a=="down"?c._actualheight:b.stateconfig.initial;c.style.height=c._currentheight+"px";if(b.pointerimage.enabled){b.arrow.src=b.pointerimage.src[b.dir=="down"?1:0];b.arrow.style.visibility="visible"}ddpanel.setCookie(b.ids[0],b.dir)},togglepanelplus:function(a){var b=this.setting;b.dir=a||(b.dir=="up"?"down":"up");if(b.pointerimage.enabled)b.arrow.style.visibility="hidden";clearTimeout(b.revealtimer);this.revealcontent()},revealcontent:function(){var a=this.setting;var b=a.pcontent,c=b._currentheight,d=b._actualheight,e=a.stateconfig.initial,f=a.animate.steps,g=a.dir;if(g=="down"&&c<d||g=="up"&&c>e){var h=c+(Math.round((d-c)/f)+1)*(g=="up"?-1:1);h=g=="down"?Math.min(d,h):Math.max(e,h);b.style.height=h+"px";b._currentheight=h}else{if(a.pointerimage.enabled){a.arrow.src=a.pointerimage.src[a.dir=="down"?1:0];a.arrow.style.visibility="visible"}return}var i=this;a.revealtimer=setTimeout(function(){i.revealcontent()},10)},initpanel:function(){var a=this.setting;var b=a.pcontainer=document.getElementById(a.ids[0]);var c=a.pcontent=document.getElementById(a.ids[1]);var d=a.tdiv=document.getElementById(a.ids[2]);c.style.overflow="scroll";c._actualheight=c.scrollHeight;setTimeout(function(){c._actualheight=c.scrollHeight},100);c.style.overflow="hidden";c._currentheight=a.dir=="down"?c._actualheight:a.stateconfig.initial;var e=this;ddpanel.addEvent(d,function(b){if(a.animate.enabled)e.togglepanelplus();else e.togglepanel();if(b.preventDefault)b.preventDefault();return false},"click");if(a.pointerimage.enabled){var f=new Image,g=new Image;f.src=a.pointerimage.src[0];g.src=a.pointerimage.src[1];a.arrow=ddpanel.addpointer(d.getElementsByTagName("span")[0],"pointerimage",a.pointerimage.src[a.dir=="down"?1:0])}if(a.closepanelonclick.enabled){ddpanel.addEvent(c,function(a){var b=a.srcElement||a.target;if(/(^|\s+)closepanel($|\s+)/.test(b.className)||b.tagName=="A"||b.parentNode&&b.parentNode.tagName=="A"){e.togglepanel("up")}},"click")}},uninit:function(){var a=this.setting;if(a.stateconfig.persiststate){ddpanel.setCookie(a.ids[0],a.dir)}for(prop in a){a[prop]=null}}};var defaultpanel=new ddpanel({ids:["mypanel","mypanelcontent","mypaneltab"],stateconfig:{initial:"10px",persiststate:true},animate:{enabled:true,steps:5},pointerimage:{enabled:true,src:["images/arrow-down.gif","images/arrow-up.gif"]},closepanelonclick:{enabled:true}})
