/**
* @author Roger Wu
* @version 1.0
*/
(function($){
$.extend($.fn, {
jPanel:function(options){
var op = $.extend({header:"panelHeader", headerC:"panelHeaderContent", content:"panelContent", coll:"collapsable", exp:"expandable", footer:"panelFooter", footerC:"panelFooterContent"}, options);
return this.each(function(){
var $panel = $(this);
var close = $panel.hasClass("close");
var collapse = $panel.hasClass("collapse");
var $content = $(">div", $panel).addClass(op.content);
var title = $(">h1",$panel).wrap('
');
if(collapse)$("").addClass(close?op.exp:op.coll).insertAfter(title);
var header = $(">div:first", $panel);
var footer = $('').appendTo($panel);
var defaultH = $panel.attr("defH")?$panel.attr("defH"):0;
var minH = $panel.attr("minH")?$panel.attr("minH"):0;
if (close)
$content.css({
height: "0px",
display: "none"
});
else {
if (defaultH > 0)
$content.height(defaultH + "px");
else if(minH > 0){
$content.css("minHeight", minH+"px");
}
}
if(!collapse) return;
var $pucker = $("a", header);
var inH = $content.innerHeight() - 6;
if(minH > 0 && minH >= inH) defaultH = minH;
else defaultH = inH;
$pucker.click(function(){
if($pucker.hasClass(op.exp)){
$content.jBlindDown({to:defaultH,call:function(){
$pucker.removeClass(op.exp).addClass(op.coll);
if(minH > 0) $content.css("minHeight",minH+"px");
}});
} else {
if(minH > 0) $content.css("minHeight","");
if(minH >= inH) $content.css("height", minH+"px");
$content.jBlindUp({call:function(){
$pucker.removeClass(op.coll).addClass(op.exp);
}});
}
return false;
});
});
}
});
})(jQuery);