;(function($){
    $.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){
                    return;
                }
                for(var i=0;i<set.length;i++){
                    if(instance.options[set[i][0]]){
                        set[i][1].apply(instance.element,args);
                    }
                    }
                }
            },
        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;
        }
        };var _remove=$.fn.remove;$.fn.remove=function(){
        $("*",this).add(this).trigger("remove");return _remove.apply(this,arguments);
    };function getter(namespace,plugin,method){
        var methods=$[namespace][plugin].getter||[];methods=(typeof methods=="string"?methods.split(/,?\s+/):methods);return($.inArray(method,methods)!=-1);
    }
    $.widget=function(name,prototype){
        var namespace=name.split(".")[0];name=name.split(".")[1];$.fn[name]=function(options){
            var isMethodCall=(typeof options=='string'),args=Array.prototype.slice.call(arguments,1);if(isMethodCall&&getter(namespace,name,options)){
                var instance=$.data(this[0],name);return(instance?instance[options].apply(instance,args):undefined);
            }
            return this.each(function(){
                var instance=$.data(this,name);if(isMethodCall&&instance&&$.isFunction(instance[options])){
                    instance[options].apply(instance,args);
                }else if(!isMethodCall){
                    $.data(this,name,new $[namespace][name](this,options));
                }
                });
        };$[namespace][name]=function(element,options){
            var self=this;this.widgetName=name;this.widgetBaseClass=namespace+'-'+name;this.options=$.extend({
                disabled:false
            },$[namespace][name].defaults,options);this.element=$(element).bind('setData.'+name,function(e,key,value){
                return self.setData(key,value);
            }).bind('getData.'+name,function(e,key){
                return self.getData(key);
            }).bind('remove',function(){
                return self.destroy();
            });this.init();
        };$[namespace][name].prototype=$.extend({},$.widget.prototype,prototype);
    };$.widget.prototype={
        init:function(){},
        destroy:function(){
            this.element.removeData(this.widgetName);
        },
        getData:function(key){
            return this.options[key];
        },
        setData:function(key,value){
            this.options[key]=value;if(key=='disabled'){
                this.element[value?'addClass':'removeClass'](this.widgetBaseClass+'-disabled');
            }
            },
        enable:function(){
            this.setData('disabled',false);
        },
        disable:function(){
            this.setData('disabled',true);
        }
        };$.ui.mouse={
        mouseInit:function(){
            var self=this;this.element.bind('mousedown.'+this.widgetName,function(e){
                return self.mouseDown(e);
            });if($.browser.msie){
                this._mouseUnselectable=this.element.attr('unselectable');this.element.attr('unselectable','on');
            }
            this.started=false;
        },
        mouseDestroy:function(){
            this.element.unbind('.'+this.widgetName);($.browser.msie&&this.element.attr('unselectable',this._mouseUnselectable));
        },
        mouseDown:function(e){
            (this._mouseStarted&&this.mouseUp(e));this._mouseDownEvent=e;var self=this,btnIsLeft=(e.which==1),elIsCancel=(typeof this.options.cancel=="string"?$(e.target).is(this.options.cancel):false);if(!btnIsLeft||elIsCancel||!this.mouseCapture(e)){
                return true;
            }
            this._mouseDelayMet=!this.options.delay;if(!this._mouseDelayMet){
                this._mouseDelayTimer=setTimeout(function(){
                    self._mouseDelayMet=true;
                },this.options.delay);
            }
            if(this.mouseDistanceMet(e)&&this.mouseDelayMet(e)){
                this._mouseStarted=(this.mouseStart(e)!==false);if(!this._mouseStarted){
                    e.preventDefault();return true;
                }
                }
            this._mouseMoveDelegate=function(e){
                return self.mouseMove(e);
            };this._mouseUpDelegate=function(e){
                return self.mouseUp(e);
            };$(document).bind('mousemove.'+this.widgetName,this._mouseMoveDelegate).bind('mouseup.'+this.widgetName,this._mouseUpDelegate);return false;
        },
        mouseMove:function(e){
            if($.browser.msie&&!e.button){
                return this.mouseUp(e);
            }
            if(this._mouseStarted){
                this.mouseDrag(e);return false;
            }
            if(this.mouseDistanceMet(e)&&this.mouseDelayMet(e)){
                this._mouseStarted=(this.mouseStart(this._mouseDownEvent,e)!==false);(this._mouseStarted?this.mouseDrag(e):this.mouseUp(e));
            }
            return!this._mouseStarted;
        },
        mouseUp:function(e){
            $(document).unbind('mousemove.'+this.widgetName,this._mouseMoveDelegate).unbind('mouseup.'+this.widgetName,this._mouseUpDelegate);if(this._mouseStarted){
                this._mouseStarted=false;this.mouseStop(e);
            }
            return false;
        },
        mouseDistanceMet:function(e){
            return(Math.max(Math.abs(this._mouseDownEvent.pageX-e.pageX),Math.abs(this._mouseDownEvent.pageY-e.pageY))>=this.options.distance);
        },
        mouseDelayMet:function(e){
            return this._mouseDelayMet;
        },
        mouseStart:function(e){},
        mouseDrag:function(e){},
        mouseStop:function(e){},
        mouseCapture:function(e){
            return true;
        }
        };$.ui.mouse.defaults={
        cancel:null,
        distance:1,
        delay:0
    };
})(jQuery);(function($){
    $.widget("ui.draggable",$.extend($.ui.mouse,{
        init:function(){
            var o=this.options;if(o.helper=='original'&&!(/(relative|absolute|fixed)/).test(this.element.css('position')))
                this.element.css('position','relative');this.element.addClass('ui-draggable');(o.disabled&&this.element.addClass('ui-draggable-disabled'));this.mouseInit();
        },
        mouseStart:function(e){
            var o=this.options;if(this.helper||o.disabled||$(e.target).is('.ui-resizable-handle'))return false;var handle=!this.options.handle||!$(this.options.handle,this.element).length?true:false;$(this.options.handle,this.element).find("*").andSelf().each(function(){
                if(this==e.target)handle=true;
            });if(!handle)return false;if($.ui.ddmanager)$.ui.ddmanager.current=this;this.helper=$.isFunction(o.helper)?$(o.helper.apply(this.element[0],[e])):(o.helper=='clone'?this.element.clone():this.element);if(!this.helper.parents('body').length)this.helper.appendTo((o.appendTo=='parent'?this.element[0].parentNode:o.appendTo));if(this.helper[0]!=this.element[0]&&!(/(fixed|absolute)/).test(this.helper.css("position")))this.helper.css("position","absolute");this.margins={
                left:(parseInt(this.element.css("marginLeft"),10)||0),
                top:(parseInt(this.element.css("marginTop"),10)||0)
                };this.cssPosition=this.helper.css("position");this.offset=this.element.offset();this.offset={
                top:this.offset.top-this.margins.top,
                left:this.offset.left-this.margins.left
                };this.offset.click={
                left:e.pageX-this.offset.left,
                top:e.pageY-this.offset.top
                };this.offsetParent=this.helper.offsetParent();var po=this.offsetParent.offset();if(this.offsetParent[0]==document.body&&$.browser.mozilla)po={
                top:0,
                left:0
            };this.offset.parent={
                top:po.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),
                left:po.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)
                };var p=this.element.position();this.offset.relative=this.cssPosition=="relative"?{
                top:p.top-(parseInt(this.helper.css("top"),10)||0)+this.offsetParent[0].scrollTop,
                left:p.left-(parseInt(this.helper.css("left"),10)||0)+this.offsetParent[0].scrollLeft
                }:{
                top:0,
                left:0
            };this.originalPosition=this.generatePosition(e);this.helperProportions={
                width:this.helper.outerWidth(),
                height:this.helper.outerHeight()
                };if(o.cursorAt){
                if(o.cursorAt.left!=undefined)this.offset.click.left=o.cursorAt.left+this.margins.left;if(o.cursorAt.right!=undefined)this.offset.click.left=this.helperProportions.width-o.cursorAt.right+this.margins.left;if(o.cursorAt.top!=undefined)this.offset.click.top=o.cursorAt.top+this.margins.top;if(o.cursorAt.bottom!=undefined)this.offset.click.top=this.helperProportions.height-o.cursorAt.bottom+this.margins.top;
            }
            if(o.containment){
                if(o.containment=='parent')o.containment=this.helper[0].parentNode;if(o.containment=='document'||o.containment=='window')this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,$(o.containment=='document'?document:window).width()-this.offset.relative.left-this.offset.parent.left-this.helperProportions.width-this.margins.left-(parseInt(this.element.css("marginRight"),10)||0),($(o.containment=='document'?document:window).height()||document.body.parentNode.scrollHeight)-this.offset.relative.top-this.offset.parent.top-this.helperProportions.height-this.margins.top-(parseInt(this.element.css("marginBottom"),10)||0)];if(!(/^(document|window|parent)$/).test(o.containment)){
                    var ce=$(o.containment)[0];var co=$(o.containment).offset();this.containment=[co.left+(parseInt($(ce).css("borderLeftWidth"),10)||0)-this.offset.relative.left-this.offset.parent.left,co.top+(parseInt($(ce).css("borderTopWidth"),10)||0)-this.offset.relative.top-this.offset.parent.top,co.left+Math.max(ce.scrollWidth,ce.offsetWidth)-(parseInt($(ce).css("borderLeftWidth"),10)||0)-this.offset.relative.left-this.offset.parent.left-this.helperProportions.width-this.margins.left-(parseInt(this.element.css("marginRight"),10)||0),co.top+Math.max(ce.scrollHeight,ce.offsetHeight)-(parseInt($(ce).css("borderTopWidth"),10)||0)-this.offset.relative.top-this.offset.parent.top-this.helperProportions.height-this.margins.top-(parseInt(this.element.css("marginBottom"),10)||0)];
                }
                }
            this.propagate("start",e);this.helperProportions={
                width:this.helper.outerWidth(),
                height:this.helper.outerHeight()
                };if($.ui.ddmanager&&!o.dropBehaviour)$.ui.ddmanager.prepareOffsets(this,e);this.helper.addClass("ui-draggable-dragging");this.mouseDrag(e);return true;
        },
        convertPositionTo:function(d,pos){
            if(!pos)pos=this.position;var mod=d=="absolute"?1:-1;return{
                top:(pos.top
                    +this.offset.relative.top*mod
                    +this.offset.parent.top*mod
                    -(this.cssPosition=="fixed"||(this.cssPosition=="absolute"&&this.offsetParent[0]==document.body)?0:this.offsetParent[0].scrollTop)*mod
                    +(this.cssPosition=="fixed"?this.offsetParent[0].scrollTop:0)*mod
                    +this.margins.top*mod),
                left:(pos.left
                    +this.offset.relative.left*mod
                    +this.offset.parent.left*mod
                    -(this.cssPosition=="fixed"||(this.cssPosition=="absolute"&&this.offsetParent[0]==document.body)?0:this.offsetParent[0].scrollLeft)*mod
                    +(this.cssPosition=="fixed"?this.offsetParent[0].scrollLeft:0)*mod
                    +this.margins.left*mod)
                };
        },
        generatePosition:function(e){
            var o=this.options;var position={
                top:(e.pageY
                    -this.offset.click.top
                    -this.offset.relative.top
                    -this.offset.parent.top
                    +(this.cssPosition=="fixed"||(this.cssPosition=="absolute"&&this.offsetParent[0]==document.body)?0:this.offsetParent[0].scrollTop)
                    -(this.cssPosition=="fixed"?this.offsetParent[0].scrollTop:0)),
                left:(e.pageX
                    -this.offset.click.left
                    -this.offset.relative.left
                    -this.offset.parent.left
                    +(this.cssPosition=="fixed"||(this.cssPosition=="absolute"&&this.offsetParent[0]==document.body)?0:this.offsetParent[0].scrollLeft)
                    -(this.cssPosition=="fixed"?this.offsetParent[0].scrollLeft:0))
                };if(!this.originalPosition)return position;if(this.containment){
                if(position.left<this.containment[0])position.left=this.containment[0];if(position.top<this.containment[1])position.top=this.containment[1];if(position.left>this.containment[2])position.left=this.containment[2];if(position.top>this.containment[3])position.top=this.containment[3];
            }
            if(o.grid){
                var top=this.originalPosition.top+Math.round((position.top-this.originalPosition.top)/o.grid[1])*o.grid[1];position.top=this.containment?(!(top<this.containment[1]||top>this.containment[3])?top:(!(top<this.containment[1])?top-o.grid[1]:top+o.grid[1])):top;var left=this.originalPosition.left+Math.round((position.left-this.originalPosition.left)/o.grid[0])*o.grid[0];position.left=this.containment?(!(left<this.containment[0]||left>this.containment[2])?left:(!(left<this.containment[0])?left-o.grid[0]:left+o.grid[0])):left;
            }
            return position;
        },
        mouseDrag:function(e){
            this.position=this.generatePosition(e);this.positionAbs=this.convertPositionTo("absolute");this.position=this.propagate("drag",e)||this.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,e);return false;
        },
        mouseStop:function(e){
            if($.ui.ddmanager&&!this.options.dropBehaviour)
                $.ui.ddmanager.drop(this,e);if(this.options.revert){
                var self=this;$(this.helper).animate(this.originalPosition,parseInt(this.options.revert,10)||500,function(){
                    self.propagate("stop",e);self.clear();
                });
            }else{
                this.propagate("stop",e);this.clear();
            }
            return false;
        },
        clear:function(){
            this.helper.removeClass("ui-draggable-dragging");if(this.options.helper!='original'&&!this.cancelHelperRemoval)this.helper.remove();this.helper=null;this.cancelHelperRemoval=false;
        },
        plugins:{},
        uiHash:function(e){
            return{
                helper:this.helper,
                position:this.position,
                absolutePosition:this.positionAbs,
                options:this.options
                };
        },
        propagate:function(n,e){
            $.ui.plugin.call(this,n,[e,this.uiHash()]);return this.element.triggerHandler(n=="drag"?n:"drag"+n,[e,this.uiHash()],this.options[n]);
        },
        destroy:function(){
            if(!this.element.data('draggable'))return;this.element.removeData("draggable").unbind(".draggable").removeClass('ui-draggable');this.mouseDestroy();
        }
        }));$.extend($.ui.draggable,{
        defaults:{
            appendTo:"parent",
            axis:false,
            cancel:":input,button",
            delay:0,
            distance:0,
            helper:"original"
        }
        });$.ui.plugin.add("draggable","cursor",{
        start:function(e,ui){
            var t=$('body');if(t.css("cursor"))ui.options._cursor=t.css("cursor");t.css("cursor",ui.options.cursor);
        },
        stop:function(e,ui){
            if(ui.options._cursor)$('body').css("cursor",ui.options._cursor);
        }
        });$.ui.plugin.add("draggable","zIndex",{
        start:function(e,ui){
            var t=$(ui.helper);if(t.css("zIndex"))ui.options._zIndex=t.css("zIndex");t.css('zIndex',ui.options.zIndex);
        },
        stop:function(e,ui){
            if(ui.options._zIndex)$(ui.helper).css('zIndex',ui.options._zIndex);
        }
        });$.ui.plugin.add("draggable","opacity",{
        start:function(e,ui){
            var t=$(ui.helper);if(t.css("opacity"))ui.options._opacity=t.css("opacity");t.css('opacity',ui.options.opacity);
        },
        stop:function(e,ui){
            if(ui.options._opacity)$(ui.helper).css('opacity',ui.options._opacity);
        }
        });$.ui.plugin.add("draggable","iframeFix",{
        start:function(e,ui){
            $(ui.options.iframeFix===true?"iframe":ui.options.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");
            });
        },
        stop:function(e,ui){
            $("div.DragDropIframeFix").each(function(){
                this.parentNode.removeChild(this);
            });
        }
        });$.ui.plugin.add("draggable","scroll",{
        start:function(e,ui){
            var o=ui.options;var i=$(this).data("draggable");o.scrollSensitivity=o.scrollSensitivity||20;o.scrollSpeed=o.scrollSpeed||20;i.overflowY=function(el){
                do{
                    if(/auto|scroll/.test(el.css('overflow'))||(/auto|scroll/).test(el.css('overflow-y')))return el;el=el.parent();
                }while(el[0].parentNode);return $(document);
            }(this);i.overflowX=function(el){
                do{
                    if(/auto|scroll/.test(el.css('overflow'))||(/auto|scroll/).test(el.css('overflow-x')))return el;el=el.parent();
                }while(el[0].parentNode);return $(document);
            }(this);if(i.overflowY[0]!=document&&i.overflowY[0].tagName!='HTML')i.overflowYOffset=i.overflowY.offset();if(i.overflowX[0]!=document&&i.overflowX[0].tagName!='HTML')i.overflowXOffset=i.overflowX.offset();
        },
        drag:function(e,ui){
            var o=ui.options;var i=$(this).data("draggable");if(i.overflowY[0]!=document&&i.overflowY[0].tagName!='HTML'){
                if((i.overflowYOffset.top+i.overflowY[0].offsetHeight)-e.pageY<o.scrollSensitivity)
                    i.overflowY[0].scrollTop=i.overflowY[0].scrollTop+o.scrollSpeed;if(e.pageY-i.overflowYOffset.top<o.scrollSensitivity)
                    i.overflowY[0].scrollTop=i.overflowY[0].scrollTop-o.scrollSpeed;
            }else{
                if(e.pageY-$(document).scrollTop()<o.scrollSensitivity)
                    $(document).scrollTop($(document).scrollTop()-o.scrollSpeed);if($(window).height()-(e.pageY-$(document).scrollTop())<o.scrollSensitivity)
                    $(document).scrollTop($(document).scrollTop()+o.scrollSpeed);
            }
            if(i.overflowX[0]!=document&&i.overflowX[0].tagName!='HTML'){
                if((i.overflowXOffset.left+i.overflowX[0].offsetWidth)-e.pageX<o.scrollSensitivity)
                    i.overflowX[0].scrollLeft=i.overflowX[0].scrollLeft+o.scrollSpeed;if(e.pageX-i.overflowXOffset.left<o.scrollSensitivity)
                    i.overflowX[0].scrollLeft=i.overflowX[0].scrollLeft-o.scrollSpeed;
            }else{
                if(e.pageX-$(document).scrollLeft()<o.scrollSensitivity)
                    $(document).scrollLeft($(document).scrollLeft()-o.scrollSpeed);if($(window).width()-(e.pageX-$(document).scrollLeft())<o.scrollSensitivity)
                    $(document).scrollLeft($(document).scrollLeft()+o.scrollSpeed);
            }
            }
        });$.ui.plugin.add("draggable","snap",{
        start:function(e,ui){
            var inst=$(this).data("draggable");inst.snapElements=[];$(ui.options.snap===true?'.ui-draggable':ui.options.snap).each(function(){
                var $t=$(this);var $o=$t.offset();if(this!=inst.element[0])inst.snapElements.push({
                    item:this,
                    width:$t.outerWidth(),
                    height:$t.outerHeight(),
                    top:$o.top,
                    left:$o.left
                    });
            });
        },
        drag:function(e,ui){
            var inst=$(this).data("draggable");var d=ui.options.snapTolerance||20;var x1=ui.absolutePosition.left,x2=x1+inst.helperProportions.width,y1=ui.absolutePosition.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)))continue;if(ui.options.snapMode!='inner'){
                    var ts=Math.abs(t-y2)<=20;var bs=Math.abs(b-y1)<=20;var ls=Math.abs(l-x2)<=20;var rs=Math.abs(r-x1)<=20;if(ts)ui.position.top=inst.convertPositionTo("relative",{
                        top:t-inst.helperProportions.height,
                        left:0
                    }).top;if(bs)ui.position.top=inst.convertPositionTo("relative",{
                        top:b,
                        left:0
                    }).top;if(ls)ui.position.left=inst.convertPositionTo("relative",{
                        top:0,
                        left:l-inst.helperProportions.width
                        }).left;if(rs)ui.position.left=inst.convertPositionTo("relative",{
                        top:0,
                        left:r
                    }).left;
                }
                if(ui.options.snapMode!='outer'){
                    var ts=Math.abs(t-y1)<=20;var bs=Math.abs(b-y2)<=20;var ls=Math.abs(l-x1)<=20;var rs=Math.abs(r-x2)<=20;if(ts)ui.position.top=inst.convertPositionTo("relative",{
                        top:t,
                        left:0
                    }).top;if(bs)ui.position.top=inst.convertPositionTo("relative",{
                        top:b-inst.helperProportions.height,
                        left:0
                    }).top;if(ls)ui.position.left=inst.convertPositionTo("relative",{
                        top:0,
                        left:l
                    }).left;if(rs)ui.position.left=inst.convertPositionTo("relative",{
                        top:0,
                        left:r-inst.helperProportions.width
                        }).left;
                }
                };
        }
        });$.ui.plugin.add("draggable","connectToSortable",{
        start:function(e,ui){
            var inst=$(this).data("draggable");inst.sortables=[];$(ui.options.connectToSortable).each(function(){
                if($.data(this,'sortable')){
                    var sortable=$.data(this,'sortable');inst.sortables.push({
                        instance:sortable,
                        shouldRevert:sortable.options.revert
                        });sortable.refresh();sortable.propagate("activate",e,inst);
                }
                });
        },
        stop:function(e,ui){
            var inst=$(this).data("draggable");$.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(e);this.instance.element.triggerHandler("sortreceive",[e,$.extend(this.instance.ui(),{
                        sender:inst.element
                        })],this.instance.options["receive"]);this.instance.options.helper=this.instance.options._helper;
                }else{
                    this.instance.propagate("deactivate",e,inst);
                }
                });
        },
        drag:function(e,ui){
            var inst=$(this).data("draggable"),self=this;var checkPos=function(o){
                var l=o.left,r=l+o.width,t=o.top,b=t+o.height;return(l<(this.positionAbs.left+this.offset.click.left)&&(this.positionAbs.left+this.offset.click.left)<r&&t<(this.positionAbs.top+this.offset.click.top)&&(this.positionAbs.top+this.offset.click.top)<b);
            };$.each(inst.sortables,function(i){
                if(checkPos.call(inst,this.instance.containerCache)){
                    if(!this.instance.isOver){
                        this.instance.isOver=1;this.instance.currentItem=$(self).clone().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];
                        };e.target=this.instance.currentItem[0];this.instance.mouseCapture(e,true,true);this.instance.mouseStart(e,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.propagate("toSortable",e);
                    }
                    if(this.instance.currentItem)this.instance.mouseDrag(e);
                }else{
                    if(this.instance.isOver){
                        this.instance.isOver=0;this.instance.cancelHelperRemoval=true;this.instance.options.revert=false;this.instance.mouseStop(e,true);this.instance.options.helper=this.instance.options._helper;this.instance.currentItem.remove();this.instance.placeholder.remove();inst.propagate("fromSortable",e);
                    }
                    };
            });
        }
        });$.ui.plugin.add("draggable","stack",{
        start:function(e,ui){
            var group=$.makeArray($(ui.options.stack.group)).sort(function(a,b){
                return(parseInt($(a).css("zIndex"),10)||ui.options.stack.min)-(parseInt($(b).css("zIndex"),10)||ui.options.stack.min);
            });$(group).each(function(i){
                this.style.zIndex=ui.options.stack.min+i;
            });this[0].style.zIndex=ui.options.stack.min+group.length;
        }
        });
})(jQuery);(function($){
    $.widget("ui.droppable",{
        init:function(){
            this.element.addClass("ui-droppable");this.isover=0;this.isout=1;var o=this.options,accept=o.accept;o=$.extend(o,{
                accept:o.accept&&o.accept.constructor==Function?o.accept:function(d){
                    return $(d).is(accept);
                }
                });this.proportions={
                width:this.element.outerWidth(),
                height:this.element.outerHeight()
                };$.ui.ddmanager.droppables.push(this);
        },
        plugins:{},
        ui:function(c){
            return{
                draggable:(c.currentItem||c.element),
                helper:c.helper,
                position:c.position,
                absolutePosition:c.positionAbs,
                options:this.options,
                element:this.element
                };
        },
        destroy:function(){
            var drop=$.ui.ddmanager.droppables;for(var i=0;i<drop.length;i++)
                if(drop[i]==this)
                    drop.splice(i,1);this.element.removeClass("ui-droppable ui-droppable-disabled").removeData("droppable").unbind(".droppable");
        },
        over:function(e){
            var draggable=$.ui.ddmanager.current;if(!draggable||(draggable.currentItem||draggable.element)[0]==this.element[0])return;if(this.options.accept.call(this.element,(draggable.currentItem||draggable.element))){
                $.ui.plugin.call(this,'over',[e,this.ui(draggable)]);this.element.triggerHandler("dropover",[e,this.ui(draggable)],this.options.over);
            }
            },
        out:function(e){
            var draggable=$.ui.ddmanager.current;if(!draggable||(draggable.currentItem||draggable.element)[0]==this.element[0])return;if(this.options.accept.call(this.element,(draggable.currentItem||draggable.element))){
                $.ui.plugin.call(this,'out',[e,this.ui(draggable)]);this.element.triggerHandler("dropout",[e,this.ui(draggable)],this.options.out);
            }
            },
        drop:function(e,custom){
            var draggable=custom||$.ui.ddmanager.current;if(!draggable||(draggable.currentItem||draggable.element)[0]==this.element[0])return false;var childrenIntersection=false;this.element.find(".ui-droppable").not(".ui-draggable-dragging").each(function(){
                var inst=$.data(this,'droppable');if(inst.options.greedy&&$.ui.intersect(draggable,$.extend(inst,{
                    offset:inst.element.offset()
                    }),inst.options.tolerance)){
                    childrenIntersection=true;return false;
                }
                });if(childrenIntersection)return false;if(this.options.accept.call(this.element,(draggable.currentItem||draggable.element))){
                $.ui.plugin.call(this,'drop',[e,this.ui(draggable)]);this.element.triggerHandler("drop",[e,this.ui(draggable)],this.options.drop);return true;
            }
            return false;
        },
        activate:function(e){
            var draggable=$.ui.ddmanager.current;$.ui.plugin.call(this,'activate',[e,this.ui(draggable)]);if(draggable)this.element.triggerHandler("dropactivate",[e,this.ui(draggable)],this.options.activate);
        },
        deactivate:function(e){
            var draggable=$.ui.ddmanager.current;$.ui.plugin.call(this,'deactivate',[e,this.ui(draggable)]);if(draggable)this.element.triggerHandler("dropdeactivate",[e,this.ui(draggable)],this.options.deactivate);
        }
        });$.extend($.ui.droppable,{
        defaults:{
            disabled:false,
            tolerance:'intersect'
        }
        });$.ui.intersect=function(draggable,droppable,toleranceMode){
        if(!droppable.offset)return false;var x1=(draggable.positionAbs||draggable.position.absolute).left,x2=x1+draggable.helperProportions.width,y1=(draggable.positionAbs||draggable.position.absolute).top,y2=y1+draggable.helperProportions.height;var l=droppable.offset.left,r=l+droppable.proportions.width,t=droppable.offset.top,b=t+droppable.proportions.height;switch(toleranceMode){
            case'fit':return(l<x1&&x2<r&&t<y1&&y2<b);break;case'intersect':return(l<x1+(draggable.helperProportions.width/2)&&x2-(draggable.helperProportions.width/2)<r&&t<y1+(draggable.helperProportions.height/2)&&y2-(draggable.helperProportions.height/2)<b);break;case'pointer':return(l<((draggable.positionAbs||draggable.position.absolute).left+(draggable.clickOffset||draggable.offset.click).left)&&((draggable.positionAbs||draggable.position.absolute).left+(draggable.clickOffset||draggable.offset.click).left)<r&&t<((draggable.positionAbs||draggable.position.absolute).top+(draggable.clickOffset||draggable.offset.click).top)&&((draggable.positionAbs||draggable.position.absolute).top+(draggable.clickOffset||draggable.offset.click).top)<b);break;case'touch':return((y1>=t&&y1<=b)||(y2>=t&&y2<=b)||(y1<t&&y2>b))&&((x1>=l&&x1<=r)||(x2>=l&&x2<=r)||(x1<l&&x2>r));break;default:return false;break;
        }
        };$.ui.ddmanager={
        current:null,
        droppables:[],
        prepareOffsets:function(t,e){
            var m=$.ui.ddmanager.droppables;var type=e?e.type:null;for(var i=0;i<m.length;i++){
                if(m[i].options.disabled||(t&&!m[i].options.accept.call(m[i].element,(t.currentItem||t.element))))continue;m[i].visible=m[i].element.is(":visible");if(!m[i].visible)continue;m[i].offset=m[i].element.offset();m[i].proportions={
                    width:m[i].element.outerWidth(),
                    height:m[i].element.outerHeight()
                    };if(type=="dragstart"||type=="sortactivate")m[i].activate.call(m[i],e);
            }
            },
        drop:function(draggable,e){
            var dropped=false;$.each($.ui.ddmanager.droppables,function(){
                if(!this.options)return;if(!this.options.disabled&&this.visible&&$.ui.intersect(draggable,this,this.options.tolerance))
                    dropped=this.drop.call(this,e);if(!this.options.disabled&&this.visible&&this.options.accept.call(this.element,(draggable.currentItem||draggable.element))){
                    this.isout=1;this.isover=0;this.deactivate.call(this,e);
                }
                });return dropped;
        },
        drag:function(draggable,e){
            if(draggable.options.refreshPositions)$.ui.ddmanager.prepareOffsets(draggable,e);$.each($.ui.ddmanager.droppables,function(){
                if(this.disabled||this.greedyChild||!this.visible)return;var intersects=$.ui.intersect(draggable,this,this.options.tolerance);var c=!intersects&&this.isover==1?'isout':(intersects&&this.isover==0?'isover':null);if(!c)return;var parentInstance;if(this.options.greedy){
                    var parent=this.element.parents('.ui-droppable:eq(0)');if(parent.length){
                        parentInstance=$.data(parent[0],'droppable');parentInstance.greedyChild=(c=='isover'?1:0);
                    }
                    }
                if(parentInstance&&c=='isover'){
                    parentInstance['isover']=0;parentInstance['isout']=1;parentInstance.out.call(parentInstance,e);
                }
                this[c]=1;this[c=='isout'?'isover':'isout']=0;this[c=="isover"?"over":"out"].call(this,e);if(parentInstance&&c=='isout'){
                    parentInstance['isout']=0;parentInstance['isover']=1;parentInstance.over.call(parentInstance,e);
                }
                });
        }
        };$.ui.plugin.add("droppable","activeClass",{
        activate:function(e,ui){
            $(this).addClass(ui.options.activeClass);
        },
        deactivate:function(e,ui){
            $(this).removeClass(ui.options.activeClass);
        },
        drop:function(e,ui){
            $(this).removeClass(ui.options.activeClass);
        }
        });$.ui.plugin.add("droppable","hoverClass",{
        over:function(e,ui){
            $(this).addClass(ui.options.hoverClass);
        },
        out:function(e,ui){
            $(this).removeClass(ui.options.hoverClass);
        },
        drop:function(e,ui){
            $(this).removeClass(ui.options.hoverClass);
        }
        });
})(jQuery);(function($){
    $.widget("ui.resizable",$.extend($.ui.mouse,{
        init:function(){
            var self=this,o=this.options;var elpos=this.element.css('position');this.element.addClass("ui-resizable").css({
                position:/static/.test(elpos)?'relative':elpos
                });$.extend(o,{
                _aspectRatio:!!(o.aspectRatio),
                proxy:o.proxy||o.ghost||o.animate?o.proxy||'proxy':null,
                knobHandles:o.knobHandles===true?'ui-resizable-knob-handle':o.knobHandles
                });var aBorder='1px solid #DEDEDE';o.defaultTheme={
                'ui-resizable':{
                    display:'block'
                },
                'ui-resizable-handle':{
                    position:'absolute',
                    background:'#F2F2F2',
                    fontSize:'0.1px'
                },
                'ui-resizable-n':{
                    cursor:'n-resize',
                    height:'4px',
                    left:'0px',
                    right:'0px',
                    borderTop:aBorder
                },
                'ui-resizable-s':{
                    cursor:'s-resize',
                    height:'4px',
                    left:'0px',
                    right:'0px',
                    borderBottom:aBorder
                },
                'ui-resizable-e':{
                    cursor:'e-resize',
                    width:'4px',
                    top:'0px',
                    bottom:'0px',
                    borderRight:aBorder
                },
                'ui-resizable-w':{
                    cursor:'w-resize',
                    width:'4px',
                    top:'0px',
                    bottom:'0px',
                    borderLeft:aBorder
                },
                'ui-resizable-se':{
                    cursor:'se-resize',
                    width:'4px',
                    height:'4px',
                    borderRight:aBorder,
                    borderBottom:aBorder
                },
                'ui-resizable-sw':{
                    cursor:'sw-resize',
                    width:'4px',
                    height:'4px',
                    borderBottom:aBorder,
                    borderLeft:aBorder
                },
                'ui-resizable-ne':{
                    cursor:'ne-resize',
                    width:'4px',
                    height:'4px',
                    borderRight:aBorder,
                    borderTop:aBorder
                },
                'ui-resizable-nw':{
                    cursor:'nw-resize',
                    width:'4px',
                    height:'4px',
                    borderLeft:aBorder,
                    borderTop:aBorder
                }
                };o.knobTheme={
                'ui-resizable-handle':{
                    background:'#F2F2F2',
                    border:'1px solid #808080',
                    height:'8px',
                    width:'8px'
                },
                'ui-resizable-n':{
                    cursor:'n-resize',
                    top:'0px',
                    left:'45%'
                },
                'ui-resizable-s':{
                    cursor:'s-resize',
                    bottom:'0px',
                    left:'45%'
                },
                'ui-resizable-e':{
                    cursor:'e-resize',
                    right:'0px',
                    top:'45%'
                },
                'ui-resizable-w':{
                    cursor:'w-resize',
                    left:'0px',
                    top:'45%'
                },
                'ui-resizable-se':{
                    cursor:'se-resize',
                    right:'0px',
                    bottom:'0px'
                },
                'ui-resizable-sw':{
                    cursor:'sw-resize',
                    left:'0px',
                    bottom:'0px'
                },
                'ui-resizable-nw':{
                    cursor:'nw-resize',
                    left:'0px',
                    top:'0px'
                },
                'ui-resizable-ne':{
                    cursor:'ne-resize',
                    right:'0px',
                    top:'0px'
                }
                };o._nodeName=this.element[0].nodeName;if(o._nodeName.match(/canvas|textarea|input|select|button|img/i)){
                var el=this.element;if(/relative/.test(el.css('position'))&&$.browser.opera)
                    el.css({
                        position:'relative',
                        top:'auto',
                        left:'auto'
                    });el.wrap($('<div class="ui-wrapper" style="overflow: hidden;"></div>').css({
                    position:el.css('position'),
                    width:el.outerWidth(),
                    height:el.outerHeight(),
                    top:el.css('top'),
                    left:el.css('left')
                    }));var oel=this.element;this.element=this.element.parent();this.element.data('resizable',this);this.element.css({
                    marginLeft:oel.css("marginLeft"),
                    marginTop:oel.css("marginTop"),
                    marginRight:oel.css("marginRight"),
                    marginBottom:oel.css("marginBottom")
                    });oel.css({
                    marginLeft:0,
                    marginTop:0,
                    marginRight:0,
                    marginBottom:0
                });if($.browser.safari&&o.preventDefault)oel.css('resize','none');o.proportionallyResize=oel.css({
                    position:'static',
                    zoom:1,
                    display:'block'
                });this.element.css({
                    margin:oel.css('margin')
                    });this._proportionallyResize();
            }
            if(!o.handles)o.handles=!$('.ui-resizable-handle',this.element).length?"e,s,se":{
                n:'.ui-resizable-n',
                e:'.ui-resizable-e',
                s:'.ui-resizable-s',
                w:'.ui-resizable-w',
                se:'.ui-resizable-se',
                sw:'.ui-resizable-sw',
                ne:'.ui-resizable-ne',
                nw:'.ui-resizable-nw'
            };if(o.handles.constructor==String){
                o.zIndex=o.zIndex||1000;if(o.handles=='all')o.handles='n,e,s,w,se,sw,ne,nw';var n=o.handles.split(",");o.handles={};var insertionsDefault={
                    handle:'position: absolute; display: none; overflow:hidden;',
                    n:'top: 0pt; width:100%;',
                    e:'right: 0pt; height:100%;',
                    s:'bottom: 0pt; width:100%;',
                    w:'left: 0pt; height:100%;',
                    se:'bottom: 0pt; right: 0px;',
                    sw:'bottom: 0pt; left: 0px;',
                    ne:'top: 0pt; right: 0px;',
                    nw:'top: 0pt; left: 0px;'
                };for(var i=0;i<n.length;i++){
                    var handle=$.trim(n[i]),dt=o.defaultTheme,hname='ui-resizable-'+handle,loadDefault=!$.ui.css(hname)&&!o.knobHandles,userKnobClass=$.ui.css('ui-resizable-knob-handle'),allDefTheme=$.extend(dt[hname],dt['ui-resizable-handle']),allKnobTheme=$.extend(o.knobTheme[hname],!userKnobClass?o.knobTheme['ui-resizable-handle']:{});var applyZIndex=/sw|se|ne|nw/.test(handle)?{
                        zIndex:++o.zIndex
                        }:{};var defCss=(loadDefault?insertionsDefault[handle]:''),axis=$(['<div class="ui-resizable-handle ',hname,'" style="',defCss,insertionsDefault.handle,'"></div>'].join('')).css(applyZIndex);o.handles[handle]='.ui-resizable-'+handle;this.element.append(axis.css(loadDefault?allDefTheme:{}).css(o.knobHandles?allKnobTheme:{}).addClass(o.knobHandles?'ui-resizable-knob-handle':'').addClass(o.knobHandles));
                }
                if(o.knobHandles)this.element.addClass('ui-resizable-knob').css(!$.ui.css('ui-resizable-knob')?{}:{});
            }
            this._renderAxis=function(target){
                target=target||this.element;for(var i in o.handles){
                    if(o.handles[i].constructor==String)
                        o.handles[i]=$(o.handles[i],this.element).show();if(o.transparent)
                        o.handles[i].css({
                            opacity:0
                        });if(this.element.is('.ui-wrapper')&&o._nodeName.match(/textarea|input|select|button/i)){
                        var axis=$(o.handles[i],this.element),padWrapper=0;padWrapper=/sw|ne|nw|se|n|s/.test(i)?axis.outerHeight():axis.outerWidth();var padPos=['padding',/ne|nw|n/.test(i)?'Top':/se|sw|s/.test(i)?'Bottom':/^e$/.test(i)?'Right':'Left'].join("");if(!o.transparent)
                            target.css(padPos,padWrapper);this._proportionallyResize();
                    }
                    if(!$(o.handles[i]).length)continue;
                }
                };this._renderAxis(this.element);o._handles=$('.ui-resizable-handle',self.element);if(o.disableSelection)
                o._handles.each(function(i,e){
                    $.ui.disableSelection(e);
                });o._handles.mouseover(function(){
                if(!o.resizing){
                    if(this.className)
                        var axis=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i);self.axis=o.axis=axis&&axis[1]?axis[1]:'se';
                }
                });if(o.autohide){
                o._handles.hide();$(self.element).addClass("ui-resizable-autohide").hover(function(){
                    $(this).removeClass("ui-resizable-autohide");o._handles.show();
                },function(){
                    if(!o.resizing){
                        $(this).addClass("ui-resizable-autohide");o._handles.hide();
                    }
                    });
            }
            this.mouseInit();
        },
        plugins:{},
        ui:function(){
            return{
                axis:this.options.axis,
                options:this.options
                };
        },
        propagate:function(n,e){
            $.ui.plugin.call(this,n,[e,this.ui()]);this.element.triggerHandler(n=="resize"?n:["resize",n].join(""),[e,this.ui()],this.options[n]);
        },
        destroy:function(){
            var el=this.element,wrapped=el.children(".ui-resizable").get(0);this.mouseDestroy();var _destroy=function(exp){
                $(exp).removeClass("ui-resizable ui-resizable-disabled").removeData("resizable").unbind(".resizable").find('.ui-resizable-handle').remove();
            };_destroy(el);if(el.is('.ui-wrapper')&&wrapped){
                el.parent().append($(wrapped).css({
                    position:el.css('position'),
                    width:el.outerWidth(),
                    height:el.outerHeight(),
                    top:el.css('top'),
                    left:el.css('left')
                    })).end().remove();_destroy(wrapped);
            }
            },
        mouseStart:function(e){
            if(this.options.disabled)return false;var handle=false;for(var i in this.options.handles){
                if($(this.options.handles[i])[0]==e.target)handle=true;
            }
            if(!handle)return false;var o=this.options,iniPos=this.element.position(),el=this.element,num=function(v){
                return parseInt(v,10)||0;
            },ie6=$.browser.msie&&$.browser.version<7;o.resizing=true;o.documentScroll={
                top:$(document).scrollTop(),
                left:$(document).scrollLeft()
                };if(el.is('.ui-draggable')||(/absolute/).test(el.css('position'))){
                var sOffset=$.browser.msie&&!o.containment&&(/absolute/).test(el.css('position'))&&!(/relative/).test(el.parent().css('position'));var dscrollt=sOffset?o.documentScroll.top:0,dscrolll=sOffset?o.documentScroll.left:0;el.css({
                    position:'absolute',
                    top:(iniPos.top+dscrollt),
                    left:(iniPos.left+dscrolll)
                    });
            }
            if($.browser.opera&&/relative/.test(el.css('position')))
                el.css({
                    position:'relative',
                    top:'auto',
                    left:'auto'
                });this._renderProxy();var curleft=num(this.helper.css('left')),curtop=num(this.helper.css('top'));this.offset=this.helper.offset();this.position={
                left:curleft,
                top:curtop
            };this.size=o.proxy||ie6?{
                width:el.outerWidth(),
                height:el.outerHeight()
                }:{
                width:el.width(),
                height:el.height()
                };this.originalSize=o.proxy||ie6?{
                width:el.outerWidth(),
                height:el.outerHeight()
                }:{
                width:el.width(),
                height:el.height()
                };this.originalPosition={
                left:curleft,
                top:curtop
            };this.sizeDiff={
                width:el.outerWidth()-el.width(),
                height:el.outerHeight()-el.height()
                };this.originalMousePosition={
                left:e.pageX,
                top:e.pageY
                };o.aspectRatio=(typeof o.aspectRatio=='number')?o.aspectRatio:((this.originalSize.height/this.originalSize.width)||1);if(o.preserveCursor)
                $('body').css('cursor',this.axis+'-resize');this.propagate("start",e);return true;
        },
        mouseDrag:function(e){
            var el=this.helper,o=this.options,props={},self=this,smp=this.originalMousePosition,a=this.axis;var dx=(e.pageX-smp.left)||0,dy=(e.pageY-smp.top)||0;var trigger=this._change[a];if(!trigger)return false;var data=trigger.apply(this,[e,dx,dy]),ie6=$.browser.msie&&$.browser.version<7,csdif=this.sizeDiff;if(o._aspectRatio||e.shiftKey)
                data=this._updateRatio(data,e);data=this._respectSize(data,e);this.propagate("resize",e);el.css({
                top:this.position.top+"px",
                left:this.position.left+"px",
                width:this.size.width+"px",
                height:this.size.height+"px"
                });if(!o.proxy&&o.proportionallyResize)
                this._proportionallyResize();this._updateCache(data);return false;
        },
        mouseStop:function(e){
            this.options.resizing=false;var o=this.options,num=function(v){
                return parseInt(v,10)||0;
            },self=this;if(o.proxy){
                var pr=o.proportionallyResize,ista=pr&&(/textarea/i).test(pr.get(0).nodeName),soffseth=ista&&$.ui.hasScroll(pr.get(0),'left')?0:self.sizeDiff.height,soffsetw=ista?0:self.sizeDiff.width;var s={
                    width:(self.size.width-soffsetw),
                    height:(self.size.height-soffseth)
                    },left=(parseInt(self.element.css('left'),10)+(self.position.left-self.originalPosition.left))||null,top=(parseInt(self.element.css('top'),10)+(self.position.top-self.originalPosition.top))||null;if(!o.animate)
                    this.element.css($.extend(s,{
                        top:top,
                        left:left
                    }));if(o.proxy&&!o.animate)this._proportionallyResize();
            }
            if(o.preserveCursor)
                $('body').css('cursor','auto');this.propagate("stop",e);if(o.proxy)this.helper.remove();return false;
        },
        _updateCache:function(data){
            var o=this.options;this.offset=this.helper.offset();if(data.left)this.position.left=data.left;if(data.top)this.position.top=data.top;if(data.height)this.size.height=data.height;if(data.width)this.size.width=data.width;
        },
        _updateRatio:function(data,e){
            var o=this.options,cpos=this.position,csize=this.size,a=this.axis;if(data.height)data.width=(csize.height/o.aspectRatio);else if(data.width)data.height=(csize.width*o.aspectRatio);if(a=='sw'){
                data.left=cpos.left+(csize.width-data.width);data.top=null;
            }
            if(a=='nw'){
                data.top=cpos.top+(csize.height-data.height);data.left=cpos.left+(csize.width-data.width);
            }
            return data;
        },
        _respectSize:function(data,e){
            var el=this.helper,o=this.options,pRatio=o._aspectRatio||e.shiftKey,a=this.axis,ismaxw=data.width&&o.maxWidth&&o.maxWidth<data.width,ismaxh=data.height&&o.maxHeight&&o.maxHeight<data.height,isminw=data.width&&o.minWidth&&o.minWidth>data.width,isminh=data.height&&o.minHeight&&o.minHeight>data.height;if(isminw)data.width=o.minWidth;if(isminh)data.height=o.minHeight;if(ismaxw)data.width=o.maxWidth;if(ismaxh)data.height=o.maxHeight;var dw=this.originalPosition.left+this.originalSize.width,dh=this.position.top+this.size.height;var cw=/sw|nw|w/.test(a),ch=/nw|ne|n/.test(a);if(isminw&&cw)data.left=dw-o.minWidth;if(ismaxw&&cw)data.left=dw-o.maxWidth;if(isminh&&ch)data.top=dh-o.minHeight;if(ismaxh&&ch)data.top=dh-o.maxHeight;var isNotwh=!data.width&&!data.height;if(isNotwh&&!data.left&&data.top)data.top=null;else if(isNotwh&&!data.top&&data.left)data.left=null;return data;
        },
        _proportionallyResize:function(){
            var o=this.options;if(!o.proportionallyResize)return;var prel=o.proportionallyResize,el=this.helper||this.element;if(!o.borderDif){
                var b=[prel.css('borderTopWidth'),prel.css('borderRightWidth'),prel.css('borderBottomWidth'),prel.css('borderLeftWidth')],p=[prel.css('paddingTop'),prel.css('paddingRight'),prel.css('paddingBottom'),prel.css('paddingLeft')];o.borderDif=$.map(b,function(v,i){
                    var border=parseInt(v,10)||0,padding=parseInt(p[i],10)||0;return border+padding;
                });
            }
            prel.css({
                height:(el.height()-o.borderDif[0]-o.borderDif[2])+"px",
                width:(el.width()-o.borderDif[1]-o.borderDif[3])+"px"
                });
        },
        _renderProxy:function(){
            var el=this.element,o=this.options;this.elementOffset=el.offset();if(o.proxy){
                this.helper=this.helper||$('<div style="overflow:hidden;"></div>');var ie6=$.browser.msie&&$.browser.version<7,ie6offset=(ie6?1:0),pxyoffset=(ie6?2:-1);this.helper.addClass(o.proxy).css({
                    width:el.outerWidth()+pxyoffset,
                    height:el.outerHeight()+pxyoffset,
                    position:'absolute',
                    left:this.elementOffset.left-ie6offset+'px',
                    top:this.elementOffset.top-ie6offset+'px',
                    zIndex:++o.zIndex
                    });this.helper.appendTo("body");if(o.disableSelection)
                    $.ui.disableSelection(this.helper.get(0));
            }else{
                this.helper=el;
            }
            },
        _change:{
            e:function(e,dx,dy){
                return{
                    width:this.originalSize.width+dx
                    };
            },
            w:function(e,dx,dy){
                var o=this.options,cs=this.originalSize,sp=this.originalPosition;return{
                    left:sp.left+dx,
                    width:cs.width-dx
                    };
            },
            n:function(e,dx,dy){
                var o=this.options,cs=this.originalSize,sp=this.originalPosition;return{
                    top:sp.top+dy,
                    height:cs.height-dy
                    };
            },
            s:function(e,dx,dy){
                return{
                    height:this.originalSize.height+dy
                    };
            },
            se:function(e,dx,dy){
                return $.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[e,dx,dy]));
            },
            sw:function(e,dx,dy){
                return $.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[e,dx,dy]));
            },
            ne:function(e,dx,dy){
                return $.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[e,dx,dy]));
            },
            nw:function(e,dx,dy){
                return $.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[e,dx,dy]));
            }
            }
        }));$.extend($.ui.resizable,{
        defaults:{
            cancel:":input,button",
            distance:0,
            delay:0,
            preventDefault:true,
            transparent:false,
            minWidth:10,
            minHeight:10,
            aspectRatio:false,
            disableSelection:true,
            preserveCursor:true,
            autohide:false,
            knobHandles:false
        }
        });$.ui.plugin.add("resizable","containment",{
        start:function(e,ui){
            var o=ui.options,self=$(this).data("resizable"),el=self.element;var oc=o.containment,ce=(oc instanceof $)?oc.get(0):(/parent/.test(oc))?el.parent().get(0):oc;if(!ce)return;self.containerElement=$(ce);if(/document/.test(oc)||oc==document){
                self.containerOffset={
                    left:0,
                    top:0
                };self.containerPosition={
                    left:0,
                    top:0
                };self.parentData={
                    element:$(document),
                    left:0,
                    top:0,
                    width:$(document).width(),
                    height:$(document).height()||document.body.parentNode.scrollHeight
                    };
            }
            else{
                self.containerOffset=$(ce).offset();self.containerPosition=$(ce).position();self.containerSize={
                    height:$(ce).innerHeight(),
                    width:$(ce).innerWidth()
                    };var co=self.containerOffset,ch=self.containerSize.height,cw=self.containerSize.width,width=($.ui.hasScroll(ce,"left")?ce.scrollWidth:cw),height=($.ui.hasScroll(ce)?ce.scrollHeight:ch);self.parentData={
                    element:ce,
                    left:co.left,
                    top:co.top,
                    width:width,
                    height:height
                };
            }
            },
        resize:function(e,ui){
            var o=ui.options,self=$(this).data("resizable"),ps=self.containerSize,co=self.containerOffset,cs=self.size,cp=self.position,pRatio=o._aspectRatio||e.shiftKey,cop={
                top:0,
                left:0
            },ce=self.containerElement;if(/static/.test(ce.css('position')))
                cop=self.containerPosition;if(cp.left<(o.proxy?co.left:cop.left)){
                self.size.width=self.size.width+(o.proxy?(self.position.left-co.left):(self.position.left-cop.left));if(pRatio)self.size.height=self.size.width*o.aspectRatio;self.position.left=o.proxy?co.left:cop.left;
            }
            if(cp.top<(o.proxy?co.top:0)){
                self.size.height=self.size.height+(o.proxy?(self.position.top-co.top):self.position.top);if(pRatio)self.size.width=self.size.height/o.aspectRatio;self.position.top=o.proxy?co.top:0;
            }
            var woset=(o.proxy?self.offset.left-co.left:(self.position.left-cop.left))+self.sizeDiff.width,hoset=(o.proxy?self.offset.top-co.top:self.position.top)+self.sizeDiff.height;if(woset+self.size.width>=self.parentData.width){
                self.size.width=self.parentData.width-woset;if(pRatio)self.size.height=self.size.width*o.aspectRatio;
            }
            if(hoset+self.size.height>=self.parentData.height){
                self.size.height=self.parentData.height-hoset;if(pRatio)self.size.width=self.size.height/o.aspectRatio;
            }
            },
        stop:function(e,ui){
            var o=ui.options,self=$(this).data("resizable"),cp=self.position,co=self.containerOffset,cop=self.containerPosition,ce=self.containerElement;var helper=$(self.helper),ho=helper.offset(),w=helper.innerWidth(),h=helper.innerHeight();if(o.proxy&&!o.animate&&/relative/.test(ce.css('position')))
                $(this).css({
                    left:(ho.left-co.left),
                    top:(ho.top-co.top),
                    width:w,
                    height:h
                });if(o.proxy&&!o.animate&&/static/.test(ce.css('position')))
                $(this).css({
                    left:cop.left+(ho.left-co.left),
                    top:cop.top+(ho.top-co.top),
                    width:w,
                    height:h
                });
        }
        });$.ui.plugin.add("resizable","grid",{
        resize:function(e,ui){
            var o=ui.options,self=$(this).data("resizable"),cs=self.size,os=self.originalSize,op=self.originalPosition,a=self.axis,ratio=o._aspectRatio||e.shiftKey;o.grid=typeof o.grid=="number"?[o.grid,o.grid]:o.grid;var ox=Math.round((cs.width-os.width)/(o.grid[0]||1))*(o.grid[0]||1),oy=Math.round((cs.height-os.height)/(o.grid[1]||1))*(o.grid[1]||1);if(/^(se|s|e)$/.test(a)){
                self.size.width=os.width+ox;self.size.height=os.height+oy;
            }
            else if(/^(ne)$/.test(a)){
                self.size.width=os.width+ox;self.size.height=os.height+oy;self.position.top=op.top-oy;
            }
            else if(/^(sw)$/.test(a)){
                self.size.width=os.width+ox;self.size.height=os.height+oy;self.position.left=op.left-ox;
            }
            else{
                self.size.width=os.width+ox;self.size.height=os.height+oy;self.position.top=op.top-oy;self.position.left=op.left-ox;
            }
            }
        });$.ui.plugin.add("resizable","animate",{
        stop:function(e,ui){
            var o=ui.options,self=$(this).data("resizable");var pr=o.proportionallyResize,ista=pr&&(/textarea/i).test(pr.get(0).nodeName),soffseth=ista&&$.ui.hasScroll(pr.get(0),'left')?0:self.sizeDiff.height,soffsetw=ista?0:self.sizeDiff.width;var style={
                width:(self.size.width-soffsetw),
                height:(self.size.height-soffseth)
                },left=(parseInt(self.element.css('left'),10)+(self.position.left-self.originalPosition.left))||null,top=(parseInt(self.element.css('top'),10)+(self.position.top-self.originalPosition.top))||null;self.element.animate($.extend(style,top&&left?{
                top:top,
                left:left
            }:{}),{
                duration:o.animateDuration||"slow",
                easing:o.animateEasing||"swing",
                step:function(){
                    var data={
                        width:parseInt(self.element.css('width'),10),
                        height:parseInt(self.element.css('height'),10),
                        top:parseInt(self.element.css('top'),10),
                        left:parseInt(self.element.css('left'),10)
                        };if(pr)pr.css({
                        width:data.width,
                        height:data.height
                        });self._updateCache(data);self.propagate("animate",e);
                }
                });
        }
        });$.ui.plugin.add("resizable","ghost",{
        start:function(e,ui){
            var o=ui.options,self=$(this).data("resizable"),pr=o.proportionallyResize,cs=self.size;if(!pr)self.ghost=self.element.clone();else self.ghost=pr.clone();self.ghost.css({
                opacity:.25,
                display:'block',
                position:'relative',
                height:cs.height,
                width:cs.width,
                margin:0,
                left:0,
                top:0
            }).addClass('ui-resizable-ghost').addClass(typeof o.ghost=='string'?o.ghost:'');self.ghost.appendTo(self.helper);
        },
        resize:function(e,ui){
            var o=ui.options,self=$(this).data("resizable"),pr=o.proportionallyResize;if(self.ghost)self.ghost.css({
                position:'relative',
                height:self.size.height,
                width:self.size.width
                });
        },
        stop:function(e,ui){
            var o=ui.options,self=$(this).data("resizable"),pr=o.proportionallyResize;if(self.ghost&&self.helper)self.helper.get(0).removeChild(self.ghost.get(0));
        }
        });$.ui.plugin.add("resizable","alsoResize",{
        start:function(e,ui){
            var o=ui.options,self=$(this).data("resizable"),_store=function(exp){
                $(exp).each(function(){
                    $(this).data("resizable-alsoresize",{
                        width:parseInt($(this).width(),10),
                        height:parseInt($(this).height(),10),
                        left:parseInt($(this).css('left'),10),
                        top:parseInt($(this).css('top'),10)
                        });
                });
            };if(typeof(o.alsoResize)=='object'){
                $.each(o.alsoResize,function(exp,c){
                    _store(exp);
                });
            }else{
                _store(o.alsoResize);
            }
            },
        resize:function(e,ui){
            var o=ui.options,self=$(this).data("resizable"),os=self.originalSize,op=self.originalPosition;var delta={
                height:(self.size.height-os.height)||0,
                width:(self.size.width-os.width)||0,
                top:(self.position.top-op.top)||0,
                left:(self.position.left-op.left)||0
                },_alsoResize=function(exp,c){
                $(exp).each(function(){
                    var start=$(this).data("resizable-alsoresize"),style={},css=c&&c.length?c:['width','height','top','left'];$.each(css||['width','height','top','left'],function(i,prop){
                        var sum=(start[prop]||0)+(delta[prop]||0);if(sum&&sum>=0)
                            style[prop]=sum||null;
                    });$(this).css(style);
                });
            };if(typeof(o.alsoResize)=='object'){
                $.each(o.alsoResize,function(exp,c){
                    _alsoResize(exp,c);
                });
            }else{
                _alsoResize(o.alsoResize);
            }
            },
        stop:function(e,ui){
            $(this).removeData("resizable-alsoresize-start");
        }
        });
})(jQuery);(function($){
    $.widget("ui.selectable",$.extend($.ui.mouse,{
        init:function(){
            var self=this;this.element.addClass("ui-selectable");this.dragged=false;var selectees;this.refresh=function(){
                selectees=$(self.options.filter,self.element[0]);selectees.each(function(){
                    var $this=$(this);var pos=$this.offset();$.data(this,"selectable-item",{
                        element:this,
                        $element:$this,
                        left:pos.left,
                        top:pos.top,
                        right:pos.left+$this.width(),
                        bottom:pos.top+$this.height(),
                        startselected:false,
                        selected:$this.hasClass('ui-selected'),
                        selecting:$this.hasClass('ui-selecting'),
                        unselecting:$this.hasClass('ui-unselecting')
                        });
                });
            };this.refresh();this.selectees=selectees.addClass("ui-selectee");this.mouseInit();this.helper=$(document.createElement('div')).css({
                border:'1px dotted black'
            });
        },
        toggle:function(){
            if(this.options.disabled){
                this.enable();
            }else{
                this.disable();
            }
            },
        destroy:function(){
            this.element.removeClass("ui-selectable ui-selectable-disabled").removeData("selectable").unbind(".selectable");this.mouseDestroy();
        },
        mouseStart:function(e){
            var self=this;this.opos=[e.pageX,e.pageY];if(this.options.disabled)
                return;var options=this.options;this.selectees=$(options.filter,this.element[0]);this.element.triggerHandler("selectablestart",[e,{
                "selectable":this.element[0],
                "options":options
            }],options.start);$('body').append(this.helper);this.helper.css({
                "z-index":100,
                "position":"absolute",
                "left":e.clientX,
                "top":e.clientY,
                "width":0,
                "height":0
            });if(options.autoRefresh){
                this.refresh();
            }
            this.selectees.filter('.ui-selected').each(function(){
                var selectee=$.data(this,"selectable-item");selectee.startselected=true;if(!e.ctrlKey){
                    selectee.$element.removeClass('ui-selected');selectee.selected=false;selectee.$element.addClass('ui-unselecting');selectee.unselecting=true;self.element.triggerHandler("selectableunselecting",[e,{
                        selectable:self.element[0],
                        unselecting:selectee.element,
                        options:options
                    }],options.unselecting);
                }
                });var isSelectee=false;$(e.target).parents().andSelf().each(function(){
                if($.data(this,"selectable-item"))isSelectee=true;
            });return this.options.keyboard?!isSelectee:true;
        },
        mouseDrag:function(e){
            var self=this;this.dragged=true;if(this.options.disabled)
                return;var options=this.options;var x1=this.opos[0],y1=this.opos[1],x2=e.pageX,y2=e.pageY;if(x1>x2){
                var tmp=x2;x2=x1;x1=tmp;
            }
            if(y1>y2){
                var tmp=y2;y2=y1;y1=tmp;
            }
            this.helper.css({
                left:x1,
                top:y1,
                width:x2-x1,
                height:y2-y1
                });this.selectees.each(function(){
                var selectee=$.data(this,"selectable-item");if(!selectee||selectee.element==self.element[0])
                    return;var hit=false;if(options.tolerance=='touch'){
                    hit=(!(selectee.left>x2||selectee.right<x1||selectee.top>y2||selectee.bottom<y1));
                }else if(options.tolerance=='fit'){
                    hit=(selectee.left>x1&&selectee.right<x2&&selectee.top>y1&&selectee.bottom<y2);
                }
                if(hit){
                    if(selectee.selected){
                        selectee.$element.removeClass('ui-selected');selectee.selected=false;
                    }
                    if(selectee.unselecting){
                        selectee.$element.removeClass('ui-unselecting');selectee.unselecting=false;
                    }
                    if(!selectee.selecting){
                        selectee.$element.addClass('ui-selecting');selectee.selecting=true;self.element.triggerHandler("selectableselecting",[e,{
                            selectable:self.element[0],
                            selecting:selectee.element,
                            options:options
                        }],options.selecting);
                    }
                    }else{
                    if(selectee.selecting){
                        if(e.ctrlKey&&selectee.startselected){
                            selectee.$element.removeClass('ui-selecting');selectee.selecting=false;selectee.$element.addClass('ui-selected');selectee.selected=true;
                        }else{
                            selectee.$element.removeClass('ui-selecting');selectee.selecting=false;if(selectee.startselected){
                                selectee.$element.addClass('ui-unselecting');selectee.unselecting=true;
                            }
                            self.element.triggerHandler("selectableunselecting",[e,{
                                selectable:self.element[0],
                                unselecting:selectee.element,
                                options:options
                            }],options.unselecting);
                        }
                        }
                    if(selectee.selected){
                        if(!e.ctrlKey&&!selectee.startselected){
                            selectee.$element.removeClass('ui-selected');selectee.selected=false;selectee.$element.addClass('ui-unselecting');selectee.unselecting=true;self.element.triggerHandler("selectableunselecting",[e,{
                                selectable:self.element[0],
                                unselecting:selectee.element,
                                options:options
                            }],options.unselecting);
                        }
                        }
                    }
                });return false;
        },
        mouseStop:function(e){
            var self=this;this.dragged=false;var options=this.options;$('.ui-unselecting',this.element[0]).each(function(){
                var selectee=$.data(this,"selectable-item");selectee.$element.removeClass('ui-unselecting');selectee.unselecting=false;selectee.startselected=false;self.element.triggerHandler("selectableunselected",[e,{
                    selectable:self.element[0],
                    unselected:selectee.element,
                    options:options
                }],options.unselected);
            });$('.ui-selecting',this.element[0]).each(function(){
                var selectee=$.data(this,"selectable-item");selectee.$element.removeClass('ui-selecting').addClass('ui-selected');selectee.selecting=false;selectee.selected=true;selectee.startselected=true;self.element.triggerHandler("selectableselected",[e,{
                    selectable:self.element[0],
                    selected:selectee.element,
                    options:options
                }],options.selected);
            });this.element.triggerHandler("selectablestop",[e,{
                selectable:self.element[0],
                options:this.options
                }],this.options.stop);this.helper.remove();return false;
        }
        }));$.extend($.ui.selectable,{
        defaults:{
            distance:0,
            delay:0,
            cancel:":input,button",
            appendTo:'body',
            autoRefresh:true,
            filter:'*',
            tolerance:'touch'
        }
        });
})(jQuery);(function($){
    function contains(a,b){
        var safari2=$.browser.safari&&$.browser.version<522;if(a.contains&&!safari2){
            return a.contains(b);
        }
        if(a.compareDocumentPosition)
            return!!(a.compareDocumentPosition(b)&16);while(b=b.parentNode)
            if(b==a)return true;return false;
    };$.widget("ui.sortable",$.extend($.ui.mouse,{
        init:function(){
            var o=this.options;this.containerCache={};this.element.addClass("ui-sortable");this.refresh();this.floating=this.items.length?(/left|right/).test(this.items[0].item.css('float')):false;if(!(/(relative|absolute|fixed)/).test(this.element.css('position')))this.element.css('position','relative');this.offset=this.element.offset();this.mouseInit();
        },
        plugins:{},
        ui:function(inst){
            return{
                helper:(inst||this)["helper"],
                placeholder:(inst||this)["placeholder"]||$([]),
                position:(inst||this)["position"],
                absolutePosition:(inst||this)["positionAbs"],
                options:this.options,
                element:this.element,
                item:(inst||this)["currentItem"],
                sender:inst?inst.element:null
                };
        },
        propagate:function(n,e,inst,noPropagation){
            $.ui.plugin.call(this,n,[e,this.ui(inst)]);if(!noPropagation)this.element.triggerHandler(n=="sort"?n:"sort"+n,[e,this.ui(inst)],this.options[n]);
        },
        serialize:function(o){
            var items=($.isFunction(this.options.items)?this.options.items.call(this.element):$(this.options.items,this.element)).not('.ui-sortable-helper');var str=[];o=o||{};items.each(function(){
                var res=($(this).attr(o.attribute||'id')||'').match(o.expression||(/(.+)[-=_](.+)/));if(res)str.push((o.key||res[1])+'[]='+(o.key?res[1]:res[2]));
                });return str.join('&');
            },
            toArray:function(attr){
                var items=($.isFunction(this.options.items)?this.options.items.call(this.element):$(this.options.items,this.element)).not('.ui-sortable-helper');var ret=[];items.each(function(){
                    ret.push($(this).attr(attr||'id'));
                });return ret;
            },
            intersectsWith:function(item){
                var x1=this.positionAbs.left,x2=x1+this.helperProportions.width,y1=this.positionAbs.top,y2=y1+this.helperProportions.height;var l=item.left,r=l+item.width,t=item.top,b=t+item.height;if(this.options.tolerance=="pointer"||(this.options.tolerance=="guess"&&this.helperProportions[this.floating?'width':'height']>item[this.floating?'width':'height'])){
                    return(y1+this.offset.click.top>t&&y1+this.offset.click.top<b&&x1+this.offset.click.left>l&&x1+this.offset.click.left<r);
                }else{
                    return(l<x1+(this.helperProportions.width/2)&&x2-(this.helperProportions.width/2)<r&&t<y1+(this.helperProportions.height/2)&&y2-(this.helperProportions.height/2)<b);
                }
                },
            intersectsWithEdge:function(item){
                var x1=this.positionAbs.left,x2=x1+this.helperProportions.width,y1=this.positionAbs.top,y2=y1+this.helperProportions.height;var l=item.left,r=l+item.width,t=item.top,b=t+item.height;if(this.options.tolerance=="pointer"||(this.options.tolerance=="guess"&&this.helperProportions[this.floating?'width':'height']>item[this.floating?'width':'height'])){
                    if(!(y1+this.offset.click.top>t&&y1+this.offset.click.top<b&&x1+this.offset.click.left>l&&x1+this.offset.click.left<r))return false;if(this.floating){
                        if(x1+this.offset.click.left>l&&x1+this.offset.click.left<l+item.width/2)return 2;if(x1+this.offset.click.left>l+item.width/2&&x1+this.offset.click.left<r)return 1;
                    }else{
                        if(y1+this.offset.click.top>t&&y1+this.offset.click.top<t+item.height/2)return 2;if(y1+this.offset.click.top>t+item.height/2&&y1+this.offset.click.top<b)return 1;
                    }
                    }else{
                    if(!(l<x1+(this.helperProportions.width/2)&&x2-(this.helperProportions.width/2)<r&&t<y1+(this.helperProportions.height/2)&&y2-(this.helperProportions.height/2)<b))return false;if(this.floating){
                        if(x2>l&&x1<l)return 2;if(x1<r&&x2>r)return 1;
                    }else{
                        if(y2>t&&y1<t)return 1;if(y1<b&&y2>b)return 2;
                    }
                    }
                return false;
            },
            refresh:function(){
                this.refreshItems();this.refreshPositions();
            },
            refreshItems:function(){
                this.items=[];this.containers=[this];var items=this.items;var queries=[$.isFunction(this.options.items)?this.options.items.call(this.element):$(this.options.items,this.element)];if(this.options.connectWith){
                    for(var i=this.options.connectWith.length-1;i>=0;i--){
                        var cur=$(this.options.connectWith[i]);for(var j=cur.length-1;j>=0;j--){
                            var inst=$.data(cur[j],'sortable');if(inst&&!inst.options.disabled){
                                queries.push($.isFunction(inst.options.items)?inst.options.items.call(inst.element):$(inst.options.items,inst.element));this.containers.push(inst);
                            }
                            };
                    };
                }
                for(var i=queries.length-1;i>=0;i--){
                    queries[i].each(function(){
                        $.data(this,'sortable-item',true);items.push({
                            item:$(this),
                            width:0,
                            height:0,
                            left:0,
                            top:0
                        });
                    });
                };
            },
            refreshPositions:function(fast){
                for(var i=this.items.length-1;i>=0;i--){
                    var t=this.items[i].item;if(!fast)this.items[i].width=(this.options.toleranceElement?$(this.options.toleranceElement,t):t).outerWidth();if(!fast)this.items[i].height=(this.options.toleranceElement?$(this.options.toleranceElement,t):t).outerHeight();var p=(this.options.toleranceElement?$(this.options.toleranceElement,t):t).offset();this.items[i].left=p.left;this.items[i].top=p.top;
                };for(var i=this.containers.length-1;i>=0;i--){
                    var p=this.containers[i].element.offset();this.containers[i].containerCache.left=p.left;this.containers[i].containerCache.top=p.top;this.containers[i].containerCache.width=this.containers[i].element.outerWidth();this.containers[i].containerCache.height=this.containers[i].element.outerHeight();
                };
            },
            destroy:function(){
                this.element.removeClass("ui-sortable ui-sortable-disabled").removeData("sortable").unbind(".sortable");this.mouseDestroy();for(var i=this.items.length-1;i>=0;i--)
                    this.items[i].item.removeData("sortable-item");
            },
            createPlaceholder:function(that){
                var self=that||this,o=self.options;if(o.placeholder.constructor==String){
                    var className=o.placeholder;o.placeholder={
                        element:function(){
                            return $('<div></div>').addClass(className)[0];
                        },
                        update:function(i,p){
                            p.css(i.offset()).css({
                                width:i.outerWidth(),
                                height:i.outerHeight()
                                });
                        }
                        };
                }
                self.placeholder=$(o.placeholder.element.call(self.element,self.currentItem)).appendTo('body').css({
                    position:'absolute'
                });o.placeholder.update.call(self.element,self.currentItem,self.placeholder);
            },
            contactContainers:function(e){
                for(var i=this.containers.length-1;i>=0;i--){
                    if(this.intersectsWith(this.containers[i].containerCache)){
                        if(!this.containers[i].containerCache.over){
                            if(this.currentContainer!=this.containers[i]){
                                var dist=10000;var itemWithLeastDistance=null;var base=this.positionAbs[this.containers[i].floating?'left':'top'];for(var j=this.items.length-1;j>=0;j--){
                                    if(!contains(this.containers[i].element[0],this.items[j].item[0]))continue;var cur=this.items[j][this.containers[i].floating?'left':'top'];if(Math.abs(cur-base)<dist){
                                        dist=Math.abs(cur-base);itemWithLeastDistance=this.items[j];
                                    }
                                    }
                                if(!itemWithLeastDistance&&!this.options.dropOnEmpty)
                                    continue;if(this.placeholder)this.placeholder.remove();if(this.containers[i].options.placeholder){
                                    this.containers[i].createPlaceholder(this);
                                }else{
                                    this.placeholder=null;;
                                }
                                itemWithLeastDistance?this.rearrange(e,itemWithLeastDistance):this.rearrange(e,null,this.containers[i].element);this.propagate("change",e);this.containers[i].propagate("change",e,this);this.currentContainer=this.containers[i];
                            }
                            this.containers[i].propagate("over",e,this);this.containers[i].containerCache.over=1;
                        }
                        }else{
                        if(this.containers[i].containerCache.over){
                            this.containers[i].propagate("out",e,this);this.containers[i].containerCache.over=0;
                        }
                        }
                    };
            },
            mouseCapture:function(e,overrideHandle){
                if(this.options.disabled||this.options.type=='static')return false;var currentItem=null,nodes=$(e.target).parents().each(function(){
                    if($.data(this,'sortable-item')){
                        currentItem=$(this);return false;
                    }
                    });if($.data(e.target,'sortable-item'))currentItem=$(e.target);if(!currentItem)return false;if(this.options.handle&&!overrideHandle){
                    var validHandle=false;$(this.options.handle,currentItem).find("*").andSelf().each(function(){
                        if(this==e.target)validHandle=true;
                    });if(!validHandle)return false;
                }
                this.currentItem=currentItem;return true;
            },
            mouseStart:function(e,overrideHandle,noActivation){
                var o=this.options;this.currentContainer=this;this.refresh();this.helper=typeof o.helper=='function'?$(o.helper.apply(this.element[0],[e,this.currentItem])):this.currentItem.clone();if(!this.helper.parents('body').length)this.helper.appendTo((o.appendTo!='parent'?o.appendTo:this.currentItem[0].parentNode));this.helper.css({
                    position:'absolute',
                    clear:'both'
                }).addClass('ui-sortable-helper');this.margins={
                    left:(parseInt(this.currentItem.css("marginLeft"),10)||0),
                    top:(parseInt(this.currentItem.css("marginTop"),10)||0)
                    };this.offset=this.currentItem.offset();this.offset={
                    top:this.offset.top-this.margins.top,
                    left:this.offset.left-this.margins.left
                    };this.offset.click={
                    left:e.pageX-this.offset.left,
                    top:e.pageY-this.offset.top
                    };this.offsetParent=this.helper.offsetParent();var po=this.offsetParent.offset();this.offset.parent={
                    top:po.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),
                    left:po.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)
                    };this.originalPosition=this.generatePosition(e);this.helperProportions={
                    width:this.helper.outerWidth(),
                    height:this.helper.outerHeight()
                    };if(o.cursorAt){
                    if(o.cursorAt.left!=undefined)this.offset.click.left=o.cursorAt.left;if(o.cursorAt.right!=undefined)this.offset.click.left=this.helperProportions.width-o.cursorAt.right;if(o.cursorAt.top!=undefined)this.offset.click.top=o.cursorAt.top;if(o.cursorAt.bottom!=undefined)this.offset.click.top=this.helperProportions.height-o.cursorAt.bottom;
                }
                this.domPosition=this.currentItem.prev()[0];if(o.containment){
                    if(o.containment=='parent')o.containment=this.helper[0].parentNode;if(o.containment=='document'||o.containment=='window')this.containment=[0-this.offset.parent.left,0-this.offset.parent.top,$(o.containment=='document'?document:window).width()-this.offset.parent.left-this.helperProportions.width-this.margins.left-(parseInt(this.element.css("marginRight"),10)||0),($(o.containment=='document'?document:window).height()||document.body.parentNode.scrollHeight)-this.offset.parent.top-this.helperProportions.height-this.margins.top-(parseInt(this.element.css("marginBottom"),10)||0)];if(!(/^(document|window|parent)$/).test(o.containment)){
                        var ce=$(o.containment)[0];var co=$(o.containment).offset();this.containment=[co.left+(parseInt($(ce).css("borderLeftWidth"),10)||0)-this.offset.parent.left,co.top+(parseInt($(ce).css("borderTopWidth"),10)||0)-this.offset.parent.top,co.left+Math.max(ce.scrollWidth,ce.offsetWidth)-(parseInt($(ce).css("borderLeftWidth"),10)||0)-this.offset.parent.left-this.helperProportions.width-this.margins.left-(parseInt(this.currentItem.css("marginRight"),10)||0),co.top+Math.max(ce.scrollHeight,ce.offsetHeight)-(parseInt($(ce).css("borderTopWidth"),10)||0)-this.offset.parent.top-this.helperProportions.height-this.margins.top-(parseInt(this.currentItem.css("marginBottom"),10)||0)];
                    }
                    }
                if(o.placeholder)this.createPlaceholder();this.propagate("start",e);this.helperProportions={
                    width:this.helper.outerWidth(),
                    height:this.helper.outerHeight()
                    };if(this.options.placeholder!='clone')this.currentItem.css('visibility','hidden');if(!noActivation){
                    for(var i=this.containers.length-1;i>=0;i--){
                        this.containers[i].propagate("activate",e,this);
                    }
                    }
                if($.ui.ddmanager)$.ui.ddmanager.current=this;if($.ui.ddmanager&&!o.dropBehaviour)$.ui.ddmanager.prepareOffsets(this,e);this.dragging=true;this.mouseDrag(e);return true;
            },
            convertPositionTo:function(d,pos){
                if(!pos)pos=this.position;var mod=d=="absolute"?1:-1;return{
                    top:(pos.top
                        +this.offset.parent.top*mod
                        -(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollTop)*mod
                        +this.margins.top*mod),
                    left:(pos.left
                        +this.offset.parent.left*mod
                        -(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollLeft)*mod
                        +this.margins.left*mod)
                    };
            },
            generatePosition:function(e){
                var o=this.options;var position={
                    top:(e.pageY
                        -this.offset.click.top
                        -this.offset.parent.top
                        +(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollTop)),
                    left:(e.pageX
                        -this.offset.click.left
                        -this.offset.parent.left
                        +(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollLeft))
                    };if(!this.originalPosition)return position;if(this.containment){
                    if(position.left<this.containment[0])position.left=this.containment[0];if(position.top<this.containment[1])position.top=this.containment[1];if(position.left>this.containment[2])position.left=this.containment[2];if(position.top>this.containment[3])position.top=this.containment[3];
                }
                if(o.grid){
                    var top=this.originalPosition.top+Math.round((position.top-this.originalPosition.top)/o.grid[1])*o.grid[1];position.top=this.containment?(!(top<this.containment[1]||top>this.containment[3])?top:(!(top<this.containment[1])?top-o.grid[1]:top+o.grid[1])):top;var left=this.originalPosition.left+Math.round((position.left-this.originalPosition.left)/o.grid[0])*o.grid[0];position.left=this.containment?(!(left<this.containment[0]||left>this.containment[2])?left:(!(left<this.containment[0])?left-o.grid[0]:left+o.grid[0])):left;
                }
                return position;
            },
            mouseDrag:function(e){
                this.position=this.generatePosition(e);this.positionAbs=this.convertPositionTo("absolute");for(var i=this.items.length-1;i>=0;i--){
                    var intersection=this.intersectsWithEdge(this.items[i]);if(!intersection)continue;if(this.items[i].item[0]!=this.currentItem[0]&&this.currentItem[intersection==1?"next":"prev"]()[0]!=this.items[i].item[0]&&!contains(this.currentItem[0],this.items[i].item[0])&&(this.options.type=='semi-dynamic'?!contains(this.element[0],this.items[i].item[0]):true)){
                        this.direction=intersection==1?"down":"up";this.rearrange(e,this.items[i]);this.propagate("change",e);break;
                    }
                    }
                this.contactContainers(e);this.propagate("sort",e);if(!this.options.axis||this.options.axis=="x")this.helper[0].style.left=this.position.left+'px';if(!this.options.axis||this.options.axis=="y")this.helper[0].style.top=this.position.top+'px';if($.ui.ddmanager)$.ui.ddmanager.drag(this,e);return false;
            },
            mouseStop:function(e,noPropagation){
                if($.ui.ddmanager&&!this.options.dropBehaviour)
                    $.ui.ddmanager.drop(this,e);if(this.options.revert){
                    var self=this;var cur=self.currentItem.offset();if(self.placeholder)self.placeholder.animate({
                        opacity:'hide'
                    },(parseInt(this.options.revert,10)||500)-50);$(this.helper).animate({
                        left:cur.left-this.offset.parent.left-self.margins.left+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollLeft),
                        top:cur.top-this.offset.parent.top-self.margins.top+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollTop)
                        },parseInt(this.options.revert,10)||500,function(){
                        self.propagate("stop",e,null,noPropagation);self.clear(e);
                    });
                }else{
                    this.propagate("stop",e,null,noPropagation);this.clear(e,noPropagation);
                }
                return false;
            },
            clear:function(e,noPropagation){
                if(this.domPosition!=this.currentItem.prev().not(".ui-sortable-helper")[0])this.propagate("update",e,null,noPropagation);if(!contains(this.element[0],this.currentItem[0])){
                    if(this.domPosition==this.currentItem.prev().not(".ui-sortable-helper")[0])this.propagate("update",e,null,noPropagation);this.propagate("remove",e,null,noPropagation);for(var i=this.containers.length-1;i>=0;i--){
                        if(contains(this.containers[i].element[0],this.currentItem[0])){
                            this.containers[i].propagate("update",e,this,noPropagation);this.containers[i].propagate("receive",e,this,noPropagation);
                        }
                        };
                };for(var i=this.containers.length-1;i>=0;i--){
                    this.containers[i].propagate("deactivate",e,this,noPropagation);if(this.containers[i].containerCache.over){
                        this.containers[i].propagate("out",e,this);this.containers[i].containerCache.over=0;
                    }
                    }
                this.dragging=false;if(this.cancelHelperRemoval)return false;$(this.currentItem).css('visibility','');if(this.placeholder)this.placeholder.remove();this.helper.remove();return true;
            },
            rearrange:function(e,i,a){
                a?a.append(this.currentItem):i.item[this.direction=='down'?'before':'after'](this.currentItem);this.refreshPositions(true);if(this.options.placeholder)this.options.placeholder.update.call(this.element,this.currentItem,this.placeholder);
            }
            }));$.extend($.ui.sortable,{
        getter:"serialize toArray",
        defaults:{
            tolerance:"guess",
            distance:0,
            delay:0,
            cancel:":input,button",
            items:'> *',
            zIndex:1000,
            dropOnEmpty:true,
            appendTo:"parent"
        }
        });$.ui.plugin.add("sortable","cursor",{
        start:function(e,ui){
            var t=$('body');if(t.css("cursor"))ui.options._cursor=t.css("cursor");t.css("cursor",ui.options.cursor);
        },
        stop:function(e,ui){
            if(ui.options._cursor)$('body').css("cursor",ui.options._cursor);
        }
        });$.ui.plugin.add("sortable","zIndex",{
        start:function(e,ui){
            var t=ui.helper;if(t.css("zIndex"))ui.options._zIndex=t.css("zIndex");t.css('zIndex',ui.options.zIndex);
        },
        stop:function(e,ui){
            if(ui.options._zIndex)$(ui.helper).css('zIndex',ui.options._zIndex);
        }
        });$.ui.plugin.add("sortable","opacity",{
        start:function(e,ui){
            var t=ui.helper;if(t.css("opacity"))ui.options._opacity=t.css("opacity");t.css('opacity',ui.options.opacity);
        },
        stop:function(e,ui){
            if(ui.options._opacity)$(ui.helper).css('opacity',ui.options._opacity);
        }
        });$.ui.plugin.add("sortable","scroll",{
        start:function(e,ui){
            var o=ui.options;var i=$(this).data("sortable");o.scrollSensitivity=o.scrollSensitivity||20;o.scrollSpeed=o.scrollSpeed||20;i.overflowY=function(el){
                do{
                    if(/auto|scroll/.test(el.css('overflow'))||(/auto|scroll/).test(el.css('overflow-y')))return el;el=el.parent();
                }while(el[0].parentNode);return $(document);
            }(i.currentItem);i.overflowX=function(el){
                do{
                    if(/auto|scroll/.test(el.css('overflow'))||(/auto|scroll/).test(el.css('overflow-x')))return el;el=el.parent();
                }while(el[0].parentNode);return $(document);
            }(i.currentItem);if(i.overflowY[0]!=document&&i.overflowY[0].tagName!='HTML')i.overflowYOffset=i.overflowY.offset();if(i.overflowX[0]!=document&&i.overflowX[0].tagName!='HTML')i.overflowXOffset=i.overflowX.offset();
        },
        sort:function(e,ui){
            var o=ui.options;var i=$(this).data("sortable");if(i.overflowY[0]!=document&&i.overflowY[0].tagName!='HTML'){
                if((i.overflowYOffset.top+i.overflowY[0].offsetHeight)-e.pageY<o.scrollSensitivity)
                    i.overflowY[0].scrollTop=i.overflowY[0].scrollTop+o.scrollSpeed;if(e.pageY-i.overflowYOffset.top<o.scrollSensitivity)
                    i.overflowY[0].scrollTop=i.overflowY[0].scrollTop-o.scrollSpeed;
            }else{
                if(e.pageY-$(document).scrollTop()<o.scrollSensitivity)
                    $(document).scrollTop($(document).scrollTop()-o.scrollSpeed);if($(window).height()-(e.pageY-$(document).scrollTop())<o.scrollSensitivity)
                    $(document).scrollTop($(document).scrollTop()+o.scrollSpeed);
            }
            if(i.overflowX[0]!=document&&i.overflowX[0].tagName!='HTML'){
                if((i.overflowXOffset.left+i.overflowX[0].offsetWidth)-e.pageX<o.scrollSensitivity)
                    i.overflowX[0].scrollLeft=i.overflowX[0].scrollLeft+o.scrollSpeed;if(e.pageX-i.overflowXOffset.left<o.scrollSensitivity)
                    i.overflowX[0].scrollLeft=i.overflowX[0].scrollLeft-o.scrollSpeed;
            }else{
                if(e.pageX-$(document).scrollLeft()<o.scrollSensitivity)
                    $(document).scrollLeft($(document).scrollLeft()-o.scrollSpeed);if($(window).width()-(e.pageX-$(document).scrollLeft())<o.scrollSensitivity)
                    $(document).scrollLeft($(document).scrollLeft()+o.scrollSpeed);
            }
            }
        });
    })(jQuery);(function($){
    $.widget("ui.accordion",{
        init:function(){
            var options=this.options;if(options.navigation){
                var current=this.element.find("a").filter(options.navigationFilter);if(current.length){
                    if(current.filter(options.header).length){
                        options.active=current;
                    }else{
                        options.active=current.parent().parent().prev();current.addClass("current");
                    }
                    }
                }
            options.headers=this.element.find(options.header);options.active=findActive(options.headers,options.active);if($.browser.msie){
                this.element.find('a').css('zoom','1');
            }
            if(!this.element.hasClass("ui-accordion")){
                this.element.addClass("ui-accordion");$("<span class='ui-accordion-left'/>").insertBefore(options.headers);$("<span class='ui-accordion-right'/>").appendTo(options.headers);options.headers.addClass("ui-accordion-header").attr("tabindex","0");
            }
            var maxHeight;if(options.fillSpace){
                maxHeight=this.element.parent().height();options.headers.each(function(){
                    maxHeight-=$(this).outerHeight();
                });var maxPadding=0;options.headers.next().each(function(){
                    maxPadding=Math.max(maxPadding,$(this).innerHeight()-$(this).height());
                }).height(maxHeight-maxPadding);
            }else if(options.autoHeight){
                maxHeight=0;options.headers.next().each(function(){
                    maxHeight=Math.max(maxHeight,$(this).outerHeight());
                }).height(maxHeight);
            }
            options.headers.not(options.active||"").next().hide();options.active.parent().andSelf().addClass(options.selectedClass);if(options.event){
                this.element.bind((options.event)+".accordion",clickHandler);
            }
            },
        activate:function(index){
            clickHandler.call(this.element[0],{
                target:findActive(this.options.headers,index)[0]
                });
        },
        destroy:function(){
            this.options.headers.next().css("display","");if(this.options.fillSpace||this.options.autoHeight){
                this.options.headers.next().css("height","");
            }
            $.removeData(this.element[0],"accordion");this.element.removeClass("ui-accordion").unbind(".accordion");
        }
        });function scopeCallback(callback,scope){
        return function(){
            return callback.apply(scope,arguments);
        };
    };function completed(cancel){
        if(!$.data(this,"accordion")){
            return;
        }
        var instance=$.data(this,"accordion");var options=instance.options;options.running=cancel?0:--options.running;if(options.running){
            return;
        }
        if(options.clearStyle){
            options.toShow.add(options.toHide).css({
                height:"",
                overflow:""
            });
        }
        $(this).triggerHandler("accordionchange",[options.data],options.change);
    }
    function toggle(toShow,toHide,data,clickedActive,down){
        var options=$.data(this,"accordion").options;options.toShow=toShow;options.toHide=toHide;options.data=data;var complete=scopeCallback(completed,this);options.running=toHide.size()===0?toShow.size():toHide.size();if(options.animated){
            if(!options.alwaysOpen&&clickedActive){
                $.ui.accordion.animations[options.animated]({
                    toShow:jQuery([]),
                    toHide:toHide,
                    complete:complete,
                    down:down,
                    autoHeight:options.autoHeight
                    });
            }else{
                $.ui.accordion.animations[options.animated]({
                    toShow:toShow,
                    toHide:toHide,
                    complete:complete,
                    down:down,
                    autoHeight:options.autoHeight
                    });
            }
            }else{
            if(!options.alwaysOpen&&clickedActive){
                toShow.toggle();
            }else{
                toHide.hide();toShow.show();
            }
            complete(true);
        }
        }
    function clickHandler(event){
        var options=$.data(this,"accordion").options;if(options.disabled){
            return false;
        }
        if(!event.target&&!options.alwaysOpen){
            options.active.parent().andSelf().toggleClass(options.selectedClass);var toHide=options.active.next(),data={
                options:options,
                newHeader:jQuery([]),
                oldHeader:options.active,
                newContent:jQuery([]),
                oldContent:toHide
            },toShow=(options.active=$([]));toggle.call(this,toShow,toHide,data);return false;
        }
        var clicked=$(event.target);if(clicked.parents(options.header).length){
            while(!clicked.is(options.header)){
                clicked=clicked.parent();
            }
            }
        var clickedActive=clicked[0]==options.active[0];if(options.running||(options.alwaysOpen&&clickedActive)){
            return false;
        }
        if(!clicked.is(options.header)){
            return;
        }
        options.active.parent().andSelf().toggleClass(options.selectedClass);if(!clickedActive){
            clicked.parent().andSelf().addClass(options.selectedClass);
        }
        var toShow=clicked.next(),toHide=options.active.next(),data={
            options:options,
            newHeader:clicked,
            oldHeader:options.active,
            newContent:toShow,
            oldContent:toHide
        },down=options.headers.index(options.active[0])>options.headers.index(clicked[0]);options.active=clickedActive?$([]):clicked;toggle.call(this,toShow,toHide,data,clickedActive,down);return false;
    };function findActive(headers,selector){
        return selector!=undefined?typeof selector=="number"?headers.filter(":eq("+selector+")"):headers.not(headers.not(selector)):selector===false?$([]):headers.filter(":eq(0)");
    }
    $.extend($.ui.accordion,{
        defaults:{
            selectedClass:"selected",
            alwaysOpen:true,
            animated:'slide',
            event:"click",
            header:"a",
            autoHeight:true,
            running:0,
            navigationFilter:function(){
                return this.href.toLowerCase()==location.href.toLowerCase();
            }
            },
        animations:{
            slide:function(options,additions){
                options=$.extend({
                    easing:"swing",
                    duration:300
                },options,additions);if(!options.toHide.size()){
                    options.toShow.animate({
                        height:"show"
                    },options);return;
                }
                var hideHeight=options.toHide.height(),showHeight=options.toShow.height(),difference=showHeight/hideHeight;options.toShow.css({
                    height:0,
                    overflow:'hidden'
                }).show();options.toHide.filter(":hidden").each(options.complete).end().filter(":visible").animate({
                    height:"hide"
                },{
                    step:function(now){
                        var current=(hideHeight-now)*difference;if($.browser.msie||$.browser.opera){
                            current=Math.ceil(current);
                        }
                        options.toShow.height(current);
                    },
                    duration:options.duration,
                    easing:options.easing,
                    complete:function(){
                        if(!options.autoHeight){
                            options.toShow.css("height","auto");
                        }
                        options.complete();
                    }
                    });
            },
            bounceslide:function(options){
                this.slide(options,{
                    easing:options.down?"bounceout":"swing",
                    duration:options.down?1000:200
                    });
            },
            easeslide:function(options){
                this.slide(options,{
                    easing:"easeinout",
                    duration:700
                });
            }
            }
        });$.fn.activate=function(index){
        return this.accordion("activate",index);
    };
})(jQuery);(function($){
    var setDataSwitch={
        dragStart:"start.draggable",
        drag:"drag.draggable",
        dragStop:"stop.draggable",
        maxHeight:"maxHeight.resizable",
        minHeight:"minHeight.resizable",
        maxWidth:"maxWidth.resizable",
        minWidth:"minWidth.resizable",
        resizeStart:"start.resizable",
        resize:"drag.resizable",
        resizeStop:"stop.resizable"
    };$.widget("ui.dialog",{
        init:function(){
            var self=this,options=this.options,resizeHandles=typeof options.resizable=='string'?options.resizable:'n,e,s,w,se,sw,ne,nw',uiDialogContent=this.element.addClass('ui-dialog-content').wrap('<div/>').wrap('<div/>'),uiDialogContainer=uiDialogContent.parent().addClass('ui-dialog-container').css({
                position:'relative'
            }),title=options.title||uiDialogContent.attr('title')||'',uiDialogTitlebar=(this.uiDialogTitlebar=$('<div class="ui-dialog-titlebar"/>')).append('<span class="ui-dialog-title">'+title+'</span>').append('<a href="#" class="ui-dialog-titlebar-close"><span>X</span></a>').prependTo(uiDialogContainer),uiDialog=(this.uiDialog=uiDialogContainer.parent()).appendTo(document.body).hide().addClass('ui-dialog').addClass(options.dialogClass).addClass(uiDialogContent.attr('className')).removeClass('ui-dialog-content').css({
                position:'absolute',
                width:options.width,
                height:options.height,
                overflow:'hidden',
                zIndex:options.zIndex
                }).attr('tabIndex',-1).css('outline',0).keydown(function(ev){
                if(options.closeOnEscape){
                    var ESC=27;(ev.keyCode&&ev.keyCode==ESC&&self.close());
                }
                }).mousedown(function(){
                self.moveToTop();
            });this.uiDialogTitlebarClose=$('.ui-dialog-titlebar-close',uiDialogTitlebar).hover(function(){
                $(this).addClass('ui-dialog-titlebar-close-hover');
            },function(){
                $(this).removeClass('ui-dialog-titlebar-close-hover');
            }).mousedown(function(ev){
                ev.stopPropagation();
            }).click(function(){
                self.close();return false;
            });var hasButtons=false;$.each(options.buttons,function(){
                return!(hasButtons=true);
            });if(hasButtons){
                var uiDialogButtonPane=$('<div class="ui-dialog-buttonpane"/>').appendTo(uiDialog);$.each(options.buttons,function(name,fn){
                    $('<button/>').text(name).click(function(){
                        fn.apply(self.element[0],arguments);
                    }).appendTo(uiDialogButtonPane);
                });
            }
            if($.fn.draggable){
                uiDialog.draggable({
                    handle:'.ui-dialog-titlebar',
                    start:function(e,ui){
                        self.moveToTop();(options.dragStart&&options.dragStart.apply(this,arguments));
                    },
                    drag:options.drag,
                    stop:function(e,ui){
                        (options.dragStop&&options.dragStop.apply(this,arguments));$.ui.dialog.overlay.resize();
                    }
                    });(options.draggable||uiDialog.draggable('disable'));
            }
            if($.fn.resizable){
                uiDialog.resizable({
                    maxWidth:options.maxWidth,
                    maxHeight:options.maxHeight,
                    minWidth:options.minWidth,
                    minHeight:options.minHeight,
                    start:options.resizeStart,
                    resize:options.resize,
                    handles:resizeHandles,
                    stop:function(e,ui){
                        (options.resizeStop&&options.resizeStop.apply(this,arguments));$.ui.dialog.overlay.resize();
                    }
                    });(options.resizable||uiDialog.resizable('disable'));
            }
            (options.bgiframe&&$.fn.bgiframe&&uiDialog.bgiframe());(options.autoOpen&&this.open());
        },
        setData:function(key,value){
            (setDataSwitch[key]&&this.uiDialog.data(setDataSwitch[key],value));switch(key){
                case"draggable":this.uiDialog.draggable(value?'enable':'disable');break;case"height":this.uiDialog.height(value);break;case"position":this.position(value);break;case"resizable":(typeof value=='string'&&this.uiDialog.data('handles.resizable',value));this.uiDialog.resizable(value?'enable':'disable');break;case"title":$(".ui-dialog-title",this.uiDialogTitlebar).text(value);break;case"width":this.uiDialog.width(value);break;
            }
            $.widget.prototype.setData.apply(this,arguments);
        },
        position:function(pos){
            var wnd=$(window),doc=$(document),pTop=doc.scrollTop(),pLeft=doc.scrollLeft(),minTop=pTop;if($.inArray(pos,['center','top','right','bottom','left'])>=0){
                pos=[pos=='right'||pos=='left'?pos:'center',pos=='top'||pos=='bottom'?pos:'middle'];
            }
            if(pos.constructor!=Array){
                pos=['center','middle'];
            }
            if(pos[0].constructor==Number){
                pLeft+=pos[0];
            }else{
                switch(pos[0]){
                    case'left':pLeft+=0;break;case'right':pLeft+=wnd.width()-this.uiDialog.width();break;default:case'center':pLeft+=(wnd.width()-this.uiDialog.width())/2;
                }
                }
            if(pos[1].constructor==Number){
                pTop+=pos[1];
            }else{
                switch(pos[1]){
                    case'top':pTop+=0;break;case'bottom':pTop+=wnd.height()-this.uiDialog.height();break;default:case'middle':pTop+=(wnd.height()-this.uiDialog.height())/2;
                }
                }
            pTop=Math.max(pTop,minTop);this.uiDialog.css({
                top:pTop,
                left:pLeft
            });
        },
        open:function(){
            this.overlay=this.options.modal?new $.ui.dialog.overlay(this):null;this.uiDialog.appendTo('body');this.position(this.options.position);this.uiDialog.show();this.moveToTop(true);var openEV=null;var openUI={
                options:this.options
                };this.uiDialogTitlebarClose.focus();this.element.triggerHandler("dialogopen",[openEV,openUI],this.options.open);
        },
        moveToTop:function(force){
            if((this.options.modal&&!force)||!this.options.stack){
                return;
            }
            var maxZ=this.options.zIndex,options=this.options;$('.ui-dialog:visible').each(function(){
                maxZ=Math.max(maxZ,parseInt($(this).css('z-index'),10)||options.zIndex);
            });(this.overlay&&this.overlay.$el.css('z-index',++maxZ));this.uiDialog.css('z-index',++maxZ);
        },
        close:function(){
            (this.overlay&&this.overlay.destroy());this.uiDialog.hide();var closeEV=null;var closeUI={
                options:this.options
                };this.element.triggerHandler("dialogclose",[closeEV,closeUI],this.options.close);$.ui.dialog.overlay.resize();
        },
        destroy:function(){
            (this.overlay&&this.overlay.destroy());this.uiDialog.hide();this.element.unbind('.dialog').removeData('dialog').removeClass('ui-dialog-content').hide().appendTo('body');this.uiDialog.remove();
        }
        });$.extend($.ui.dialog,{
        defaults:{
            autoOpen:true,
            bgiframe:false,
            buttons:{},
            closeOnEscape:true,
            draggable:true,
            height:200,
            minHeight:100,
            minWidth:150,
            modal:false,
            overlay:{},
            position:'center',
            resizable:true,
            stack:true,
            width:300,
            zIndex:1000
        },
        overlay:function(dialog){
            this.$el=$.ui.dialog.overlay.create(dialog);
        }
        });$.extend($.ui.dialog.overlay,{
        instances:[],
        events:$.map('focus,mousedown,mouseup,keydown,keypress,click'.split(','),function(e){
            return e+'.dialog-overlay';
        }).join(' '),
        create:function(dialog){
            if(this.instances.length===0){
                setTimeout(function(){
                    $('a, :input').bind($.ui.dialog.overlay.events,function(){
                        var allow=false;var $dialog=$(this).parents('.ui-dialog');if($dialog.length){
                            var $overlays=$('.ui-dialog-overlay');if($overlays.length){
                                var maxZ=parseInt($overlays.css('z-index'),10);$overlays.each(function(){
                                    maxZ=Math.max(maxZ,parseInt($(this).css('z-index'),10));
                                });allow=parseInt($dialog.css('z-index'),10)>maxZ;
                            }else{
                                allow=true;
                            }
                            }
                        return allow;
                    });
                },1);$(document).bind('keydown.dialog-overlay',function(e){
                    var ESC=27;(e.keyCode&&e.keyCode==ESC&&dialog.close());
                });$(window).bind('resize.dialog-overlay',$.ui.dialog.overlay.resize);
            }
            var $el=$('<div/>').appendTo(document.body).addClass('ui-dialog-overlay').css($.extend({
                borderWidth:0,
                margin:0,
                padding:0,
                position:'absolute',
                top:0,
                left:0,
                width:this.width(),
                height:this.height()
                },dialog.options.overlay));(dialog.options.bgiframe&&$.fn.bgiframe&&$el.bgiframe());this.instances.push($el);return $el;
        },
        destroy:function($el){
            this.instances.splice($.inArray(this.instances,$el),1);if(this.instances.length===0){
                $('a, :input').add([document,window]).unbind('.dialog-overlay');
            }
            $el.remove();
        },
        height:function(){
            if($.browser.msie&&$.browser.version<7){
                var scrollHeight=Math.max(document.documentElement.scrollHeight,document.body.scrollHeight);var offsetHeight=Math.max(document.documentElement.offsetHeight,document.body.offsetHeight);if(scrollHeight<offsetHeight){
                    return $(window).height()+'px';
                }else{
                    return scrollHeight+'px';
                }
                }else{
                return $(document).height()+'px';
            }
            },
        width:function(){
            if($.browser.msie&&$.browser.version<7){
                var scrollWidth=Math.max(document.documentElement.scrollWidth,document.body.scrollWidth);var offsetWidth=Math.max(document.documentElement.offsetWidth,document.body.offsetWidth);if(scrollWidth<offsetWidth){
                    return $(window).width()+'px';
                }else{
                    return scrollWidth+'px';
                }
                }else{
                return $(document).width()+'px';
            }
            },
        resize:function(){
            var $overlays=$([]);$.each($.ui.dialog.overlay.instances,function(){
                $overlays=$overlays.add(this);
            });$overlays.css({
                width:0,
                height:0
            }).css({
                width:$.ui.dialog.overlay.width(),
                height:$.ui.dialog.overlay.height()
                });
        }
        });$.extend($.ui.dialog.overlay.prototype,{
        destroy:function(){
            $.ui.dialog.overlay.destroy(this.$el);
        }
        });
})(jQuery);(function($){
    $.fn.unwrap=$.fn.unwrap||function(expr){
        return this.each(function(){
            $(this).parents(expr).eq(0).after(this).remove();
        });
    };$.widget("ui.slider",{
        plugins:{},
        ui:function(e){
            return{
                options:this.options,
                handle:this.currentHandle,
                value:this.options.axis!="both"||!this.options.axis?Math.round(this.value(null,this.options.axis=="vertical"?"y":"x")):{
                    x:Math.round(this.value(null,"x")),
                    y:Math.round(this.value(null,"y"))
                    },
                range:this.getRange()
                };
        },
        propagate:function(n,e){
            $.ui.plugin.call(this,n,[e,this.ui()]);this.element.triggerHandler(n=="slide"?n:"slide"+n,[e,this.ui()],this.options[n]);
        },
        destroy:function(){
            this.element.removeClass("ui-slider ui-slider-disabled").removeData("slider").unbind(".slider");this.handle.unwrap("a");this.handle.each(function(){
                $(this).data("mouse").mouseDestroy();
            });this.generated&&this.generated.remove();
        },
        setData:function(key,value){
            $.widget.prototype.setData.apply(this,arguments);if(/min|max|steps/.test(key)){
                this.initBoundaries();
            }
            },
        init:function(){
            var self=this;this.element.addClass("ui-slider");this.initBoundaries();this.handle=$(this.options.handle,this.element);if(!this.handle.length){
                self.handle=self.generated=$(self.options.handles||[0]).map(function(){
                    var handle=$("<div/>").addClass("ui-slider-handle").appendTo(self.element);if(this.id)
                        handle.attr("id",this.id);return handle[0];
                });
            }
            var handleclass=function(el){
                this.element=$(el);this.element.data("mouse",this);this.options=self.options;this.element.bind("mousedown",function(){
                    if(self.currentHandle)this.blur(self.currentHandle);self.focus(this,1);
                });this.mouseInit();
            };$.extend(handleclass.prototype,$.ui.mouse,{
                mouseStart:function(e){
                    return self.start.call(self,e,this.element[0]);
                },
                mouseStop:function(e){
                    return self.stop.call(self,e,this.element[0]);
                },
                mouseDrag:function(e){
                    return self.drag.call(self,e,this.element[0]);
                },
                mouseCapture:function(){
                    return true;
                },
                trigger:function(e){
                    this.mouseDown(e);
                }
                });$(this.handle).each(function(){
                new handleclass(this);
            }).wrap('<a href="javascript:void(0)" style="cursor:default;"></a>').parent().bind('focus',function(e){
                self.focus(this.firstChild);
            }).bind('blur',function(e){
                self.blur(this.firstChild);
            }).bind('keydown',function(e){
                if(!self.options.noKeyboard)self.keydown(e.keyCode,this.firstChild);
            });this.element.bind('mousedown.slider',function(e){
                self.click.apply(self,[e]);self.currentHandle.data("mouse").trigger(e);self.firstValue=self.firstValue+1;
            });$.each(this.options.handles||[],function(index,handle){
                self.moveTo(handle.start,index,true);
            });if(!isNaN(this.options.startValue))
                this.moveTo(this.options.startValue,0,true);this.previousHandle=$(this.handle[0]);if(this.handle.length==2&&this.options.range)this.createRange();
        },
        initBoundaries:function(){
            var element=this.element[0],o=this.options;this.actualSize={
                width:this.element.outerWidth(),
                height:this.element.outerHeight()
                };$.extend(o,{
                axis:o.axis||(element.offsetWidth<element.offsetHeight?'vertical':'horizontal'),
                max:!isNaN(parseInt(o.max,10))?{
                    x:parseInt(o.max,10),
                    y:parseInt(o.max,10)
                    }:({
                    x:o.max&&o.max.x||100,
                    y:o.max&&o.max.y||100
                    }),
                min:!isNaN(parseInt(o.min,10))?{
                    x:parseInt(o.min,10),
                    y:parseInt(o.min,10)
                    }:({
                    x:o.min&&o.min.x||0,
                    y:o.min&&o.min.y||0
                    })
                });o.realMax={
                x:o.max.x-o.min.x,
                y:o.max.y-o.min.y
                };o.stepping={
                x:o.stepping&&o.stepping.x||parseInt(o.stepping,10)||(o.steps?o.realMax.x/(o.steps.x||parseInt(o.steps,10)||o.realMax.x):0),
                y:o.stepping&&o.stepping.y||parseInt(o.stepping,10)||(o.steps?o.realMax.y/(o.steps.y||parseInt(o.steps,10)||o.realMax.y):0)
                };
        },
        keydown:function(keyCode,handle){
            if(/(37|38|39|40)/.test(keyCode)){
                this.moveTo({
                    x:/(37|39)/.test(keyCode)?(keyCode==37?'-':'+')+'='+this.oneStep("x"):0,
                    y:/(38|40)/.test(keyCode)?(keyCode==38?'-':'+')+'='+this.oneStep("y"):0
                    },handle);
            }
            },
        focus:function(handle,hard){
            this.currentHandle=$(handle).addClass('ui-slider-handle-active');if(hard)
                this.currentHandle.parent()[0].focus();
        },
        blur:function(handle){
            $(handle).removeClass('ui-slider-handle-active');if(this.currentHandle&&this.currentHandle[0]==handle){
                this.previousHandle=this.currentHandle;this.currentHandle=null;
            };
        },
        click:function(e){
            var pointer=[e.pageX,e.pageY];var clickedHandle=false;this.handle.each(function(){
                if(this==e.target)
                    clickedHandle=true;
            });if(clickedHandle||this.options.disabled||!(this.currentHandle||this.previousHandle))
                return;if(!this.currentHandle&&this.previousHandle)
                this.focus(this.previousHandle,true);this.offset=this.element.offset();this.moveTo({
                y:this.convertValue(e.pageY-this.offset.top-this.currentHandle[0].offsetHeight/2,"y"),
                x:this.convertValue(e.pageX-this.offset.left-this.currentHandle[0].offsetWidth/2,"x")
                },null,!this.options.distance);
        },
        createRange:function(){
            this.rangeElement=$('<div></div>').addClass('ui-slider-range').css({
                position:'absolute'
            }).appendTo(this.element);this.updateRange();
        },
        updateRange:function(){
            var prop=this.options.axis=="vertical"?"top":"left";var size=this.options.axis=="vertical"?"height":"width";this.rangeElement.css(prop,(parseInt($(this.handle[0]).css(prop),10)||0)+this.handleSize(0,this.options.axis=="vertical"?"y":"x")/2);this.rangeElement.css(size,(parseInt($(this.handle[1]).css(prop),10)||0)-(parseInt($(this.handle[0]).css(prop),10)||0));
        },
        getRange:function(){
            return this.rangeElement?this.convertValue(parseInt(this.rangeElement.css(this.options.axis=="vertical"?"height":"width"),10),this.options.axis=="vertical"?"y":"x"):null;
        },
        handleIndex:function(){
            return this.handle.index(this.currentHandle[0]);
        },
        value:function(handle,axis){
            if(this.handle.length==1)this.currentHandle=this.handle;if(!axis)axis=this.options.axis=="vertical"?"y":"x";var curHandle=$(handle!=undefined&&handle!==null?this.handle[handle]||handle:this.currentHandle);if(curHandle.data("mouse").sliderValue){
                return parseInt(curHandle.data("mouse").sliderValue[axis],10);
            }else{
                return parseInt(((parseInt(curHandle.css(axis=="x"?"left":"top"),10)/(this.actualSize[axis=="x"?"width":"height"]-this.handleSize(handle,axis)))*this.options.realMax[axis])+this.options.min[axis],10);
            }
            },
        convertValue:function(value,axis){
            return this.options.min[axis]+(value/(this.actualSize[axis=="x"?"width":"height"]-this.handleSize(null,axis)))*this.options.realMax[axis];
        },
        translateValue:function(value,axis){
            return((value-this.options.min[axis])/this.options.realMax[axis])*(this.actualSize[axis=="x"?"width":"height"]-this.handleSize(null,axis));
        },
        translateRange:function(value,axis){
            if(this.rangeElement){
                if(this.currentHandle[0]==this.handle[0]&&value>=this.translateValue(this.value(1),axis))
                    value=this.translateValue(this.value(1,axis)-this.oneStep(axis),axis);if(this.currentHandle[0]==this.handle[1]&&value<=this.translateValue(this.value(0),axis))
                    value=this.translateValue(this.value(0,axis)+this.oneStep(axis),axis);
            }
            if(this.options.handles){
                var handle=this.options.handles[this.handleIndex()];if(value<this.translateValue(handle.min,axis)){
                    value=this.translateValue(handle.min,axis);
                }else if(value>this.translateValue(handle.max,axis)){
                    value=this.translateValue(handle.max,axis);
                }
                }
            return value;
        },
        translateLimits:function(value,axis){
            if(value>=this.actualSize[axis=="x"?"width":"height"]-this.handleSize(null,axis))
                value=this.actualSize[axis=="x"?"width":"height"]-this.handleSize(null,axis);if(value<=0)
                value=0;return value;
        },
        handleSize:function(handle,axis){
            return $(handle!=undefined&&handle!==null?this.handle[handle]:this.currentHandle)[0]["offset"+(axis=="x"?"Width":"Height")];
        },
        oneStep:function(axis){
            return this.options.stepping[axis]||1;
        },
        start:function(e,handle){
            var o=this.options;if(o.disabled)return false;this.actualSize={
                width:this.element.outerWidth(),
                height:this.element.outerHeight()
                };if(!this.currentHandle)
                this.focus(this.previousHandle,true);this.offset=this.element.offset();this.handleOffset=this.currentHandle.offset();this.clickOffset={
                top:e.pageY-this.handleOffset.top,
                left:e.pageX-this.handleOffset.left
                };this.firstValue=this.value();this.propagate('start',e);this.drag(e,handle);return true;
        },
        stop:function(e){
            this.propagate('stop',e);if(this.firstValue!=this.value())
                this.propagate('change',e);this.focus(this.currentHandle,true);return false;
        },
        drag:function(e,handle){
            var o=this.options;var position={
                top:e.pageY-this.offset.top-this.clickOffset.top,
                left:e.pageX-this.offset.left-this.clickOffset.left
                };if(!this.currentHandle)this.focus(this.previousHandle,true);position.left=this.translateLimits(position.left,"x");position.top=this.translateLimits(position.top,"y");if(o.stepping.x){
                var value=this.convertValue(position.left,"x");value=Math.round(value/o.stepping.x)*o.stepping.x;position.left=this.translateValue(value,"x");
            }
            if(o.stepping.y){
                var value=this.convertValue(position.top,"y");value=Math.round(value/o.stepping.y)*o.stepping.y;position.top=this.translateValue(value,"y");
            }
            position.left=this.translateRange(position.left,"x");position.top=this.translateRange(position.top,"y");if(o.axis!="vertical")this.currentHandle.css({
                left:position.left
                });if(o.axis!="horizontal")this.currentHandle.css({
                top:position.top
                });this.currentHandle.data("mouse").sliderValue={
                x:Math.round(this.convertValue(position.left,"x"))||0,
                y:Math.round(this.convertValue(position.top,"y"))||0
                };if(this.rangeElement)
                this.updateRange();this.propagate('slide',e);return false;
        },
        moveTo:function(value,handle,noPropagation){
            var o=this.options;this.actualSize={
                width:this.element.outerWidth(),
                height:this.element.outerHeight()
                };if(handle==undefined&&!this.currentHandle&&this.handle.length!=1)
                return false;if(handle==undefined&&!this.currentHandle)
                handle=0;if(handle!=undefined)
                this.currentHandle=this.previousHandle=$(this.handle[handle]||handle);if(value.x!==undefined&&value.y!==undefined){
                var x=value.x,y=value.y;
            }else{
                var x=value,y=value;
            }
            if(x!==undefined&&x.constructor!=Number){
                var me=/^\-\=/.test(x),pe=/^\+\=/.test(x);if(me||pe){
                    x=this.value(null,"x")+parseInt(x.replace(me?'=':'+=',''),10);
                }else{
                    x=isNaN(parseInt(x,10))?undefined:parseInt(x,10);
                }
                }
            if(y!==undefined&&y.constructor!=Number){
                var me=/^\-\=/.test(y),pe=/^\+\=/.test(y);if(me||pe){
                    y=this.value(null,"y")+parseInt(y.replace(me?'=':'+=',''),10);
                }else{
                    y=isNaN(parseInt(y,10))?undefined:parseInt(y,10);
                }
                }
            if(o.axis!="vertical"&&x!==undefined){
                if(o.stepping.x)x=Math.round(x/o.stepping.x)*o.stepping.x;x=this.translateValue(x,"x");x=this.translateLimits(x,"x");x=this.translateRange(x,"x");this.currentHandle.css({
                    left:x
                });
            }
            if(o.axis!="horizontal"&&y!==undefined){
                if(o.stepping.y)y=Math.round(y/o.stepping.y)*o.stepping.y;y=this.translateValue(y,"y");y=this.translateLimits(y,"y");y=this.translateRange(y,"y");this.currentHandle.css({
                    top:y
                });
            }
            if(this.rangeElement)
                this.updateRange();this.currentHandle.data("mouse").sliderValue={
                x:Math.round(this.convertValue(x,"x"))||0,
                y:Math.round(this.convertValue(y,"y"))||0
                };if(!noPropagation){
                this.propagate('start',null);this.propagate('stop',null);this.propagate('change',null);this.propagate("slide",null);
            }
            }
        });$.ui.slider.getter="value";$.ui.slider.defaults={
        handle:".ui-slider-handle",
        distance:1
    };
})(jQuery);(function($){
    $.widget("ui.tabs",{
        init:function(){
            this.options.event+='.tabs';this.tabify(true);
        },
        setData:function(key,value){
            if((/^selected/).test(key))
                this.select(value);else{
                this.options[key]=value;this.tabify();
            }
            },
        length:function(){
            return this.$tabs.length;
        },
        tabId:function(a){
            return a.title&&a.title.replace(/\s/g,'_').replace(/[^A-Za-z0-9\-_:\.]/g,'')||this.options.idPrefix+$.data(a);
        },
        ui:function(tab,panel){
            return{
                options:this.options,
                tab:tab,
                panel:panel
            };
        },
        tabify:function(init){
            this.$lis=$('li:has(a[href])',this.element);this.$tabs=this.$lis.map(function(){
                return $('a',this)[0];
            });this.$panels=$([]);var self=this,o=this.options;this.$tabs.each(function(i,a){
                if(a.hash&&a.hash.replace('#',''))
                    self.$panels=self.$panels.add(a.hash);else if($(a).attr('href')!='#'){
                    $.data(a,'href.tabs',a.href);$.data(a,'load.tabs',a.href);var id=self.tabId(a);a.href='#'+id;var $panel=$('#'+id);if(!$panel.length){
                        $panel=$(o.panelTemplate).attr('id',id).addClass(o.panelClass).insertAfter(self.$panels[i-1]||self.element);$panel.data('destroy.tabs',true);
                    }
                    self.$panels=self.$panels.add($panel);
                }
                else
                    o.disabled.push(i+1);
            });if(init){
                this.element.addClass(o.navClass);this.$panels.each(function(){
                    var $this=$(this);$this.addClass(o.panelClass);
                });if(o.selected===undefined){
                    if(location.hash){
                        this.$tabs.each(function(i,a){
                            if(a.hash==location.hash){
                                o.selected=i;if($.browser.msie||$.browser.opera){
                                    var $toShow=$(location.hash),toShowId=$toShow.attr('id');$toShow.attr('id','');setTimeout(function(){
                                        $toShow.attr('id',toShowId);
                                    },500);
                                }
                                scrollTo(0,0);return false;
                            }
                            });
                    }
                    else if(o.cookie){
                        var index=parseInt($.cookie('ui-tabs'+$.data(self.element)),10);if(index&&self.$tabs[index])
                            o.selected=index;
                    }
                    else if(self.$lis.filter('.'+o.selectedClass).length)
                        o.selected=self.$lis.index(self.$lis.filter('.'+o.selectedClass)[0]);
                }
                o.selected=o.selected===null||o.selected!==undefined?o.selected:0;o.disabled=$.unique(o.disabled.concat($.map(this.$lis.filter('.'+o.disabledClass),function(n,i){
                    return self.$lis.index(n);
                }))).sort();if($.inArray(o.selected,o.disabled)!=-1)
                    o.disabled.splice($.inArray(o.selected,o.disabled),1);this.$panels.addClass(o.hideClass);this.$lis.removeClass(o.selectedClass);if(o.selected!==null){
                    this.$panels.eq(o.selected).show().removeClass(o.hideClass);this.$lis.eq(o.selected).addClass(o.selectedClass);var onShow=function(){
                        $(self.element).triggerHandler('tabsshow',[self.ui(self.$tabs[o.selected],self.$panels[o.selected])],o.show);
                    };if($.data(this.$tabs[o.selected],'load.tabs'))
                        this.load(o.selected,onShow);else
                        onShow();
                }
                $(window).bind('unload',function(){
                    self.$tabs.unbind('.tabs');self.$lis=self.$tabs=self.$panels=null;
                });
            }
            for(var i=0,li;li=this.$lis[i];i++)
                $(li)[$.inArray(i,o.disabled)!=-1&&!$(li).hasClass(o.selectedClass)?'addClass':'removeClass'](o.disabledClass);if(o.cache===false)
                this.$tabs.removeData('cache.tabs');var hideFx,showFx,baseFx={
                'min-width':0,
                duration:1
            },baseDuration='normal';if(o.fx&&o.fx.constructor==Array)
                hideFx=o.fx[0]||baseFx,showFx=o.fx[1]||baseFx;else
                hideFx=showFx=o.fx||baseFx;var resetCSS={
                display:'',
                overflow:'',
                height:''
            };if(!$.browser.msie)
                resetCSS.opacity='';function hideTab(clicked,$hide,$show){
                $hide.animate(hideFx,hideFx.duration||baseDuration,function(){
                    $hide.addClass(o.hideClass).css(resetCSS);if($.browser.msie&&hideFx.opacity)
                        $hide[0].style.filter='';if($show)
                        showTab(clicked,$show,$hide);
                });
            }
            function showTab(clicked,$show,$hide){
                if(showFx===baseFx)
                    $show.css('display','block');$show.animate(showFx,showFx.duration||baseDuration,function(){
                    $show.removeClass(o.hideClass).css(resetCSS);if($.browser.msie&&showFx.opacity)
                        $show[0].style.filter='';$(self.element).triggerHandler('tabsshow',[self.ui(clicked,$show[0])],o.show);
                });
            }
            function switchTab(clicked,$li,$hide,$show){
                $li.addClass(o.selectedClass).siblings().removeClass(o.selectedClass);hideTab(clicked,$hide,$show);
            }
            this.$tabs.unbind('.tabs').bind(o.event,function(){
                var $li=$(this).parents('li:eq(0)'),$hide=self.$panels.filter(':visible'),$show=$(this.hash);if(($li.hasClass(o.selectedClass)&&!o.unselect)||$li.hasClass(o.disabledClass)||$(this).hasClass(o.loadingClass)||$(self.element).triggerHandler('tabsselect',[self.ui(this,$show[0])],o.select)===false){
                    this.blur();return false;
                }
                self.options.selected=self.$tabs.index(this);if(o.unselect){
                    if($li.hasClass(o.selectedClass)){
                        self.options.selected=null;$li.removeClass(o.selectedClass);self.$panels.stop();hideTab(this,$hide);this.blur();return false;
                    }else if(!$hide.length){
                        self.$panels.stop();var a=this;self.load(self.$tabs.index(this),function(){
                            $li.addClass(o.selectedClass).addClass(o.unselectClass);showTab(a,$show);
                        });this.blur();return false;
                    }
                    }
                if(o.cookie)
                    $.cookie('ui-tabs'+$.data(self.element),self.options.selected,o.cookie);self.$panels.stop();if($show.length){
                    var a=this;self.load(self.$tabs.index(this),$hide.length?function(){
                        switchTab(a,$li,$hide,$show);
                    }:function(){
                        $li.addClass(o.selectedClass);showTab(a,$show);
                    });
                }else
                    throw'jQuery UI Tabs: Mismatching fragment identifier.';if($.browser.msie)
                    this.blur();return false;
            });if(!(/^click/).test(o.event))
                this.$tabs.bind('click.tabs',function(){
                    return false;
                });
        },
        add:function(url,label,index){
            if(index==undefined)
                index=this.$tabs.length;var o=this.options;var $li=$(o.tabTemplate.replace(/#\{href\}/g,url).replace(/#\{label\}/g,label));$li.data('destroy.tabs',true);var id=url.indexOf('#')==0?url.replace('#',''):this.tabId($('a:first-child',$li)[0]);var $panel=$('#'+id);if(!$panel.length){
                $panel=$(o.panelTemplate).attr('id',id).addClass(o.hideClass).data('destroy.tabs',true);
            }
            $panel.addClass(o.panelClass);if(index>=this.$lis.length){
                $li.appendTo(this.element);$panel.appendTo(this.element[0].parentNode);
            }else{
                $li.insertBefore(this.$lis[index]);$panel.insertBefore(this.$panels[index]);
            }
            o.disabled=$.map(o.disabled,function(n,i){
                return n>=index?++n:n
                });this.tabify();if(this.$tabs.length==1){
                $li.addClass(o.selectedClass);$panel.removeClass(o.hideClass);var href=$.data(this.$tabs[0],'load.tabs');if(href)
                    this.load(index,href);
            }
            this.element.triggerHandler('tabsadd',[this.ui(this.$tabs[index],this.$panels[index])],o.add);
        },
        remove:function(index){
            var o=this.options,$li=this.$lis.eq(index).remove(),$panel=this.$panels.eq(index).remove();if($li.hasClass(o.selectedClass)&&this.$tabs.length>1)
                this.select(index+(index+1<this.$tabs.length?1:-1));o.disabled=$.map($.grep(o.disabled,function(n,i){
                return n!=index;
            }),function(n,i){
                return n>=index?--n:n
                });this.tabify();this.element.triggerHandler('tabsremove',[this.ui($li.find('a')[0],$panel[0])],o.remove);
        },
        enable:function(index){
            var o=this.options;if($.inArray(index,o.disabled)==-1)
                return;var $li=this.$lis.eq(index).removeClass(o.disabledClass);if($.browser.safari){
                $li.css('display','inline-block');setTimeout(function(){
                    $li.css('display','block');
                },0);
            }
            o.disabled=$.grep(o.disabled,function(n,i){
                return n!=index;
            });this.element.triggerHandler('tabsenable',[this.ui(this.$tabs[index],this.$panels[index])],o.enable);
        },
        disable:function(index){
            var self=this,o=this.options;if(index!=o.selected){
                this.$lis.eq(index).addClass(o.disabledClass);o.disabled.push(index);o.disabled.sort();this.element.triggerHandler('tabsdisable',[this.ui(this.$tabs[index],this.$panels[index])],o.disable);
            }
            },
        select:function(index){
            if(typeof index=='string')
                index=this.$tabs.index(this.$tabs.filter('[href$='+index+']')[0]);this.$tabs.eq(index).trigger(this.options.event);
        },
        load:function(index,callback){
            var self=this,o=this.options,$a=this.$tabs.eq(index),a=$a[0],bypassCache=callback==undefined||callback===false,url=$a.data('load.tabs');callback=callback||function(){};if(!url||!bypassCache&&$.data(a,'cache.tabs')){
                callback();return;
            }
            var inner=function(parent){
                var $parent=$(parent),$inner=$parent.find('*:last');return $inner.length&&$inner||$parent;
            };var cleanup=function(){
                self.$tabs.filter('.'+o.loadingClass).removeClass(o.loadingClass).each(function(){
                    if(o.spinner)
                        inner(this).parent().html(inner(this).data('label.tabs'));
                });self.xhr=null;
            };if(o.spinner){
                var label=inner(a).html();inner(a).wrapInner('<em></em>').find('em').data('label.tabs',label).html(o.spinner);
            }
            var ajaxOptions=$.extend({},o.ajaxOptions,{
                url:url,
                success:function(r,s){
                    $(a.hash).html(r);cleanup();if(o.cache)
                        $.data(a,'cache.tabs',true);$(self.element).triggerHandler('tabsload',[self.ui(self.$tabs[index],self.$panels[index])],o.load);o.ajaxOptions.success&&o.ajaxOptions.success(r,s);callback();
                }
                });if(this.xhr){
                this.xhr.abort();cleanup();
            }
            $a.addClass(o.loadingClass);setTimeout(function(){
                self.xhr=$.ajax(ajaxOptions);
            },0);
        },
        url:function(index,url){
            this.$tabs.eq(index).removeData('cache.tabs').data('load.tabs',url);
        },
        destroy:function(){
            var o=this.options;this.element.unbind('.tabs').removeClass(o.navClass).removeData('tabs');this.$tabs.each(function(){
                var href=$.data(this,'href.tabs');if(href)
                    this.href=href;var $this=$(this).unbind('.tabs');$.each(['href','load','cache'],function(i,prefix){
                    $this.removeData(prefix+'.tabs');
                });
            });this.$lis.add(this.$panels).each(function(){
                if($.data(this,'destroy.tabs'))
                    $(this).remove();else
                    $(this).removeClass([o.selectedClass,o.unselectClass,o.disabledClass,o.panelClass,o.hideClass].join(' '));
            });
        }
        });$.ui.tabs.defaults={
        unselect:false,
        event:'click',
        disabled:[],
        cookie:null,
        spinner:'Loading&#8230;',
        cache:false,
        idPrefix:'ui-tabs-',
        ajaxOptions:{},
        fx:null,
        tabTemplate:'<li><a href="#{href}"><span>#{label}</span></a></li>',
        panelTemplate:'<div></div>',
        navClass:'ui-tabs-nav',
        selectedClass:'ui-tabs-selected',
        unselectClass:'ui-tabs-unselect',
        disabledClass:'ui-tabs-disabled',
        panelClass:'ui-tabs-panel',
        hideClass:'ui-tabs-hide',
        loadingClass:'ui-tabs-loading'
    };$.ui.tabs.getter="length";$.extend($.ui.tabs.prototype,{
        rotation:null,
        rotate:function(ms,continuing){
            continuing=continuing||false;var self=this,t=this.options.selected;function start(){
                self.rotation=setInterval(function(){
                    t=++t<self.$tabs.length?t:0;self.select(t);
                },ms);
            }
            function stop(e){
                if(!e||e.clientX){
                    clearInterval(self.rotation);
                }
                }
            if(ms){
                start();if(!continuing)
                    this.$tabs.bind(this.options.event,stop);else
                    this.$tabs.bind(this.options.event,function(){
                        stop();t=self.options.selected;start();
                    });
            }
            else{
                stop();this.$tabs.unbind(this.options.event,stop);
            }
            }
        });
})(jQuery);(function($){
    function Datepicker(){
        this.debug=false;this._nextId=0;this._inst=[];this._curInst=null;this._disabledInputs=[];this._datepickerShowing=false;this._inDialog=false;this.regional=[];this.regional['']={
            clearText:'Clear',
            clearStatus:'Erase the current date',
            closeText:'Close',
            closeStatus:'Close without change',
            prevText:'&#x3c;Prev',
            prevStatus:'Show the previous month',
            nextText:'Next&#x3e;',
            nextStatus:'Show the next month',
            currentText:'Today',
            currentStatus:'Show the current month',
            monthNames:['January','February','March','April','May','June','July','August','September','October','November','December'],
            monthNamesShort:['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'],
            monthStatus:'Show a different month',
            yearStatus:'Show a different year',
            weekHeader:'Wk',
            weekStatus:'Week of the year',
            dayNames:['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday'],
            dayNamesShort:['Sun','Mon','Tue','Wed','Thu','Fri','Sat'],
            dayNamesMin:['Su','Mo','Tu','We','Th','Fr','Sa'],
            dayStatus:'Set DD as first week day',
            dateStatus:'Select DD, M d',
            dateFormat:'mm/dd/yy',
            firstDay:0,
            initStatus:'Select a date',
            isRTL:false
        };this._defaults={
            showOn:'focus',
            showAnim:'show',
            defaultDate:null,
            appendText:'',
            buttonText:'...',
            buttonImage:'',
            buttonImageOnly:false,
            closeAtTop:true,
            mandatory:false,
            hideIfNoPrevNext:false,
            changeMonth:true,
            changeYear:true,
            yearRange:'-10:+10',
            changeFirstDay:true,
            showOtherMonths:false,
            showWeeks:false,
            calculateWeek:this.iso8601Week,
            shortYearCutoff:'+10',
            showStatus:false,
            statusForDate:this.dateStatus,
            minDate:null,
            maxDate:null,
            speed:'normal',
            beforeShowDay:null,
            beforeShow:null,
            onSelect:null,
            onClose:null,
            numberOfMonths:1,
            stepMonths:1,
            rangeSelect:false,
            rangeSeparator:' - '
        };$.extend(this._defaults,this.regional['']);this._datepickerDiv=$('<div id="ui-datepicker-div"></div>');
    }
    $.extend(Datepicker.prototype,{
        markerClassName:'hasDatepicker',
        log:function(){
            if(this.debug)
                console.log.apply('',arguments);
        },
        _register:function(inst){
            var id=this._nextId++;this._inst[id]=inst;return id;
        },
        _getInst:function(id){
            return this._inst[id]||id;
        },
        setDefaults:function(settings){
            extendRemove(this._defaults,settings||{});return this;
        },
        _attachDatepicker:function(target,settings){
            var inlineSettings=null;for(attrName in this._defaults){
                var attrValue=target.getAttribute('date:'+attrName);if(attrValue){
                    inlineSettings=inlineSettings||{};try{
                        inlineSettings[attrName]=eval(attrValue);
                    }catch(err){
                        inlineSettings[attrName]=attrValue;
                    }
                    }
                }
            var nodeName=target.nodeName.toLowerCase();var instSettings=(inlineSettings?$.extend(settings||{},inlineSettings||{}):settings);if(nodeName=='input'){
                var inst=(inst&&!inlineSettings?inst:new DatepickerInstance(instSettings,false));this._connectDatepicker(target,inst);
            }else if(nodeName=='div'||nodeName=='span'){
                var inst=new DatepickerInstance(instSettings,true);this._inlineDatepicker(target,inst);
            }
            },
        _destroyDatepicker:function(target){
            var nodeName=target.nodeName.toLowerCase();var calId=target._calId;target._calId=null;var $target=$(target);if(nodeName=='input'){
                $target.siblings('.ui-datepicker-append').replaceWith('').end().siblings('.ui-datepicker-trigger').replaceWith('').end().removeClass(this.markerClassName).unbind('focus',this._showDatepicker).unbind('keydown',this._doKeyDown).unbind('keypress',this._doKeyPress);var wrapper=$target.parents('.ui-datepicker-wrap');if(wrapper)
                    wrapper.replaceWith(wrapper.html());
            }else if(nodeName=='div'||nodeName=='span')
                $target.removeClass(this.markerClassName).empty();if($('input[_calId='+calId+']').length==0)
                this._inst[calId]=null;
        },
        _enableDatepicker:function(target){
            target.disabled=false;$(target).siblings('button.ui-datepicker-trigger').each(function(){
                this.disabled=false;
            }).end().siblings('img.ui-datepicker-trigger').css({
                opacity:'1.0',
                cursor:''
            });this._disabledInputs=$.map(this._disabledInputs,function(value){
                return(value==target?null:value);
            });
        },
        _disableDatepicker:function(target){
            target.disabled=true;$(target).siblings('button.ui-datepicker-trigger').each(function(){
                this.disabled=true;
            }).end().siblings('img.ui-datepicker-trigger').css({
                opacity:'0.5',
                cursor:'default'
            });this._disabledInputs=$.map($.datepicker._disabledInputs,function(value){
                return(value==target?null:value);
            });this._disabledInputs[$.datepicker._disabledInputs.length]=target;
        },
        _isDisabledDatepicker:function(target){
            if(!target)
                return false;for(var i=0;i<this._disabledInputs.length;i++){
                if(this._disabledInputs[i]==target)
                    return true;
            }
            return false;
        },
        _changeDatepicker:function(target,name,value){
            var settings=name||{};if(typeof name=='string'){
                settings={};settings[name]=value;
            }
            if(inst=this._getInst(target._calId)){
                extendRemove(inst._settings,settings);this._updateDatepicker(inst);
            }
            },
        _setDateDatepicker:function(target,date,endDate){
            if(inst=this._getInst(target._calId)){
                inst._setDate(date,endDate);this._updateDatepicker(inst);
            }
            },
        _getDateDatepicker:function(target){
            var inst=this._getInst(target._calId);if(inst){
                inst._setDateFromField($(target));
            }
            return(inst?inst._getDate():null);
        },
        _doKeyDown:function(e){
            var inst=$.datepicker._getInst(this._calId);if($.datepicker._datepickerShowing)
                switch(e.keyCode){
                    case 9:$.datepicker._hideDatepicker(null,'');break;case 13:$.datepicker._selectDay(inst,inst._selectedMonth,inst._selectedYear,$('td.ui-datepicker-days-cell-over',inst._datepickerDiv)[0]);return false;break;case 27:$.datepicker._hideDatepicker(null,inst._get('speed'));break;case 33:$.datepicker._adjustDate(inst,(e.ctrlKey?-1:-inst._get('stepMonths')),(e.ctrlKey?'Y':'M'));break;case 34:$.datepicker._adjustDate(inst,(e.ctrlKey?+1:+inst._get('stepMonths')),(e.ctrlKey?'Y':'M'));break;case 35:if(e.ctrlKey)$.datepicker._clearDate(inst);break;case 36:if(e.ctrlKey)$.datepicker._gotoToday(inst);break;case 37:if(e.ctrlKey)$.datepicker._adjustDate(inst,-1,'D');break;case 38:if(e.ctrlKey)$.datepicker._adjustDate(inst,-7,'D');break;case 39:if(e.ctrlKey)$.datepicker._adjustDate(inst,+1,'D');break;case 40:if(e.ctrlKey)$.datepicker._adjustDate(inst,+7,'D');break;
                }
            else if(e.keyCode==36&&e.ctrlKey)
                $.datepicker._showDatepicker(this);
        },
        _doKeyPress:function(e){
            var inst=$.datepicker._getInst(this._calId);var chars=$.datepicker._possibleChars(inst._get('dateFormat'));var chr=String.fromCharCode(e.charCode==undefined?e.keyCode:e.charCode);return e.ctrlKey||(chr<' '||!chars||chars.indexOf(chr)>-1);
        },
        _connectDatepicker:function(target,inst){
            var input=$(target);if(input.is('.'+this.markerClassName))
                return;var appendText=inst._get('appendText');var isRTL=inst._get('isRTL');if(appendText){
                if(isRTL)
                    input.before('<span class="ui-datepicker-append">'+appendText);else
                    input.after('<span class="ui-datepicker-append">'+appendText);
            }
            var showOn=inst._get('showOn');if(showOn=='focus'||showOn=='both')
                input.focus(this._showDatepicker);if(showOn=='button'||showOn=='both'){
                input.wrap('<span class="ui-datepicker-wrap">');var buttonText=inst._get('buttonText');var buttonImage=inst._get('buttonImage');var trigger=$(inst._get('buttonImageOnly')?$('<img>').addClass('ui-datepicker-trigger').attr({
                    src:buttonImage,
                    alt:buttonText,
                    title:buttonText
                }):$('<button>').addClass('ui-datepicker-trigger').attr({
                    type:'button'
                }).html(buttonImage!=''?$('<img>').attr({
                    src:buttonImage,
                    alt:buttonText,
                    title:buttonText
                }):buttonText));if(isRTL)
                    input.before(trigger);else
                    input.after(trigger);trigger.click(function(){
                    if($.datepicker._datepickerShowing&&$.datepicker._lastInput==target)
                        $.datepicker._hideDatepicker();else
                        $.datepicker._showDatepicker(target);
                });
            }
            input.addClass(this.markerClassName).keydown(this._doKeyDown).keypress(this._doKeyPress).bind("setData.datepicker",function(event,key,value){
                inst._settings[key]=value;
            }).bind("getData.datepicker",function(event,key){
                return inst._get(key);
            });input[0]._calId=inst._id;
        },
        _inlineDatepicker:function(target,inst){
            var input=$(target);if(input.is('.'+this.markerClassName))
                return;input.addClass(this.markerClassName).append(inst._datepickerDiv).bind("setData.datepicker",function(event,key,value){
                inst._settings[key]=value;
            }).bind("getData.datepicker",function(event,key){
                return inst._get(key);
            });input[0]._calId=inst._id;this._updateDatepicker(inst);
        },
        _inlineShow:function(inst){
            var numMonths=inst._getNumberOfMonths();inst._datepickerDiv.width(numMonths[1]*$('.ui-datepicker',inst._datepickerDiv[0]).width());
        },
        _dialogDatepicker:function(input,dateText,onSelect,settings,pos){
            var inst=this._dialogInst;if(!inst){
                inst=this._dialogInst=new DatepickerInstance({},false);this._dialogInput=$('<input type="text" size="1" style="position: absolute; top: -100px;"/>');this._dialogInput.keydown(this._doKeyDown);$('body').append(this._dialogInput);this._dialogInput[0]._calId=inst._id;
            }
            extendRemove(inst._settings,settings||{});this._dialogInput.val(dateText);this._pos=(pos?(pos.length?pos:[pos.pageX,pos.pageY]):null);if(!this._pos){
                var browserWidth=window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth;var browserHeight=window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight;var scrollX=document.documentElement.scrollLeft||document.body.scrollLeft;var scrollY=document.documentElement.scrollTop||document.body.scrollTop;this._pos=[(browserWidth/2)-100+scrollX,(browserHeight/2)-150+scrollY];
            }
            this._dialogInput.css('left',this._pos[0]+'px').css('top',this._pos[1]+'px');inst._settings.onSelect=onSelect;this._inDialog=true;this._datepickerDiv.addClass('ui-datepicker-dialog');this._showDatepicker(this._dialogInput[0]);if($.blockUI)
                $.blockUI(this._datepickerDiv);return this;
        },
        _showDatepicker:function(input){
            input=input.target||input;if(input.nodeName.toLowerCase()!='input')
                input=$('input',input.parentNode)[0];if($.datepicker._isDisabledDatepicker(input)||$.datepicker._lastInput==input)
                return;var inst=$.datepicker._getInst(input._calId);var beforeShow=inst._get('beforeShow');extendRemove(inst._settings,(beforeShow?beforeShow.apply(input,[input,inst]):{}));$.datepicker._hideDatepicker(null,'');$.datepicker._lastInput=input;inst._setDateFromField(input);if($.datepicker._inDialog)
                input.value='';if(!$.datepicker._pos){
                $.datepicker._pos=$.datepicker._findPos(input);$.datepicker._pos[1]+=input.offsetHeight;
            }
            var isFixed=false;$(input).parents().each(function(){
                isFixed|=$(this).css('position')=='fixed';
            });if(isFixed&&$.browser.opera){
                $.datepicker._pos[0]-=document.documentElement.scrollLeft;$.datepicker._pos[1]-=document.documentElement.scrollTop;
            }
            inst._datepickerDiv.css('position',($.datepicker._inDialog&&$.blockUI?'static':(isFixed?'fixed':'absolute'))).css({
                left:$.datepicker._pos[0]+'px',
                top:$.datepicker._pos[1]+'px'
                });$.datepicker._pos=null;inst._rangeStart=null;$.datepicker._updateDatepicker(inst);if(!inst._inline){
                var speed=inst._get('speed');var postProcess=function(){
                    $.datepicker._datepickerShowing=true;$.datepicker._afterShow(inst);
                };var showAnim=inst._get('showAnim')||'show';inst._datepickerDiv[showAnim](speed,postProcess);if(speed=='')
                    postProcess();if(inst._input[0].type!='hidden')
                    inst._input[0].focus();$.datepicker._curInst=inst;
            }
            },
        _updateDatepicker:function(inst){
            inst._datepickerDiv.empty().append(inst._generateDatepicker());var numMonths=inst._getNumberOfMonths();if(numMonths[0]!=1||numMonths[1]!=1)
                inst._datepickerDiv.addClass('ui-datepicker-multi');else
                inst._datepickerDiv.removeClass('ui-datepicker-multi');if(inst._get('isRTL'))
                inst._datepickerDiv.addClass('ui-datepicker-rtl');else
                inst._datepickerDiv.removeClass('ui-datepicker-rtl');if(inst._input&&inst._input[0].type!='hidden')
                $(inst._input[0]).focus();
        },
        _afterShow:function(inst){
            var numMonths=inst._getNumberOfMonths();inst._datepickerDiv.width(numMonths[1]*$('.ui-datepicker',inst._datepickerDiv[0])[0].offsetWidth);if($.browser.msie&&parseInt($.browser.version)<7){
                $('iframe.ui-datepicker-cover').css({
                    width:inst._datepickerDiv.width()+4,
                    height:inst._datepickerDiv.height()+4
                    });
            }
            var isFixed=inst._datepickerDiv.css('position')=='fixed';var pos=inst._input?$.datepicker._findPos(inst._input[0]):null;var browserWidth=window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth;var browserHeight=window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight;var scrollX=(isFixed?0:document.documentElement.scrollLeft||document.body.scrollLeft);var scrollY=(isFixed?0:document.documentElement.scrollTop||document.body.scrollTop);if((inst._datepickerDiv.offset().left+inst._datepickerDiv.width()-
                (isFixed&&$.browser.msie?document.documentElement.scrollLeft:0))>(browserWidth+scrollX)){
                inst._datepickerDiv.css('left',Math.max(scrollX,pos[0]+(inst._input?$(inst._input[0]).width():null)-inst._datepickerDiv.width()-
                    (isFixed&&$.browser.opera?document.documentElement.scrollLeft:0))+'px');
            }
            if((inst._datepickerDiv.offset().top+inst._datepickerDiv.height()-
                (isFixed&&$.browser.msie?document.documentElement.scrollTop:0))>(browserHeight+scrollY)){
                inst._datepickerDiv.css('top',Math.max(scrollY,pos[1]-(this._inDialog?0:inst._datepickerDiv.height())-
                    (isFixed&&$.browser.opera?document.documentElement.scrollTop:0))+'px');
            }
            },
        _findPos:function(obj){
            while(obj&&(obj.type=='hidden'||obj.nodeType!=1)){
                obj=obj.nextSibling;
            }
            var position=$(obj).offset();return[position.left,position.top];
        },
        _hideDatepicker:function(input,speed){
            var inst=this._curInst;if(!inst)
                return;var rangeSelect=inst._get('rangeSelect');if(rangeSelect&&this._stayOpen){
                this._selectDate(inst,inst._formatDate(inst._currentDay,inst._currentMonth,inst._currentYear));
            }
            this._stayOpen=false;if(this._datepickerShowing){
                speed=(speed!=null?speed:inst._get('speed'));var showAnim=inst._get('showAnim');inst._datepickerDiv[(showAnim=='slideDown'?'slideUp':(showAnim=='fadeIn'?'fadeOut':'hide'))](speed,function(){
                    $.datepicker._tidyDialog(inst);
                });if(speed=='')
                    this._tidyDialog(inst);var onClose=inst._get('onClose');if(onClose){
                    onClose.apply((inst._input?inst._input[0]:null),[inst._getDate(),inst]);
                }
                this._datepickerShowing=false;this._lastInput=null;inst._settings.prompt=null;if(this._inDialog){
                    this._dialogInput.css({
                        position:'absolute',
                        left:'0',
                        top:'-100px'
                    });if($.blockUI){
                        $.unblockUI();$('body').append(this._datepickerDiv);
                    }
                    }
                this._inDialog=false;
            }
            this._curInst=null;
        },
        _tidyDialog:function(inst){
            inst._datepickerDiv.removeClass('ui-datepicker-dialog').unbind('.ui-datepicker');$('.ui-datepicker-prompt',inst._datepickerDiv).remove();
        },
        _checkExternalClick:function(event){
            if(!$.datepicker._curInst)
                return;var $target=$(event.target);if(($target.parents("#ui-datepicker-div").length==0)&&!$target.hasClass('hasDatepicker')&&!$target.hasClass('ui-datepicker-trigger')&&$.datepicker._datepickerShowing&&!($.datepicker._inDialog&&$.blockUI)){
                $.datepicker._hideDatepicker(null,'');
            }
            },
        _adjustDate:function(id,offset,period){
            var inst=this._getInst(id);inst._adjustDate(offset,period);this._updateDatepicker(inst);
        },
        _gotoToday:function(id){
            var date=new Date();var inst=this._getInst(id);inst._selectedDay=date.getDate();inst._drawMonth=inst._selectedMonth=date.getMonth();inst._drawYear=inst._selectedYear=date.getFullYear();this._adjustDate(inst);
        },
        _selectMonthYear:function(id,select,period){
            var inst=this._getInst(id);inst._selectingMonthYear=false;inst[period=='M'?'_drawMonth':'_drawYear']=select.options[select.selectedIndex].value-0;this._adjustDate(inst);
        },
        _clickMonthYear:function(id){
            var inst=this._getInst(id);if(inst._input&&inst._selectingMonthYear&&!$.browser.msie)
                inst._input[0].focus();inst._selectingMonthYear=!inst._selectingMonthYear;
        },
        _changeFirstDay:function(id,day){
            var inst=this._getInst(id);inst._settings.firstDay=day;this._updateDatepicker(inst);
        },
        _selectDay:function(id,month,year,td){
            if($(td).is('.ui-datepicker-unselectable'))
                return;var inst=this._getInst(id);var rangeSelect=inst._get('rangeSelect');if(rangeSelect){
                if(!this._stayOpen){
                    $('.ui-datepicker td').removeClass('ui-datepicker-current-day');$(td).addClass('ui-datepicker-current-day');
                }
                this._stayOpen=!this._stayOpen;
            }
            inst._selectedDay=inst._currentDay=$('a',td).html();inst._selectedMonth=inst._currentMonth=month;inst._selectedYear=inst._currentYear=year;this._selectDate(id,inst._formatDate(inst._currentDay,inst._currentMonth,inst._currentYear));if(this._stayOpen){
                inst._endDay=inst._endMonth=inst._endYear=null;inst._rangeStart=new Date(inst._currentYear,inst._currentMonth,inst._currentDay);this._updateDatepicker(inst);
            }
            else if(rangeSelect){
                inst._endDay=inst._currentDay;inst._endMonth=inst._currentMonth;inst._endYear=inst._currentYear;inst._selectedDay=inst._currentDay=inst._rangeStart.getDate();inst._selectedMonth=inst._currentMonth=inst._rangeStart.getMonth();inst._selectedYear=inst._currentYear=inst._rangeStart.getFullYear();inst._rangeStart=null;if(inst._inline)
                    this._updateDatepicker(inst);
            }
            },
        _clearDate:function(id){
            var inst=this._getInst(id);if(inst._get('mandatory'))
                return;this._stayOpen=false;inst._endDay=inst._endMonth=inst._endYear=inst._rangeStart=null;this._selectDate(inst,'');
        },
        _selectDate:function(id,dateStr){
            var inst=this._getInst(id);dateStr=(dateStr!=null?dateStr:inst._formatDate());if(inst._rangeStart)
                dateStr=inst._formatDate(inst._rangeStart)+inst._get('rangeSeparator')+dateStr;if(inst._input)
                inst._input.val(dateStr);var onSelect=inst._get('onSelect');if(onSelect)
                onSelect.apply((inst._input?inst._input[0]:null),[dateStr,inst]);else if(inst._input)
                inst._input.trigger('change');if(inst._inline)
                this._updateDatepicker(inst);else if(!this._stayOpen){
                this._hideDatepicker(null,inst._get('speed'));this._lastInput=inst._input[0];if(typeof(inst._input[0])!='object')
                    inst._input[0].focus();this._lastInput=null;
            }
            },
        noWeekends:function(date){
            var day=date.getDay();return[(day>0&&day<6),''];
        },
        iso8601Week:function(date){
            var checkDate=new Date(date.getFullYear(),date.getMonth(),date.getDate(),(date.getTimezoneOffset()/-60));var firstMon=new Date(checkDate.getFullYear(),1-1,4);var firstDay=firstMon.getDay()||7;firstMon.setDate(firstMon.getDate()+1-firstDay);if(firstDay<4&&checkDate<firstMon){
                checkDate.setDate(checkDate.getDate()-3);return $.datepicker.iso8601Week(checkDate);
            }else if(checkDate>new Date(checkDate.getFullYear(),12-1,28)){
                firstDay=new Date(checkDate.getFullYear()+1,1-1,4).getDay()||7;if(firstDay>4&&(checkDate.getDay()||7)<firstDay-3){
                    checkDate.setDate(checkDate.getDate()+3);return $.datepicker.iso8601Week(checkDate);
                }
                }
            return Math.floor(((checkDate-firstMon)/86400000)/7)+1;
        },
        dateStatus:function(date,inst){
            return $.datepicker.formatDate(inst._get('dateStatus'),date,inst._getFormatConfig());
        },
        parseDate:function(format,value,settings){
            if(format==null||value==null)
                throw'Invalid arguments';value=(typeof value=='object'?value.toString():value+'');if(value=='')
                return null;var shortYearCutoff=(settings?settings.shortYearCutoff:null)||this._defaults.shortYearCutoff;var dayNamesShort=(settings?settings.dayNamesShort:null)||this._defaults.dayNamesShort;var dayNames=(settings?settings.dayNames:null)||this._defaults.dayNames;var monthNamesShort=(settings?settings.monthNamesShort:null)||this._defaults.monthNamesShort;var monthNames=(settings?settings.monthNames:null)||this._defaults.monthNames;var year=-1;var month=-1;var day=-1;var literal=false;var lookAhead=function(match){
                var matches=(iFormat+1<format.length&&format.charAt(iFormat+1)==match);if(matches)
                    iFormat++;return matches;
            };var getNumber=function(match){
                lookAhead(match);var size=(match=='y'?4:2);var num=0;while(size>0&&iValue<value.length&&value.charAt(iValue)>='0'&&value.charAt(iValue)<='9'){
                    num=num*10+(value.charAt(iValue++)-0);size--;
                }
                if(size==(match=='y'?4:2))
                    throw'Missing number at position '+iValue;return num;
            };var getName=function(match,shortNames,longNames){
                var names=(lookAhead(match)?longNames:shortNames);var size=0;for(var j=0;j<names.length;j++)
                    size=Math.max(size,names[j].length);var name='';var iInit=iValue;while(size>0&&iValue<value.length){
                    name+=value.charAt(iValue++);for(var i=0;i<names.length;i++)
                        if(name==names[i])
                            return i+1;size--;
                }
                throw'Unknown name at position '+iInit;
            };var checkLiteral=function(){
                if(value.charAt(iValue)!=format.charAt(iFormat))
                    throw'Unexpected literal at position '+iValue;iValue++;
            };var iValue=0;for(var iFormat=0;iFormat<format.length;iFormat++){
                if(literal)
                    if(format.charAt(iFormat)=="'"&&!lookAhead("'"))
                        literal=false;else
                        checkLiteral();else
                    switch(format.charAt(iFormat)){
                        case'd':day=getNumber('d');break;case'D':getName('D',dayNamesShort,dayNames);break;case'm':month=getNumber('m');break;case'M':month=getName('M',monthNamesShort,monthNames);break;case'y':year=getNumber('y');break;case"'":if(lookAhead("'"))
                            checkLiteral();else
                            literal=true;break;default:checkLiteral();
                    }
                    }
            if(year<100){
                year+=new Date().getFullYear()-new Date().getFullYear()%100+
                (year<=shortYearCutoff?0:-100);
            }
            var date=new Date(year,month-1,day);if(date.getFullYear()!=year||date.getMonth()+1!=month||date.getDate()!=day){
                throw'Invalid date';
            }
            return date;
        },
        formatDate:function(format,date,settings){
            if(!date)
                return'';var dayNamesShort=(settings?settings.dayNamesShort:null)||this._defaults.dayNamesShort;var dayNames=(settings?settings.dayNames:null)||this._defaults.dayNames;var monthNamesShort=(settings?settings.monthNamesShort:null)||this._defaults.monthNamesShort;var monthNames=(settings?settings.monthNames:null)||this._defaults.monthNames;var lookAhead=function(match){
                var matches=(iFormat+1<format.length&&format.charAt(iFormat+1)==match);if(matches)
                    iFormat++;return matches;
            };var formatNumber=function(match,value){
                return(lookAhead(match)&&value<10?'0':'')+value;
            };var formatName=function(match,value,shortNames,longNames){
                return(lookAhead(match)?longNames[value]:shortNames[value]);
            };var output='';var literal=false;if(date){
                for(var iFormat=0;iFormat<format.length;iFormat++){
                    if(literal)
                        if(format.charAt(iFormat)=="'"&&!lookAhead("'"))
                            literal=false;else
                            output+=format.charAt(iFormat);else
                        switch(format.charAt(iFormat)){
                            case'd':output+=formatNumber('d',date.getDate());break;case'D':output+=formatName('D',date.getDay(),dayNamesShort,dayNames);break;case'm':output+=formatNumber('m',date.getMonth()+1);break;case'M':output+=formatName('M',date.getMonth(),monthNamesShort,monthNames);break;case'y':output+=(lookAhead('y')?date.getFullYear():(date.getYear()%100<10?'0':'')+date.getYear()%100);break;case"'":if(lookAhead("'"))
                                output+="'";else
                                literal=true;break;default:output+=format.charAt(iFormat);
                        }
                        }
                }
            return output;
        },
        _possibleChars:function(format){
            var chars='';var literal=false;for(var iFormat=0;iFormat<format.length;iFormat++)
                if(literal)
                    if(format.charAt(iFormat)=="'"&&!lookAhead("'"))
                        literal=false;else
                        chars+=format.charAt(iFormat);else
                    switch(format.charAt(iFormat)){
                        case'd'||'m'||'y':chars+='0123456789';break;case'D'||'M':return null;case"'":if(lookAhead("'"))
                            chars+="'";else
                            literal=true;break;default:chars+=format.charAt(iFormat);
                    }
            return chars;
        }
        });function DatepickerInstance(settings,inline){
        this._id=$.datepicker._register(this);this._selectedDay=0;this._selectedMonth=0;this._selectedYear=0;this._drawMonth=0;this._drawYear=0;this._input=null;this._inline=inline;this._datepickerDiv=(!inline?$.datepicker._datepickerDiv:$('<div id="ui-datepicker-div-'+this._id+'" class="ui-datepicker-inline">'));this._settings=extendRemove(settings||{});if(inline)
            this._setDate(this._getDefaultDate());
    }
    $.extend(DatepickerInstance.prototype,{
        _get:function(name){
            return this._settings[name]!==undefined?this._settings[name]:$.datepicker._defaults[name];
        },
        _setDateFromField:function(input){
            this._input=$(input);var dateFormat=this._get('dateFormat');var dates=this._input?this._input.val().split(this._get('rangeSeparator')):null;this._endDay=this._endMonth=this._endYear=null;var date=defaultDate=this._getDefaultDate();if(dates.length>0){
                var settings=this._getFormatConfig();if(dates.length>1){
                    date=$.datepicker.parseDate(dateFormat,dates[1],settings)||defaultDate;this._endDay=date.getDate();this._endMonth=date.getMonth();this._endYear=date.getFullYear();
                }
                try{
                    date=$.datepicker.parseDate(dateFormat,dates[0],settings)||defaultDate;
                }catch(e){
                    $.datepicker.log(e);date=defaultDate;
                }
                }
            this._selectedDay=date.getDate();this._drawMonth=this._selectedMonth=date.getMonth();this._drawYear=this._selectedYear=date.getFullYear();this._currentDay=(dates[0]?date.getDate():0);this._currentMonth=(dates[0]?date.getMonth():0);this._currentYear=(dates[0]?date.getFullYear():0);this._adjustDate();
        },
        _getDefaultDate:function(){
            var date=this._determineDate('defaultDate',new Date());var minDate=this._getMinMaxDate('min',true);var maxDate=this._getMinMaxDate('max');date=(minDate&&date<minDate?minDate:date);date=(maxDate&&date>maxDate?maxDate:date);return date;
        },
        _determineDate:function(name,defaultDate){
            var offsetNumeric=function(offset){
                var date=new Date();date.setDate(date.getDate()+offset);return date;
            };var offsetString=function(offset,getDaysInMonth){
                var date=new Date();var matches=/^([+-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?$/.exec(offset);if(matches){
                    var year=date.getFullYear();var month=date.getMonth();var day=date.getDate();switch(matches[2]||'d'){
                        case'd':case'D':day+=(matches[1]-0);break;case'w':case'W':day+=(matches[1]*7);break;case'm':case'M':month+=(matches[1]-0);day=Math.min(day,getDaysInMonth(year,month));break;case'y':case'Y':year+=(matches[1]-0);day=Math.min(day,getDaysInMonth(year,month));break;
                    }
                    date=new Date(year,month,day);
                }
                return date;
            };var date=this._get(name);return(date==null?defaultDate:(typeof date=='string'?offsetString(date,this._getDaysInMonth):(typeof date=='number'?offsetNumeric(date):date)));
        },
        _setDate:function(date,endDate){
            this._selectedDay=this._currentDay=date.getDate();this._drawMonth=this._selectedMonth=this._currentMonth=date.getMonth();this._drawYear=this._selectedYear=this._currentYear=date.getFullYear();if(this._get('rangeSelect')){
                if(endDate){
                    this._endDay=endDate.getDate();this._endMonth=endDate.getMonth();this._endYear=endDate.getFullYear();
                }else{
                    this._endDay=this._currentDay;this._endMonth=this._currentMonth;this._endYear=this._currentYear;
                }
                }
            this._adjustDate();
        },
        _getDate:function(){
            var startDate=(!this._currentYear||(this._input&&this._input.val()=='')?null:new Date(this._currentYear,this._currentMonth,this._currentDay));if(this._get('rangeSelect')){
                return[startDate,(!this._endYear?null:new Date(this._endYear,this._endMonth,this._endDay))];
            }else
                return startDate;
        },
        _generateDatepicker:function(){
            var today=new Date();today=new Date(today.getFullYear(),today.getMonth(),today.getDate());var showStatus=this._get('showStatus');var isRTL=this._get('isRTL');var clear=(this._get('mandatory')?'':'<div class="ui-datepicker-clear"><a onclick="jQuery.datepicker._clearDate('+this._id+');"'+
                (showStatus?this._addStatus(this._get('clearStatus')||'&#xa0;'):'')+'>'+
                this._get('clearText')+'</a></div>');var controls='<div class="ui-datepicker-control">'+(isRTL?'':clear)+'<div class="ui-datepicker-close"><a onclick="jQuery.datepicker._hideDatepicker();"'+
            (showStatus?this._addStatus(this._get('closeStatus')||'&#xa0;'):'')+'>'+
            this._get('closeText')+'</a></div>'+(isRTL?clear:'')+'</div>';var prompt=this._get('prompt');var closeAtTop=this._get('closeAtTop');var hideIfNoPrevNext=this._get('hideIfNoPrevNext');var numMonths=this._getNumberOfMonths();var stepMonths=this._get('stepMonths');var isMultiMonth=(numMonths[0]!=1||numMonths[1]!=1);var minDate=this._getMinMaxDate('min',true);var maxDate=this._getMinMaxDate('max');var drawMonth=this._drawMonth;var drawYear=this._drawYear;if(maxDate){
                var maxDraw=new Date(maxDate.getFullYear(),maxDate.getMonth()-numMonths[1]+1,maxDate.getDate());maxDraw=(minDate&&maxDraw<minDate?minDate:maxDraw);while(new Date(drawYear,drawMonth,1)>maxDraw){
                    drawMonth--;if(drawMonth<0){
                        drawMonth=11;drawYear--;
                    }
                    }
                }
            var prev='<div class="ui-datepicker-prev">'+(this._canAdjustMonth(-1,drawYear,drawMonth)?'<a onclick="jQuery.datepicker._adjustDate('+this._id+', -'+stepMonths+', \'M\');"'+
                (showStatus?this._addStatus(this._get('prevStatus')||'&#xa0;'):'')+'>'+
                this._get('prevText')+'</a>':(hideIfNoPrevNext?'':'<label>'+this._get('prevText')+'</label>'))+'</div>';var next='<div class="ui-datepicker-next">'+(this._canAdjustMonth(+1,drawYear,drawMonth)?'<a onclick="jQuery.datepicker._adjustDate('+this._id+', +'+stepMonths+', \'M\');"'+
                (showStatus?this._addStatus(this._get('nextStatus')||'&#xa0;'):'')+'>'+
                this._get('nextText')+'</a>':(hideIfNoPrevNext?'>':'<label>'+this._get('nextText')+'</label>'))+'</div>';var html=(prompt?'<div class="ui-datepicker-prompt">'+prompt+'</div>':'')+
            (closeAtTop&&!this._inline?controls:'')+'<div class="ui-datepicker-links">'+(isRTL?next:prev)+
            (this._isInRange(today)?'<div class="ui-datepicker-current">'+'<a onclick="jQuery.datepicker._gotoToday('+this._id+');"'+
                (showStatus?this._addStatus(this._get('currentStatus')||'&#xa0;'):'')+'>'+
                this._get('currentText')+'</a></div>':'')+(isRTL?prev:next)+'</div>';var showWeeks=this._get('showWeeks');for(var row=0;row<numMonths[0];row++)
                for(var col=0;col<numMonths[1];col++){
                    var selectedDate=new Date(drawYear,drawMonth,this._selectedDay);html+='<div class="ui-datepicker-one-month'+(col==0?' ui-datepicker-new-row':'')+'">'+
                    this._generateMonthYearHeader(drawMonth,drawYear,minDate,maxDate,selectedDate,row>0||col>0)+'<table class="ui-datepicker" cellpadding="0" cellspacing="0"><thead>'+'<tr class="ui-datepicker-title-row">'+
                    (showWeeks?'<td>'+this._get('weekHeader')+'</td>':'');var firstDay=this._get('firstDay');var changeFirstDay=this._get('changeFirstDay');var dayNames=this._get('dayNames');var dayNamesShort=this._get('dayNamesShort');var dayNamesMin=this._get('dayNamesMin');for(var dow=0;dow<7;dow++){
                        var day=(dow+firstDay)%7;var status=this._get('dayStatus')||'&#xa0;';status=(status.indexOf('DD')>-1?status.replace(/DD/,dayNames[day]):status.replace(/D/,dayNamesShort[day]));html+='<td'+((dow+firstDay+6)%7>=5?' class="ui-datepicker-week-end-cell"':'')+'>'+
                        (!changeFirstDay?'<span':'<a onclick="jQuery.datepicker._changeFirstDay('+this._id+', '+day+');"')+
                        (showStatus?this._addStatus(status):'')+' title="'+dayNames[day]+'">'+
                        dayNamesMin[day]+(changeFirstDay?'</a>':'</span>')+'</td>';
                    }
                    html+='</tr></thead><tbody>';var daysInMonth=this._getDaysInMonth(drawYear,drawMonth);if(drawYear==this._selectedYear&&drawMonth==this._selectedMonth){
                        this._selectedDay=Math.min(this._selectedDay,daysInMonth);
                    }
                    var leadDays=(this._getFirstDayOfMonth(drawYear,drawMonth)-firstDay+7)%7;var currentDate=(!this._currentDay?new Date(9999,9,9):new Date(this._currentYear,this._currentMonth,this._currentDay));var endDate=this._endDay?new Date(this._endYear,this._endMonth,this._endDay):currentDate;var printDate=new Date(drawYear,drawMonth,1-leadDays);var numRows=(isMultiMonth?6:Math.ceil((leadDays+daysInMonth)/7));var beforeShowDay=this._get('beforeShowDay');var showOtherMonths=this._get('showOtherMonths');var calculateWeek=this._get('calculateWeek')||$.datepicker.iso8601Week;var dateStatus=this._get('statusForDate')||$.datepicker.dateStatus;for(var dRow=0;dRow<numRows;dRow++){
                        html+='<tr class="ui-datepicker-days-row">'+
                        (showWeeks?'<td class="ui-datepicker-week-col">'+calculateWeek(printDate)+'</td>':'');for(var dow=0;dow<7;dow++){
                            var daySettings=(beforeShowDay?beforeShowDay.apply((this._input?this._input[0]:null),[printDate]):[true,'']);var otherMonth=(printDate.getMonth()!=drawMonth);var unselectable=otherMonth||!daySettings[0]||(minDate&&printDate<minDate)||(maxDate&&printDate>maxDate);html+='<td class="ui-datepicker-days-cell'+
                            ((dow+firstDay+6)%7>=5?' ui-datepicker-week-end-cell':'')+
                            (otherMonth?' ui-datepicker-otherMonth':'')+
                            (printDate.getTime()==selectedDate.getTime()&&drawMonth==this._selectedMonth?' ui-datepicker-days-cell-over':'')+
                            (unselectable?' ui-datepicker-unselectable':'')+
                            (otherMonth&&!showOtherMonths?'':' '+daySettings[1]+
                                (printDate.getTime()>=currentDate.getTime()&&printDate.getTime()<=endDate.getTime()?' ui-datepicker-current-day':'')+
                                (printDate.getTime()==today.getTime()?' ui-datepicker-today':''))+'"'+
                            (unselectable?'':' onmouseover="jQuery(this).addClass(\'ui-datepicker-days-cell-over\');'+
                                (!showStatus||(otherMonth&&!showOtherMonths)?'':'jQuery(\'#ui-datepicker-status-'+
                                    this._id+'\').html(\''+(dateStatus.apply((this._input?this._input[0]:null),[printDate,this])||'&#xa0;')+'\');')+'"'+' onmouseout="jQuery(this).removeClass(\'ui-datepicker-days-cell-over\');'+
                                (!showStatus||(otherMonth&&!showOtherMonths)?'':'jQuery(\'#ui-datepicker-status-'+
                                    this._id+'\').html(\'&#xa0;\');')+'" onclick="jQuery.datepicker._selectDay('+
                                this._id+','+drawMonth+','+drawYear+', this);"')+'>'+
                            (otherMonth?(showOtherMonths?printDate.getDate():'&#xa0;'):(unselectable?printDate.getDate():'<a>'+printDate.getDate()+'</a>'))+'</td>';printDate.setDate(printDate.getDate()+1);
                        }
                        html+='</tr>';
                    }
                    drawMonth++;if(drawMonth>11){
                        drawMonth=0;drawYear++;
                    }
                    html+='</tbody></table></div>';
                }
            html+=(showStatus?'<div style="clear: both;"></div><div id="ui-datepicker-status-'+this._id+'" class="ui-datepicker-status">'+(this._get('initStatus')||'&#xa0;')+'</div>':'')+
            (!closeAtTop&&!this._inline?controls:'')+'<div style="clear: both;"></div>'+
            ($.browser.msie&&parseInt($.browser.version)<7&&!this._inline?'<iframe src="javascript:false;" class="ui-datepicker-cover"></iframe>':'');return html;
        },
        _generateMonthYearHeader:function(drawMonth,drawYear,minDate,maxDate,selectedDate,secondary){
            minDate=(this._rangeStart&&minDate&&selectedDate<minDate?selectedDate:minDate);var showStatus=this._get('showStatus');var html='<div class="ui-datepicker-header">';var monthNames=this._get('monthNames');if(secondary||!this._get('changeMonth'))
                html+=monthNames[drawMonth]+'&#xa0;';else{
                var inMinYear=(minDate&&minDate.getFullYear()==drawYear);var inMaxYear=(maxDate&&maxDate.getFullYear()==drawYear);html+='<select class="ui-datepicker-new-month" '+'onchange="jQuery.datepicker._selectMonthYear('+this._id+', this, \'M\');" '+'onclick="jQuery.datepicker._clickMonthYear('+this._id+');"'+
                (showStatus?this._addStatus(this._get('monthStatus')||'&#xa0;'):'')+'>';for(var month=0;month<12;month++){
                    if((!inMinYear||month>=minDate.getMonth())&&(!inMaxYear||month<=maxDate.getMonth())){
                        html+='<option value="'+month+'"'+
                        (month==drawMonth?' selected="selected"':'')+'>'+monthNames[month]+'</option>';
                    }
                    }
                html+='</select>';
            }
            if(secondary||!this._get('changeYear'))
                html+=drawYear;else{
                var years=this._get('yearRange').split(':');var year=0;var endYear=0;if(years.length!=2){
                    year=drawYear-10;endYear=drawYear+10;
                }else if(years[0].charAt(0)=='+'||years[0].charAt(0)=='-'){
                    year=new Date().getFullYear()+parseInt(years[0],10);endYear=new Date().getFullYear()+parseInt(years[1],10);
                }else{
                    year=parseInt(years[0],10);endYear=parseInt(years[1],10);
                }
                year=(minDate?Math.max(year,minDate.getFullYear()):year);endYear=(maxDate?Math.min(endYear,maxDate.getFullYear()):endYear);html+='<select class="ui-datepicker-new-year" '+'onchange="jQuery.datepicker._selectMonthYear('+this._id+', this, \'Y\');" '+'onclick="jQuery.datepicker._clickMonthYear('+this._id+');"'+
                (showStatus?this._addStatus(this._get('yearStatus')||'&#xa0;'):'')+'>';for(;year<=endYear;year++){
                    html+='<option value="'+year+'"'+
                    (year==drawYear?' selected="selected"':'')+'>'+year+'</option>';
                }
                html+='</select>';
            }
            html+='</div>';return html;
        },
        _addStatus:function(text){
            return' onmouseover="jQuery(\'#ui-datepicker-status-'+this._id+'\').html(\''+text+'\');" '+'onmouseout="jQuery(\'#ui-datepicker-status-'+this._id+'\').html(\'&#xa0;\');"';
        },
        _adjustDate:function(offset,period){
            var year=this._drawYear+(period=='Y'?offset:0);var month=this._drawMonth+(period=='M'?offset:0);var day=Math.min(this._selectedDay,this._getDaysInMonth(year,month))+
            (period=='D'?offset:0);var date=new Date(year,month,day);var minDate=this._getMinMaxDate('min',true);var maxDate=this._getMinMaxDate('max');date=(minDate&&date<minDate?minDate:date);date=(maxDate&&date>maxDate?maxDate:date);this._selectedDay=date.getDate();this._drawMonth=this._selectedMonth=date.getMonth();this._drawYear=this._selectedYear=date.getFullYear();
        },
        _getNumberOfMonths:function(){
            var numMonths=this._get('numberOfMonths');return(numMonths==null?[1,1]:(typeof numMonths=='number'?[1,numMonths]:numMonths));
        },
        _getMinMaxDate:function(minMax,checkRange){
            var date=this._determineDate(minMax+'Date',null);if(date){
                date.setHours(0);date.setMinutes(0);date.setSeconds(0);date.setMilliseconds(0);
            }
            return date||(checkRange?this._rangeStart:null);
        },
        _getDaysInMonth:function(year,month){
            return 32-new Date(year,month,32).getDate();
        },
        _getFirstDayOfMonth:function(year,month){
            return new Date(year,month,1).getDay();
        },
        _canAdjustMonth:function(offset,curYear,curMonth){
            var numMonths=this._getNumberOfMonths();var date=new Date(curYear,curMonth+(offset<0?offset:numMonths[1]),1);if(offset<0)
                date.setDate(this._getDaysInMonth(date.getFullYear(),date.getMonth()));return this._isInRange(date);
        },
        _isInRange:function(date){
            var newMinDate=(!this._rangeStart?null:new Date(this._selectedYear,this._selectedMonth,this._selectedDay));newMinDate=(newMinDate&&this._rangeStart<newMinDate?this._rangeStart:newMinDate);var minDate=newMinDate||this._getMinMaxDate('min');var maxDate=this._getMinMaxDate('max');return((!minDate||date>=minDate)&&(!maxDate||date<=maxDate));
        },
        _getFormatConfig:function(){
            var shortYearCutoff=this._get('shortYearCutoff');shortYearCutoff=(typeof shortYearCutoff!='string'?shortYearCutoff:new Date().getFullYear()%100+parseInt(shortYearCutoff,10));return{
                shortYearCutoff:shortYearCutoff,
                dayNamesShort:this._get('dayNamesShort'),
                dayNames:this._get('dayNames'),
                monthNamesShort:this._get('monthNamesShort'),
                monthNames:this._get('monthNames')
                };
        },
        _formatDate:function(day,month,year){
            if(!day){
                this._currentDay=this._selectedDay;this._currentMonth=this._selectedMonth;this._currentYear=this._selectedYear;
            }
            var date=(day?(typeof day=='object'?day:new Date(year,month,day)):new Date(this._currentYear,this._currentMonth,this._currentDay));return $.datepicker.formatDate(this._get('dateFormat'),date,this._getFormatConfig());
        }
        });function extendRemove(target,props){
        $.extend(target,props);for(var name in props)
            if(props[name]==null)
                target[name]=null;return target;
    };$.fn.datepicker=function(options){
        var otherArgs=Array.prototype.slice.call(arguments,1);if(typeof options=='string'&&(options=='isDisabled'||options=='getDate')){
            return $.datepicker['_'+options+'Datepicker'].apply($.datepicker,[this[0]].concat(otherArgs));
        }
        return this.each(function(){
            typeof options=='string'?$.datepicker['_'+options+'Datepicker'].apply($.datepicker,[this].concat(otherArgs)):$.datepicker._attachDatepicker(this,options);
        });
    };$.datepicker=new Datepicker();$(document).ready(function(){
        $(document.body).append($.datepicker._datepickerDiv).mousedown($.datepicker._checkExternalClick);
    });
})(jQuery);;(function($){
    $.effects=$.effects||{};$.extend($.effects,{
        save:function(el,set){
            for(var i=0;i<set.length;i++){
                if(set[i]!==null)$.data(el[0],"ec.storage."+set[i],el[0].style[set[i]]);
            }
            },
        restore:function(el,set){
            for(var i=0;i<set.length;i++){
                if(set[i]!==null)el.css(set[i],$.data(el[0],"ec.storage."+set[i]));
            }
            },
        setMode:function(el,mode){
            if(mode=='toggle')mode=el.is(':hidden')?'show':'hide';return mode;
        },
        getBaseline:function(origin,original){
            var y,x;switch(origin[0]){
                case'top':y=0;break;case'middle':y=0.5;break;case'bottom':y=1;break;default:y=origin[0]/original.height;
            };switch(origin[1]){
                case'left':x=0;break;case'center':x=0.5;break;case'right':x=1;break;default:x=origin[1]/original.width;
            };return{
                x:x,
                y:y
            };
        },
        createWrapper:function(el){
            if(el.parent().attr('id')=='fxWrapper')
                return el;var props={
                width:el.outerWidth({
                    margin:true
                }),
                height:el.outerHeight({
                    margin:true
                }),
                'float':el.css('float')
                };el.wrap('<div id="fxWrapper" style="font-size:100%;background:transparent;border:none;margin:0;padding:0"></div>');var wrapper=el.parent();if(el.css('position')=='static'){
                wrapper.css({
                    position:'relative'
                });el.css({
                    position:'relative'
                });
            }else{
                var top=parseInt(el.css('top'),10);if(isNaN(top))top='auto';var left=parseInt(el.css('left'),10);if(isNaN(top))left='auto';wrapper.css({
                    position:el.css('position'),
                    top:top,
                    left:left,
                    zIndex:el.css('z-index')
                    }).show();el.css({
                    position:'relative',
                    top:0,
                    left:0
                });
            }
            wrapper.css(props);return wrapper;
        },
        removeWrapper:function(el){
            if(el.parent().attr('id')=='fxWrapper')
                return el.parent().replaceWith(el);return el;
        },
        setTransition:function(el,list,factor,val){
            val=val||{};$.each(list,function(i,x){
                unit=el.cssUnit(x);if(unit[0]>0)val[x]=unit[0]*factor+unit[1];
            });return val;
        },
        animateClass:function(value,duration,easing,callback){
            var cb=(typeof easing=="function"?easing:(callback?callback:null));var ea=(typeof easing=="object"?easing:null);return this.each(function(){
                var offset={};var that=$(this);var oldStyleAttr=that.attr("style")||'';if(typeof oldStyleAttr=='object')oldStyleAttr=oldStyleAttr["cssText"];if(value.toggle){
                    that.hasClass(value.toggle)?value.remove=value.toggle:value.add=value.toggle;
                }
                var oldStyle=$.extend({},(document.defaultView?document.defaultView.getComputedStyle(this,null):this.currentStyle));if(value.add)that.addClass(value.add);if(value.remove)that.removeClass(value.remove);var newStyle=$.extend({},(document.defaultView?document.defaultView.getComputedStyle(this,null):this.currentStyle));if(value.add)that.removeClass(value.add);if(value.remove)that.addClass(value.remove);for(var n in newStyle){
                    if(typeof newStyle[n]!="function"&&newStyle[n]&&n.indexOf("Moz")==-1&&n.indexOf("length")==-1&&newStyle[n]!=oldStyle[n]&&(n.match(/color/i)||(!n.match(/color/i)&&!isNaN(parseInt(newStyle[n],10))))&&(oldStyle.position!="static"||(oldStyle.position=="static"&&!n.match(/left|top|bottom|right/))))offset[n]=newStyle[n];
                }
                that.animate(offset,duration,ea,function(){
                    if(typeof $(this).attr("style")=='object'){
                        $(this).attr("style")["cssText"]="";$(this).attr("style")["cssText"]=oldStyleAttr;
                    }else $(this).attr("style",oldStyleAttr);if(value.add)$(this).addClass(value.add);if(value.remove)$(this).removeClass(value.remove);if(cb)cb.apply(this,arguments);
                });
            });
        }
        });$.fn.extend({
        _show:$.fn.show,
        _hide:$.fn.hide,
        __toggle:$.fn.toggle,
        _addClass:$.fn.addClass,
        _removeClass:$.fn.removeClass,
        _toggleClass:$.fn.toggleClass,
        effect:function(fx,o,speed,callback){
            return $.effects[fx]?$.effects[fx].call(this,{
                method:fx,
                options:o||{},
                duration:speed,
                callback:callback
            }):null;
        },
        show:function(){
            if(!arguments[0]||(arguments[0].constructor==Number||/(slow|normal|fast)/.test(arguments[0])))
                return this._show.apply(this,arguments);else{
                var o=arguments[1]||{};o['mode']='show';return this.effect.apply(this,[arguments[0],o,arguments[2]||o.duration,arguments[3]||o.callback]);
            }
            },
        hide:function(){
            if(!arguments[0]||(arguments[0].constructor==Number||/(slow|normal|fast)/.test(arguments[0])))
                return this._hide.apply(this,arguments);else{
                var o=arguments[1]||{};o['mode']='hide';return this.effect.apply(this,[arguments[0],o,arguments[2]||o.duration,arguments[3]||o.callback]);
            }
            },
        toggle:function(){
            if(!arguments[0]||(arguments[0].constructor==Number||/(slow|normal|fast)/.test(arguments[0]))||(arguments[0].constructor==Function))
                return this.__toggle.apply(this,arguments);else{
                var o=arguments[1]||{};o['mode']='toggle';return this.effect.apply(this,[arguments[0],o,arguments[2]||o.duration,arguments[3]||o.callback]);
            }
            },
        addClass:function(classNames,speed,easing,callback){
            return speed?$.effects.animateClass.apply(this,[{
                add:classNames
            },speed,easing,callback]):this._addClass(classNames);
        },
        removeClass:function(classNames,speed,easing,callback){
            return speed?$.effects.animateClass.apply(this,[{
                remove:classNames
            },speed,easing,callback]):this._removeClass(classNames);
        },
        toggleClass:function(classNames,speed,easing,callback){
            return speed?$.effects.animateClass.apply(this,[{
                toggle:classNames
            },speed,easing,callback]):this._toggleClass(classNames);
        },
        morph:function(remove,add,speed,easing,callback){
            return $.effects.animateClass.apply(this,[{
                add:add,
                remove:remove
            },speed,easing,callback]);
        },
        switchClass:function(){
            return this.morph.apply(this,arguments);
        },
        cssUnit:function(key){
            var style=this.css(key),val=[];$.each(['em','px','%','pt'],function(i,unit){
                if(style.indexOf(unit)>0)
                    val=[parseFloat(style),unit];
            });return val;
        }
        });jQuery.each(['backgroundColor','borderBottomColor','borderLeftColor','borderRightColor','borderTopColor','color','outlineColor'],function(i,attr){
        jQuery.fx.step[attr]=function(fx){
            if(fx.state==0){
                fx.start=getColor(fx.elem,attr);fx.end=getRGB(fx.end);
            }
            fx.elem.style[attr]="rgb("+[Math.max(Math.min(parseInt((fx.pos*(fx.end[0]-fx.start[0]))+fx.start[0]),255),0),Math.max(Math.min(parseInt((fx.pos*(fx.end[1]-fx.start[1]))+fx.start[1]),255),0),Math.max(Math.min(parseInt((fx.pos*(fx.end[2]-fx.start[2]))+fx.start[2]),255),0)].join(",")+")";
        }
        });function getRGB(color){
        var result;if(color&&color.constructor==Array&&color.length==3)
            return color;if(result=/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(color))
            return[parseInt(result[1]),parseInt(result[2]),parseInt(result[3])];if(result=/rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(color))
            return[parseFloat(result[1])*2.55,parseFloat(result[2])*2.55,parseFloat(result[3])*2.55];if(result=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(color))
            return[parseInt(result[1],16),parseInt(result[2],16),parseInt(result[3],16)];if(result=/#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(color))
            return[parseInt(result[1]+result[1],16),parseInt(result[2]+result[2],16),parseInt(result[3]+result[3],16)];if(result=/rgba\(0, 0, 0, 0\)/.exec(color))
            return colors['transparent']
        return colors[jQuery.trim(color).toLowerCase()];
    }
    function getColor(elem,attr){
        var color;do{
            color=jQuery.curCSS(elem,attr);if(color!=''&&color!='transparent'||jQuery.nodeName(elem,"body"))
                break;attr="backgroundColor";
        }while(elem=elem.parentNode);return getRGB(color);
    };var colors={
        aqua:[0,255,255],
        azure:[240,255,255],
        beige:[245,245,220],
        black:[0,0,0],
        blue:[0,0,255],
        brown:[165,42,42],
        cyan:[0,255,255],
        darkblue:[0,0,139],
        darkcyan:[0,139,139],
        darkgrey:[169,169,169],
        darkgreen:[0,100,0],
        darkkhaki:[189,183,107],
        darkmagenta:[139,0,139],
        darkolivegreen:[85,107,47],
        darkorange:[255,140,0],
        darkorchid:[153,50,204],
        darkred:[139,0,0],
        darksalmon:[233,150,122],
        darkviolet:[148,0,211],
        fuchsia:[255,0,255],
        gold:[255,215,0],
        green:[0,128,0],
        indigo:[75,0,130],
        khaki:[240,230,140],
        lightblue:[173,216,230],
        lightcyan:[224,255,255],
        lightgreen:[144,238,144],
        lightgrey:[211,211,211],
        lightpink:[255,182,193],
        lightyellow:[255,255,224],
        lime:[0,255,0],
        magenta:[255,0,255],
        maroon:[128,0,0],
        navy:[0,0,128],
        olive:[128,128,0],
        orange:[255,165,0],
        pink:[255,192,203],
        purple:[128,0,128],
        violet:[128,0,128],
        red:[255,0,0],
        silver:[192,192,192],
        white:[255,255,255],
        yellow:[255,255,0],
        transparent:[255,255,255]
        };jQuery.easing['jswing']=jQuery.easing['swing'];jQuery.extend(jQuery.easing,{
        def:'easeOutQuad',
        swing:function(x,t,b,c,d){
            return jQuery.easing[jQuery.easing.def](x,t,b,c,d);
        },
        easeInQuad:function(x,t,b,c,d){
            return c*(t/=d)*t+b;
        },
        easeOutQuad:function(x,t,b,c,d){
            return-c*(t/=d)*(t-2)+b;
        },
        easeInOutQuad:function(x,t,b,c,d){
            if((t/=d/2)<1)return c/2*t*t+b;return-c/2*((--t)*(t-2)-1)+b;
        },
        easeInCubic:function(x,t,b,c,d){
            return c*(t/=d)*t*t+b;
        },
        easeOutCubic:function(x,t,b,c,d){
            return c*((t=t/d-1)*t*t+1)+b;
        },
        easeInOutCubic:function(x,t,b,c,d){
            if((t/=d/2)<1)return c/2*t*t*t+b;return c/2*((t-=2)*t*t+2)+b;
        },
        easeInQuart:function(x,t,b,c,d){
            return c*(t/=d)*t*t*t+b;
        },
        easeOutQuart:function(x,t,b,c,d){
            return-c*((t=t/d-1)*t*t*t-1)+b;
        },
        easeInOutQuart:function(x,t,b,c,d){
            if((t/=d/2)<1)return c/2*t*t*t*t+b;return-c/2*((t-=2)*t*t*t-2)+b;
        },
        easeInQuint:function(x,t,b,c,d){
            return c*(t/=d)*t*t*t*t+b;
        },
        easeOutQuint:function(x,t,b,c,d){
            return c*((t=t/d-1)*t*t*t*t+1)+b;
        },
        easeInOutQuint:function(x,t,b,c,d){
            if((t/=d/2)<1)return c/2*t*t*t*t*t+b;return c/2*((t-=2)*t*t*t*t+2)+b;
        },
        easeInSine:function(x,t,b,c,d){
            return-c*Math.cos(t/d*(Math.PI/2))+c+b;
        },
        easeOutSine:function(x,t,b,c,d){
            return c*Math.sin(t/d*(Math.PI/2))+b;
        },
        easeInOutSine:function(x,t,b,c,d){
            return-c/2*(Math.cos(Math.PI*t/d)-1)+b;
        },
        easeInExpo:function(x,t,b,c,d){
            return(t==0)?b:c*Math.pow(2,10*(t/d-1))+b;
        },
        easeOutExpo:function(x,t,b,c,d){
            return(t==d)?b+c:c*(-Math.pow(2,-10*t/d)+1)+b;
        },
        easeInOutExpo:function(x,t,b,c,d){
            if(t==0)return b;if(t==d)return b+c;if((t/=d/2)<1)return c/2*Math.pow(2,10*(t-1))+b;return c/2*(-Math.pow(2,-10*--t)+2)+b;
        },
        easeInCirc:function(x,t,b,c,d){
            return-c*(Math.sqrt(1-(t/=d)*t)-1)+b;
        },
        easeOutCirc:function(x,t,b,c,d){
            return c*Math.sqrt(1-(t=t/d-1)*t)+b;
        },
        easeInOutCirc:function(x,t,b,c,d){
            if((t/=d/2)<1)return-c/2*(Math.sqrt(1-t*t)-1)+b;return c/2*(Math.sqrt(1-(t-=2)*t)+1)+b;
        },
        easeInElastic:function(x,t,b,c,d){
            var s=1.70158;var p=0;var a=c;if(t==0)return b;if((t/=d)==1)return b+c;if(!p)p=d*.3;if(a<Math.abs(c)){
                a=c;var s=p/4;
            }
            else var s=p/(2*Math.PI)*Math.asin(c/a);return-(a*Math.pow(2,10*(t-=1))*Math.sin((t*d-s)*(2*Math.PI)/p))+b;
        },
        easeOutElastic:function(x,t,b,c,d){
            var s=1.70158;var p=0;var a=c;if(t==0)return b;if((t/=d)==1)return b+c;if(!p)p=d*.3;if(a<Math.abs(c)){
                a=c;var s=p/4;
            }
            else var s=p/(2*Math.PI)*Math.asin(c/a);return a*Math.pow(2,-10*t)*Math.sin((t*d-s)*(2*Math.PI)/p)+c+b;
        },
        easeInOutElastic:function(x,t,b,c,d){
            var s=1.70158;var p=0;var a=c;if(t==0)return b;if((t/=d/2)==2)return b+c;if(!p)p=d*(.3*1.5);if(a<Math.abs(c)){
                a=c;var s=p/4;
            }
            else var s=p/(2*Math.PI)*Math.asin(c/a);if(t<1)return-.5*(a*Math.pow(2,10*(t-=1))*Math.sin((t*d-s)*(2*Math.PI)/p))+b;return a*Math.pow(2,-10*(t-=1))*Math.sin((t*d-s)*(2*Math.PI)/p)*.5+c+b;
        },
        easeInBack:function(x,t,b,c,d,s){
            if(s==undefined)s=1.70158;return c*(t/=d)*t*((s+1)*t-s)+b;
        },
        easeOutBack:function(x,t,b,c,d,s){
            if(s==undefined)s=1.70158;return c*((t=t/d-1)*t*((s+1)*t+s)+1)+b;
        },
        easeInOutBack:function(x,t,b,c,d,s){
            if(s==undefined)s=1.70158;if((t/=d/2)<1)return c/2*(t*t*(((s*=(1.525))+1)*t-s))+b;return c/2*((t-=2)*t*(((s*=(1.525))+1)*t+s)+2)+b;
        },
        easeInBounce:function(x,t,b,c,d){
            return c-jQuery.easing.easeOutBounce(x,d-t,0,c,d)+b;
        },
        easeOutBounce:function(x,t,b,c,d){
            if((t/=d)<(1/2.75)){
                return c*(7.5625*t*t)+b;
            }else if(t<(2/2.75)){
                return c*(7.5625*(t-=(1.5/2.75))*t+.75)+b;
            }else if(t<(2.5/2.75)){
                return c*(7.5625*(t-=(2.25/2.75))*t+.9375)+b;
            }else{
                return c*(7.5625*(t-=(2.625/2.75))*t+.984375)+b;
            }
            },
        easeInOutBounce:function(x,t,b,c,d){
            if(t<d/2)return jQuery.easing.easeInBounce(x,t*2,0,c,d)*.5+b;return jQuery.easing.easeOutBounce(x,t*2-d,0,c,d)*.5+c*.5+b;
        }
        });
})(jQuery);(function($){
    $.effects.blind=function(o){
        return this.queue(function(){
            var el=$(this),props=['position','top','left'];var mode=$.effects.setMode(el,o.options.mode||'hide');var direction=o.options.direction||'vertical';$.effects.save(el,props);el.show();var wrapper=$.effects.createWrapper(el).css({
                overflow:'hidden'
            });var ref=(direction=='vertical')?'height':'width';var distance=(direction=='vertical')?wrapper.height():wrapper.width();if(mode=='show')wrapper.css(ref,0);var animation={};animation[ref]=mode=='show'?distance:0;wrapper.animate(animation,o.duration,o.options.easing,function(){
                if(mode=='hide')el.hide();$.effects.restore(el,props);$.effects.removeWrapper(el);if(o.callback)o.callback.apply(el[0],arguments);el.dequeue();
            });
        });
    };
})(jQuery);(function($){
    $.effects.bounce=function(o){
        return this.queue(function(){
            var el=$(this),props=['position','top','left'];var mode=$.effects.setMode(el,o.options.mode||'effect');var direction=o.options.direction||'up';var distance=o.options.distance||20;var times=o.options.times||5;var speed=o.duration||250;if(/show|hide/.test(mode))props.push('opacity');$.effects.save(el,props);el.show();$.effects.createWrapper(el);var ref=(direction=='up'||direction=='down')?'top':'left';var motion=(direction=='up'||direction=='left')?'pos':'neg';var distance=o.options.distance||(ref=='top'?el.outerHeight({
                margin:true
            })/3:el.outerWidth({
                margin:true
            })/3);if(mode=='show')el.css('opacity',0).css(ref,motion=='pos'?-distance:distance);if(mode=='hide')distance=distance/(times*2);if(mode!='hide')times--;if(mode=='show'){
                var animation={
                    opacity:1
                };animation[ref]=(motion=='pos'?'+=':'-=')+distance;el.animate(animation,speed/2,o.options.easing);distance=distance/2;times--;
            };for(var i=0;i<times;i++){
                var animation1={},animation2={};animation1[ref]=(motion=='pos'?'-=':'+=')+distance;animation2[ref]=(motion=='pos'?'+=':'-=')+distance;el.animate(animation1,speed/2,o.options.easing).animate(animation2,speed/2,o.options.easing);distance=(mode=='hide')?distance*2:distance/2;
            };if(mode=='hide'){
                var animation={
                    opacity:0
                };animation[ref]=(motion=='pos'?'-=':'+=')+distance;el.animate(animation,speed/2,o.options.easing,function(){
                    el.hide();$.effects.restore(el,props);$.effects.removeWrapper(el);if(o.callback)o.callback.apply(this,arguments);
                });
            }else{
                var animation1={},animation2={};animation1[ref]=(motion=='pos'?'-=':'+=')+distance;animation2[ref]=(motion=='pos'?'+=':'-=')+distance;el.animate(animation1,speed/2,o.options.easing).animate(animation2,speed/2,o.options.easing,function(){
                    $.effects.restore(el,props);$.effects.removeWrapper(el);if(o.callback)o.callback.apply(this,arguments);
                });
            };el.queue('fx',function(){
                el.dequeue();
            });el.dequeue();
        });
    };
})(jQuery);(function($){
    $.effects.clip=function(o){
        return this.queue(function(){
            var el=$(this),props=['position','top','left','width','height'];var mode=$.effects.setMode(el,o.options.mode||'hide');var direction=o.options.direction||'vertical';$.effects.save(el,props);el.show();$.effects.createWrapper(el).css({
                overflow:'hidden'
            });var ref={
                size:(direction=='vertical')?'height':'width',
                position:(direction=='vertical')?'top':'left'
                };var distance=(direction=='vertical')?el.height():el.width();if(mode=='show'){
                el.css(ref.size,0);el.css(ref.position,distance/2);
            }
            var animation={};animation[ref.size]=mode=='show'?distance:0;animation[ref.position]=mode=='show'?0:distance/2;el.animate(animation,{
                queue:false,
                duration:o.duration,
                easing:o.options.easing,
                complete:function(){
                    if(mode=='hide')el.hide();$.effects.restore(el,props);$.effects.removeWrapper(el);if(o.callback)o.callback.apply(this,arguments);el.dequeue();
                }
                });
        });
    };
})(jQuery);(function($){
    $.effects.drop=function(o){
        return this.queue(function(){
            var el=$(this),props=['position','top','left','opacity'];var mode=$.effects.setMode(el,o.options.mode||'hide');var direction=o.options.direction||'left';$.effects.save(el,props);el.show();$.effects.createWrapper(el);var ref=(direction=='up'||direction=='down')?'top':'left';var motion=(direction=='up'||direction=='left')?'pos':'neg';var distance=o.options.distance||(ref=='top'?el.outerHeight({
                margin:true
            })/2:el.outerWidth({
                margin:true
            })/2);if(mode=='show')el.css('opacity',0).css(ref,motion=='pos'?-distance:distance);var animation={
                opacity:mode=='show'?1:0
                };animation[ref]=(mode=='show'?(motion=='pos'?'+=':'-='):(motion=='pos'?'-=':'+='))+distance;el.animate(animation,{
                queue:false,
                duration:o.duration,
                easing:o.options.easing,
                complete:function(){
                    if(mode=='hide')el.hide();$.effects.restore(el,props);$.effects.removeWrapper(el);if(o.callback)o.callback.apply(this,arguments);el.dequeue();
                }
                });
        });
    };
})(jQuery);(function($){
    $.effects.explode=function(o){
        return this.queue(function(){
            var rows=o.options.pieces?Math.round(Math.sqrt(o.options.pieces)):3;var cells=o.options.pieces?Math.round(Math.sqrt(o.options.pieces)):3;o.options.mode=o.options.mode=='toggle'?($(this).is(':visible')?'hide':'show'):o.options.mode;var el=$(this).show().css('visibility','hidden');var offset=el.offset();offset.top-=parseInt(el.css("marginTop"))||0;offset.left-=parseInt(el.css("marginLeft"))||0;var width=el.outerWidth(true);var height=el.outerHeight(true);for(var i=0;i<rows;i++){
                for(var j=0;j<cells;j++){
                    el.clone().appendTo('body').wrap('<div></div>').css({
                        position:'absolute',
                        visibility:'visible',
                        left:-j*(width/cells),
                        top:-i*(height/rows)
                        }).parent().addClass('effects-explode').css({
                        position:'absolute',
                        overflow:'hidden',
                        width:width/cells,
                        height:height/rows,
                        left:offset.left+j*(width/cells)+(o.options.mode=='show'?(j-Math.floor(cells/2))*(width/cells):0),
                        top:offset.top+i*(height/rows)+(o.options.mode=='show'?(i-Math.floor(rows/2))*(height/rows):0),
                        opacity:o.options.mode=='show'?0:1
                        }).animate({
                        left:offset.left+j*(width/cells)+(o.options.mode=='show'?0:(j-Math.floor(cells/2))*(width/cells)),
                        top:offset.top+i*(height/rows)+(o.options.mode=='show'?0:(i-Math.floor(rows/2))*(height/rows)),
                        opacity:o.options.mode=='show'?1:0
                        },o.duration||500);
                }
                }
            setTimeout(function(){
                o.options.mode=='show'?el.css({
                    visibility:'visible'
                }):el.css({
                    visibility:'visible'
                }).hide();if(o.callback)o.callback.apply(el[0]);el.dequeue();$('.effects-explode').remove();
            },o.duration||500);
        });
    };
})(jQuery);(function($){
    $.effects.fold=function(o){
        return this.queue(function(){
            var el=$(this),props=['position','top','left'];var mode=$.effects.setMode(el,o.options.mode||'hide');var size=o.options.size||15;$.effects.save(el,props);el.show();var wrapper=$.effects.createWrapper(el).css({
                overflow:'hidden'
            });var ref=(mode=='show')?['width','height']:['height','width'];var distance=(mode=='show')?[wrapper.width(),wrapper.height()]:[wrapper.height(),wrapper.width()];if(mode=='show')wrapper.css({
                height:size,
                width:0
            });var animation1={},animation2={};animation1[ref[0]]=mode=='show'?distance[0]:size;animation2[ref[1]]=mode=='show'?distance[1]:0;wrapper.animate(animation1,o.duration/2,o.options.easing).animate(animation2,o.duration/2,o.options.easing,function(){
                if(mode=='hide')el.hide();$.effects.restore(el,props);$.effects.removeWrapper(el);if(o.callback)o.callback.apply(el[0],arguments);el.dequeue();
            });
        });
    };
})(jQuery);;(function($){
    $.effects.highlight=function(o){
        return this.queue(function(){
            var el=$(this),props=['backgroundImage','backgroundColor','opacity'];var mode=$.effects.setMode(el,o.options.mode||'show');var color=o.options.color||"#ffff99";var oldColor=el.css("backgroundColor");$.effects.save(el,props);el.show();el.css({
                backgroundImage:'none',
                backgroundColor:color
            });var animation={
                backgroundColor:oldColor
            };if(mode=="hide")animation['opacity']=0;el.animate(animation,{
                queue:false,
                duration:o.duration,
                easing:o.options.easing,
                complete:function(){
                    if(mode=="hide")el.hide();$.effects.restore(el,props);if(mode=="show"&&jQuery.browser.msie)this.style.removeAttribute('filter');if(o.callback)o.callback.apply(this,arguments);el.dequeue();
                }
                });
        });
    };
})(jQuery);(function($){
    $.effects.pulsate=function(o){
        return this.queue(function(){
            var el=$(this);var mode=$.effects.setMode(el,o.options.mode||'show');var times=o.options.times||5;if(mode=='hide')times--;if(el.is(':hidden')){
                el.css('opacity',0);el.show();el.animate({
                    opacity:1
                },o.duration/2,o.options.easing);times=times-2;
            }
            for(var i=0;i<times;i++){
                el.animate({
                    opacity:0
                },o.duration/2,o.options.easing).animate({
                    opacity:1
                },o.duration/2,o.options.easing);
            };if(mode=='hide'){
                el.animate({
                    opacity:0
                },o.duration/2,o.options.easing,function(){
                    el.hide();if(o.callback)o.callback.apply(this,arguments);
                });
            }else{
                el.animate({
                    opacity:0
                },o.duration/2,o.options.easing).animate({
                    opacity:1
                },o.duration/2,o.options.easing,function(){
                    if(o.callback)o.callback.apply(this,arguments);
                });
            };el.queue('fx',function(){
                el.dequeue();
            });el.dequeue();
        });
    };
})(jQuery);(function($){
    $.effects.puff=function(o){
        return this.queue(function(){
            var el=$(this);var options=$.extend(true,{},o);var mode=$.effects.setMode(el,o.options.mode||'hide');var percent=parseInt(o.options.percent)||150;options.fade=true;var original={
                height:el.height(),
                width:el.width()
                };var factor=percent/100;el.from=(mode=='hide')?original:{
                height:original.height*factor,
                width:original.width*factor
                };options.from=el.from;options.percent=(mode=='hide')?percent:100;options.mode=mode;el.effect('scale',options,o.duration,o.callback);el.dequeue();
        });
    };$.effects.scale=function(o){
        return this.queue(function(){
            var el=$(this);var options=$.extend(true,{},o);var mode=$.effects.setMode(el,o.options.mode||'effect');var percent=parseInt(o.options.percent)||(parseInt(o.options.percent)==0?0:(mode=='hide'?0:100));var direction=o.options.direction||'both';var origin=o.options.origin;if(mode!='effect'){
                origin=origin||['middle','center'];options.restore=true;
            }
            var original={
                height:el.height(),
                width:el.width()
                };el.from=o.options.from||(mode=='show'?{
                height:0,
                width:0
            }:original);var factor={
                y:direction!='horizontal'?(percent/100):1,
                x:direction!='vertical'?(percent/100):1
                };el.to={
                height:original.height*factor.y,
                width:original.width*factor.x
                };if(origin){
                var baseline=$.effects.getBaseline(origin,original);el.from.top=(original.height-el.from.height)*baseline.y;el.from.left=(original.width-el.from.width)*baseline.x;el.to.top=(original.height-el.to.height)*baseline.y;el.to.left=(original.width-el.to.width)*baseline.x;
            };if(o.options.fade){
                if(mode=='show'){
                    el.from.opacity=0;el.to.opacity=1;
                };if(mode=='hide'){
                    el.from.opacity=1;el.to.opacity=0;
                };
            };options.from=el.from;options.to=el.to;options.mode=mode;el.effect('size',options,o.duration,o.callback);el.dequeue();
        });
    };$.effects.size=function(o){
        return this.queue(function(){
            var el=$(this),props=['position','top','left','width','height','overflow','opacity'];var props1=['position','overflow','opacity'];var props2=['width','height','overflow'];var cProps=['fontSize'];var vProps=['borderTopWidth','borderBottomWidth','paddingTop','paddingBottom'];var hProps=['borderLeftWidth','borderRightWidth','paddingLeft','paddingRight'];var mode=$.effects.setMode(el,o.options.mode||'effect');var restore=o.options.restore||false;var scale=o.options.scale||'both';var original={
                height:el.height(),
                width:el.width()
                };el.from=o.options.from||original;el.to=o.options.to||original;var factor={
                from:{
                    y:el.from.height/original.height,
                    x:el.from.width/original.width
                    },
                to:{
                    y:el.to.height/original.height,
                    x:el.to.width/original.width
                    }
                };if(scale=='box'||scale=='both'){
                if(factor.from.y!=factor.to.y){
                    props=props.concat(vProps);el.from=$.effects.setTransition(el,vProps,factor.from.y,el.from);el.to=$.effects.setTransition(el,vProps,factor.to.y,el.to);
                };if(factor.from.x!=factor.to.x){
                    props=props.concat(hProps);el.from=$.effects.setTransition(el,hProps,factor.from.x,el.from);el.to=$.effects.setTransition(el,hProps,factor.to.x,el.to);
                };
            };if(scale=='content'||scale=='both'){
                if(factor.from.y!=factor.to.y){
                    props=props.concat(cProps);el.from=$.effects.setTransition(el,cProps,factor.from.y,el.from);el.to=$.effects.setTransition(el,cProps,factor.to.y,el.to);
                };
            };$.effects.save(el,restore?props:props1);el.show();$.effects.createWrapper(el);el.css('overflow','hidden').css(el.from);if(scale=='content'||scale=='both'){
                vProps=vProps.concat(['marginTop','marginBottom']).concat(cProps);hProps=hProps.concat(['marginLeft','marginRight']);props2=props.concat(vProps).concat(hProps);el.find("*[width]").each(function(){
                    child=$(this);if(restore)$.effects.save(child,props2);var c_original={
                        height:child.height(),
                        width:child.width()
                        };child.from={
                        height:c_original.height*factor.from.y,
                        width:c_original.width*factor.from.x
                        };child.to={
                        height:c_original.height*factor.to.y,
                        width:c_original.width*factor.to.x
                        };if(factor.from.y!=factor.to.y){
                        child.from=$.effects.setTransition(child,vProps,factor.from.y,child.from);child.to=$.effects.setTransition(child,vProps,factor.to.y,child.to);
                    };if(factor.from.x!=factor.to.x){
                        child.from=$.effects.setTransition(child,hProps,factor.from.x,child.from);child.to=$.effects.setTransition(child,hProps,factor.to.x,child.to);
                    };child.css(child.from);child.animate(child.to,o.duration,o.options.easing,function(){
                        if(restore)$.effects.restore(child,props2);
                    });
                });
            };el.animate(el.to,{
                queue:false,
                duration:o.duration,
                easing:o.options.easing,
                complete:function(){
                    if(mode=='hide')el.hide();$.effects.restore(el,restore?props:props1);$.effects.removeWrapper(el);if(o.callback)o.callback.apply(this,arguments);el.dequeue();
                }
                });
        });
    };
})(jQuery);(function($){
    $.effects.shake=function(o){
        return this.queue(function(){
            var el=$(this),props=['position','top','left'];var mode=$.effects.setMode(el,o.options.mode||'effect');var direction=o.options.direction||'left';var distance=o.options.distance||20;var times=o.options.times||3;var speed=o.duration||o.options.duration||140;$.effects.save(el,props);el.show();$.effects.createWrapper(el);var ref=(direction=='up'||direction=='down')?'top':'left';var motion=(direction=='up'||direction=='left')?'pos':'neg';var animation={},animation1={},animation2={};animation[ref]=(motion=='pos'?'-=':'+=')+distance;animation1[ref]=(motion=='pos'?'+=':'-=')+distance*2;animation2[ref]=(motion=='pos'?'-=':'+=')+distance*2;el.animate(animation,speed,o.options.easing);for(var i=1;i<times;i++){
                el.animate(animation1,speed,o.options.easing).animate(animation2,speed,o.options.easing);
            };el.animate(animation1,speed,o.options.easing).animate(animation,speed/2,o.options.easing,function(){
                $.effects.restore(el,props);$.effects.removeWrapper(el);if(o.callback)o.callback.apply(this,arguments);
            });el.queue('fx',function(){
                el.dequeue();
            });el.dequeue();
        });
    };
})(jQuery);(function($){
    $.effects.slide=function(o){
        return this.queue(function(){
            var el=$(this),props=['position','top','left'];var mode=$.effects.setMode(el,o.options.mode||'show');var direction=o.options.direction||'left';$.effects.save(el,props);el.show();$.effects.createWrapper(el).css({
                overflow:'hidden'
            });var ref=(direction=='up'||direction=='down')?'top':'left';var motion=(direction=='up'||direction=='left')?'pos':'neg';var distance=o.options.distance||(ref=='top'?el.outerHeight({
                margin:true
            }):el.outerWidth({
                margin:true
            }));if(mode=='show')el.css(ref,motion=='pos'?-distance:distance);var animation={};animation[ref]=(mode=='show'?(motion=='pos'?'+=':'-='):(motion=='pos'?'-=':'+='))+distance;el.animate(animation,{
                queue:false,
                duration:o.duration,
                easing:o.options.easing,
                complete:function(){
                    if(mode=='hide')el.hide();$.effects.restore(el,props);$.effects.removeWrapper(el);if(o.callback)o.callback.apply(this,arguments);el.dequeue();
                }
                });
        });
    };
})(jQuery);(function($){
    $.effects.transfer=function(o){
        return this.queue(function(){
            var el=$(this);var mode=$.effects.setMode(el,o.options.mode||'effect');var target=$(o.options.to);var position=el.offset();var transfer=$('<div class="ui-effects-transfer"></div>').appendTo(document.body);if(o.options.className)transfer.addClass(o.options.className);transfer.addClass(o.options.className);transfer.css({
                top:position.top,
                left:position.left,
                height:el.outerHeight(true)-parseInt(transfer.css('borderTopWidth'))-parseInt(transfer.css('borderBottomWidth')),
                width:el.outerWidth(true)-parseInt(transfer.css('borderLeftWidth'))-parseInt(transfer.css('borderRightWidth')),
                position:'absolute'
            });position=target.offset();animation={
                top:position.top,
                left:position.left,
                height:target.outerHeight()-parseInt(transfer.css('borderTopWidth'))-parseInt(transfer.css('borderBottomWidth')),
                width:target.outerWidth()-parseInt(transfer.css('borderLeftWidth'))-parseInt(transfer.css('borderRightWidth'))
                };transfer.animate(animation,o.duration,o.options.easing,function(){
                transfer.remove();if(o.callback)o.callback.apply(el[0],arguments);el.dequeue();
            });
        });
    };
})(jQuery);