(function(a){a.widget("ui.panel",{_init:function(){if(this.element.is("div")){var b=this,c=this.options;this.panelBox=this.element;if(c.width=="auto"){c.width=this.panelBox.css("width")}else{this.panelBox.css("width",c.width)}this.panelBox.attr("role","panel");c.id=this.panelBox.attr("id");this.headerBox=this.element.children().eq(0);this.contentBox=this.element.children().eq(1);c.content=this.contentBox.html();this.contentBox.wrapInner("<div></div>");this.contentTextBox=this.contentBox.children().eq(0).addClass(c.contentTextClass);this.headerBox.wrapInner("<div><span></span></div>");this.titleBox=this.headerBox.children().eq(0);this.titleTextBox=this.titleBox.children().eq(0);this.titleText=this.titleTextBox.html();this.headerBox.prepend("<span></span>");this.rightBox=this.headerBox.children().eq(0).addClass(c.rightboxClass);if(c.controls!=false){this.rightBox.append("<span></span>");this.controlsBox=this.rightBox.children().eq(0).addClass(c.controlsClass).html(c.controls)}else{this.controlsBox=null}this.panelBox.addClass(c.widgetClass);this.headerBox.addClass(c.headerClass);this.titleBox.addClass(c.titleClass);this.titleTextBox.addClass(c.titleTextClass);this.contentBox.addClass(c.contentClass);if(c.collapsible){switch(c.collapseType){case"slide-right":var d=0;if(c.controls){d=1}this.rightBox.append("<span><span/></span>");this.collapsePanel=this.rightBox.children().eq(d).addClass(c.collapsePnlClass);this.collapseButton=this.collapsePanel.children().eq(0).addClass(c.slideRIcon);this.iconBtnClpsd=c.slideRIconClpsd;this.iconBtn=c.slideRIcon;this.ctrlBox=this.controlsBox;break;case"slide-left":this.headerBox.prepend("<span><span/></span>");this.collapsePanel=this.headerBox.children().eq(0).addClass(c.collapsePnlClass);this.collapseButton=this.collapsePanel.children().eq(0).addClass(c.slideLIcon);this.iconBtnClpsd=c.slideLIconClpsd;this.iconBtn=c.slideLIcon;this.ctrlBox=this.rightBox;break;default:this.headerBox.prepend("<span><span/></span>");this.collapseButton=this.headerBox.children().eq(0).addClass(c.headerIcon);this.iconBtnClpsd=c.headerIconClpsd;this.iconBtn=c.headerIcon;this.ctrlBox=this.controlsBox;break}this._buttonHover(this.collapseButton);this.collapseButton.addClass(c.iconClass);if(c.event){this.collapseButton.bind((c.event)+".panel",function(e){return b._clickHandler.call(b,e,this)});this.titleTextBox.bind((c.event)+".panel",function(e){return b._clickHandler.call(b,e,this)})}if(c.accordion){c.collapsed=true}if(c.cookie){if(b._cookie()==0){c.collapsed=false}else{c.collapsed=true}}this.panelBox.data("collapsed",c.collapsed);if(c.stackable&&(c.collapseType=="slide-right"||c.collapseType=="slide-left")){this.panelDock=this.panelBox.siblings("div[role=panelDock]").eq(0);this.panelFrame=this.panelBox.siblings("div[role=panelFrame]").eq(0);if(this.panelDock.length==0){this.panelDock=this.panelBox.parent(0).prepend("<div>").children().eq(0);this.panelFrame=this.panelDock.after("<div>").next().eq(0);this.panelDock.attr("role","panelDock").css("float",c.collapseType=="slide-left"?"left":"right");this.panelFrame.attr("role","panelFrame").css({"float":c.collapseType=="slide-left"?"left":"right",overflow:"hidden"})}if(c.collapsed){this.panelDock.append(this.panelBox)}else{this.panelFrame.append(this.panelBox)}}if(c.collapsed){b.toggle(0,true)}}else{this.titleTextBox.css("cursor","default")}if(!c.accordion&&c.draggable&&a.fn.draggable){this._makeDraggable()}this.panelBox.show();this.disable(c.disabled)}},_cookie:function(){var b=this.cookie||(this.cookie=this.options.cookie.name||"ui-panel-"+this.options.id);return a.cookie.apply(null,[b].concat(a.makeArray(arguments)))},_makeDraggable:function(){this.panelBox.draggable({containment:"document",handle:".ui-panel-header",cancel:".ui-panel-content",cursor:"move"});this.contentBox.css("position","absolute")},_clickHandler:function(b,c){var d=this.options;if(d.disabled){return false}this.toggle(d.collapseSpeed);return false},disable:function(b){var c=this.options;if(b===undefined){b=true}if(b){this.panelBox.children().addClass(c.disableClass);if(this.controlsBox){this.controlsBox.bind("click",function(){return false})}}else{this.panelBox.children().removeClass(c.disableClass);if(this.controlsBox){this.controlsBox.unbind("click")}}c.disabled=b},toggle:function(j,m){var r=this,e=this.options,f=this.collapseButton,i=this.iconBtnClpsd,g=this.iconBtn,q=this.panelBox,l=this.contentBox,b=this.headerBox,p=this.titleTextBox,s=this.titleText,n=this.ctrlBox,k=this.panelDock,d=this.panelFrame,c="";if(!jQuery.support.leadingWhitespace){c="-ie"}if(l.css("display")=="none"){this._trigger("unfold")}else{this._trigger("fold")}if(n){n.toggle(0)}if(e.collapseType=="default"){if(j==0){if(n){n.hide()}l.hide()}else{l.slideToggle(j)}}else{if(j==0){e.collapsed=false;if(n){n.hide()}l.hide()}else{l.toggle()}if(e.collapsed==false){if(e.trueVerticalText){b.toggleClass("ui-panel-vtitle").css("height",e.vHeight);if(c==""){var h="height:"+(parseInt(e.vHeight)-50)+"px;width:100%;position:absolute;bottom:0;left:0;";p.empty().append('<div style="'+h+'z-index:3;"></div><object style="'+h+'z-index:2;" type="image/svg+xml" data="data:image/svg+xml;charset=utf-8,<svg xmlns=\'http://www.w3.org/2000/svg\'><text x=\'-'+(parseInt(e.vHeight)-60)+"px' y='16px' style='font-weight:"+p.css("font-weight")+";font-family:"+p.css("font-family").replace(/"/g,"")+";font-size:"+p.css("font-size")+";fill:"+p.css("color")+";' transform='rotate(-90)' text-rendering='optimizeSpeed'>"+s+'</text></svg>"></object>').css("height",e.vHeight)}p.toggleClass("ui-panel-vtext"+c)}else{b.attr("align","center");p.html(p.text().replace(/(.)/g,"$1<BR>"))}q.animate({width:"2.4em"},j);if(e.stackable){if(m){k.append(q)}else{k.prepend(q)}}}else{if(e.stackable){d.append(q)}if(e.trueVerticalText){b.toggleClass("ui-panel-vtitle").css("height","auto");p.empty().append(s);p.toggleClass("ui-panel-vtext"+c)}else{b.attr("align","left");p.html(p.text().replace(/<BR>/g," "))}q.animate({width:e.width},j)}}if(j!=0||e.trueVerticalText){e.collapsed=!e.collapsed}q.data("collapsed",e.collapsed);if(e.cookie){r._cookie(Number(e.collapsed),e.cookie)}if(e.accordion&&!m){a("."+e.accordion+"[role='panel'][id!='"+(e.id)+"']:not(:data(collapsed))").panel("toggle",j,true)}f.toggleClass(i).toggleClass(g);b.toggleClass("ui-corner-all")},content:function(b){this.contentTextBox.html(b)},destroy:function(){var b=this.options;this.headerBox.html(this.titleText).attr("align","default").css("height","auto").removeClass("ui-panel-vtitle").removeClass("ui-corner-all").removeClass(b.headerClass);this.contentBox.removeClass(b.contentClass).css("display","block").html(b.content);this.panelBox.removeAttr("role").removeData("collapsed").unbind(".panel").css({width:b.width,display:"block"}).removeClass(b.widgetClass);if(b.stackable){this.panelDock.before(this.panelBox);if(this.panelDock.children("div[role=panel]").length==0&&this.panelFrame.children("div[role=panel]").length==0){this.panelDock.remove();this.panelFrame.remove()}}if(b.cookie){this._cookie(null,b.cookie)}return this},_buttonHover:function(b){var c=this.options;b.bind("mouseover",function(){a(this).addClass(c.hoverClass)}).bind("mouseout",function(){a(this).removeClass(c.hoverClass)})}});a.extend(a.ui.panel,{version:"0.4",defaults:{event:"click",collapsible:true,collapseType:"default",collapsed:false,accordion:false,collapseSpeed:"fast",draggable:false,disabled:false,trueVerticalText:false,vHeight:"220px",stackable:true,width:"auto",controls:false,cookie:null,widgetClass:"ui-helper-reset ui-widget ui-panel",headerClass:"ui-helper-reset ui-widget-header ui-panel-header ui-corner-top",contentClass:"ui-helper-reset ui-widget-content ui-panel-content ui-corner-bottom",contentTextClass:"ui-panel-content-text",rightboxClass:"ui-panel-rightbox",controlsClass:"ui-panel-controls",titleClass:"ui-panel-title",titleTextClass:"ui-panel-title-text",iconClass:"ui-icon",hoverClass:"ui-state-hover",disableClass:"ui-state-disabled",collapsePnlClass:"ui-panel-clps-pnl",headerIconClpsd:"ui-icon-triangle-1-e",headerIcon:"ui-icon-triangle-1-s",slideRIconClpsd:"ui-icon-arrowthickstop-1-w",slideRIcon:"ui-icon-arrowthickstop-1-e",slideLIconClpsd:"ui-icon-arrowthickstop-1-e",slideLIcon:"ui-icon-arrowthickstop-1-w"}})})(jQuery);