/*******************************************************************************
 jquery.mb.components
 Copyright (c) 2001-2009. Matteo Bicocchi (Pupunzi); Open lab srl, Firenze - Italy
 email: info@pupunzi.com
 site: http://pupunzi.com
 Licences: MIT, GPL
 ******************************************************************************/

/*
 * Name:jquery.mb.containerPlus
 * Version: 2.4
 * dependencies: UI.core.js, UI.draggable.js, UI.resizable.js
 */
(function($){var j=$(window).width();var k=$(window).height();$.doOnWindowResize=function(a){clearTimeout(this.doRes);this.doRes=setTimeout(function(){$(a).adjastPos();j=$(window).width();k=$(window).height()},400)};$.fn.adjastPos=function(a){clearTimeout(this.doRes);var b=$(this).attr("options");if(!b.mantainOnWindow)return;if(!a)a=20;var c=$(window).width();var d=$(window).height();this.each(function(){if(($(this).offset().left+$(this).outerWidth())>c||($(this).offset().top+$(this).outerHeight())>d){var l=($(this).offset().left+$(this).outerWidth())>c?c-$(this).outerWidth()-a:$(this).offset().left;var t=($(this).offset().top+$(this).outerHeight())>d?d-$(this).outerHeight()-a:$(this).offset().top;t=(t>0)?t:0;$(this).animate({left:l,top:t},550)}})};jQuery.fn.buildContainers=function(g){var h=this;return this.each(function(){if($(this).is("[inited=true]"))return;this.options={containment:"document",elementsPath:"elements/",onCollapse:function(){},onBeforeIconize:function(){},onIconize:function(){},onClose:function(){},onResize:function(){},onDrag:function(){},onRestore:function(){},onLoad:function(){},mantainOnWindow:true,collapseEffect:"slide",effectDuration:300};$.extend(this.options,g);if(this.options.mantainOnWindow)$(window).resize(function(){$.doOnWindowResize(h)});var b=$(this);b.attr("inited","true");b.attr("iconized","false");b.attr("collapsed","false");b.attr("closed","false");b.attr("options",this.options);if(!b.css("position")=="absolute")b.css({position:"relative"});if($.metadata){$.metadata.setType("class");if(b.metadata().skin)b.attr("skin",b.metadata().skin);if(b.metadata().collapsed)b.attr("collapsed",b.metadata().collapsed);if(b.metadata().iconized)b.attr("iconized",b.metadata().iconized);if(b.metadata().icon)b.attr("icon",b.metadata().icon);if(b.metadata().buttons)b.attr("buttons",b.metadata().buttons);if(b.metadata().content)b.attr("content",b.metadata().content);if(b.metadata().aspectRatio)b.attr("aspectRatio",b.metadata().aspectRatio);if(b.metadata().grid)b.attr("grid",b.metadata().grid);if(b.metadata().gridx)b.attr("gridx",b.metadata().gridx);if(b.metadata().gridy)b.attr("gridy",b.metadata().gridy);if(b.metadata().handles)b.attr("handles",b.metadata().handles);if(b.metadata().dock)b.attr("dock",b.metadata().dock);if(b.metadata().closed)b.attr("closed",b.metadata().closed);if(b.metadata().rememberMe)b.attr("rememberMe",b.metadata().rememberMe);if(b.metadata().width)b.attr("width",b.metadata().width);if(b.metadata().height)b.attr("height",b.metadata().height)}if(b.attr("rememberMe")=="true"){b.attr("width",b.mb_getCookie("width")!=null?b.mb_getCookie("width"):b.attr("width"));b.attr("height",b.mb_getCookie("height")!=null?b.mb_getCookie("height"):b.attr("height"));b.attr("closed",b.mb_getCookie("closed")!=null?b.mb_getCookie("closed"):b.attr("closed"));b.attr("collapsed",b.mb_getCookie("collapsed")!=null?b.mb_getCookie("collapsed"):b.attr("collapsed"));b.attr("iconized",b.mb_getCookie("iconized")!=null?b.mb_getCookie("iconized"):b.attr("iconized"));b.css("left",b.mb_getCookie("x")!=null?b.mb_getCookie("x"):b.css("left"));b.css("top",b.mb_getCookie("y")!=null?b.mb_getCookie("y"):b.css("top"))}if(b.attr("content"))b.mb_changeContainerContent(b.attr("content"));b.addClass(b.attr("skin"));b.find(".n:first").attr("unselectable","on");if(!b.find(".n:first").html())b.find(".n:first").html("&nbsp;");b.containerSetIcon(b.attr("icon"),this.options.elementsPath);if(b.attr("buttons"))b.containerSetButtons(b.attr("buttons"),this.options);b.css({width:"99.9%"});if(b.attr("width")){var c=$.browser.msie?b.attr("width"):b.attr("width")+"px";b.css({width:c})}if(b.attr("height")){b.find(".c:first , .mbcontainercontent:first").css("height",b.attr("height")-b.find(".n:first").outerHeight()-(b.find(".s:first").outerHeight()))}else if($.browser.safari){b.find(".mbcontainercontent:first").css("padding-bottom",5)}var d=$(window).height();if(b.outerHeight()>d)b.find(".c:first , .mbcontainercontent:first").css("height",(d-20)-b.find(".n:first").outerHeight()-(b.find(".s:first").outerHeight()));if(b.hasClass("draggable")){var e="absolute";b.css({position:e,margin:0});b.find(".n:first").css({cursor:"move"});b.mb_BringToFront();b.draggable({handle:".n:first",delay:0,containment:this.options.containment,stop:function(){var a=$(this).attr("options");if(a.onDrag)a.onDrag($(this));if(b.attr("rememberMe")){b.mb_setCookie("x",b.css("left"));b.mb_setCookie("y",b.css("top"))}}});if(b.attr("grid")||(b.attr("gridx")&&b.attr("gridy"))){var f=b.attr("grid")?[b.attr("grid"),b.attr("grid")]:[b.attr("gridx"),b.attr("gridy")];b.draggable('option','grid',f)}b.bind("mousedown",function(){$(this).mb_BringToFront()})}if(b.hasClass("resizable")){b.containerResize()}if(b.attr("collapsed")=="true"){b.attr("collapsed","false");b.containerCollapse(this.options)}if(b.attr("iconized")=="true"){b.attr("iconized","false");b.containerIconize(this.options)}if(b.mb_getState('closed')){b.attr("closed","false");b.mb_close()}setTimeout(function(){var a=b.attr("options");if(a.onLoad){a.onLoad(b)}b.css("visibility","visible");b.adjastPos()},1000)})};jQuery.fn.containerResize=function(){var f=$(this);var g=f.hasClass("draggable");var h=f.attr("handles")?f.attr("handles"):"s";var i=f.attr("aspectRatio")?f.attr("aspectRatio"):false;f.resizable({handles:g?"":h,aspectRatio:i,minWidth:350,minHeight:150,iframeFix:true,helper:"mbproxy",start:function(e,o){$(f).resizable('option','maxHeight',$(window).height()-($(f).offset().top)-5);$(f).resizable('option','maxWidth',$(window).width()-$(f).offset().left-5);o.helper.mb_BringToFront()},stop:function(){var a=$(this);var b=a.outerHeight()-f.find(".n:first").outerHeight()-(f.find(".s:first").outerHeight());f.find(".c:first , .mbcontainercontent:first").css({height:b});if(!g&&!f.attr("handles")){var c=f.attr("width")&&f.attr("width")>0?f.attr("width"):"99.9%";f.css({width:c})}var d=f.attr("options");if(d.onResize)d.onResize(f);if(f.attr("rememberMe")){f.mb_setCookie("width",f.outerWidth());f.mb_setCookie("height",f.outerHeight())}}});f.resizable('option','maxHeight',$("document").outerHeight()-(f.offset().top+f.outerHeight())-10);f.find(".ui-resizable-n").addClass("mb-resize").addClass("mb-resize-resizable-n");f.find(".ui-resizable-e").addClass("mb-resize").addClass("mb-resize-resizable-e");f.find(".ui-resizable-w").addClass("mb-resize").addClass("mb-resize-resizable-w");f.find(".ui-resizable-s").addClass("mb-resize").addClass("mb-resize-resizable-s");f.find(".ui-resizable-se").addClass("mb-resize").addClass("mb-resize-resizable-se")};jQuery.fn.containerSetIcon=function(a,b){var c=$(this);if(a&&a!=""){c.find(".ne:first").prepend("<img class='icon' src='"+b+"icons/"+a+"' style='position:absolute'/>");c.find(".n:first").css({paddingLeft:25})}else{c.find(".n:first").css({paddingLeft:0})}};jQuery.fn.containerSetButtons=function(a,b){var c=$(this);if(!b)b=c.attr("options");var d=b.elementsPath;if(a!=""){var e=a.split(",");c.find(".ne:first").append("<div class='buttonBar'></div>");for(var i in e){if(e[i]=="c"){c.find(".buttonBar:first").append("<img src='"+d+c.attr('skin')+"/close.png' class='close'/>");c.find(".close:first").bind("click",function(){c.mb_close();if(b.onClose)b.onClose(c)})}if(e[i]=="m"){c.find(".buttonBar:first").append("<img src='"+d+c.attr('skin')+"/min.png' class='collapsedContainer'/>");c.find(".collapsedContainer:first").bind("click",function(){c.containerCollapse(b)});c.find(".n:first").bind("dblclick",function(){c.containerCollapse(b)})}if(e[i]=="p"){c.find(".buttonBar:first").append("<img src='"+d+c.attr('skin')+"/print.png' class='printContainer'/>");c.find(".printContainer:first").bind("click",function(){})}if(e[i]=="i"){c.find(".buttonBar:first").append("<img src='"+d+c.attr('skin')+"/iconize.png' class='iconizeContainer'/>");c.find(".iconizeContainer:first").bind("click",function(){c.containerIconize(b)})}}var f=$.browser.mozilla||$.browser.safari;if(f)c.find(".buttonBar:first img").css({opacity:.5,cursor:"pointer","mozUserSelect":"none","khtmlUserSelect":"none"}).mouseover(function(){$(this).fadeTo(200,1)}).mouseout(function(){if(f)$(this).fadeTo(200,.5)});c.find(".buttonBar:first img").attr("unselectable","on")}};jQuery.fn.containerCollapse=function(b){this.each(function(){var a=$(this);if(!b)b=a.attr("options");if(!a.mb_getState("collapsed")){a.attr("w",a.outerWidth());a.attr("h",a.outerHeight());if(b.collapseEffect=="fade")a.find(".o:first").fadeOut(b.effectDuration,function(){});else{a.find(".icon:first").hide();a.find(".o:first").slideUp(b.effectDuration,function(){});a.animate({height:a.find(".n:first").outerHeight()+a.find(".s:first").outerHeight()},b.effectDuration,function(){a.find(".icon:first").show()})}a.attr("collapsed","true");a.find(".collapsedContainer:first").attr("src",b.elementsPath+a.attr('skin')+"/max.png");a.resizable("disable");if(b.onCollapse)b.onCollapse(a)}else{if(b.collapseEffect=="fade")a.find(".o:first").fadeIn(b.effectDuration,function(){});else{a.find(".o:first").slideDown(b.effectDuration,function(){});a.find(".icon:first").hide();a.animate({height:a.attr("h")},b.effectDuration,function(){a.find(".icon:first").show()})}if(a.hasClass("resizable"))a.resizable("enable");a.attr("collapsed","false");a.find(".collapsedContainer:first").attr("src",b.elementsPath+a.attr('skin')+"/min.png");a.find(".mbcontainercontent:first").css("overflow","auto")}if(a.attr("rememberMe"))a.mb_setCookie("collapsed",a.mb_getState("collapsed"))})};jQuery.fn.containerIconize=function(d){var e=$(this);if(!d)d=e.attr("options");return this.each(function(){if(d.onBeforeIconize)d.onBeforeIconize();e.attr("iconized","true");if(e.attr("collapsed")=="false"){e.attr("h",e.outerHeight())}e.attr("w",e.attr("width")&&e.attr("width")>0?(!e.hasClass("resizable")?e.attr("width"):e.width()):!e.attr("handles")?"99.9%":e.width());e.attr("t",e.css("top"));e.attr("l",e.css("left"));e.resizable("disable");var l=0;var t=e.css("top");var b=e;if(e.attr("dock")){b=$("#"+e.attr("dock"));var c=b.find("img").size();l=$("#"+e.attr("dock")).offset().left+(32*c);t=$("#"+e.attr("dock")).offset().top};this.dockIcon=$("<img src='"+d.elementsPath+"icons/"+(e.attr("icon")?e.attr("icon"):"restore.png")+"' class='restoreContainer' width='32'/>").appendTo(b).css("cursor","pointer").hide().attr("contTitle",e.find(".n:first").text()).bind("click",function(){e.attr("iconized","false");if(e.is(".draggable"))e.css({top:$(this).offset().top,left:$(this).offset().left});else e.css({left:"auto",top:"auto"});e.show();if(!$.browser.msie){e.find(".no:first").fadeIn("fast");if(e.attr("collapsed")=="false"){e.animate({height:e.attr("h"),width:e.attr("w"),left:e.attr("l"),top:e.attr("t")},d.effectDuration,function(){e.find(".mbcontainercontent:first").css("overflow","auto");if(e.hasClass("draggable")){e.mb_BringToFront()}});e.find(".c:first , .mbcontainercontent:first").css("height",e.attr("h")-e.find(".n:first").outerHeight()-(e.find(".s:first").outerHeight()))}else e.animate({height:"60px",width:e.attr("w"),left:e.attr("l"),top:e.attr("t")},d.effectDuration)}else{e.find(".no:first").show();if(e.attr("collapsed")=="false"){e.css({height:e.attr("h"),width:e.attr("w"),left:e.attr("l"),top:e.attr("t")},d.effectDuration);e.find(".c:first , .mbcontainercontent:first").css("height",e.attr("h")-e.find(".n:first").outerHeight()-(e.find(".s:first").outerHeight()))}else e.css({height:"60px",width:e.attr("w"),left:e.attr("l"),top:e.attr("t")},d.effectDuration)}if(e.hasClass("resizable")&&e.attr("collapsed")=="false")e.resizable("enable");$(this).remove();if(e.hasClass("draggable"))e.mb_BringToFront();$(".iconLabel").remove();e.attr("restored",true);if(d.onRestore)d.onRestore(e);if(e.attr("rememberMe")){e.mb_setCookie("restored",e.mb_getState("restored"));e.mb_setCookie("closed",false);e.mb_setCookie("iconized",false);e.mb_setCookie("collapsed",false)}if(d.mantainOnWindow)$.doOnWindowResize(e)}).bind("mouseenter",function(){var a="<div class='iconLabel'>"+$(this).attr("contTitle")+"</div>";$("body").append(a);$(".iconLabel").hide().css({position:"absolute",top:$(this).offset().top-20,left:$(this).offset().left+15,opacity:.9}).fadeIn("slow").mb_BringToFront()}).bind("mouseleave",function(){$(".iconLabel").fadeOut("fast",function(){$(this).remove()})});if(!$.browser.msie){e.find(".mbcontainercontent:first").css("overflow","hidden");e.find(".no:first").slideUp("fast");e.animate({height:"32px",width:"32px",left:l,top:t},d.effectDuration,function(){$(this.dockIcon).show();if(e.attr("dock"))e.hide()})}else{e.find(".no:first").hide();e.css({height:"32px",width:"32px",left:l,top:t});$(this.dockIcon).show();if(e.attr("dock"))e.hide()}if(d.onIconize)d.onIconize(e);if(e.attr("rememberMe"))e.mb_setCookie("iconized",e.mb_getState("iconized"))})};jQuery.fn.mb_resizeTo=function(h,w,b){if(b||b==undefined)b=200;else b=0;var c=$(this);if(c.mb_getState('closed')||c.mb_getState('iconized')){if(w)c.attr("w",w);if(h)c.attr("h",h);if(c.attr("rememberMe")){c.mb_setCookie("width",c.attr("w"));c.mb_setCookie("height",c.attr("h"))}return}if(!w)w=c.outerWidth();if(!h)h=c.outerHeight();var d=h-c.find(".n:first").outerHeight()-(c.find(".s:first").outerHeight());c.find(".c:first , .mbcontainercontent:first").animate({height:d},b);c.animate({"height":h,"width":w},b,function(){c.adjastPos();var a=c.attr("options");if(a.onResize)a.onResize(c);if(c.attr("rememberMe")){c.mb_setCookie("width",c.outerWidth());c.mb_setCookie("height",c.outerHeight())}})};jQuery.fn.mb_iconize=function(){var a=$(this);var b=a.get(0);if(!a.mb_getState('closed')){if(a.mb_getState('iconized')){var c=b.dockIcon;$(c).click();a.mb_BringToFront()}else{a.containerIconize();if(b.options.onIconize)b.options.onIconize($(b))}}return a};jQuery.fn.mb_open=function(a,b){var c=$(this);var t=Math.floor(c.attr("t"));var l=Math.floor(c.attr("l"));c.css("top",t).css("left",l);var d=c.get(0);if(c.mb_getState('closed')){if(a){if(!b)b="";c.mb_changeContainerContent(a,b)}if(!$.browser.msie)c.fadeIn(300);else c.show();c.attr("closed","false");if(c.attr("rememberMe")){c.mb_setCookie("closed",false);c.mb_setCookie("restored",true)}c.mb_BringToFront();c.attr("restored",true);if(!c.mb_getState("collapsed")){c.mb_resizeTo(c.attr("h"),c.attr("w"),false)}if(d.options.onRestore)d.options.onRestore($(d))}return c};jQuery.fn.mb_close=function(){var a=$(this).get(0);var b=$(this);if(!b.mb_getState('closed')&&!b.mb_getState('iconized')){if(!b.mb_getState('collapsed')){b.attr("w",b.outerWidth());b.attr("h",b.outerHeight());b.attr("t",b.offset().top);b.attr("l",b.offset().left)}if(!$.browser.msie)b.fadeOut(300);else b.hide()}if(a.options.onClose)a.options.onClose($(a));b.attr("closed","true");if(b.attr("rememberMe"))b.mb_setCookie("closed",true);return $(this)};jQuery.fn.mb_toggle=function(){if(!$(this).mb_getState('closed')&&!$(this).mb_getState('iconized')){$(this).containerCollapse()}return $(this)};jQuery.fn.mb_BringToFront=jQuery.fn.mb_bringToFront=function(){var b=10;$('*').each(function(){if($(this).css("position")=="absolute"){var a=parseInt($(this).css('zIndex'));b=a>b?parseInt($(this).css('zIndex')):b}});$(this).css('zIndex',b+=1);return b};jQuery.fn.mb_changeContent=function(b,c){var d=$(this);if(!c)c="";$.ajax({type:"POST",url:b,data:c,success:function(a){d.html(a)}})};jQuery.fn.mb_changeContainerContent=function(a,b){$(this).find(".mbcontainercontent:first").mb_changeContent(a,b)};jQuery.fn.mb_getState=function(a){var b=$(this).attr(a);b=b=="true";return b};jQuery.fn.mb_fullscreen=function(){var a=$(this);if(a.mb_getState('iconized')||a.mb_getState('collapsed')||a.mb_getState('closed')){a.attr("w",$(window).width()-40);a.attr("h",$(window).height()-40);a.attr("t",20);a.attr("l",20);a.css("height","");return}a.animate({top:20,left:20,position:"relative"},200,function(){if(a.attr("rememberMe")){a.mb_setCookie("x",$(this).css("left"));a.mb_setCookie("y",$(this).css("top"))}});a.mb_resizeTo($(window).height()-40,$(window).width()-40);a.attr("w",$(this).outerWidth());a.attr("h",$(this).outerHeight());a.attr("t",$(this).offset().top);a.attr("l",$(this).offset().left);a.css("height","");a.mb_bringToFront();return a};jQuery.fn.mb_centerOnWindow=function(a){var b=$(this);var c=$(window).width();var d=$(window).height();var e=b.outerWidth();var f=b.outerHeight();var l=(c-e)/2;var t=((d-f)/2)>0?(d-f)/2:10;if(a)b.animate({top:t,left:l},300,function(){if(b.attr("rememberMe")){b.mb_setCookie("x",$(this).css("left"));b.mb_setCookie("y",$(this).css("top"))}});else{b.css({top:t,left:l});if(b.attr("rememberMe")){b.mb_setCookie("x",$(this).css("left"));b.mb_setCookie("y",$(this).css("top"))}}return b};jQuery.fn.mb_setCookie=function(a,b,c){var d=$(this).attr("id");if(!d)d="";if(c){var e=new Date(),expires;e.setTime(e.getTime()+(c*24*60*60*1000));expires="; expires="+e.toGMTString()}else expires="";document.cookie=a+"_"+d+"="+b+expires+"; path=/"};jQuery.fn.mb_getCookie=function(a){var b=$(this).attr("id");if(!b)b="";var d=a+"_"+b+"=";var e=document.cookie.split(';');for(var i=0;i<e.length;i++){var c=e[i];while(c.charAt(0)==' ')c=c.substring(1,c.length);if(c.indexOf(d)==0)return c.substring(d.length,c.length)}return null};jQuery.fn.mb_removeCookie=function(a){$(this).createCookie(a,"",-1)}})(jQuery);
