| var handleLocation;
var melisPluginSortable = (function($, window) {
	var $body = $("body");
    /* ==================================
            Initialized
    ====================================*/
    $(".melis-dragdropzone").sortable({
    	// when changing plugins order
    	stop: function(event, ui) {
            $(".melis-dragdropzone").removeClass("highlight");
            if ( ui.item[0] ) { 
            	// reset items index
	            $(ui.item[0]).css({"z-index": "1"});
            	var plugin 			= $(ui.item[0]).find(".melis-plugin-tools-box"),
                	moduleName 		= plugin.data("module"),
                	pluginName 		= plugin.data("plugin"),
                	pluginId 		= plugin.data("plugin-id"),
                	melisTag 		= plugin.data("melis-tag"),
                	pluginContainer = plugin.closest(".melis-float-plugins"),
                	pageId 			= window.parent.$("#"+parent.activeTabId).find(".melis-iframe").data("iframe-id"),
                	dropzone 		= plugin.closest(".melis-dragdropzone"),
                	dropzoneData 	= dropzone.data("plugin-id");
                // check plugin if wrap
				if( $(pluginContainer).length <= 0 ) {
                    $(plugin).data("plugin-container", "");
				}
				
                // melisPluginEdition.pluginContainerChecker(); // disable for now
				melisPluginEdition.sendDragnDropList(dropzoneData, pageId);
                melisPluginEdition.pluginDetector();
            }
    	},
    });
	$body.on("click", ".m-options-handle", function() {
		var $this = $("this");
			window.fromdragdropzone = $this.closest(".melis-plugin-tools-box").data("melis-fromdragdropzone");
		// Need a callback to load showModalSlider
		setTimeout(function(){ checkedModalSlider(); }, 2000);
	});
	var modalUl,
		ulPos,
		maxPosNext,
		modalContainerWidth,
		maxLiWidth = 0,
		ulEndPoint = false,
		maxPosPrev = 25;
	function checkedModalSlider() {
		modalUl = window.parent.$("body #id_meliscms_plugin_modal .melis-whead-box .nav.nav-tabs");
	    modalContainerWidth = window.parent.$("#id_meliscms_plugin_modal").outerWidth();
	    var modalNavContainer 	= 0,
	    	minSize 			= 150,
	    	maxSize 			= 225,
	    	modalTabs 			= window.parent.$("body #id_meliscms_plugin_modal .melis-whead-box .nav.nav-tabs li"),
	    	tabLength 			= modalTabs.length,
	    	tabSize 			= tabLength * maxSize;
	    maxPosNext = tabSize / tabLength;
	    window.parent.$("body #id_meliscms_plugin_modal .melis-whead-box .nav.nav-tabs li").each(function() {
	    	var $this = $(this);
	        modalNavContainer += $this.outerWidth();
	        var el = $this.outerWidth();
	        maxLiWidth = Math.max(maxLiWidth, el);
	    });
	    if ( modalNavContainer > modalContainerWidth ) {
	    	modalTabs.width(minSize);
			window.parent.$("body #id_meliscms_plugin_modal .melis-whead-box .nav.nav-tabs").width(tabSize);
			window.parent.$("body #id_meliscms_plugin_modal .melis-whead-box").width(modalContainerWidth - 50);
			window.parent.$("body .widget-melis-tabprev").addClass("active");
			window.parent.$("body .widget-melis-tabnext").addClass("active");
	    } else {
            window.parent.$("body .widget-melis-tabprev, .widget-melis-tabnext").removeClass("active");
	    	if ( modalNavContainer == 0 ) {
                window.parent.$("body #id_meliscms_plugin_modal .melis-whead-box").css({"width": "auto"});
            } else {
                window.parent.$("body #id_meliscms_plugin_modal .melis-whead-box").width(modalContainerWidth);
			}
	    }
	}
	function modalSlideNext() {
    	if ( modalUl ) {
 	    	var posLeft = Math.abs(modalUl.position().left);
		    	if ( posLeft >= 25 && posLeft <= maxPosNext + 50 ) {
		    		modalUl.finish().animate({
			    		'left': '-=150',
			    	}, 300);
		    	}
    	}
	}
	function modalSlidePrev() {
    	if ( modalUl ) {
	    	var posLeft = Math.abs(modalUl.position().left);
		    	if ( posLeft >= 125 ) {
		    		modalUl.finish().animate({
			    		'left': '+=150',
			    	}, 300);
		    	}
    	}
	}
    //PREV 
    window.parent.$("body").on("click", ".widget-melis-tabprev", modalSlidePrev);
    //NEXT 
    window.parent.$("body").on("click", ".widget-melis-tabnext", modalSlideNext);
	$(window.parent).resize(function () {
	    checkedModalSlider();
	});
    return {
    	checkedModalSlider 			: 		checkedModalSlider
    }
 })(jQuery, window);
 |