//UI
(function($,undefined){$.ui=$.ui || {};if($.ui.version){return;}$.extend($.ui,{version: "1.8.16",keyCode:{ALT:18,BACKSPACE:8,CAPS_LOCK:20,COMMA:188,COMMAND:91,COMMAND_LEFT:91,COMMAND_RIGHT:93,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,MENU:93,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38,WINDOWS:91}});$.fn.extend({propAttr: $.fn.prop || $.fn.attr,_focus:$.fn.focus,focus:function(delay,fn){return typeof delay === "number" ? this.each(function(){var elem=this;setTimeout(function(){$(elem).focus();if(fn){fn.call(elem);}},delay);}) : this._focus.apply(this,arguments);},scrollParent:function(){var scrollParent;if(($.browser.msie && (/(static|relative)/).test(this.css('position'))) || (/absolute/).test(this.css('position'))){scrollParent=this.parents().filter(function(){return (/(relative|absolute|fixed)/).test($.curCSS(this,'position',1)) && (/(auto|scroll)/).test($.curCSS(this,'overflow',1)+$.curCSS(this,'overflow-y',1)+$.curCSS(this,'overflow-x',1));}).eq(0);}else{scrollParent=this.parents().filter(function(){return(/(auto|scroll)/).test($.curCSS(this,'overflow',1)+$.curCSS(this,'overflow-y',1)+$.curCSS(this,'overflow-x',1));}).eq(0);}return(/fixed/).test(this.css('position')) || !scrollParent.length ? $(document):scrollParent;},zIndex:function(zIndex){if(zIndex !== undefined){return this.css("zIndex",zIndex);}if(this.length){var elem=$(this[0]),position,value;while(elem.length && elem[0] !== document){position=elem.css("position");if(position === "absolute" || position === "relative" || position === "fixed"){value=parseInt(elem.css("zIndex"),10);if(!isNaN(value) && value !== 0){return value;}}elem=elem.parent();}}return 0;},disableSelection:function(){return this.bind(($.support.selectstart ? "selectstart":"mousedown")+".ui-disableSelection",function(event){event.preventDefault();});},enableSelection:function(){return this.unbind(".ui-disableSelection");}});$.each(["Width","Height"],function(i,name){var side=name === "Width"?["Left","Right"]:["Top","Bottom"],type=name.toLowerCase(),orig={innerWidth:$.fn.innerWidth,innerHeight:$.fn.innerHeight,outerWidth:$.fn.outerWidth,outerHeight:$.fn.outerHeight};function reduce(elem,size,border,margin){$.each(side,function(){size -= parseFloat($.curCSS(elem,"padding"+this,true)) || 0;if(border){size -= parseFloat($.curCSS(elem,"border"+this+"Width",true)) || 0;}if(margin){size -= parseFloat($.curCSS(elem,"margin"+this,true)) || 0;}});return size;}$.fn["inner"+name]=function(size){if(size === undefined){return orig["inner"+name].call(this);}return this.each(function(){$(this).css(type,reduce(this,size) + "px");});};$.fn["outer"+name]=function(size,margin){if(typeof size !== "number"){return orig["outer"+name].call(this,size);}return this.each(function(){$(this).css(type,reduce(this,size,true,margin)+"px");});};});function focusable(element,isTabIndexNotNaN){var nodeName=element.nodeName.toLowerCase();if("area" === nodeName){var map=element.parentNode,mapName=map.name,img;if(!element.href || !mapName || map.nodeName.toLowerCase()!=="map"){return false;}img=$("img[usemap=#"+mapName+"]")[0];return !!img && visible(img);}return (/input|select|textarea|button|object/.test(nodeName) ? !element.disabled : "a" == nodeName ? element.href || isTabIndexNotNaN : isTabIndexNotNaN) && visible(element);}function visible(element){return !$(element).parents().andSelf().filter(function(){return $.curCSS(this,"visibility") === "hidden" || $.expr.filters.hidden(this);}).length;}$.extend($.expr[":"],{data:function(elem,i,match){return !!$.data(elem,match[3]);},focusable:function(element){return focusable(element,!isNaN($.attr(element,"tabindex")));},tabbable:function(element){var tabIndex=$.attr(element,"tabindex"),isTabIndexNaN=isNaN(tabIndex);return(isTabIndexNaN || tabIndex >= 0) && focusable(element,!isTabIndexNaN);}});$(function(){var body=document.body,div=body.appendChild(div=document.createElement("div"));$.extend(div.style,{minHeight:"100px",height:"auto",padding:0,borderWidth:0});$.support.minHeight=div.offsetHeight === 100;$.support.selectstart="onselectstart" in div;body.removeChild(div).style.display="none";});$.extend($.ui,{plugin:{add:function(module,option,set){var proto=$.ui[module].prototype;for(var i in set){proto.plugins[i]=proto.plugins[i] || [];proto.plugins[i].push([option,set[i]]);}},call:function(instance,name,args){var set=instance.plugins[name];if(!set || !instance.element[0].parentNode){return;}for(var i=0;i<set.length;i++){if(instance.options[set[i][0]]){set[i][1].apply(instance.element,args);}}}},contains:function(a,b){return document.compareDocumentPosition ? a.compareDocumentPosition(b) & 16 : a !== b && a.contains(b);},hasScroll:function(el,a){if($(el).css("overflow") === "hidden"){return false;}var scroll=(a && a === "left")?"scrollLeft":"scrollTop",has=false;if(el[scroll] > 0){return true;}el[scroll]=1;has=(el[scroll] > 0);el[scroll]=0;return has;},isOverAxis:function(x,reference,size){return(x > reference) && (x < (reference+size));},isOver:function(y,x,top,left,height,width){return $.ui.isOverAxis(y,top,height) && $.ui.isOverAxis(x,left,width);}});})(jQuery);

//Widget
(function($,undefined){if($.cleanData){var _cleanData=$.cleanData;$.cleanData=function(elems){for(var i=0,elem;(elem=elems[i]) != null;i++){try{$(elem).triggerHandler("remove");}catch(e){}}_cleanData(elems);};}else{var _remove=$.fn.remove;$.fn.remove=function(selector,keepData){return this.each(function(){if(!keepData){if(!selector || $.filter(selector,[this]).length){$("*",this).add([this]).each(function(){try{$(this).triggerHandler("remove");}catch(e){}});}}return _remove.call($(this),selector,keepData);});};}$.widget=function(name,base,prototype){var namespace=name.split(".")[0],fullName;name=name.split(".")[1];fullName=namespace+"-"+name;if(!prototype){prototype=base;base=$.Widget;}$.expr[":"][fullName]=function(elem){return !!$.data(elem,name);};$[namespace]=$[namespace] || {};$[namespace][name]=function(options,element){if(arguments.length){this._createWidget(options,element);}};var basePrototype=new base();basePrototype.options=$.extend(true,{},basePrototype.options);$[namespace][name].prototype=$.extend(true,basePrototype,{namespace:namespace,widgetName:name,widgetEventPrefix:$[namespace][name].prototype.widgetEventPrefix || name,widgetBaseClass:fullName},prototype);$.widget.bridge(name,$[namespace][name]);};$.widget.bridge=function(name,object){$.fn[name]=function(options){var isMethodCall=typeof options === "string",args=Array.prototype.slice.call(arguments,1),returnValue=this;options=!isMethodCall && args.length ? $.extend.apply(null,[true,options].concat(args)) : options;if(isMethodCall && options.charAt(0) === "_"){return returnValue;}if(isMethodCall){this.each(function(){var instance=$.data(this,name),methodValue=instance && $.isFunction( instance[options] ) ? instance[options].apply(instance,args) : instance;if(methodValue !== instance && methodValue !== undefined){returnValue=methodValue;return false;}});}else{this.each(function(){var instance=$.data(this,name);if(instance){instance.option(options || {})._init();}else{$.data(this,name,new object(options,this));}});}return returnValue;};};$.Widget=function(options,element){if(arguments.length){this._createWidget(options,element);}};$.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",options:{disabled:false},_createWidget:function(options,element){$.data( element,this.widgetName,this);this.element=$(element);this.options=$.extend(true,{},this.options,this._getCreateOptions(),options);var self=this;this.element.bind( "remove." + this.widgetName,function(){self.destroy();});this._create();this._trigger("create");this._init();},_getCreateOptions:function(){return $.metadata && $.metadata.get(this.element[0])[this.widgetName];},_create:function(){},_init:function(){},destroy: function(){this.element.unbind("." + this.widgetName).removeData( this.widgetName );this.widget().unbind("." + this.widgetName).removeAttr("aria-disabled").removeClass(this.widgetBaseClass + "-disabled " + "ui-state-disabled");},widget:function(){return this.element;},option:function(key,value){var options=key;if(arguments.length === 0){return $.extend({},this.options);}if(typeof key === "string"){if(value === undefined){return this.options[key];}options={};options[key]=value;}this._setOptions(options);return this;},_setOptions:function(options){var self=this;$.each(options,function(key,value){self._setOption(key,value);});return this;},_setOption: function(key,value){this.options[key]=value;if(key === "disabled" ){this.widget()[value ? "addClass" : "removeClass"](this.widgetBaseClass + "-disabled" + " " + "ui-state-disabled").attr("aria-disabled",value);}return this;},enable:function(){return this._setOption("disabled",false);},disable:function(){return this._setOption("disabled",true);},_trigger:function(type,event,data){var callback=this.options[type];event=$.Event(event);event.type=( type === this.widgetEventPrefix ? type : this.widgetEventPrefix + type ).toLowerCase();data=data || {};if(event.originalEvent){for(var i=$.event.props.length, prop; i;){prop=$.event.props[--i];event[prop]=event.originalEvent[prop];}}this.element.trigger(event,data);return !( $.isFunction(callback) && callback.call( this.element[0], event, data ) === false || event.isDefaultPrevented());}};})(jQuery);

//Mouse
(function($,undefined){var mouseHandled=false;$(document).mouseup(function(e){mouseHandled=false;});$.widget("ui.mouse",{options:{cancel:':input,option',distance:1,delay: 0},_mouseInit:function(){var self=this;this.element.bind('mousedown.'+this.widgetName, function(event){return self._mouseDown(event);}).bind('click.'+this.widgetName, function(event){if (true === $.data(event.target, self.widgetName + '.preventClickEvent')){$.removeData(event.target, self.widgetName + '.preventClickEvent');event.stopImmediatePropagation();return false;}});this.started=false;},_mouseDestroy:function(){this.element.unbind('.'+this.widgetName);},_mouseDown: function(event){if(mouseHandled){return};(this._mouseStarted && this._mouseUp(event));this._mouseDownEvent=event;var self=this,btnIsLeft=(event.which == 1),elIsCancel=(typeof this.options.cancel == "string" && event.target.nodeName ? $(event.target).closest(this.options.cancel).length : false);if (!btnIsLeft || elIsCancel || !this._mouseCapture(event)){return true;}this.mouseDelayMet=!this.options.delay;if (!this.mouseDelayMet){this._mouseDelayTimer=setTimeout(function(){self.mouseDelayMet=true;},this.options.delay);}if (this._mouseDistanceMet(event) && this._mouseDelayMet(event)){this._mouseStarted=(this._mouseStart(event) !== false);if (!this._mouseStarted){event.preventDefault();return true;}}if (true === $.data(event.target, this.widgetName + '.preventClickEvent')){$.removeData(event.target, this.widgetName + '.preventClickEvent');}this._mouseMoveDelegate=function(event){return self._mouseMove(event);};this._mouseUpDelegate=function(event){return self._mouseUp(event);};$(document).bind('mousemove.'+this.widgetName, this._mouseMoveDelegate).bind('mouseup.'+this.widgetName, this._mouseUpDelegate);event.preventDefault();mouseHandled=true;return true;},_mouseMove:function(event){if ($.browser.msie && !(document.documentMode >= 9) && !event.button){return this._mouseUp(event);}if(this._mouseStarted){this._mouseDrag(event);return event.preventDefault();}if (this._mouseDistanceMet(event) && this._mouseDelayMet(event)){this._mouseStarted=(this._mouseStart(this._mouseDownEvent, event) !== false);(this._mouseStarted ? this._mouseDrag(event) : this._mouseUp(event));}return !this._mouseStarted;},_mouseUp: function(event){$(document).unbind('mousemove.'+this.widgetName, this._mouseMoveDelegate).unbind('mouseup.'+this.widgetName, this._mouseUpDelegate);if(this._mouseStarted){this._mouseStarted=false;if(event.target == this._mouseDownEvent.target){$.data(event.target, this.widgetName + '.preventClickEvent', true);}this._mouseStop(event);}return false;},_mouseDistanceMet:function(event){return (Math.max(Math.abs(this._mouseDownEvent.pageX - event.pageX),Math.abs(this._mouseDownEvent.pageY - event.pageY)) >= this.options.distance);},_mouseDelayMet: function(event){return this.mouseDelayMet;},_mouseStart: function(event){},_mouseDrag: function(event){},_mouseStop: function(event){},_mouseCapture:function(event){return true;}});})(jQuery);

//Draggable
(function($,undefined){$.widget("ui.draggable",$.ui.mouse,{widgetEventPrefix:"drag",options:{addClasses:true,appendTo:"parent",axis:false,connectToSortable:false,containment:false,cursor:"auto",cursorAt:false,grid:false,handle:false,helper:"original",iframeFix:false,opacity:false,refreshPositions:false,revert:false,revertDuration:500,scope:"default",scroll:true,scrollSensitivity:20,scrollSpeed:20,snap:false,snapMode:"both",snapTolerance:20,stack:false,zIndex:false},_create:function(){if (this.options.helper == 'original' && !(/^(?:r|a|f)/).test(this.element.css("position")))this.element[0].style.position='relative';(this.options.addClasses && this.element.addClass("ui-draggable"));(this.options.disabled && this.element.addClass("ui-draggable-disabled"));this._mouseInit();},destroy:function(){if(!this.element.data('draggable')) return;this.element.removeData("draggable").unbind(".draggable").removeClass("ui-draggable" + " ui-draggable-dragging" + " ui-draggable-disabled");this._mouseDestroy();return this;},_mouseCapture:function(event){var o=this.options;if (this.helper || o.disabled || $(event.target).is('.ui-resizable-handle'))return false;this.handle=this._getHandle(event);if (!this.handle)return false;if(o.iframeFix){$(o.iframeFix === true ? "iframe" : o.iframeFix).each(function(){$('<div class="ui-draggable-iframeFix" style="background: #fff;"></div>').css({width:this.offsetWidth+"px",height:this.offsetHeight+"px",position:"absolute",opacity:"0.001",zIndex:1000}).css($(this).offset()).appendTo("body");});}return true;},_mouseStart: function(event){var o=this.options;this.helper=this._createHelper(event);this._cacheHelperProportions();if($.ui.ddmanager)$.ui.ddmanager.current=this;this._cacheMargins();this.cssPosition=this.helper.css("position");this.scrollParent=this.helper.scrollParent();this.offset=this.positionAbs=this.element.offset();this.offset={top: this.offset.top - this.margins.top,left: this.offset.left - this.margins.left};$.extend(this.offset,{click:{left:event.pageX - this.offset.left,top:event.pageY - this.offset.top},parent: this._getParentOffset(),relative: this._getRelativeOffset()});this.originalPosition=this.position=this._generatePosition(event);this.originalPageX=event.pageX;this.originalPageY=event.pageY;(o.cursorAt && this._adjustOffsetFromHelper(o.cursorAt));if(o.containment)this._setContainment();if(this._trigger("start", event) === false){this._clear();return false;}this._cacheHelperProportions();if ($.ui.ddmanager && !o.dropBehaviour)$.ui.ddmanager.prepareOffsets(this, event);this.helper.addClass("ui-draggable-dragging");this._mouseDrag(event,true);if($.ui.ddmanager)$.ui.ddmanager.dragStart(this,event);return true;},_mouseDrag:function(event,noPropagation){this.position=this._generatePosition(event);this.positionAbs=this._convertPositionTo("absolute");if(!noPropagation){var ui=this._uiHash();if(this._trigger('drag', event, ui) === false){this._mouseUp({});return false;}this.position=ui.position;}if(!this.options.axis || this.options.axis != "y")this.helper[0].style.left=this.position.left+'px';if(!this.options.axis || this.options.axis != "x") this.helper[0].style.top=this.position.top+'px';if($.ui.ddmanager) $.ui.ddmanager.drag(this,event);return false;},_mouseStop:function(event){var dropped=false;if ($.ui.ddmanager && !this.options.dropBehaviour)dropped=$.ui.ddmanager.drop(this, event);if(this.dropped){dropped=this.dropped;this.dropped=false;}if((!this.element[0] || !this.element[0].parentNode) && this.options.helper == "original")return false;if((this.options.revert == "invalid" && !dropped) || (this.options.revert == "valid" && dropped) || this.options.revert === true || ($.isFunction(this.options.revert) && this.options.revert.call(this.element,dropped))){var self=this;$(this.helper).animate(this.originalPosition, parseInt(this.options.revertDuration, 10),function(){if(self._trigger("stop", event) !== false){self._clear();}});}else{if(this._trigger("stop", event) !== false){this._clear();}}return false;},_mouseUp: function(event){if (this.options.iframeFix === true){$("div.ui-draggable-iframeFix").each(function(){this.parentNode.removeChild(this);});}if( $.ui.ddmanager ) $.ui.ddmanager.dragStop(this, event);return $.ui.mouse.prototype._mouseUp.call(this, event);},cancel:function(){if(this.helper.is(".ui-draggable-dragging")){this._mouseUp({});}else{this._clear();}return this;},_getHandle: function(event){var handle=!this.options.handle || !$(this.options.handle, this.element).length ? true : false;$(this.options.handle, this.element).find("*").andSelf().each(function(){if(this == event.target)handle=true;});return handle;},_createHelper: function(event){var o=this.options;var helper=$.isFunction(o.helper) ? $(o.helper.apply(this.element[0], [event])) : (o.helper == 'clone' ? this.element.clone().removeAttr('id') : this.element);if(!helper.parents('body').length)helper.appendTo((o.appendTo == 'parent' ? this.element[0].parentNode : o.appendTo));if(helper[0] != this.element[0] && !(/(fixed|absolute)/).test(helper.css("position")))helper.css("position", "absolute");return helper;},_adjustOffsetFromHelper:function(obj){if(typeof obj == 'string'){obj=obj.split(' ');}if ($.isArray(obj)){obj={left: +obj[0], top: +obj[1] || 0};}if ('left' in obj){this.offset.click.left=obj.left + this.margins.left;}if('right' in obj){this.offset.click.left=this.helperProportions.width - obj.right + this.margins.left;}if ('top' in obj){this.offset.click.top=obj.top + this.margins.top;}if ('bottom' in obj){this.offset.click.top=this.helperProportions.height - obj.bottom + this.margins.top;}},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var po=this.offsetParent.offset();if(this.cssPosition == 'absolute' && this.scrollParent[0] != document && $.ui.contains(this.scrollParent[0], this.offsetParent[0])) {po.left += this.scrollParent.scrollLeft();po.top += this.scrollParent.scrollTop();}if((this.offsetParent[0] == document.body) || (this.offsetParent[0].tagName && this.offsetParent[0].tagName.toLowerCase() == 'html' && $.browser.msie))po={ top: 0, left: 0 };return{top: po.top + (parseInt(this.offsetParent.css("borderTopWidth"),10) || 0),left: po.left + (parseInt(this.offsetParent.css("borderLeftWidth"),10) || 0)};},_getRelativeOffset:function(){if(this.cssPosition == "relative"){var p=this.element.position();return{top: p.top - (parseInt(this.helper.css("top"),10) || 0) + this.scrollParent.scrollTop(),left: p.left - (parseInt(this.helper.css("left"),10) || 0) + this.scrollParent.scrollLeft()};}else{return { top: 0, left: 0 };}},_cacheMargins:function(){this.margins={left:(parseInt(this.element.css("marginLeft"),10) || 0),top: (parseInt(this.element.css("marginTop"),10) || 0),right: (parseInt(this.element.css("marginRight"),10) || 0),bottom: (parseInt(this.element.css("marginBottom"),10) || 0)};},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()};},_setContainment:function(){var o=this.options;if(o.containment == 'parent') o.containment=this.helper[0].parentNode;if(o.containment == 'document' || o.containment == 'window')this.containment=[o.containment == 'document' ? 0 : $(window).scrollLeft() - this.offset.relative.left - this.offset.parent.left,o.containment == 'document' ? 0 : $(window).scrollTop() - this.offset.relative.top - this.offset.parent.top,(o.containment == 'document' ? 0 : $(window).scrollLeft()) + $(o.containment == 'document' ? document : window).width() - this.helperProportions.width - this.margins.left,(o.containment == 'document' ? 0 : $(window).scrollTop()) + ($(o.containment == 'document' ? document : window).height() || document.body.parentNode.scrollHeight) - this.helperProportions.height - this.margins.top];if(!(/^(document|window|parent)$/).test(o.containment) && o.containment.constructor != Array){var c=$(o.containment);var ce=c[0];if(!ce)return;var co=c.offset();var over=($(ce).css("overflow") != 'hidden');this.containment=[(parseInt($(ce).css("borderLeftWidth"),10) || 0) + (parseInt($(ce).css("paddingLeft"),10) || 0),(parseInt($(ce).css("borderTopWidth"),10) || 0) + (parseInt($(ce).css("paddingTop"),10) || 0),(over ? Math.max(ce.scrollWidth,ce.offsetWidth) : ce.offsetWidth) - (parseInt($(ce).css("borderLeftWidth"),10) || 0) - (parseInt($(ce).css("paddingRight"),10) || 0) - this.helperProportions.width - this.margins.left - this.margins.right,(over ? Math.max(ce.scrollHeight,ce.offsetHeight) : ce.offsetHeight) - (parseInt($(ce).css("borderTopWidth"),10) || 0) - (parseInt($(ce).css("paddingBottom"),10) || 0) - this.helperProportions.height - this.margins.top  - this.margins.bottom];this.relative_container=c;}else if(o.containment.constructor == Array){this.containment=o.containment;}},_convertPositionTo:function(d,pos){if(!pos)pos=this.position;var mod = d == "absolute" ? 1 : -1;var o=this.options,scroll=this.cssPosition == 'absolute' && !(this.scrollParent[0] != document && $.ui.contains(this.scrollParent[0],this.offsetParent[0])) ? this.offsetParent : this.scrollParent, scrollIsRootNode=(/(html|body)/i).test(scroll[0].tagName);return{top:(pos.top + this.offset.relative.top * mod + this.offset.parent.top * mod - ($.browser.safari && $.browser.version < 526 && this.cssPosition == 'fixed' ? 0 : (this.cssPosition == 'fixed' ? -this.scrollParent.scrollTop() : (scrollIsRootNode ? 0 : scroll.scrollTop())) * mod)),left:(pos.left + this.offset.relative.left * mod + this.offset.parent.left * mod - ($.browser.safari && $.browser.version < 526 && this.cssPosition == 'fixed' ? 0 : (this.cssPosition == 'fixed' ? -this.scrollParent.scrollLeft() : scrollIsRootNode ? 0 : scroll.scrollLeft()) * mod))};},_generatePosition: function(event){var o=this.options, scroll=this.cssPosition == 'absolute' && !(this.scrollParent[0] != document && $.ui.contains(this.scrollParent[0],this.offsetParent[0])) ? this.offsetParent : this.scrollParent,scrollIsRootNode=(/(html|body)/i).test(scroll[0].tagName);var pageX=event.pageX;var pageY=event.pageY;if(this.originalPosition){var containment;if(this.containment){if(this.relative_container){var co=this.relative_container.offset();containment=[this.containment[0] + co.left,this.containment[1] + co.top,this.containment[2] + co.left,this.containment[3] + co.top];}else{containment=this.containment;}if(event.pageX - this.offset.click.left < containment[0]) pageX = containment[0] + this.offset.click.left;if(event.pageY - this.offset.click.top < containment[1]) pageY = containment[1] + this.offset.click.top;if(event.pageX - this.offset.click.left > containment[2]) pageX = containment[2] + this.offset.click.left;if(event.pageY - this.offset.click.top > containment[3]) pageY = containment[3] + this.offset.click.top;}if(o.grid){var top=o.grid[1] ? this.originalPageY + Math.round((pageY - this.originalPageY) / o.grid[1]) * o.grid[1] : this.originalPageY;pageY = containment ? (!(top - this.offset.click.top < containment[1] || top - this.offset.click.top > containment[3]) ? top : (!(top - this.offset.click.top < containment[1]) ? top - o.grid[1] : top + o.grid[1])) : top;var left=o.grid[0] ? this.originalPageX + Math.round((pageX - this.originalPageX) / o.grid[0]) * o.grid[0] : this.originalPageX;pageX = containment ? (!(left - this.offset.click.left < containment[0] || left - this.offset.click.left > containment[2]) ? left : (!(left - this.offset.click.left < containment[0]) ? left - o.grid[0] : left + o.grid[0])) : left;}}return{top:(pageY - this.offset.click.top - this.offset.relative.top - this.offset.parent.top + ($.browser.safari && $.browser.version < 526 && this.cssPosition == 'fixed' ? 0 : ( this.cssPosition == 'fixed' ? -this.scrollParent.scrollTop() : (scrollIsRootNode ? 0 : scroll.scrollTop())))),left:(pageX - this.offset.click.left - this.offset.relative.left - this.offset.parent.left + ($.browser.safari && $.browser.version < 526 && this.cssPosition == 'fixed' ? 0 : (this.cssPosition == 'fixed' ? -this.scrollParent.scrollLeft() : scrollIsRootNode ? 0 : scroll.scrollLeft())))};},_clear:function(){this.helper.removeClass("ui-draggable-dragging");if(this.helper[0] != this.element[0] && !this.cancelHelperRemoval)this.helper.remove();this.helper=null;this.cancelHelperRemoval=false;},_trigger:function(type,event,ui){ui=ui || this._uiHash();$.ui.plugin.call(this,type,[event,ui]);if(type == "drag")this.positionAbs=this._convertPositionTo("absolute");return $.Widget.prototype._trigger.call(this, type, event, ui);},plugins:{},_uiHash:function(event){return{helper:this.helper,position:this.position,originalPosition:this.originalPosition,offset:this.positionAbs};}});$.extend($.ui.draggable,{version: "1.8.16"});$.ui.plugin.add("draggable","connectToSortable",{start:function(event,ui){var inst=$(this).data("draggable"),o=inst.options,uiSortable=$.extend({},ui,{item:inst.element});inst.sortables=[];$(o.connectToSortable).each(function(){var sortable=$.data(this,'sortable');if(sortable && !sortable.options.disabled){inst.sortables.push({instance:sortable,shouldRevert: sortable.options.revert});sortable.refreshPositions();sortable._trigger("activate",event,uiSortable);}});},stop:function(event,ui){var inst=$(this).data("draggable"),uiSortable=$.extend({},ui,{item:inst.element});$.each(inst.sortables,function(){if(this.instance.isOver){this.instance.isOver=0;inst.cancelHelperRemoval=true;this.instance.cancelHelperRemoval=false;if(this.shouldRevert)this.instance.options.revert=true;this.instance._mouseStop(event);this.instance.options.helper=this.instance.options._helper;if(inst.options.helper == 'original')this.instance.currentItem.css({top:'auto',left:'auto'});}else{this.instance.cancelHelperRemoval=false;this.instance._trigger("deactivate",event,uiSortable);}});},drag:function(event,ui){var inst=$(this).data("draggable"),self=this;var checkPos=function(o){var dyClick=this.offset.click.top,dxClick=this.offset.click.left;var helperTop=this.positionAbs.top, helperLeft=this.positionAbs.left;var itemHeight=o.height,itemWidth=o.width;var itemTop=o.top,itemLeft=o.left;return $.ui.isOver(helperTop + dyClick,helperLeft + dxClick,itemTop,itemLeft,itemHeight,itemWidth);};$.each(inst.sortables,function(i){this.instance.positionAbs=inst.positionAbs;this.instance.helperProportions=inst.helperProportions;this.instance.offset.click=inst.offset.click;if(this.instance._intersectsWith(this.instance.containerCache)){if(!this.instance.isOver){this.instance.isOver=1;this.instance.currentItem=$(self).clone().removeAttr('id').appendTo(this.instance.element).data("sortable-item",true);this.instance.options._helper=this.instance.options.helper;this.instance.options.helper=function(){return ui.helper[0];};event.target=this.instance.currentItem[0];this.instance._mouseCapture(event, true);this.instance._mouseStart(event,true,true);this.instance.offset.click.top=inst.offset.click.top;this.instance.offset.click.left=inst.offset.click.left;this.instance.offset.parent.left -= inst.offset.parent.left - this.instance.offset.parent.left;this.instance.offset.parent.top -= inst.offset.parent.top - this.instance.offset.parent.top;inst._trigger("toSortable",event);inst.dropped=this.instance.element;inst.currentItem=inst.element;this.instance.fromOutside=inst;}if(this.instance.currentItem) this.instance._mouseDrag(event);}else{if(this.instance.isOver){this.instance.isOver=0;this.instance.cancelHelperRemoval=true;this.instance.options.revert=false;this.instance._trigger('out', event, this.instance._uiHash(this.instance));this.instance._mouseStop(event,true);this.instance.options.helper=this.instance.options._helper;this.instance.currentItem.remove();if(this.instance.placeholder) this.instance.placeholder.remove();inst._trigger("fromSortable",event);inst.dropped=false;}};});}});$.ui.plugin.add("draggable","cursor",{start:function(event,ui){var t=$('body'),o=$(this).data('draggable').options;if (t.css("cursor"))o._cursor=t.css("cursor");t.css("cursor", o.cursor);},stop:function(event,ui){var o=$(this).data('draggable').options;if (o._cursor) $('body').css("cursor", o._cursor);}});$.ui.plugin.add("draggable","opacity",{start:function(event,ui){var t=$(ui.helper),o=$(this).data('draggable').options;if(t.css("opacity"))o._opacity=t.css("opacity");t.css('opacity', o.opacity);},stop:function(event,ui){var o=$(this).data('draggable').options;if(o._opacity) $(ui.helper).css('opacity', o._opacity);}});$.ui.plugin.add("draggable","scroll",{start:function(event,ui){var i=$(this).data("draggable");if(i.scrollParent[0] != document && i.scrollParent[0].tagName != 'HTML') i.overflowOffset=i.scrollParent.offset();},drag:function(event,ui){var i=$(this).data("draggable"),o=i.options,scrolled=false;if(i.scrollParent[0] != document && i.scrollParent[0].tagName != 'HTML'){if(!o.axis || o.axis != 'x'){if((i.overflowOffset.top + i.scrollParent[0].offsetHeight) - event.pageY < o.scrollSensitivity)i.scrollParent[0].scrollTop=scrolled=i.scrollParent[0].scrollTop + o.scrollSpeed;else if(event.pageY - i.overflowOffset.top < o.scrollSensitivity)i.scrollParent[0].scrollTop=scrolled=i.scrollParent[0].scrollTop - o.scrollSpeed;}if(!o.axis || o.axis != 'y'){if((i.overflowOffset.left + i.scrollParent[0].offsetWidth) - event.pageX < o.scrollSensitivity)i.scrollParent[0].scrollLeft=scrolled=i.scrollParent[0].scrollLeft + o.scrollSpeed;else if(event.pageX - i.overflowOffset.left < o.scrollSensitivity)i.scrollParent[0].scrollLeft=scrolled=i.scrollParent[0].scrollLeft - o.scrollSpeed;}}else{if(!o.axis || o.axis != 'x'){if(event.pageY - $(document).scrollTop() < o.scrollSensitivity)scrolled=$(document).scrollTop($(document).scrollTop() - o.scrollSpeed);else if($(window).height() - (event.pageY - $(document).scrollTop()) < o.scrollSensitivity)scrolled=$(document).scrollTop($(document).scrollTop() + o.scrollSpeed);}if(!o.axis || o.axis != 'y'){if(event.pageX - $(document).scrollLeft() < o.scrollSensitivity)scrolled=$(document).scrollLeft($(document).scrollLeft() - o.scrollSpeed);else if($(window).width() - (event.pageX - $(document).scrollLeft()) < o.scrollSensitivity)scrolled=$(document).scrollLeft($(document).scrollLeft() + o.scrollSpeed);}}if(scrolled !== false && $.ui.ddmanager && !o.dropBehaviour)$.ui.ddmanager.prepareOffsets(i,event);}});$.ui.plugin.add("draggable","snap",{start:function(event,ui){var i=$(this).data("draggable"),o=i.options;i.snapElements=[];$(o.snap.constructor != String ? (o.snap.items || ':data(draggable)') : o.snap).each(function(){var $t=$(this);var $o=$t.offset();if(this != i.element[0]) i.snapElements.push({item:this,width: $t.outerWidth(), height: $t.outerHeight(),top: $o.top, left: $o.left});});},drag: function(event,ui){var inst=$(this).data("draggable"),o=inst.options;var d=o.snapTolerance;var x1=ui.offset.left, x2 = x1 + inst.helperProportions.width,y1=ui.offset.top, y2 = y1 + inst.helperProportions.height;for(var i=inst.snapElements.length - 1; i >= 0; i--){var l=inst.snapElements[i].left,r=l + inst.snapElements[i].width,t=inst.snapElements[i].top, b=t + inst.snapElements[i].height;if(!((l-d < x1 && x1 < r+d && t-d < y1 && y1 < b+d) || (l-d < x1 && x1 < r+d && t-d < y2 && y2 < b+d) || (l-d < x2 && x2 < r+d && t-d < y1 && y1 < b+d) || (l-d < x2 && x2 < r+d && t-d < y2 && y2 < b+d))){if(inst.snapElements[i].snapping)(inst.options.snap.release && inst.options.snap.release.call(inst.element,event,$.extend(inst._uiHash(),{snapItem:inst.snapElements[i].item})));inst.snapElements[i].snapping=false;continue;}if(o.snapMode != 'inner'){var ts=Math.abs(t - y2) <= d;var bs=Math.abs(b - y1) <= d;var ls=Math.abs(l - x2) <= d;var rs=Math.abs(r - x1) <= d;if(ts)ui.position.top=inst._convertPositionTo("relative",{top:t - inst.helperProportions.height,left:0}).top - inst.margins.top;if(bs)ui.position.top=inst._convertPositionTo("relative",{top:b,left:0}).top - inst.margins.top;if(ls)ui.position.left=inst._convertPositionTo("relative",{top: 0,left:l - inst.helperProportions.width}).left - inst.margins.left;if(rs)ui.position.left=inst._convertPositionTo("relative",{top:0,left:r}).left - inst.margins.left;}var first=(ts || bs || ls || rs);if(o.snapMode != 'outer'){var ts=Math.abs(t - y1) <= d;var bs=Math.abs(b - y2) <= d;var ls=Math.abs(l - x1) <= d;var rs=Math.abs(r - x2) <= d;if(ts)ui.position.top=inst._convertPositionTo("relative",{top:t,left:0}).top - inst.margins.top;if(bs)ui.position.top=inst._convertPositionTo("relative",{top:b - inst.helperProportions.height,left:0}).top - inst.margins.top;if(ls)ui.position.left = inst._convertPositionTo("relative",{top:0,left:l}).left - inst.margins.left;if(rs) ui.position.left = inst._convertPositionTo("relative",{top:0,left:r - inst.helperProportions.width }).left - inst.margins.left;}if(!inst.snapElements[i].snapping && (ts || bs || ls || rs || first))(inst.options.snap.snap && inst.options.snap.snap.call(inst.element,event,$.extend(inst._uiHash(),{snapItem:inst.snapElements[i].item})));inst.snapElements[i].snapping=(ts || bs || ls || rs || first);};}});$.ui.plugin.add("draggable","stack",{start:function(event,ui){var o=$(this).data("draggable").options;var group=$.makeArray($(o.stack)).sort(function(a,b){return (parseInt($(a).css("zIndex"),10) || 0) - (parseInt($(b).css("zIndex"),10) || 0);});if(!group.length){return;}var min=parseInt(group[0].style.zIndex) || 0;$(group).each(function(i){this.style.zIndex=min + i;});this[0].style.zIndex=min + group.length;}});$.ui.plugin.add("draggable","zIndex",{start:function(event,ui){var t=$(ui.helper),o=$(this).data("draggable").options;if(t.css("zIndex"))o._zIndex=t.css("zIndex");t.css('zIndex', o.zIndex);},stop: function(event,ui){var o=$(this).data("draggable").options;if(o._zIndex)$(ui.helper).css('zIndex',o._zIndex);}});})(jQuery);
