Current File : /pages/54/47/d0016649/home/htdocs/cd24/wp-content/themes/dreier/cloudfw/js/composer.js |
!function(){"use strict";var a,b,c,d,e,f,g,h,i,j,l,m,n,o,p,q,t,u,v,x,y,B,C,D,E,G,r=new Array("1/1","5/6","3/4","2/3","1/2","1/3","1/4","1/6"),s=new Array("span12","span10","span9","span8","span6","span4","span3","span2"),w=0,H=0,b={global_element_id:100,__construct:function(){a=this,B=jQuery("form#post").first(),c=jQuery("body"),d=jQuery("#cloudfw-composer",c),f=jQuery("#cloudfw_composer_metabox",c),g=jQuery(".cloudfw-composer-content-wrap",d),i=jQuery("#cloudfw-composer-activate",d),x=jQuery("#cloudfw-composer-new-post",d),l=jQuery(".cloudfw-composer-content",d),j=jQuery("#cloudfw-composer-header",d),y=jQuery("#cloudfw-composer-sources",d),q=".cloudfw-composer-content-wrap ul.droppable:not(.not), .cloudfw-composer-content",o=j.find(".dragable-element"),p=j.find("#cloudfw-composer-components"),u=jQuery("#cloudfw-composer-loading",c),t=jQuery("#cloudfw-composer-overlay",c),v=jQuery("#cloudfw-composer-save-button",c),m=l.first()},init:function(){if(this.__construct(),d.length){var b=' <p class="composer-switcher"> <a id="cloudfw-composer-switcher" class="button-primary" href="javascript:;">Switch to Content Composer</a> </p> ';jQuery("#titlediv").after(b),h=jQuery("#cloudfw-composer-switcher"),i.is(":checked")?a.activate():a.deactivate(),h.bind("click",function(){a.toggle()});var c={action:"cloudfw_composer_ajax_load",post_id:jQuery("#cloudfw-composer-post-id",d).val(),nonce:CloudFwOp.cloudfw_nonce};jQuery.ajax({url:CloudFwOp.ajaxUrl,cache:!1,type:"POST",data:jQuery.param(c,!0),success:function(b){jQuery("#cloudfw-composer-content").html(b),jQuery("#cloudfw-composer-is-loaded").val("yes"),l.html(b),a.seek_contents(l),e=jQuery(":input",l).serialize()}})}},toggle:function(){i.is(":checked")?a.deactivate():a.activate()},activate:function(){i.prop("checked",!0),h.text(CloudFwOp.textCompSwitchtoClassic),jQuery("#postdivrich").hide(),f.show(),a.generate(),a.resize_callback(),jQuery.scrollTo(w,{duration:0})},deactivate:function(){i.prop("checked",!1),h.text(CloudFwOp.textCompSwitchtoComp),jQuery("#postdivrich").show(),f.hide(),a.resize_callback()},unloadPage:function(){return jQuery(":input",l).serialize()!=e?"Unsaved changes will be lost. Really continue?":void 0},generate:function(){if("1"==d.attr("data-generated"))return!0;d.attr("data-generated","1"),a.focusout(),t.disableSelection(),o.draggable({scroll:!0,zIndex:2700,opacity:1,cursor:"pointer",helper:"clone"}),a.seek_contents(l),l.droppable({accept:".dragable-element",activeClass:"ui-state-hover",hoverClass:"ui-state-active",greedy:!0,drop:function(b,c){var f=(jQuery(this),c.draggable),h=(c.helper,f.attr("data-type")),i=y.find("#composer-"+h);return l.hasClass("ajaxing")?!1:(i.length&&a.get_source(i,function(){a.reset_active_drop();var b=jQuery('<div id="temp-create-element" />').attr("data-type",i.attr("data-type"));return b.appendTo(m),a.get_options(i),a.check(b,function(){d.find("#temp-create-element").remove();var b=i.clone().appendTo(m);a.sync_elements(i,b),a.seek_contents(l)},function(){d.find("#temp-create-element").remove()}),!1}),a.refresh(),!1)}}),o.on("click",function(){var b=jQuery(this),c=b.attr("data-type");return b.hasClass("ui-draggable-dragging")?!0:(a.add_composer_element(c),!1)}),a.loading("hide"),a.reset_active_drop(),l.on("click",function(b){var c=jQuery(b.target).parents(".composer-item");c.length&&a.set_active_element(c.first()),jQuery(b.target).parents(".composer-2ndlevel").length||a.reset_active_drop()}),d.delegate(".cloudfw-composer-done","click",function(a){jQuery(this);return l.find(".composer-item.editing").find(".item-edit").first().click(),!1}),d.delegate("#cloudfw-composer-edit-next-button","click",a.edit_next),d.delegate("#cloudfw-composer-edit-prev-button","click",a.edit_prev),v.on("click",function(){a.__construct(),a.match_item_classes(l);var b=x.is(":checked");if(jQuery(":input",B).not(jQuery(":input",f)).serialize()!=C&&(b=!0),b)if(jQuery("form#post #publish").length){window.onbeforeunload=null,jQuery(window).off("beforeunload"),jQuery("form#post #publish").click();v.__sending()}else a.save(d);else a.save(d);return!1}),d.delegate(".cloudfw-composer-add-item","click",function(b){var c=jQuery(this),d=c.attr("data-id");a.set_active_drop(c.parents("li").first()),a.add_composer_element(d),b.preventDefault()}),l.delegate(".composer-item-options input","keydown keyup",function(a){13==a.which&&a.preventDefault()}),a.shortcuts(),a.follow_page(),a.javascript_utilities(),a.footer_navigation();var b=setInterval(function(){e=jQuery(":input",l).serialize(),C=jQuery(":input",B).not(jQuery(":input",f)).serialize(),window.onbeforeunload=a.unloadPage,clearInterval(b)},10);jQuery(document).delegate("#collapse-menu","click",a.resize_callback)},add_composer_element:function(b){var c=y.find("#composer-"+b);a.get_source(c,function(){var b=jQuery('<div id="temp-create-element" />').attr("data-type",c.attr("data-type"));m.children("li").filter(".active-element").length&&m.children("li").filter(".active-element").first().after(b),b.appendTo(m),a.get_options(c),a.check(b,function(){d.find("#temp-create-element").remove();var b=c.clone();m.children("li").filter(".active-element").length&&m.children("li").filter(".active-element").first().after(jQuery('<div class="temp-item-wrap"/>')),b.appendTo(m),a.sync_elements(c,b),a.seek_contents(m)},function(){d.find("#temp-create-element").remove()})})},loading:function(a){"hide"==a?(d.show().removeClass("hidden"),u.hide()):(d.hide(),u.show())},ajax_loading:function(a){if("hide"==a)t.hide(),l.find(".ajax-loader").remove();else{var b=' <li class="composer-item not ajax-loader span12 first last" data-ready="1" style="display: block; "> <div class="init"> <div class="composer-item-controls"> <div class="column-changer column-changer-passive"> <span class="column-text"> <i class="composer-element-loading"></i> </span> <a href="javascript:;" class="column-decrease"><</a> <a href="javascript:;" class="column-increase">></a> </div> <div class="item-title"> <span class="title-text">Loading...</span> </div> </div> </div> </li> ';t.show(),m.children("li").filter(".active-element").length?m.children("li").filter(".active-element").first().after(b):m.append(b)}},set_active_drop:function(b){if(l.hasClass("edit-mode"))return!0;if(a.reset_active_drop(),b.addClass("active-drop"),m=b.find(".row-fluid").first(),b.length){var c=b.find(".composer-element").first(),d=a.item_options(c);if(d.allow_only){"object"!=typeof d.allow_only&&(d.allow_only=[d.allow_only]);var e="."+d.allow_only.join(", .")}if(d.not_allow){"object"!=typeof d.not_allow&&(d.not_allow=[d.not_allow]);var f="."+d.not_allow.join(", .")}e&&(p.find("li").not(".active").addClass("deactive"),p.find(e).removeClass("deactive").addClass("active")),f&&(p.find("li").not(".deactive").addClass("active"),p.find(f).removeClass("active").addClass("deactive"))}},reset_active_drop:function(a){m=l,d.find(".active-drop").removeClass("active-drop"),p.find("li").removeClass("active").removeClass("deactive")},event_listener_active_drop:function(b){b.on("click",function(b){var c=jQuery(b.target).parents("li.composer-item").first();c.find("ul.row-fluid").length?a.set_active_drop(c):c.parent().click()})},set_active_element:function(a){l.find("li.active-element").removeClass("active-element"),n=a.addClass("active-element")},seek_contents:function(b){for(var c=b.children(".composer-element"),e=0;e<c.length;++e){var f=jQuery(c[e]),g=f.attr("data-ready");f.attr("data-type");g||a.insert_item(f,!1)}for(var i=b.children(".composer-item"),e=0;e<i.length;++e){var f=jQuery(i[e]),g=f.attr("data-ready");f.attr("data-type");g||a.insert_item(f,!1),f.find(".droppable").length&&(a.seek_contents(f),f.find(".droppable").droppable({accept:".dragable-element",activeClass:"ui-state-hover",hoverClass:"ui-state-active",greedy:!0,drop:function(b,c){var e=jQuery(this),f=c.draggable;if(a.set_active_drop(e.parents("li").first()),"1"==f.attr("data-ready"))f.detach().appendTo(e),a.seek_contents(e),a.match_item_classes(e);else{var g=f.attr("data-type"),h=y.find("#composer-"+g);a.get_source(h,function(){var b=jQuery('<div id="temp-create-element" />').attr("data-type",h.attr("data-type"));return b.appendTo(m),a.get_options(h),a.check(b,function(){d.find("#temp-create-element").remove();var b=h.clone().appendTo(e);a.sync_elements(h,b),a.seek_contents(e),a.match_item_classes(e)},function(){d.find("#temp-create-element").remove()}),!1})}return a.refresh(),!1},create:function(b,c){var d=jQuery(this);a.set_active_drop(d.parents("li").first()),a.seek_contents(d),a.match_item_classes(d),a.refresh()}}))}},serialize:function(a){var b=a.find("input, textarea, select"),c=b.serialize();return c},save:function(b){cloudfw_global_loading("show");var c={curtime:(new Date).getTime(),action:"cloudfw_save_composer",nonce:CloudFwOp.cloudfw_nonce,post_id:jQuery("#cloudfw-composer-post-id",d).val()},f=a.serialize(b),g=v.__sending();return jQuery.ajax({url:CloudFwOp.ajaxUrl,cache:!1,type:"POST",data:jQuery.param(c,!0)+"&"+f,error:function(a){jQuery("form#post #publish").length&&(window.onbeforeunload=null,jQuery(window).off("beforeunload"),jQuery("form#post #publish").click(),v.__sending())},success:function(a){try{jQuery(b).trigger("ajaxCallback",[b,a]);var c=jQuery.parseJSON(a);jQuery("form#post").hasClass("disabled")&&("1000"==c.messageId?g.success():"1025"==c.messageId?(g.success(),cloudfw_dialog(c.messageTitle,c.messageText,c.messageCase)):(g.error("Not Saved"),cloudfw_dialog(c.messageTitle,c.messageText,c.messageCase)),jQuery(window).trigger("CloudFW:composer:saved"))}catch(d){jQuery("form#post").hasClass("disabled")&&g.error(),jQuery("form#post #publish").length&&(window.onbeforeunload=null,jQuery(window).off("beforeunload"),jQuery("form#post #publish").click(),v.__sending())}cloudfw_global_loading("hide"),e=jQuery(":input",l).serialize(),cloudfw_destroy()}}),!1},refresh:function(){a.match_item_classes(m),jQuery(q,d).sortable({connectWith:jQuery(q,d),handle:".composer-item-controls",revert:!1,forcePlaceholderSize:!0,placeholder:"composer-placeholder",cursor:"move",delay:100,beforeStop:function(b,c){var e=c.item,f=jQuery(this);e.find(".composer-element").first().css("display",""),a.get_options(e.find(".composer-element").first()),a.check(e.attr("data-type",e.find(".composer-element").first().attr("data-type")),function(){e.removeAttr("data-type"),a.match_item_classes(e.parents("ul.row-fluid"))},function(){e.removeAttr("data-type"),f.sortable("cancel")}),d.find(".ui-state-active").removeClass("ui-state-active")},update:function(c,d){var e=!1,f=d.item,g=f.parents("ul.row-fluid"),h=g.length,i=f.attr("data-parent-parent-name"),j=f.parents(".composer-item").first().attr("data-parent-name");i!=j&&(e=!0),f.attr("data-parent-global-id",h),e&&(b.global_element_id++,f.attr("data-level",h),j?f.attr("data-parent-parent-name",j):f.removeAttr("data-parent-parent-name"),a.update_item_levels(f),a.match_item_classes())},start:function(a,b){var c=b.item;jQuery(this);c.find(".composer-element").first().css("display","none")},stop:function(b,c){var d=c.item,e=d.parents("ul.row-fluid");a.match_item_classes(e.first())}}),d.find(".ui-state-active").removeClass("ui-state-active")},refresh_column_classes:function(b){b||(b=m),a.match_item_classes(b)},insert_item:function(c,d){if(b.global_element_id++,d)var e=c.clone();else var e=c;e.removeClass("hidden"),a.wrap_element(e),a.refresh()},item_options:function(a){var b={};try{var c=a.attr("data-composer-options");c&&(b=jQuery.parseJSON(c)),a.hasClass("duplicating")&&(b.column=a.find("#_composer-column").first().val(),b.title=a.parent().find("#_composer-title").first().val(),a.removeClass("duplicating"))}catch(d){console.log("JSON Error"),console.log(a)}return b},get_options:function(b){D={},D=a.item_options(b)},get_error_message:function(a,b,c,d){try{var e=D.error_messages;if(e){if(e[c]){if(e[c].title&&"string"==typeof e[c].title)var a=e[c].title;if(e[c].message&&"string"==typeof e[c].message)var b=e[c].message}if(d&&e[c]){if(e[c][d]&&"string"==typeof e[c][d].title)var a=e[c][d].title;if(e[c][d]&&"string"==typeof e[c][d].message)var b=e[c][d].message}}cloudfw_dialog(a,b,"cancel")}catch(f){cloudfw_dialog("Javascript Error!","Javascript error has been occurred.","cancel")}},get_source:function(b,c){b.hasClass("ajax")?(a.ajax_loading("show"),l.addClass("ajaxing"),jQuery.ajax({url:CloudFwOp.ajaxUrl,cache:!1,data:{nonce:CloudFwOp.cloudfw_nonce,action:"cloudfw_call_composer_element",type:b.attr("data-type")},success:function(d){b.removeClass("ajax"),b.html(d),a.ajax_loading("hide"),l.removeClass("ajaxing"),"function"==typeof c&&c.call()}})):"function"==typeof c&&c.call()},check:function(b,c,d,e){if(l.hasClass("edit-mode"))return!0;var f=!1;"undefined"==typeof e&&(e=!0);var g=a.item_options(b.parents(".composer-element").first());if(!f&&D.not_in&&("object"!=typeof D.not_in&&(D.not_in=[D.not_in]),jQuery.each(D.not_in,function(c,d){return f?!0:void(b.parents("."+d).length&&(f=!0,e&&a.get_error_message("Hoops!","You cannot use this component inside the active area.","not_in",d)))})),!f&&D["in"]&&("object"!=typeof D["in"]&&(D["in"]=[D["in"]]),jQuery.each(D["in"],function(c,d){return f?!0:void(1!==b.parents("."+d).length&&(f=!0,e&&a.get_error_message("Hoops!","You have to use this component inside "+d,"in",d)))})),!f&&g.not_allow&&("object"!=typeof g.not_allow&&(g.not_allow=[g.not_allow]),jQuery.each(g.not_allow,function(c,d){return f?!0:void(b.attr("data-type")==d&&(f=!0,e&&a.get_error_message("Hoops!","Parent component doesn't allow this element.","not_allow",b.attr("data-type"))))})),!f&&g.allow_only){"object"!=typeof g.allow_only&&(g.allow_only=[g.allow_only]);var f=!0;jQuery.each(g.allow_only,function(a,c){return b.attr("data-type")==c?(f=!1,!0):void 0}),f&&e&&a.get_error_message("Hoops!","Parent component doesn't allow this element.","allow_only",b.attr("data-type"))}if(!f&&D.only_first_level&&(b.parent().hasClass("1stlevel")||(f=!0,e&&a.get_error_message("Hoops!","This component can only be added to first level.","only_first_level"))),!f&&g.limit){"number"!=typeof g.limit&&(g.limit=parseInt(g.limit));var i=b.parent().children("li").length+1;i>g.limit&&(f=!0,e&&a.get_error_message("Hoops!","Cannot add element more than item.","limit"))}f||0!=D.self_accept||b.parents("."+b.attr("data-type")).length&&(f=!0,e&&a.get_error_message("Hoops!","This component cannot be added inside the same type component."+b.attr("data-type"),"self_accept")),f?("function"!=typeof c&&(d=function(){alert("An error occurred.")}),d.call(b)):"function"==typeof c&&c.call(b)},make_name:function(a){var d=(a.find(".composer-element"),a.parents("ul.row-fluid")),e=parseInt(d.length);return a.find("select, input, textarea").not(".not").each(function(){var c=jQuery(this),d=c.attr("id"),f=c.attr("name");if("undefined"!=typeof d&&"undefined"!=typeof f){if("1"!=c.attr("data-changed")&&c.attr("data-name",f),1==e){var g=c.parents("ul.row-fluid").first().attr("data-variable");if(c.attr("data-name").indexOf("[]")>-1)var h=g+"["+b.global_element_id+"]["+d+"][]";else var h=g+"["+b.global_element_id+"]["+d+"]"}else if(e>1){var i=a.attr("data-parent-name");if(c.attr("data-name").indexOf("[]")>-1)var h=i+"["+d+"][]";else var h=i+"["+d+"]"}c.attr("name",h),c.attr("data-changed","1")}}),a},wrap_element:function(b){a.get_options(b);var c=m.find(".temp-item-wrap").first(),d=c.length,e=a.column_text_to_class(D.column);d?c.append(b):m.append(b),b.wrap('<li class="composer-item '+e+'" />'),b.wrap('<div class="init" />');var f=b.parent().parent(),g=f.children(".init");return g.prepend('<div class="highlighter">'),jQuery('<div class="composer-item-controls" />').prependTo(g),a.prepare_controls(f),a.update_item_levels(f),d&&(f.unwrap(),m.find(".temp-item-wrap").remove()),a.do_scripts(f),f.hide().fadeIn(1e3),a.set_active_element(f),a.event_listener_active_drop(f),f},update_item_levels:function(c){a.get_options(c.find(".composer-element").first());var d=parseInt(c.parents("ul.row-fluid").length);if(c.attr("data-level",d),c.attr("data-global-id",b.global_element_id),1==d){var e=c.parents("ul.row-fluid").first().attr("data-variable");c.attr("data-parent-name",e+"["+b.global_element_id+"]")}else d>1?(c.attr("data-parent-global-id",c.parents(".composer-item").first().attr("data-global-id")),c.attr("data-parent-parent-name",c.parents(".composer-item").first().attr("data-parent-name")),c.attr("data-parent-name",c.parents(".composer-item").first().attr("data-parent-name")+"[_composer_data]["+b.global_element_id+"]")):c.removeAttr("data-parent-global-id");c.attr("data-ready","1"),c.find("ul.row-fluid").length&&c.addClass("item-droppable"),a.make_name(c),c.find(".composer-item").each(function(){b.global_element_id++,a.update_item_levels(jQuery(this))})},prepare_controls:function(c){var e=c.find(".composer-item-controls").first();e.html("");var f=jQuery("<div />").addClass("column-changer"),h=' <span class="column-text"></span> <a href="javascript:;" class="column-decrease"><</a> <a href="javascript:;" class="column-increase">></a> ';f.html(h),f.find(".column-text").text(D.column),f.appendTo(e),c.find("#_composer-column").first().val(D.column),D.allow_columns?(f.addClass("column-changer-active"),f.find(".column-decrease").on("click",function(){var b=a.get_column_size(c);c.removeClass(b[0]).addClass(b[2]);var d=a.column_class_to_text(b[2]);f.find(".column-text").text(d),c.find("#_composer-column").first().val(d),a.refresh_column_classes(c.parents("ul.row-fluid").first()),cloudfw_destroy()}),f.find(".column-increase").on("click",function(){var b=a.get_column_size(c);c.removeClass(b[0]).addClass(b[1]);var d=a.column_class_to_text(b[1]);f.find(".column-text").text(d),c.find("#_composer-column").first().val(d),a.refresh_column_classes(c.parents("ul.row-fluid").first()),cloudfw_destroy()})):(f.addClass("column-changer-passive"),f.find(".column-text").text("1/1"));var i=' <span class="title-text"></span> <div class="title-input"> <input type="text" id="_composer-title" name="_composer-title" data-original-title="'+D.original_title+'" class="input input_250" value="" /> </div> <span class="title-original-text">('+D.original_title+")</span> ",k=jQuery("<div />").addClass("item-title");k.html(i),k.children("span.title-text").text(D.title),k.appendTo(e);var m=k.find(".title-input > input");m.val(D.title),k.children("span.title-text").on("click",function(){var a=jQuery(this);a.hide().next(".title-input").show().children("input").select(),e.addClass("compact")}),m.on("blur focusout",function(){var a=jQuery(this);a.keyup().parent().hide().parent().find(".title-text").show(),""==m.val()&&m.val(m.attr("data-original-title")).keyup(),e.removeClass("compact")}),m.on("keydown keyup",function(b){var c=jQuery(this),d=c.val();d=""==d?c.attr("data-original-title"):d.replace(/<\/?[^>]+(>|$)/g,""),k.children("span.title-text").text(a.title(d)),(13==b.which||27==b.which)&&(jQuery(this).blur(),b.preventDefault())});var n=' <a class="item-duplicate cloudfw-tooltip" title="clone" href="javascript:;">Clone</a> <a class="item-remove cloudfw-tooltip" title="remove" href="javascript:;">Remove</a> ',o=jQuery("<div />").addClass("controls-right");o.html(n),o.appendTo(e),0!=D.allow_edit&&(o.prepend('<a class="item-edit cloudfw-tooltip" title="options" href="javascript:;">options</a> '),e.find("a.item-edit").on("click",function(){var b=e.parent().parent(),c=b.find(".composer-element").first(),f=b.find(".composer-item-options").first();if(jQuery(this).parents(".composer-item").css({position:""}),f.is(":visible"))b.removeClass("editing"),l.addClass("normal-mode").removeClass("edit-mode"),jQuery(".cloudfw-composer-editing-buttons",j).hide(),a.focusout(),c.unbind("resize"),l.find("#cloudfw-composer-edit-overlay").remove(),l.css("height","").css("min-height",""),a.match_item_classes(b.parents(".ul.row-fluid").first()),a.match_item_classes(l),jQuery.scrollTo(w,{duration:0}),jQuery(q,d).filter(":ui-sortable").sortable("enable");else{if(w=jQuery(document).scrollTop(),l.removeClass("normal-mode").addClass("edit-mode"),b.addClass("editing").before('<div id="cloudfw-composer-edit-overlay"></div>'),a.reset_active_drop(),!f.find("#cloudfw-composer-done-button-wrap").length){var h='<div id="cloudfw-composer-done-button-wrap"> <div class="module clean"> <div> <div class="grid oneof4"></div> <div class="grid threeof4 last"> <a class="cloudfw-composer-done small-button small-sky" href="javascript:;"> <span>'+CloudFwOp.textCompDoneEditing+'</span> </a> </div><div class="clear"></div> </div> </div> </div>';f.append(h)}jQuery(".cloudfw-composer-editing-buttons",j).show(),c.resize(function(){var a=jQuery(this).outerHeight()+90;l.css("height",a).css("min-height","auto")}).resize(),jQuery.scrollTo(g,{duration:0,offset:{top:-40},onAfter:function(){}}),jQuery(q,d).filter(":ui-sortable").sortable("disable")}cloudfw_main(f)})),e.find("a.item-remove").on("click",function(){var b=jQuery(this);if(!b.hasClass("apply"))return CloudFw_UI.sure.init({resume:function(){b.addClass("apply").click()},cancel:function(a){b.removeClass("apply"),a.close()}}),event.preventDefault(),!1;var c=jQuery(this).parents(".composer-item").first(),d=c.prev(".composer-item");if(d.length)d.delay(10).queue(function(){a.set_active_element(d)});else{var e=c.next(".composer-item");e.length&&e.delay(10).queue(function(){a.set_active_element(e)})}var f=c.parents("ul.row-fluid").first();jQuery(c).removeData(),jQuery("*",c).removeData(),c.remove(),a.refresh_column_classes(f),a.refresh_column_classes(),cloudfw_main()}),e.find("a.item-duplicate").on("click",function(){var c=e.parent().parent(),f=c.parents("ul.row-fluid").first(),g=c.find(".composer-element").first();a.set_active_drop(f.parents("ul.row-fluid").first());var h=c,i=jQuery('<div id="temp-create-element" />').attr("data-type",h.find(".composer-element").first().attr("data-type"));c.after(i),a.get_options(h.find(".composer-element").first()),a.check(i,function(){var e=c.clone();g.addClass("duplicating"),b.global_element_id++,a.get_options(g),d.find("#temp-create-element").remove(),a.sync_elements(c,e),c.after(e),e=c.next(),a.prepare_controls(e),a.update_item_levels(e),a.event_listener_active_drop(e),a.match_item_classes(f),a.seek_contents(e.parent("ul.row-fluid").first());var h=e.find(".composer-item");h.length&&(h.each(function(){var c=jQuery(this),d=c.find(".composer-element").first();d.addClass("duplicating"),b.global_element_id++,a.get_options(d),a.prepare_controls(c),a.update_item_levels(c),a.event_listener_active_drop(c)}),a.seek_contents(e.parent("ul.row-fluid").first()),a.match_item_classes(h)),a.do_scripts(e),e.hide().fadeIn(400)},function(){d.find("#temp-create-element").remove()},!0)}),e.disableSelection()},match_columns:function(b,c){var d=b.attr("data-columns"),e=d.split("-");jQuery.each(e,function(d,e){a.insert_column(e,b,c)})},insert_column:function(a,b,c){jQuery("<div />")},column_text_to_class:function(a){var b=jQuery.inArray(a,r);return-1!=b?s[b]:"span12"},column_class_to_text:function(a){var b=jQuery.inArray(a,s);return-1!=b?r[b]:"1/1"},get_column_size:function(a){return a.hasClass("span12")?new Array("span12","span2","span10"):a.hasClass("span10")?new Array("span10","span12","span9"):a.hasClass("span9")?new Array("span9","span10","span8"):a.hasClass("span8")?new Array("span8","span9","span6"):a.hasClass("span6")?new Array("span6","span8","span4"):a.hasClass("span4")?new Array("span4","span6","span3"):a.hasClass("span3")?new Array("span3","span4","span2"):a.hasClass("span2")?new Array("span2","span3","span12"):void 0},match_item_classes:function(a){var b=0,c=0;jQuery(a).children(".composer-item").removeClass("first").removeClass("last").each(function(a){var d=jQuery(this);d.hasClass("span12")?c=12:d.hasClass("span10")?c=10:d.hasClass("span9")?c=9:d.hasClass("span8")?c=8:d.hasClass("span6")?c=6:d.hasClass("span4")?c=4:d.hasClass("span3")?c=3:d.hasClass("span2")&&(c=2),b+=c,b>10&&12>=b&&(d.addClass("last"),d.next(".composer-item").addClass("first"),b=0),b>12&&(d.addClass("first"),d.prev(".composer-item").addClass("last"),b=c)}),jQuery(a).children(".composer-item:first").addClass("first"),jQuery(a).children(".composer-item:last").addClass("last"),l.find(".composer-item").each(function(){var a=jQuery(this);a.hasClass("last")?a.find("#_composer-last").first().val("1"):a.find("#_composer-last").first().val("0")})},move_up:function(){if(l.hasClass("edit-mode"))return!0;if("object"==typeof n){var g,c=n.prev("li"),e=n.parents("ul.row-fluid"),f=e.length;n.attr("data-parent-parent-name");if(c.length)n.stop(1,1).fadeOut(200),c.before(n.detach().fadeIn(200)),n=l.find(".active-element").first();else if(f>1){var c=n.parents(".composer-item").first();if(c.length){var i=n,j=jQuery('<div id="temp-create-element" />').attr("data-type",i.find(".composer-element").first().attr("data-type"));c.before(j),a.get_options(i.find(".composer-element").first()),a.check(j,function(){b.global_element_id++,d.find("#temp-create-element").remove(),n.stop(1,1).fadeOut(200),c.before(i.detach().fadeIn(200)),n=l.find(".active-element").first(),g=i.parents(".composer-item").first().attr("data-parent-name"),i.attr("data-parent-global-id",f),i.attr("data-level",f),g?i.attr("data-parent-parent-name",g):i.removeAttr("data-parent-parent-name"),a.update_item_levels(n),a.match_item_classes(n.parents("ul.row-fluid"))},function(){d.find("#temp-create-element").remove()},!1)}}a.match_item_classes(e.first()),a.match_item_classes(l)}},done_editing:function(){"object"==typeof n&&n.length&&n.find(".composer-item-controls").first().find(".item-edit").click()},edit_next:function(){if(!l.hasClass("edit-mode"))return!0;if(a.set_active_element(jQuery(".composer-item",l).filter(".editing")),a.done_editing(),"object"==typeof n){var b=n.next("li"),c=n.parents("ul.row-fluid"),d=c.length;if(b.length)b.find(".composer-item-controls").first().find(".item-edit").click();else if(d>1){var b=n.parents(".composer-item").first();if(b.length)b.find(".composer-item-controls").first().find(".item-edit").click();else{var b=jQuery(".composer-item",l).first();b.length&&b.find(".composer-item-controls").first().find(".item-edit").click()}}else{var b=jQuery(".composer-item",l).first();b.length&&b.find(".composer-item-controls").first().find(".item-edit").click()}}},edit_prev:function(){if(!l.hasClass("edit-mode"))return!0;if(a.set_active_element(jQuery(".composer-item",l).filter(".editing")),a.done_editing(),"object"==typeof n){var b=n.prev("li"),c=n.parents("ul.row-fluid"),d=c.length;if(b.length)b.find(".composer-item-controls").first().find(".item-edit").click();else if(d>1){var b=n.parents(".composer-item").first();if(b.length)b.find(".composer-item-controls").first().find(".item-edit").click();else{var b=jQuery(".composer-item",l).last();b.length&&b.find(".composer-item-controls").first().find(".item-edit").click()}}else{var b=jQuery(".composer-item",l).last();b.length&&b.find(".composer-item-controls").first().find(".item-edit").click()}}},select_down:function(){if(l.hasClass("edit-mode"))return!0;if("object"==typeof n){var b=n.next("li"),c=n.parents("ul.row-fluid"),d=c.length;if(b.length)a.set_active_element(b),b.hasClass("item-droppable")&&a.set_active_drop(b);else if(d>1){var b=n.parents(".composer-item").first();b.length&&(a.set_active_element(b),b.hasClass("item-droppable")&&a.set_active_drop(b))}}},select_up:function(){if(l.hasClass("edit-mode"))return!0;if("object"==typeof n){var b=n.prev("li"),c=n.parents("ul.row-fluid"),d=c.length;if(b.length)a.set_active_element(b),b.hasClass("item-droppable")&&a.set_active_drop(b);else if(d>1){var b=n.parents(".composer-item").first();b.length&&(a.set_active_element(b),b.hasClass("item-droppable")&&a.set_active_drop(b))}}},move_down:function(){if(l.hasClass("edit-mode"))return!0;if("object"==typeof n){var g,c=n.next("li"),e=n.parents("ul.row-fluid"),f=e.length;n.attr("data-parent-parent-name");if(c.length)n.stop(1,1).fadeOut(200),c.after(n.detach().fadeIn(200)),n=l.find(".active-element").first();else if(f>1){var c=n.parents(".composer-item").first();if(c.length){var i=n,j=jQuery('<div id="temp-create-element" />').attr("data-type",i.find(".composer-element").first().attr("data-type"));c.before(j),a.get_options(i.find(".composer-element").first()),a.check(j,function(){b.global_element_id++,d.find("#temp-create-element").remove(),n.stop(1,1).fadeOut(200),c.after(i.detach().fadeIn(200)),n=l.find(".active-element").first(),g=i.parents(".composer-item").first().attr("data-parent-name"),i.attr("data-parent-global-id",f),i.attr("data-level",f),g?i.attr("data-parent-parent-name",g):i.removeAttr("data-parent-parent-name"),a.update_item_levels(n),a.match_item_classes(n.parents("ul.row-fluid"))},function(){d.find("#temp-create-element").remove()},!1)}}a.match_item_classes(e.first()),a.match_item_classes(l)}},follow_page:function(){E=jQuery(window),G=p.offset().top-28,H=0,a.resize_callback(),a.scroll_callback(),E.bind("resize",a.resize_callback),E.on("scroll",a.scroll_callback)},scroll_callback:function(){var a=E.scrollTop();a>=G&&!H?(H=1,p.addClass("fixed")):G>=a&&H&&(H=0,p.removeClass("fixed"))},resize_callback:function(){var a=g.width(),b=parseInt(p.css("padding-left"))+parseInt(p.css("padding-right")),c=a-b;p.width(c)},sync_elements:function(a,b){return cloudfw_sync_elements(a,b)},do_scripts:function(b){if(!b.length)return!0;var c=a.item_options(b.find(".composer-element").first()),d=b.find(".composer-element").first().attr("data-type"),e=b.find(".composer-item-options").first();cloudfw_composer_javascript_utilities(d,e),c.sync_title&&a.sync_titles(b,c);var f=b.find(".composer-item");f.length&&f.each(function(){a.do_scripts(jQuery(this))})},javascript_utilities:function(){l.find(".composer-item").each(function(){a.do_scripts(jQuery(this))})},sync_titles:function(a,b){var c=a.find("#_composer-title").first(),d=a.find(".composer-item-options").first(),e=d.find("#"+D.sync_title).first();if(e.length){var f=e[0].tagName;cloudfw_jqueried("cloudfw-composer-option-title",e)||("INPUT"==f?e.bind("focusout",function(){var a=jQuery(this).val();c.val(a).keyup()}).focusout():"TEXTAREA"==f?e.bind("focusout",function(){var a=jQuery(this).val();c.val(a).keyup()}).blur():"SELECT"==f&&e.bind("change",function(){var a=jQuery(this).find(":selected").first();if(""!=a.attr("value"))var b=a.text();else var b="";c.val(b).keyup()}).change()),cloudfw_jqueried("cloudfw-composer-item-title",c)||("INPUT"==f?c.bind("keyup focusout",function(){var a=jQuery(this).val();e.val(a).keyup()}):"TEXTAREA"==f&&c.bind("keyup focusout",function(){var a=jQuery(this).val();e.val(a).text(a).keyup()}))}},footer_navigation:function(){jQuery(".cloudfw-composer-copy",d).on("click",function(){var b=jQuery(this),c=b.attr("data-copy");if("selected"==c){if("object"!=typeof n)return cloudfw_dialog("Plase select a composer widget to copy","","cancel"),!1;if(n.length)var e=n}else var e=d;CloudFw_UI.modal({destroy:!0,overlay:!0,id:"cloudfw-box-composer-export",title:"Export",loader:!0,content:function(b,c,f){cloudfw_global_loading("show");var g={action:"cloudfw_copy_composer",nonce:CloudFwOp.cloudfw_nonce,post_id:jQuery("#cloudfw-composer-post-id",d).val()},h=a.serialize(e);jQuery.ajax({url:CloudFwOp.ajaxUrl,cache:!1,type:"POST",data:jQuery.param(g,!0)+"&"+h,success:function(a){try{var b=jQuery.parseJSON(a);cloudfw_dialog(b.messageTitle,b.messageText,b.messageCase);var c=' <div class="cloudfw-ui-modal-messages success"><div class="cloudfw-ui-modal-title">The data generated successfully.</div></div> <div style="margin-top: 20px;"> <textarea id="cloudfw-composer-export-data" style="height: 100px;">'+b.data+'</textarea> </div> <div style="margin-top: 20px; position: relative;"> <a id="cloudfw-composer-copy-data" href="javascript:;" class="small-button small-green"><span>Copy</span></a> </div> ';
f.success(c),jQuery("#cloudfw-composer-export-data").focus().select(),jQuery("#cloudfw-composer-copy-data").zclip({path:CloudFwOp.zclipSwf,copy:function(){return""==b.data||"false"==b.data||"undefined"==b.data?"":b.data},afterCopy:function(){cloudfw_dialog("Data Copied","Export data copied to the clipboard.","ok"),f.close()}})}catch(d){cloudfw_dialog("Error","An error occurred","error"),alert(a)}cloudfw_main()}})}})}),jQuery("#cloudfw-composer-paste",d).on("click",function(){jQuery(this),CloudFw_UI.modal({destroy:!0,overlay:!0,id:"cloudfw-box-composer-import",title:"Import",loader:!0,content:function(b,c,e){var f=' <div style="margin-top: 20px; position: relative;"> Paste the exported code here: </div> <div style=""> <textarea id="cloudfw-composer-import-data" style="height: 100px;"></textarea> </div> <div style="margin-top: 20px; position: relative;"> <a id="cloudfw-composer-import" href="javascript:;" class="small-button small-green"><span>Import</span></a> </div> ';e.success(f),jQuery("#cloudfw-composer-import-data",b).focus().bind("keydown keyup",function(a){13==a.which&&(c.find("#cloudfw-composer-import").click(),a.preventDefault())}),jQuery("#cloudfw-composer-import").on("click",function(){if(!b.hasClass("working")){b.addClass("working");var c={action:"cloudfw_paste_composer",nonce:CloudFwOp.cloudfw_nonce,post_id:jQuery("#cloudfw-composer-post-id",d).val(),data:jQuery("#cloudfw-composer-import-data").val()};e.loading("show"),jQuery.ajax({url:CloudFwOp.ajaxUrl,cache:!1,type:"POST",data:jQuery.param(c,!0),success:function(c){b.removeClass("working");try{var d=jQuery.parseJSON(c);cloudfw_dialog(d.messageTitle,d.messageText,d.messageCase),e.cancel()}catch(f){e.close(),l.append(c),a.seek_contents(l)}}})}})}})}),jQuery("#cloudfw-composer-delete-all",d).on("click",function(){var b=jQuery(this);if(!b.hasClass("apply"))return CloudFw_UI.sure.init({resume:function(){b.addClass("apply").click()},cancel:function(a){b.removeClass("apply"),a.close()}}),event.preventDefault(),!1;b.removeClass("apply");var c=jQuery(".composer-item",l);c.remove(),jQuery(c).removeData(),jQuery("*",c).removeData(),c.remove(),a.refresh_column_classes()}),jQuery("#cloudfw-composer-toggle-shortcuts",d).on("click",function(){var a=jQuery("#cloudfw-composer-footer"),c=(jQuery("#cloudfw-composer-footer-menu"),jQuery("#cloudfw-composer-shortcuts"));c.is(":visible")?(c.hide(),a.css("margin-top","")):(c.show(),a.css("margin-top",parseInt(c.height())))}),jQuery("#cloudfw-composer-load-prebuilt-templates",d).on("click",function(){CloudFw_UI.modal({destroy:!0,overlay:!0,id:"cloudfw-box-composer-prebuilt-templates",title:"Pre-Built Pages",loader:!0,content:function(b,c,e){var f={action:"cloudfw_get_composer_prebuilt_templates",nonce:CloudFwOp.cloudfw_nonce,post_id:jQuery("#cloudfw-composer-post-id",d).val()||""};jQuery.ajax({url:CloudFwOp.ajaxUrl,cache:!1,type:"POST",data:jQuery.param(f,!0),success:function(c){e.success(c),a.manage_templates(b,e,"import-prepage"),cloudfw_main()}})}})}),jQuery("#cloudfw-composer-save-prebuilt-template",d).on("click",function(){CloudFw_UI.modal({destroy:!0,minimize:!1,overlay:!0,id:"cloudfw-box-composer-save-template",title:"Save Template",loader:!0,content:function(b,c,d){var e={action:"cloudfw_save_composer_template_form",title:jQuery("input#title").val(),nonce:CloudFwOp.cloudfw_nonce};jQuery.ajax({url:CloudFwOp.ajaxUrl,cache:!1,type:"POST",data:jQuery.param(e,!0),success:function(e){d.success(e),jQuery("#composer_template_name",b).focus().bind("keydown keyup",function(a){13==a.which&&(c.find("#cloudfw-composer-template-save-button").click(),a.preventDefault())}),c.find("#cloudfw-composer-template-save-button").click(function(){b.hasClass("working")||(b.addClass("working"),a.save_template(b,d,"prepage"))}),cloudfw_main()}})}})}),jQuery("#cloudfw-composer-load-templates",d).on("click",function(){CloudFw_UI.modal({destroy:!0,overlay:!0,id:"cloudfw-box-composer-templates",title:"Templates",loader:!0,content:function(b,c,e){var f={action:"cloudfw_get_composer_templates",nonce:CloudFwOp.cloudfw_nonce,post_id:jQuery("#cloudfw-composer-post-id",d).val()||""};jQuery.ajax({url:CloudFwOp.ajaxUrl,cache:!1,type:"POST",data:jQuery.param(f,!0),success:function(c){e.success(c),a.manage_templates(b,e),cloudfw_main()}})}})}),jQuery("#cloudfw-composer-save-template",d).on("click",function(){CloudFw_UI.modal({destroy:!0,minimize:!1,overlay:!0,id:"cloudfw-box-composer-save-template",title:"Save as Template",loader:!0,content:function(b,c,d){var e={action:"cloudfw_save_composer_template_form",nonce:CloudFwOp.cloudfw_nonce};jQuery.ajax({url:CloudFwOp.ajaxUrl,cache:!1,type:"POST",data:jQuery.param(e,!0),success:function(e){d.success(e),jQuery("#composer_template_name",b).focus().bind("keydown keyup",function(a){13==a.which&&(c.find("#cloudfw-composer-template-save-button").click(),a.preventDefault())}),c.find("#cloudfw-composer-template-save-button").click(function(){b.hasClass("working")||(b.addClass("working"),a.save_template(b,d))}),cloudfw_main()}})}})})},manage_templates:function(b,c,e){var f=jQuery("#cloudfw-composer-templates");f.find(".use").click(function(){var b=jQuery(this),f=b.attr("rel");e||(e="import");var g={action:"cloudfw_composer_template_actions",type:e,nonce:CloudFwOp.cloudfw_nonce,post_id:jQuery("#cloudfw-composer-post-id",d).val()||"",template_id:f||""};c.loading("show"),jQuery.ajax({url:CloudFwOp.ajaxUrl,cache:!1,type:"POST",data:jQuery.param(g,!0),success:function(b){try{var d=jQuery.parseJSON(b);cloudfw_dialog(d.messageTitle,d.messageText,d.messageCase),c.close()}catch(f){c.close(),"import-prepage"==e?l.html(b):l.append(b),a.seek_contents(l)}cloudfw_main()}})}),f.find(".remove").click(function(){var a=jQuery(this),b=a.attr("rel"),e={action:"cloudfw_composer_template_actions",type:"delete",nonce:CloudFwOp.cloudfw_nonce,post_id:jQuery("#cloudfw-composer-post-id",d).val()||"",template_id:b||""};jQuery.ajax({url:CloudFwOp.ajaxUrl,cache:!1,type:"POST",data:jQuery.param(e,!0),success:function(b){try{var d=jQuery.parseJSON(b);cloudfw_dialog(d.messageTitle,d.messageText,d.messageCase),a.parents("li").first().fadeOut(function(){jQuery(this).remove()}),c.cancel()}catch(e){cloudfw_dialog("We couldn't delete it :(","An error occurred when deleting the template","error"),alert(b)}cloudfw_main()}})})},save_template:function(a,b,c){var e={action:"cloudfw_save_composer_template",nonce:CloudFwOp.cloudfw_nonce,post_id:jQuery("#cloudfw-composer-post-id",d).val()||"",template_name:jQuery("#composer_template_name",a).val()||"",type:c};b.loading("show"),jQuery.ajax({url:CloudFwOp.ajaxUrl,cache:!1,type:"POST",data:jQuery.param(e,!0),success:function(c){a.removeClass("working");try{var d=jQuery.parseJSON(c);"update"==d.messageCase?b.close():b.cancel(),cloudfw_dialog(d.messageTitle,d.messageText,d.messageCase)}catch(e){cloudfw_dialog("We couldn't save :(","An error occurred when saving","error"),alert(c)}}})},shortcuts:function(){shortcut.add("Ctrl+S",function(){v.click()},{type:"keydown",propagate:!1,target:document}),shortcut.add("Ctrl+E",a.done_editing,{type:"keydown",propagate:!1,target:document}),shortcut.add("Ctrl+D",function(){return l.hasClass("edit-mode")?!0:void("object"==typeof n&&n.length&&n.find(".composer-item-controls").first().find(".item-duplicate").click())},{type:"keydown",propagate:!1,target:document,disable_in_input:!1}),shortcut.add("DELETE",function(){return l.hasClass("edit-mode")?!0:void("object"==typeof n&&n.length&&n.find(".composer-item-controls").first().find(".item-remove").click())},{type:"keydown",propagate:!0,target:document,disable_in_input:!0}),shortcut.add("F2",function(){"object"==typeof n&&n.length&&n.find(".composer-item-controls").first().find(".title-text").click()},{type:"keydown",propagate:!0,target:document,disable_in_input:!1}),shortcut.add("Ctrl+Up",function(){a.move_up()},{type:"keydown",propagate:!1,target:document,disable_in_input:!0}),shortcut.add("Ctrl+Down",function(){a.move_down()},{type:"keydown",propagate:!1,target:document,disable_in_input:!0}),shortcut.add("CTRL+Left",function(){"object"==typeof n&&n.length&&n.find(".composer-item-controls").first().find(".column-decrease").click()},{type:"keydown",propagate:!0,target:document,disable_in_input:!0}),shortcut.add("CTRL+Right",function(){"object"==typeof n&&n.length&&n.find(".composer-item-controls").first().find(".column-increase").click()},{type:"keydown",propagate:!0,target:document,disable_in_input:!0}),shortcut.add("Tab",a.select_down,{type:"keydown",propagate:!1,target:document,disable_in_input:!0}),shortcut.add("shift+Tab",a.select_up,{type:"keydown",propagate:!1,target:document,disable_in_input:!0}),shortcut.add("CTRL+SHIFT+C",function(){jQuery(".cloudfw-composer-copy[data-copy=selected]:first").click()},{type:"keydown",propagate:!1,target:document,disable_in_input:!0}),shortcut.add("CTRL+SHIFT+V",function(){jQuery("#cloudfw-composer-paste").click()},{type:"keydown",propagate:!1,target:document,disable_in_input:!0})},title:function(a,b){if("number"!=typeof b)var b=25;var c=a.length;return b>=c?a:a.substr(0,b)+".."},focusout:function(){jQuery("body").find(":focus").focusout(),jQuery('<input type="text" />').appendTo(jQuery("body")).focus().focusout().remove()}};jQuery(document).ready(function(){b.init()})}(jQuery);