(function($){$.ui=$.ui||{};$.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,arguments){var set=instance.plugins[name];if(!set){return;}for(var i=0;i<set.length;i++){if(instance.options[set[i][0]]){set[i][1].apply(instance.element,arguments);}}}},cssCache:{},css:function(name){if($.ui.cssCache[name]){return $.ui.cssCache[name];}var tmp=$('<div class="ui-resizable-gen">').addClass(name).css({position:"absolute",top:"-5000px",left:"-5000px",display:"block"}).appendTo("body");$.ui.cssCache[name]=!!((!/auto|default/.test(tmp.css("cursor"))||(/^[1-9]/).test(tmp.css("height"))||(/^[1-9]/).test(tmp.css("width"))||!(/none/).test(tmp.css("backgroundImage"))||!(/transparent|rgba\(0, 0, 0, 0\)/).test(tmp.css("backgroundColor"))));try{$("body").get(0).removeChild(tmp.get(0));}catch(e){}return $.ui.cssCache[name];},disableSelection:function(e){e.unselectable="on";e.onselectstart=function(){return false;};if(e.style){e.style.MozUserSelect="none";}},enableSelection:function(e){e.unselectable="off";e.onselectstart=function(){return true;};if(e.style){e.style.MozUserSelect="";}},hasScroll:function(e,a){var scroll=/top/.test(a||"top")?"scrollTop":"scrollLeft",has=false;if(e[scroll]>0){return true;}e[scroll]=1;has=e[scroll]>0?true:false;e[scroll]=0;return has;}});$.each(["Left","Top"],function(i,name){if(!$.fn["scroll"+name]){$.fn["scroll"+name]=function(v){return v!=undefined?this.each(function(){this==window||this==document?window.scrollTo(name=="Left"?v:$(window)["scrollLeft"](),name=="Top"?v:$(window)["scrollTop"]()):this["scroll"+name]=v;}):this[0]==window||this[0]==document?self[(name=="Left"?"pageXOffset":"pageYOffset")]||$.boxModel&&document.documentElement["scroll"+name]||document.body["scroll"+name]:this[0]["scroll"+name];};}});var _remove=$.fn.remove;$.fn.extend({position:function(){var offset=this.offset();var offsetParent=this.offsetParent();var parentOffset=offsetParent.offset();return{top:offset.top-num(this[0],"marginTop")-parentOffset.top-num(offsetParent,"borderTopWidth"),left:offset.left-num(this[0],"marginLeft")-parentOffset.left-num(offsetParent,"borderLeftWidth")};},offsetParent:function(){var offsetParent=this[0].offsetParent;while(offsetParent&&(!/^body|html$/i.test(offsetParent.tagName)&&$.css(offsetParent,"position")=="static")){offsetParent=offsetParent.offsetParent;}return $(offsetParent);},mouseInteraction:function(o){return this.each(function(){new $.ui.mouseInteraction(this,o);});},removeMouseInteraction:function(o){return this.each(function(){if($.data(this,"ui-mouse")){$.data(this,"ui-mouse").destroy();}});},remove:function(){jQuery("*",this).add(this).trigger("remove");return _remove.apply(this,arguments);}});function num(el,prop){return parseInt($.curCSS(el.jquery?el[0]:el,prop,true))||0;}$.ui.mouseInteraction=function(element,options){var self=this;this.element=element;$.data(this.element,"ui-mouse",this);this.options=$.extend({},options);$(element).bind("mousedown.draggable",function(){return self.click.apply(self,arguments);});if($.browser.msie){$(element).attr("unselectable","on");}$(element).mouseup(function(){if(self.timer){clearInterval(self.timer);}});};$.extend($.ui.mouseInteraction.prototype,{destroy:function(){$(this.element).unbind("mousedown.draggable");},trigger:function(){return this.click.apply(this,arguments);},click:function(e){if(e.which!=1||$.inArray(e.target.nodeName.toLowerCase(),this.options.dragPrevention||[])!=-1||(this.options.condition&&!this.options.condition.apply(this.options.executor||this,[e,this.element]))){return true;}var self=this;var initialize=function(){self._MP={left:e.pageX,top:e.pageY};$(document).bind("mouseup.draggable",function(){return self.stop.apply(self,arguments);});$(document).bind("mousemove.draggable",function(){return self.drag.apply(self,arguments);});if(!self.initalized&&Math.abs(self._MP.left-e.pageX)>=self.options.distance||Math.abs(self._MP.top-e.pageY)>=self.options.distance){if(self.options.start){self.options.start.call(self.options.executor||self,e,self.element);}if(self.options.drag){self.options.drag.call(self.options.executor||self,e,this.element);}self.initialized=true;}};if(this.options.delay){if(this.timer){clearInterval(this.timer);}this.timer=setTimeout(initialize,this.options.delay);}else{initialize();}return false;},stop:function(e){var o=this.options;if(!this.initialized){return $(document).unbind("mouseup.draggable").unbind("mousemove.draggable");}if(this.options.stop){this.options.stop.call(this.options.executor||this,e,this.element);}$(document).unbind("mouseup.draggable").unbind("mousemove.draggable");this.initialized=false;return false;},drag:function(e){var o=this.options;if($.browser.msie&&!e.button){return this.stop.apply(this,[e]);}if(!this.initialized&&(Math.abs(this._MP.left-e.pageX)>=o.distance||Math.abs(this._MP.top-e.pageY)>=o.distance)){if(this.options.start){this.options.start.call(this.options.executor||this,e,this.element);}this.initialized=true;}else{if(!this.initialized){return false;}}if(o.drag){o.drag.call(this.options.executor||this,e,this.element);}return false;}});})(jQuery);
