/**
 * Easy Widgets jQuery plugin 1.2
 * David Esperalta - http://www.davidesperalta.com/
 */
(function(a){a.fn.EasyWidgets=function(A){var t=a.extend(true,a.fn.EasyWidgets.defaults,A);a(t.selectors.editbox).hide();var m='<span class="'+t.selectors.widgetMenu.replace(/\./,"")+'"></span>';a(m).appendTo(t.selectors.handle,this);var c=new Array();a(t.selectors.widget).each(function(F){var j="";var I=a(this);var E=I.attr("id");var i=I.find(t.selectors.widgetMenu);var C=I.find(t.selectors.content);var s=(E&&t.behaviour.useCookies&&a.cookie);if(E){c[F]=E}if(s&&a.cookie(t.cookies.closeName)){j=a.cookie(t.cookies.closeName);if(j.indexOf(E)!=-1){I.hide()}}var G="";if(I.hasClass(t.options.collapsable)){if(I.hasClass(t.options.collapse)){G=b(t.i18n.extendText,t.i18n.extendTitle,t.selectors.collapseLink);C.hide()}else{G=b(t.i18n.collapseText,t.i18n.collapseTitle,t.selectors.collapseLink)}if(s){j=a.cookie(t.cookies.collapseName);if(j){if(j.indexOf(E)!=-1){G=b(t.i18n.extendText,t.i18n.extendTitle,t.selectors.collapseLink);C.hide()}}}a(G).mousedown(function(J){J.stopPropagation()}).click(function(){var Q=a(this);var L=true;var N=true;var P=Q.parents(t.selectors.widget);var M=P.attr("id");var K=P.find(t.selectors.content);var O=K.css("display")!="none";var R=M&&t.behaviour.useCookies&&a.cookie;Q.blur();if(O){if(a.isFunction(t.callbacks.onCollapseQuery)){N=t.callbacks.onCollapseQuery(Q,P)}if(N){K.hide();Q.html(t.i18n.extendText);Q.attr("title",t.i18n.extendTitle);if(R){var J=a.cookie(t.cookies.collapseName);if(!J){J=M}else{if(J.indexOf(M)==-1){J=J+","+M}}a.cookie(t.cookies.collapseName,J,{path:t.cookies.path,secure:t.cookies.secure,domain:t.cookies.domain,expires:t.cookies.expires})}if(a.isFunction(t.callbacks.onCollapse)){t.callbacks.onCollapse(Q,P)}}}else{if(a.isFunction(t.callbacks.onExtendQuery)){L=t.callbacks.onExtendQuery(Q,P)}if(L){Q.html(t.i18n.collapseText);Q.attr("title",t.i18n.collapseTitle);K.show();if(R){J=a.cookie(t.cookies.collapseName);if(J.indexOf(M)!=-1){J=J.replace(","+M,"");J=J.replace(M+",","");J=J.replace(M,"")}a.cookie(t.cookies.collapseName,J,{path:t.cookies.path,secure:t.cookies.secure,domain:t.cookies.domain,expires:t.cookies.expires})}if(a.isFunction(t.callbacks.onExtend)){t.callbacks.onExtend(Q,P)}}}return false}).appendTo(a(i,this))}var D="";if(I.hasClass(t.options.editable)){D=b(t.i18n.editText,t.i18n.editTitle,t.selectors.editLink);I.find(t.selectors.closeEdit).click(function(N){var L=a(this);var M=L.parents(t.selectors.widget);var J=M.find(t.selectors.editLink);var K=M.find(t.selectors.editbox);L.blur();K.hide();J.html(t.i18n.editText);J.attr("title",t.i18n.editTitle);return false});a(D).mousedown(function(J){J.stopPropagation()}).click(function(){var J=true;var K=true;var M=a(this);var O=M.parents(t.selectors.widget);var L=O.find(t.selectors.editbox);var N=L.css("display")!="none";M.blur();if(N){if(a.isFunction(t.callbacks.onCancelEditQuery)){K=t.callbacks.onCancelEditQuery(M,O)}if(K){L.hide();M.html(t.i18n.editText);M.attr("title",t.i18n.editTitle);if(a.isFunction(t.callbacks.onCancelEdit)){t.callbacks.onCancelEdit(M,O)}}}else{if(a.isFunction(t.callbacks.onEditQuery)){J=t.callbacks.onEditQuery(M,O)}if(J){M.html(t.i18n.cancelEditText);M.attr("title",t.i18n.cancelEditTitle);L.show();if(a.isFunction(t.callbacks.onEdit)){t.callbacks.onEdit(M,O)}}}return false}).appendTo(a(i,this))}var H="";if(I.hasClass(t.options.removable)){H=b(t.i18n.closeText,t.i18n.closeTitle,t.selectors.closeLink);a(H).mousedown(function(J){J.stopPropagation()}).click(function(){var N=true;var K=a(this);var L=K.parents(t.selectors.widget);var J=L.attr("id");var O=(J&&t.behaviour.useCookies&&a.cookie);K.blur();if(a.isFunction(t.callbacks.onCloseQuery)){N=t.callbacks.onCloseQuery(K,L)}if(N){if(!L.hasClass(t.options.closeConfirm)||confirm(t.i18n.confirmMsg)){if(O){var M=a.cookie(t.cookies.closeName);if(!M){M=J}else{if(M.indexOf(J)==-1){M=M+","+J}}a.cookie(t.cookies.closeName,M,{path:t.cookies.path,secure:t.cookies.secure,domain:t.cookies.domain,expires:t.cookies.expires})}L.hide();if(a.isFunction(t.callbacks.onClose)){t.callbacks.onClose(K,L)}}}return false}).appendTo(a(i,this))}});var x,w=0;var g="";var o=t.behaviour.useCookies&&a.cookie;if(a.isFunction(t.callbacks.onRefreshPositions)){g=t.callbacks.onRefreshPositions()}else{if(o&&a.cookie(t.cookies.positionName)){g=a.cookie(t.cookies.positionName)}}if(a.trim(g)!=""){x=w=0;var e=g.split("|");var B=e.length;for(x=0;x<B;x++){var k=e[x].split("=");var d="#"+k[0];if(a(d)){var v=k[1].split(",");var r=v.length;for(w=0;w<r;w++){if(a.trim(v[w])!=""){var q="#"+v[w];a(q).appendTo(d)}}}}}var f=null;f=(function(){var i="";a(t.selectors.widget).each(function(j){if(!a(this).hasClass(t.options.movable)){if(!this.id){this.id="widget-without-id-"+j}i+="#"+this.id+","}});return a("> "+t.selectors.container+":not("+i+")",t.selectors.columns)})();f.find(t.selectors.handle).css({cursor:"move"}).mousedown(function(i){var j=a(this);f.css({width:""});j.parent().css({width:j.parent().width()+"px"})}).mouseup(function(){var i=a(this);if(!i.parent().hasClass("dragging")){i.parent().css({width:""})}else{a(t.selectors.columns).sortable("disable")}});a(t.selectors.columns).sortable({items:f,containment:"document",forcePlaceholderSize:true,handle:t.selectors.handle,delay:t.behaviour.dragDelay,revert:t.behaviour.dragRevert,opacity:t.behaviour.dragOpacity,connectWith:a(t.selectors.columns),placeholder:t.selectors.placeHolder,start:function(j,i){a(i.helper).addClass("dragging")},stop:function(D,C){a(C.item).css({width:""}).removeClass("dragging");a(t.selectors.columns).sortable("enable");var i="";var s=C.item[0].id;var j=s&&t.behaviour.useCookies&&a.cookie;a(t.selectors.columns).each(function(F){var E=this;var G="";var H=E.id+"=";a(E).children(t.selectors.widget).each(function(I){var J=this;if(G==""){G+=J.id}else{G+=","+J.id}});H+=G;if(i==""){i+=H}else{i+="|"+H}});if(a.isFunction(t.callbacks.onChangePositions)){t.callbacks.onChangePositions(i)}else{if(j){if(a.cookie(t.cookies.positionName)!=i){a.cookie(t.cookies.positionName,i,{path:t.cookies.path,secure:t.cookies.secure,domain:t.cookies.domain,expires:t.cookies.expires})}}}if(a.isFunction(t.callbacks.onDragStop)){t.callbacks.onDragStop(D,C)}return true}});var p=o&&(c.length>0)&&(Math.ceil(Math.random()*3)==1);if(p){x=w=0;var l=new Array(t.cookies.closeName,t.cookies.collapseName);var y=l.length;for(x=0;x<y;x++){if(a.cookie(l[x])){var z="";var n="";var h=a.cookie(l[x]).split(",");var u=h.length;for(w=0;w<u;w++){z=a.trim(h[w]);if(a.inArray(z,c)!=-1){if(a.trim(n)==""){n+=z}else{n+=","+z}}}a.cookie(l[x],n,{path:t.cookies.path,secure:t.cookies.secure,domain:t.cookies.domain,expires:t.cookies.expires})}}}};a.fn.EasyWidgets.defaults={behaviour:{dragDelay:100,dragRevert:100,dragOpacity:0.8,useCookies:false},cookies:{path:"",domain:"",expires:90,secure:false,closeName:"easywidgets-close",positionName:"easywidgets-position",collapseName:"easywidgets-collapse"},options:{movable:"movable",editable:"editable",collapse:"collapse",removable:"removable",collapsable:"collapsable",closeConfirm:"closeconfirm"},callbacks:{onEdit:null,onClose:null,onExtend:null,onDragStop:null,onCollapse:null,onEditQuery:null,onCloseQuery:null,onCancelEdit:null,onExtendQuery:null,onCollapseQuery:null,onCancelEditQuery:null,onChangePositions:null,onRefreshPositions:null},selectors:{container:"div",widget:".widget",handle:".widget-head",widgetMenu:".widget-menu",columns:".widget-column",editbox:".widget-editbox",content:".widget-content",closeEdit:".widget-close-editbox",editLink:".widget-editlink",closeLink:".widget-closelink",placeHolder:"widget-placeholder",collapseLink:".widget-collapselink"},i18n:{editText:"Edit",closeText:"Close",extendText:"Extend",collapseText:"Collapse",cancelEditText:"Cancel",editTitle:"Edit this widget",closeTitle:"Close this widget",confirmMsg:"Remove this widget?",cancelEditTitle:"Cancel edition",extendTitle:"Extend this widget",collapseTitle:"Collapse this widget"}};function b(f,e,d){var c='<a href="#" title="TITLE" class="CLASS">TEXT</a>';c=c.replace(/TEXT/g,f);c=c.replace(/TITLE/g,e);c=c.replace(/CLASS/g,d.replace(/\./,""));return c}})(jQuery);