/*
 * jQuery UI 1.7.2
 *
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI
 */
jQuery.ui||(function(c){
	var i=c.fn.remove,d=c.browser.mozilla&&(parseFloat(c.browser.version)<1.9);
	c.ui={
		version:"1.7.2",
		plugin:{
			add:function(k,l,n){
				var m=c.ui[k].prototype;
				for(var j in n){
					m.plugins[j]=m.plugins[j]||[];
					m.plugins[j].push([l,n[j]])
					}
				},
		call:function(j,l,k){
			var n=j.plugins[l];
			if(!n||!j.element[0].parentNode){
				return
			}
			for(var m=0;m<n.length;m++){
				if(j.options[n[m][0]]){
					n[m][1].apply(j.element,k)
					}
				}
			}
	},
contains:function(k,j){
	return document.compareDocumentPosition?k.compareDocumentPosition(j)&16:k!==j&&k.contains(j)
	},
hasScroll:function(m,k){
	if(c(m).css("overflow")=="hidden"){
		return false
		}
		var j=(k&&k=="left")?"scrollLeft":"scrollTop",l=false;
	if(m[j]>0){
		return true
		}
		m[j]=1;
	l=(m[j]>0);
	m[j]=0;
	return l
	},
isOverAxis:function(k,j,l){
	return(k>j)&&(k<(j+l))
	},
isOver:function(o,k,n,m,j,l){
	return c.ui.isOverAxis(o,n,j)&&c.ui.isOverAxis(k,m,l)
	},
keyCode:{
	BACKSPACE:8,
	CAPS_LOCK:20,
	COMMA:188,
	CONTROL:17,
	DELETE:46,
	DOWN:40,
	END:35,
	ENTER:13,
	ESCAPE:27,
	HOME:36,
	INSERT:45,
	LEFT:37,
	NUMPAD_ADD:107,
	NUMPAD_DECIMAL:110,
	NUMPAD_DIVIDE:111,
	NUMPAD_ENTER:108,
	NUMPAD_MULTIPLY:106,
	NUMPAD_SUBTRACT:109,
	PAGE_DOWN:34,
	PAGE_UP:33,
	PERIOD:190,
	RIGHT:39,
	SHIFT:16,
	SPACE:32,
	TAB:9,
	UP:38
}
};

if(d){
	var f=c.attr,e=c.fn.removeAttr,h="http://www.w3.org/2005/07/aaa",a=/^aria-/,b=/^wairole:/;
	c.attr=function(k,j,l){
		var m=l!==undefined;
		return(j=="role"?(m?f.call(this,k,j,"wairole:"+l):(f.apply(this,arguments)||"").replace(b,"")):(a.test(j)?(m?k.setAttributeNS(h,j.replace(a,"aaa:"),l):f.call(this,k,j.replace(a,"aaa:"))):f.apply(this,arguments)))
		};

	c.fn.removeAttr=function(j){
		return(a.test(j)?this.each(function(){
			this.removeAttributeNS(h,j.replace(a,""))
			}):e.call(this,j))
		}
	}
c.fn.extend({
	remove:function(){
		c("*",this).add(this).each(function(){
			c(this).triggerHandler("remove")
			});
		return i.apply(this,arguments)
		},
	enableSelection:function(){
		return this.attr("unselectable","off").css("MozUserSelect","").unbind("selectstart.ui")
		},
	disableSelection:function(){
		return this.attr("unselectable","on").css("MozUserSelect","none").bind("selectstart.ui",function(){
			return false
			})
		},
	scrollParent:function(){
		var j;
		if((c.browser.msie&&(/(static|relative)/).test(this.css("position")))||(/absolute/).test(this.css("position"))){
			j=this.parents().filter(function(){
				return(/(relative|absolute|fixed)/).test(c.curCSS(this,"position",1))&&(/(auto|scroll)/).test(c.curCSS(this,"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1))
				}).eq(0)
			}else{
			j=this.parents().filter(function(){
				return(/(auto|scroll)/).test(c.curCSS(this,"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1))
				}).eq(0)
			}
			return(/fixed/).test(this.css("position"))||!j.length?c(document):j
		}
	});
c.extend(c.expr[":"],{
	data:function(l,k,j){
		return !!c.data(l,j[3])
		},
	focusable:function(k){
		var l=k.nodeName.toLowerCase(),j=c.attr(k,"tabindex");
		return(/input|select|textarea|button|object/.test(l)?!k.disabled:"a"==l||"area"==l?k.href||!isNaN(j):!isNaN(j))&&!c(k)["area"==l?"parents":"closest"](":hidden").length
		},
	tabbable:function(k){
		var j=c.attr(k,"tabindex");
		return(isNaN(j)||j>=0)&&c(k).is(":focusable")
		}
	});
function g(m,n,o,l){
	function k(q){
		var p=c[m][n][q]||[];
		return(typeof p=="string"?p.split(/,?\s+/):p)
		}
		var j=k("getter");
	if(l.length==1&&typeof l[0]=="string"){
		j=j.concat(k("getterSetter"))
		}
		return(c.inArray(o,j)!=-1)
	}
	c.widget=function(k,j){
	var l=k.split(".")[0];
	k=k.split(".")[1];
	c.fn[k]=function(p){
		var n=(typeof p=="string"),o=Array.prototype.slice.call(arguments,1);
		if(n&&p.substring(0,1)=="_"){
			return this
			}
			if(n&&g(l,k,p,o)){
			var m=c.data(this[0],k);
			return(m?m[p].apply(m,o):undefined)
			}
			return this.each(function(){
			var q=c.data(this,k);
			(!q&&!n&&c.data(this,k,new c[l][k](this,p))._init());
			(q&&n&&c.isFunction(q[p])&&q[p].apply(q,o))
			})
		};

	c[l]=c[l]||{};

	c[l][k]=function(o,n){
		var m=this;
		this.namespace=l;
		this.widgetName=k;
		this.widgetEventPrefix=c[l][k].eventPrefix||k;
		this.widgetBaseClass=l+"-"+k;
		this.options=c.extend({},c.widget.defaults,c[l][k].defaults,c.metadata&&c.metadata.get(o)[k],n);
		this.element=c(o).bind("setData."+k,function(q,p,r){
			if(q.target==o){
				return m._setData(p,r)
				}
			}).bind("getData."+k,function(q,p){
		if(q.target==o){
			return m._getData(p)
			}
		}).bind("remove",function(){
	return m.destroy()
	})
};

c[l][k].prototype=c.extend({},c.widget.prototype,j);
c[l][k].getterSetter="option"
};

c.widget.prototype={
	_init:function(){},
	destroy:function(){
		this.element.removeData(this.widgetName).removeClass(this.widgetBaseClass+"-disabled "+this.namespace+"-state-disabled").removeAttr("aria-disabled")
		},
	option:function(l,m){
		var k=l,j=this;
		if(typeof l=="string"){
			if(m===undefined){
				return this._getData(l)
				}
				k={};

			k[l]=m
			}
			c.each(k,function(n,o){
			j._setData(n,o)
			})
		},
	_getData:function(j){
		return this.options[j]
		},
	_setData:function(j,k){
		this.options[j]=k;
		if(j=="disabled"){
			this.element[k?"addClass":"removeClass"](this.widgetBaseClass+"-disabled "+this.namespace+"-state-disabled").attr("aria-disabled",k)
			}
		},
enable:function(){
	this._setData("disabled",false)
	},
disable:function(){
	this._setData("disabled",true)
	},
_trigger:function(l,m,n){
	var p=this.options[l],j=(l==this.widgetEventPrefix?l:this.widgetEventPrefix+l);
	m=c.Event(m);
	m.type=j;
	if(m.originalEvent){
		for(var k=c.event.props.length,o;k;){
			o=c.event.props[--k];
			m[o]=m.originalEvent[o]
			}
		}
		this.element.trigger(m,n);
return !(c.isFunction(p)&&p.call(this.element[0],m,n)===false||m.isDefaultPrevented())
}
};

c.widget.defaults={
	disabled:false
};

c.ui.mouse={
	_mouseInit:function(){
		var j=this;
		this.element.bind("mousedown."+this.widgetName,function(k){
			return j._mouseDown(k)
			}).bind("click."+this.widgetName,function(k){
			if(j._preventClickEvent){
				j._preventClickEvent=false;
				k.stopImmediatePropagation();
				return false
				}
			});
	if(c.browser.msie){
		this._mouseUnselectable=this.element.attr("unselectable");
		this.element.attr("unselectable","on")
		}
		this.started=false
	},
_mouseDestroy:function(){
	this.element.unbind("."+this.widgetName);
	(c.browser.msie&&this.element.attr("unselectable",this._mouseUnselectable))
	},
_mouseDown:function(l){
	l.originalEvent=l.originalEvent||{};

	if(l.originalEvent.mouseHandled){
		return
	}(this._mouseStarted&&this._mouseUp(l));
	this._mouseDownEvent=l;
	var k=this,m=(l.which==1),j=(typeof this.options.cancel=="string"?c(l.target).parents().add(l.target).filter(this.options.cancel).length:false);
	if(!m||j||!this._mouseCapture(l)){
		return true
		}
		this.mouseDelayMet=!this.options.delay;
	if(!this.mouseDelayMet){
		this._mouseDelayTimer=setTimeout(function(){
			k.mouseDelayMet=true
			},this.options.delay)
		}
		if(this._mouseDistanceMet(l)&&this._mouseDelayMet(l)){
		this._mouseStarted=(this._mouseStart(l)!==false);
		if(!this._mouseStarted){
			l.preventDefault();
			return true
			}
		}
	this._mouseMoveDelegate=function(n){
	return k._mouseMove(n)
	};

this._mouseUpDelegate=function(n){
	return k._mouseUp(n)
	};

c(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate);
(c.browser.safari||l.preventDefault());
l.originalEvent.mouseHandled=true;
return true
},
_mouseMove:function(j){
	if(c.browser.msie&&!j.button){
		return this._mouseUp(j)
		}
		if(this._mouseStarted){
		this._mouseDrag(j);
		return j.preventDefault()
		}
		if(this._mouseDistanceMet(j)&&this._mouseDelayMet(j)){
		this._mouseStarted=(this._mouseStart(this._mouseDownEvent,j)!==false);
		(this._mouseStarted?this._mouseDrag(j):this._mouseUp(j))
		}
		return !this._mouseStarted
	},
_mouseUp:function(j){
	c(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate);
	if(this._mouseStarted){
		this._mouseStarted=false;
		this._preventClickEvent=(j.target==this._mouseDownEvent.target);
		this._mouseStop(j)
		}
		return false
	},
_mouseDistanceMet:function(j){
	return(Math.max(Math.abs(this._mouseDownEvent.pageX-j.pageX),Math.abs(this._mouseDownEvent.pageY-j.pageY))>=this.options.distance)
	},
_mouseDelayMet:function(j){
	return this.mouseDelayMet
	},
_mouseStart:function(j){},
_mouseDrag:function(j){},
_mouseStop:function(j){},
_mouseCapture:function(j){
	return true
	}
};

c.ui.mouse.defaults={
	cancel:null,
	distance:1,
	delay:0
}
})(jQuery);
;/*
 * jQuery UI Draggable 1.7.2
 *
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Draggables
 *
 * Depends:
 *	ui.core.js
 */
(function(a){
	a.widget("ui.draggable",a.extend({},a.ui.mouse,{
		_init:function(){
			if(this.options.helper=="original"&&!(/^(?:r|a|f)/).test(this.element.css("position"))){
				this.element[0].style.position="relative"
				}(this.options.addClasses&&this.element.addClass("ui-draggable"));
			(this.options.disabled&&this.element.addClass("ui-draggable-disabled"));
			this._mouseInit()
			},
		destroy:function(){
			if(!this.element.data("draggable")){
				return
			}
			this.element.removeData("draggable").unbind(".draggable").removeClass("ui-draggable ui-draggable-dragging ui-draggable-disabled");
			this._mouseDestroy()
			},
		_mouseCapture:function(b){
			var c=this.options;
			if(this.helper||c.disabled||a(b.target).is(".ui-resizable-handle")){
				return false
				}
				this.handle=this._getHandle(b);
			if(!this.handle){
				return false
				}
				return true
			},
		_mouseStart:function(b){
			var c=this.options;
			this.helper=this._createHelper(b);
			this._cacheHelperProportions();
			if(a.ui.ddmanager){
				a.ui.ddmanager.current=this
				}
				this._cacheMargins();
			this.cssPosition=this.helper.css("position");
			this.scrollParent=this.helper.scrollParent();
			this.offset=this.element.offset();
			this.offset={
				top:this.offset.top-this.margins.top,
				left:this.offset.left-this.margins.left
				};

			a.extend(this.offset,{
				click:{
					left:b.pageX-this.offset.left,
					top:b.pageY-this.offset.top
					},
				parent:this._getParentOffset(),
				relative:this._getRelativeOffset()
				});
			this.originalPosition=this._generatePosition(b);
			this.originalPageX=b.pageX;
			this.originalPageY=b.pageY;
			if(c.cursorAt){
				this._adjustOffsetFromHelper(c.cursorAt)
				}
				if(c.containment){
				this._setContainment()
				}
				this._trigger("start",b);
			this._cacheHelperProportions();
			if(a.ui.ddmanager&&!c.dropBehaviour){
				a.ui.ddmanager.prepareOffsets(this,b)
				}
				this.helper.addClass("ui-draggable-dragging");
			this._mouseDrag(b,true);
			return true
			},
		_mouseDrag:function(b,d){
			this.position=this._generatePosition(b);
			this.positionAbs=this._convertPositionTo("absolute");
			if(!d){
				var c=this._uiHash();
				this._trigger("drag",b,c);
				this.position=c.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(a.ui.ddmanager){
				a.ui.ddmanager.drag(this,b)
				}
				return false
			},
		_mouseStop:function(c){
			var d=false;
			if(a.ui.ddmanager&&!this.options.dropBehaviour){
				d=a.ui.ddmanager.drop(this,c)
				}
				if(this.dropped){
				d=this.dropped;
				this.dropped=false
				}
				if((this.options.revert=="invalid"&&!d)||(this.options.revert=="valid"&&d)||this.options.revert===true||(a.isFunction(this.options.revert)&&this.options.revert.call(this.element,d))){
				var b=this;
				a(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),function(){
					b._trigger("stop",c);
					b._clear()
					})
				}else{
				this._trigger("stop",c);
				this._clear()
				}
				return false
			},
		_getHandle:function(b){
			var c=!this.options.handle||!a(this.options.handle,this.element).length?true:false;
			a(this.options.handle,this.element).find("*").andSelf().each(function(){
				if(this==b.target){
					c=true
					}
				});
		return c
		},
	_createHelper:function(c){
		var d=this.options;
		var b=a.isFunction(d.helper)?a(d.helper.apply(this.element[0],[c])):(d.helper=="clone"?this.element.clone():this.element);
		if(!b.parents("body").length){
			b.appendTo((d.appendTo=="parent"?this.element[0].parentNode:d.appendTo))
			}
			if(b[0]!=this.element[0]&&!(/(fixed|absolute)/).test(b.css("position"))){
			b.css("position","absolute")
			}
			return b
		},
	_adjustOffsetFromHelper:function(b){
		if(b.left!=undefined){
			this.offset.click.left=b.left+this.margins.left
			}
			if(b.right!=undefined){
			this.offset.click.left=this.helperProportions.width-b.right+this.margins.left
			}
			if(b.top!=undefined){
			this.offset.click.top=b.top+this.margins.top
			}
			if(b.bottom!=undefined){
			this.offset.click.top=this.helperProportions.height-b.bottom+this.margins.top
			}
		},
	_getParentOffset:function(){
		this.offsetParent=this.helper.offsetParent();
		var b=this.offsetParent.offset();
		if(this.cssPosition=="absolute"&&this.scrollParent[0]!=document&&a.ui.contains(this.scrollParent[0],this.offsetParent[0])){
			b.left+=this.scrollParent.scrollLeft();
			b.top+=this.scrollParent.scrollTop()
			}
			if((this.offsetParent[0]==document.body)||(this.offsetParent[0].tagName&&this.offsetParent[0].tagName.toLowerCase()=="html"&&a.browser.msie)){
			b={
				top:0,
				left:0
			}
		}
		return{
		top:b.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),
		left:b.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)
		}
	},
_getRelativeOffset:function(){
	if(this.cssPosition=="relative"){
		var b=this.element.position();
		return{
			top:b.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),
			left:b.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()
			}
		}else{
	return{
		top:0,
		left:0
	}
}
},
_cacheMargins:function(){
	this.margins={
		left:(parseInt(this.element.css("marginLeft"),10)||0),
		top:(parseInt(this.element.css("marginTop"),10)||0)
		}
	},
_cacheHelperProportions:function(){
	this.helperProportions={
		width:this.helper.outerWidth(),
		height:this.helper.outerHeight()
		}
	},
_setContainment:function(){
	var e=this.options;
	if(e.containment=="parent"){
		e.containment=this.helper[0].parentNode
		}
		if(e.containment=="document"||e.containment=="window"){
		this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,a(e.containment=="document"?document:window).width()-this.helperProportions.width-this.margins.left,(a(e.containment=="document"?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]
		}
		if(!(/^(document|window|parent)$/).test(e.containment)&&e.containment.constructor!=Array){
		var c=a(e.containment)[0];
		if(!c){
			return
		}
		var d=a(e.containment).offset();
		var b=(a(c).css("overflow")!="hidden");
		this.containment=[d.left+(parseInt(a(c).css("borderLeftWidth"),10)||0)+(parseInt(a(c).css("paddingLeft"),10)||0)-this.margins.left,d.top+(parseInt(a(c).css("borderTopWidth"),10)||0)+(parseInt(a(c).css("paddingTop"),10)||0)-this.margins.top,d.left+(b?Math.max(c.scrollWidth,c.offsetWidth):c.offsetWidth)-(parseInt(a(c).css("borderLeftWidth"),10)||0)-(parseInt(a(c).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left,d.top+(b?Math.max(c.scrollHeight,c.offsetHeight):c.offsetHeight)-(parseInt(a(c).css("borderTopWidth"),10)||0)-(parseInt(a(c).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top]
		}else{
		if(e.containment.constructor==Array){
			this.containment=e.containment
			}
		}
},
_convertPositionTo:function(f,h){
	if(!h){
		h=this.position
		}
		var c=f=="absolute"?1:-1;
	var e=this.options,b=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&a.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,g=(/(html|body)/i).test(b[0].tagName);
	return{
		top:(h.top+this.offset.relative.top*c+this.offset.parent.top*c-(a.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():(g?0:b.scrollTop()))*c)),
		left:(h.left+this.offset.relative.left*c+this.offset.parent.left*c-(a.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():g?0:b.scrollLeft())*c))
		}
	},
_generatePosition:function(e){
	var h=this.options,b=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&a.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,i=(/(html|body)/i).test(b[0].tagName);
	if(this.cssPosition=="relative"&&!(this.scrollParent[0]!=document&&this.scrollParent[0]!=this.offsetParent[0])){
		this.offset.relative=this._getRelativeOffset()
		}
		var d=e.pageX;
	var c=e.pageY;
	if(this.originalPosition){
		if(this.containment){
			if(e.pageX-this.offset.click.left<this.containment[0]){
				d=this.containment[0]+this.offset.click.left
				}
				if(e.pageY-this.offset.click.top<this.containment[1]){
				c=this.containment[1]+this.offset.click.top
				}
				if(e.pageX-this.offset.click.left>this.containment[2]){
				d=this.containment[2]+this.offset.click.left
				}
				if(e.pageY-this.offset.click.top>this.containment[3]){
				c=this.containment[3]+this.offset.click.top
				}
			}
		if(h.grid){
		var g=this.originalPageY+Math.round((c-this.originalPageY)/h.grid[1])*h.grid[1];
		c=this.containment?(!(g-this.offset.click.top<this.containment[1]||g-this.offset.click.top>this.containment[3])?g:(!(g-this.offset.click.top<this.containment[1])?g-h.grid[1]:g+h.grid[1])):g;
		var f=this.originalPageX+Math.round((d-this.originalPageX)/h.grid[0])*h.grid[0];
		d=this.containment?(!(f-this.offset.click.left<this.containment[0]||f-this.offset.click.left>this.containment[2])?f:(!(f-this.offset.click.left<this.containment[0])?f-h.grid[0]:f+h.grid[0])):f
		}
	}
return{
	top:(c-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+(a.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():(i?0:b.scrollTop())))),
	left:(d-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+(a.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():i?0:b.scrollLeft())))
	}
},
_clear:function(){
	this.helper.removeClass("ui-draggable-dragging");
	if(this.helper[0]!=this.element[0]&&!this.cancelHelperRemoval){
		this.helper.remove()
		}
		this.helper=null;
	this.cancelHelperRemoval=false
	},
_trigger:function(b,c,d){
	d=d||this._uiHash();
	a.ui.plugin.call(this,b,[c,d]);
	if(b=="drag"){
		this.positionAbs=this._convertPositionTo("absolute")
		}
		return a.widget.prototype._trigger.call(this,b,c,d)
	},
plugins:{},
_uiHash:function(b){
	return{
		helper:this.helper,
		position:this.position,
		absolutePosition:this.positionAbs,
		offset:this.positionAbs
		}
	}
}));
a.extend(a.ui.draggable,{
	version:"1.7.2",
	eventPrefix:"drag",
	defaults:{
		addClasses:true,
		appendTo:"parent",
		axis:false,
		cancel:":input,option",
		connectToSortable:false,
		containment:false,
		cursor:"auto",
		cursorAt:false,
		delay:0,
		distance:1,
		grid:false,
		handle:false,
		helper:"original",
		iframeFix:false,
		opacity:false,
		refreshPositions:false,
		revert:false,
		revertDuration:500,
		scope:"default",
		scroll:true,
		scrollSensitivity:20,
		scrollSpeed:20,
		snap:false,
		snapMode:"both",
		snapTolerance:20,
		stack:false,
		zIndex:false
	}
});
a.ui.plugin.add("draggable","connectToSortable",{
	start:function(c,e){
		var d=a(this).data("draggable"),f=d.options,b=a.extend({},e,{
			item:d.element
			});
		d.sortables=[];
		a(f.connectToSortable).each(function(){
			var g=a.data(this,"sortable");
			if(g&&!g.options.disabled){
				d.sortables.push({
					instance:g,
					shouldRevert:g.options.revert
					});
				g._refreshItems();
				g._trigger("activate",c,b)
				}
			})
	},
stop:function(c,e){
	var d=a(this).data("draggable"),b=a.extend({},e,{
		item:d.element
		});
	a.each(d.sortables,function(){
		if(this.instance.isOver){
			this.instance.isOver=0;
			d.cancelHelperRemoval=true;
			this.instance.cancelHelperRemoval=false;
			if(this.shouldRevert){
				this.instance.options.revert=true
				}
				this.instance._mouseStop(c);
			this.instance.options.helper=this.instance.options._helper;
			if(d.options.helper=="original"){
				this.instance.currentItem.css({
					top:"auto",
					left:"auto"
				})
				}
			}else{
		this.instance.cancelHelperRemoval=false;
		this.instance._trigger("deactivate",c,b)
		}
	})
},
drag:function(c,f){
	var e=a(this).data("draggable"),b=this;
	var d=function(i){
		var n=this.offset.click.top,m=this.offset.click.left;
		var g=this.positionAbs.top,k=this.positionAbs.left;
		var j=i.height,l=i.width;
		var p=i.top,h=i.left;
		return a.ui.isOver(g+n,k+m,p,h,j,l)
		};

	a.each(e.sortables,function(g){
		this.instance.positionAbs=e.positionAbs;
		this.instance.helperProportions=e.helperProportions;
		this.instance.offset.click=e.offset.click;
		if(this.instance._intersectsWith(this.instance.containerCache)){
			if(!this.instance.isOver){
				this.instance.isOver=1;
				this.instance.currentItem=a(b).clone().appendTo(this.instance.element).data("sortable-item",true);
				this.instance.options._helper=this.instance.options.helper;
				this.instance.options.helper=function(){
					return f.helper[0]
					};

				c.target=this.instance.currentItem[0];
				this.instance._mouseCapture(c,true);
				this.instance._mouseStart(c,true,true);
				this.instance.offset.click.top=e.offset.click.top;
				this.instance.offset.click.left=e.offset.click.left;
				this.instance.offset.parent.left-=e.offset.parent.left-this.instance.offset.parent.left;
				this.instance.offset.parent.top-=e.offset.parent.top-this.instance.offset.parent.top;
				e._trigger("toSortable",c);
				e.dropped=this.instance.element;
				e.currentItem=e.element;
				this.instance.fromOutside=e
				}
				if(this.instance.currentItem){
				this.instance._mouseDrag(c)
				}
			}else{
		if(this.instance.isOver){
			this.instance.isOver=0;
			this.instance.cancelHelperRemoval=true;
			this.instance.options.revert=false;
			this.instance._trigger("out",c,this.instance._uiHash(this.instance));
			this.instance._mouseStop(c,true);
			this.instance.options.helper=this.instance.options._helper;
			this.instance.currentItem.remove();
			if(this.instance.placeholder){
				this.instance.placeholder.remove()
				}
				e._trigger("fromSortable",c);
			e.dropped=false
			}
		}
	})
}
});
a.ui.plugin.add("draggable","cursor",{
	start:function(c,d){
		var b=a("body"),e=a(this).data("draggable").options;
		if(b.css("cursor")){
			e._cursor=b.css("cursor")
			}
			b.css("cursor",e.cursor)
		},
	stop:function(b,c){
		var d=a(this).data("draggable").options;
		if(d._cursor){
			a("body").css("cursor",d._cursor)
			}
		}
});
a.ui.plugin.add("draggable","iframeFix",{
	start:function(b,c){
		var d=a(this).data("draggable").options;
		a(d.iframeFix===true?"iframe":d.iframeFix).each(function(){
			a('<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(a(this).offset()).appendTo("body")
			})
		},
	stop:function(b,c){
		a("div.ui-draggable-iframeFix").each(function(){
			this.parentNode.removeChild(this)
			})
		}
	});
a.ui.plugin.add("draggable","opacity",{
	start:function(c,d){
		var b=a(d.helper),e=a(this).data("draggable").options;
		if(b.css("opacity")){
			e._opacity=b.css("opacity")
			}
			b.css("opacity",e.opacity)
		},
	stop:function(b,c){
		var d=a(this).data("draggable").options;
		if(d._opacity){
			a(c.helper).css("opacity",d._opacity)
			}
		}
});
a.ui.plugin.add("draggable","scroll",{
	start:function(c,d){
		var b=a(this).data("draggable");
		if(b.scrollParent[0]!=document&&b.scrollParent[0].tagName!="HTML"){
			b.overflowOffset=b.scrollParent.offset()
			}
		},
drag:function(d,e){
	var c=a(this).data("draggable"),f=c.options,b=false;
	if(c.scrollParent[0]!=document&&c.scrollParent[0].tagName!="HTML"){
		if(!f.axis||f.axis!="x"){
			if((c.overflowOffset.top+c.scrollParent[0].offsetHeight)-d.pageY<f.scrollSensitivity){
				c.scrollParent[0].scrollTop=b=c.scrollParent[0].scrollTop+f.scrollSpeed
				}else{
				if(d.pageY-c.overflowOffset.top<f.scrollSensitivity){
					c.scrollParent[0].scrollTop=b=c.scrollParent[0].scrollTop-f.scrollSpeed
					}
				}
		}
	if(!f.axis||f.axis!="y"){
	if((c.overflowOffset.left+c.scrollParent[0].offsetWidth)-d.pageX<f.scrollSensitivity){
		c.scrollParent[0].scrollLeft=b=c.scrollParent[0].scrollLeft+f.scrollSpeed
		}else{
		if(d.pageX-c.overflowOffset.left<f.scrollSensitivity){
			c.scrollParent[0].scrollLeft=b=c.scrollParent[0].scrollLeft-f.scrollSpeed
			}
		}
}
}else{
	if(!f.axis||f.axis!="x"){
		if(d.pageY-a(document).scrollTop()<f.scrollSensitivity){
			b=a(document).scrollTop(a(document).scrollTop()-f.scrollSpeed)
			}else{
			if(a(window).height()-(d.pageY-a(document).scrollTop())<f.scrollSensitivity){
				b=a(document).scrollTop(a(document).scrollTop()+f.scrollSpeed)
				}
			}
	}
if(!f.axis||f.axis!="y"){
	if(d.pageX-a(document).scrollLeft()<f.scrollSensitivity){
		b=a(document).scrollLeft(a(document).scrollLeft()-f.scrollSpeed)
		}else{
		if(a(window).width()-(d.pageX-a(document).scrollLeft())<f.scrollSensitivity){
			b=a(document).scrollLeft(a(document).scrollLeft()+f.scrollSpeed)
			}
		}
}
}
if(b!==false&&a.ui.ddmanager&&!f.dropBehaviour){
	a.ui.ddmanager.prepareOffsets(c,d)
	}
}
});
a.ui.plugin.add("draggable","snap",{
	start:function(c,d){
		var b=a(this).data("draggable"),e=b.options;
		b.snapElements=[];
		a(e.snap.constructor!=String?(e.snap.items||":data(draggable)"):e.snap).each(function(){
			var g=a(this);
			var f=g.offset();
			if(this!=b.element[0]){
				b.snapElements.push({
					item:this,
					width:g.outerWidth(),
					height:g.outerHeight(),
					top:f.top,
					left:f.left
					})
				}
			})
	},
drag:function(u,p){
	var g=a(this).data("draggable"),q=g.options;
	var y=q.snapTolerance;
	var x=p.offset.left,w=x+g.helperProportions.width,f=p.offset.top,e=f+g.helperProportions.height;
	for(var v=g.snapElements.length-1;v>=0;v--){
		var s=g.snapElements[v].left,n=s+g.snapElements[v].width,m=g.snapElements[v].top,A=m+g.snapElements[v].height;
		if(!((s-y<x&&x<n+y&&m-y<f&&f<A+y)||(s-y<x&&x<n+y&&m-y<e&&e<A+y)||(s-y<w&&w<n+y&&m-y<f&&f<A+y)||(s-y<w&&w<n+y&&m-y<e&&e<A+y))){
			if(g.snapElements[v].snapping){
				(g.options.snap.release&&g.options.snap.release.call(g.element,u,a.extend(g._uiHash(),{
					snapItem:g.snapElements[v].item
					})))
				}
				g.snapElements[v].snapping=false;
			continue
		}
		if(q.snapMode!="inner"){
			var c=Math.abs(m-e)<=y;
			var z=Math.abs(A-f)<=y;
			var j=Math.abs(s-w)<=y;
			var k=Math.abs(n-x)<=y;
			if(c){
				p.position.top=g._convertPositionTo("relative",{
					top:m-g.helperProportions.height,
					left:0
				}).top-g.margins.top
				}
				if(z){
				p.position.top=g._convertPositionTo("relative",{
					top:A,
					left:0
				}).top-g.margins.top
				}
				if(j){
				p.position.left=g._convertPositionTo("relative",{
					top:0,
					left:s-g.helperProportions.width
					}).left-g.margins.left
				}
				if(k){
				p.position.left=g._convertPositionTo("relative",{
					top:0,
					left:n
				}).left-g.margins.left
				}
			}
		var h=(c||z||j||k);
		if(q.snapMode!="outer"){
		var c=Math.abs(m-f)<=y;
		var z=Math.abs(A-e)<=y;
		var j=Math.abs(s-x)<=y;
		var k=Math.abs(n-w)<=y;
		if(c){
			p.position.top=g._convertPositionTo("relative",{
				top:m,
				left:0
			}).top-g.margins.top
			}
			if(z){
			p.position.top=g._convertPositionTo("relative",{
				top:A-g.helperProportions.height,
				left:0
			}).top-g.margins.top
			}
			if(j){
			p.position.left=g._convertPositionTo("relative",{
				top:0,
				left:s
			}).left-g.margins.left
			}
			if(k){
			p.position.left=g._convertPositionTo("relative",{
				top:0,
				left:n-g.helperProportions.width
				}).left-g.margins.left
			}
		}
	if(!g.snapElements[v].snapping&&(c||z||j||k||h)){
		(g.options.snap.snap&&g.options.snap.snap.call(g.element,u,a.extend(g._uiHash(),{
			snapItem:g.snapElements[v].item
			})))
		}
		g.snapElements[v].snapping=(c||z||j||k||h)
	}
}
});
a.ui.plugin.add("draggable","stack",{
	start:function(b,c){
		var e=a(this).data("draggable").options;
		var d=a.makeArray(a(e.stack.group)).sort(function(g,f){
			return(parseInt(a(g).css("zIndex"),10)||e.stack.min)-(parseInt(a(f).css("zIndex"),10)||e.stack.min)
			});
		a(d).each(function(f){
			this.style.zIndex=e.stack.min+f
			});
		this[0].style.zIndex=e.stack.min+d.length
		}
	});
a.ui.plugin.add("draggable","zIndex",{
	start:function(c,d){
		var b=a(d.helper),e=a(this).data("draggable").options;
		if(b.css("zIndex")){
			e._zIndex=b.css("zIndex")
			}
			b.css("zIndex",e.zIndex)
		},
	stop:function(b,c){
		var d=a(this).data("draggable").options;
		if(d._zIndex){
			a(c.helper).css("zIndex",d._zIndex)
			}
		}
})
})(jQuery);
;/*
 * jQuery UI Droppable 1.7.2
 *
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Droppables
 *
 * Depends:
 *	ui.core.js
 *	ui.draggable.js
 */
(function(a){
	a.widget("ui.droppable",{
		_init:function(){
			var c=this.options,b=c.accept;
			this.isover=0;
			this.isout=1;
			this.options.accept=this.options.accept&&a.isFunction(this.options.accept)?this.options.accept:function(e){
				return e.is(b)
				};

			this.proportions={
				width:this.element[0].offsetWidth,
				height:this.element[0].offsetHeight
				};

			a.ui.ddmanager.droppables[this.options.scope]=a.ui.ddmanager.droppables[this.options.scope]||[];
			a.ui.ddmanager.droppables[this.options.scope].push(this);
			(this.options.addClasses&&this.element.addClass("ui-droppable"))
			},
		destroy:function(){
			var b=a.ui.ddmanager.droppables[this.options.scope];
			for(var c=0;c<b.length;c++){
				if(b[c]==this){
					b.splice(c,1)
					}
				}
			this.element.removeClass("ui-droppable ui-droppable-disabled").removeData("droppable").unbind(".droppable")
		},
	_setData:function(b,c){
		if(b=="accept"){
			this.options.accept=c&&a.isFunction(c)?c:function(e){
				return e.is(c)
				}
			}else{
		a.widget.prototype._setData.apply(this,arguments)
		}
	},
_activate:function(c){
	var b=a.ui.ddmanager.current;
	if(this.options.activeClass){
		this.element.addClass(this.options.activeClass)
		}(b&&this._trigger("activate",c,this.ui(b)))
	},
_deactivate:function(c){
	var b=a.ui.ddmanager.current;
	if(this.options.activeClass){
		this.element.removeClass(this.options.activeClass)
		}(b&&this._trigger("deactivate",c,this.ui(b)))
	},
_over:function(c){
	var b=a.ui.ddmanager.current;
	if(!b||(b.currentItem||b.element)[0]==this.element[0]){
		return
	}
	if(this.options.accept.call(this.element[0],(b.currentItem||b.element))){
		if(this.options.hoverClass){
			this.element.addClass(this.options.hoverClass)
			}
			this._trigger("over",c,this.ui(b))
		}
	},
_out:function(c){
	var b=a.ui.ddmanager.current;
	if(!b||(b.currentItem||b.element)[0]==this.element[0]){
		return
	}
	if(this.options.accept.call(this.element[0],(b.currentItem||b.element))){
		if(this.options.hoverClass){
			this.element.removeClass(this.options.hoverClass)
			}
			this._trigger("out",c,this.ui(b))
		}
	},
_drop:function(c,d){
	var b=d||a.ui.ddmanager.current;
	if(!b||(b.currentItem||b.element)[0]==this.element[0]){
		return false
		}
		var e=false;
	this.element.find(":data(droppable)").not(".ui-draggable-dragging").each(function(){
		var f=a.data(this,"droppable");
		if(f.options.greedy&&a.ui.intersect(b,a.extend(f,{
			offset:f.element.offset()
			}),f.options.tolerance)){
			e=true;
			return false
			}
		});
if(e){
	return false
	}
	if(this.options.accept.call(this.element[0],(b.currentItem||b.element))){
	if(this.options.activeClass){
		this.element.removeClass(this.options.activeClass)
		}
		if(this.options.hoverClass){
		this.element.removeClass(this.options.hoverClass)
		}
		this._trigger("drop",c,this.ui(b));
	return this.element
	}
	return false
},
ui:function(b){
	return{
		draggable:(b.currentItem||b.element),
		helper:b.helper,
		position:b.position,
		absolutePosition:b.positionAbs,
		offset:b.positionAbs
		}
	}
});
a.extend(a.ui.droppable,{
	version:"1.7.2",
	eventPrefix:"drop",
	defaults:{
		accept:"*",
		activeClass:false,
		addClasses:true,
		greedy:false,
		hoverClass:false,
		scope:"default",
		tolerance:"intersect"
	}
});
a.ui.intersect=function(q,j,o){
	if(!j.offset){
		return false
		}
		var e=(q.positionAbs||q.position.absolute).left,d=e+q.helperProportions.width,n=(q.positionAbs||q.position.absolute).top,m=n+q.helperProportions.height;
	var g=j.offset.left,c=g+j.proportions.width,p=j.offset.top,k=p+j.proportions.height;
	switch(o){
		case"fit":
			return(g<e&&d<c&&p<n&&m<k);
			break;
		case"intersect":
			return(g<e+(q.helperProportions.width/2)&&d-(q.helperProportions.width/2)<c&&p<n+(q.helperProportions.height/2)&&m-(q.helperProportions.height/2)<k);
			break;
		case"pointer":
			var h=((q.positionAbs||q.position.absolute).left+(q.clickOffset||q.offset.click).left),i=((q.positionAbs||q.position.absolute).top+(q.clickOffset||q.offset.click).top),f=a.ui.isOver(i,h,p,g,j.proportions.height,j.proportions.width);
			return f;
			break;
		case"touch":
			return((n>=p&&n<=k)||(m>=p&&m<=k)||(n<p&&m>k))&&((e>=g&&e<=c)||(d>=g&&d<=c)||(e<g&&d>c));
			break;
		default:
			return false;
			break
			}
		};

a.ui.ddmanager={
	current:null,
	droppables:{
		"default":[]
	},
	prepareOffsets:function(e,g){
		var b=a.ui.ddmanager.droppables[e.options.scope];
		var f=g?g.type:null;
		var h=(e.currentItem||e.element).find(":data(droppable)").andSelf();
			droppablesLoop:for(var d=0;d<b.length;d++){
			if(b[d].options.disabled||(e&&!b[d].options.accept.call(b[d].element[0],(e.currentItem||e.element)))){
				continue
			}
			for(var c=0;c<h.length;c++){
				if(h[c]==b[d].element[0]){
					b[d].proportions.height=0;
					continue droppablesLoop
				}
			}
			b[d].visible=b[d].element.css("display")!="none";
			if(!b[d].visible){
			continue
		}
		b[d].offset=b[d].element.offset();
			b[d].proportions={
			width:b[d].element[0].offsetWidth,
			height:b[d].element[0].offsetHeight
			};

		if(f=="mousedown"){
			b[d]._activate.call(b[d],g)
			}
		}
		},
drop:function(b,c){
	var d=false;
	a.each(a.ui.ddmanager.droppables[b.options.scope],function(){
		if(!this.options){
			return
		}
		if(!this.options.disabled&&this.visible&&a.ui.intersect(b,this,this.options.tolerance)){
			d=this._drop.call(this,c)
			}
			if(!this.options.disabled&&this.visible&&this.options.accept.call(this.element[0],(b.currentItem||b.element))){
			this.isout=1;
			this.isover=0;
			this._deactivate.call(this,c)
			}
		});
return d
},
drag:function(b,c){
	if(b.options.refreshPositions){
		a.ui.ddmanager.prepareOffsets(b,c)
		}
		a.each(a.ui.ddmanager.droppables[b.options.scope],function(){
		if(this.options.disabled||this.greedyChild||!this.visible){
			return
		}
		var e=a.ui.intersect(b,this,this.options.tolerance);
		var g=!e&&this.isover==1?"isout":(e&&this.isover==0?"isover":null);
		if(!g){
			return
		}
		var f;
		if(this.options.greedy){
			var d=this.element.parents(":data(droppable):eq(0)");
			if(d.length){
				f=a.data(d[0],"droppable");
				f.greedyChild=(g=="isover"?1:0)
				}
			}
		if(f&&g=="isover"){
		f.isover=0;
		f.isout=1;
		f._out.call(f,c)
		}
		this[g]=1;
	this[g=="isout"?"isover":"isout"]=0;
	this[g=="isover"?"_over":"_out"].call(this,c);
		if(f&&g=="isout"){
		f.isout=0;
		f.isover=1;
		f._over.call(f,c)
		}
	})
}
}
})(jQuery);
;/*
 * jQuery UI Resizable 1.7.2
 *
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Resizables
 *
 * Depends:
 *	ui.core.js
 */
(function(c){
	c.widget("ui.resizable",c.extend({},c.ui.mouse,{
		_init:function(){
			var e=this,j=this.options;
			this.element.addClass("ui-resizable");
			c.extend(this,{
				_aspectRatio:!!(j.aspectRatio),
				aspectRatio:j.aspectRatio,
				originalElement:this.element,
				_proportionallyResizeElements:[],
				_helper:j.helper||j.ghost||j.animate?j.helper||"ui-resizable-helper":null
				});
			if(this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i)){
				if(/relative/.test(this.element.css("position"))&&c.browser.opera){
					this.element.css({
						position:"relative",
						top:"auto",
						left:"auto"
					})
					}
					this.element.wrap(c('<div class="ui-wrapper" style="overflow: hidden;"></div>').css({
					position:this.element.css("position"),
					width:this.element.outerWidth(),
					height:this.element.outerHeight(),
					top:this.element.css("top"),
					left:this.element.css("left")
					}));
				this.element=this.element.parent().data("resizable",this.element.data("resizable"));
				this.elementIsWrapper=true;
				this.element.css({
					marginLeft:this.originalElement.css("marginLeft"),
					marginTop:this.originalElement.css("marginTop"),
					marginRight:this.originalElement.css("marginRight"),
					marginBottom:this.originalElement.css("marginBottom")
					});
				this.originalElement.css({
					marginLeft:0,
					marginTop:0,
					marginRight:0,
					marginBottom:0
				});
				this.originalResizeStyle=this.originalElement.css("resize");
				this.originalElement.css("resize","none");
				this._proportionallyResizeElements.push(this.originalElement.css({
					position:"static",
					zoom:1,
					display:"block"
				}));
				this.originalElement.css({
					margin:this.originalElement.css("margin")
					});
				this._proportionallyResize()
				}
				this.handles=j.handles||(!c(".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(this.handles.constructor==String){
				if(this.handles=="all"){
					this.handles="n,e,s,w,se,sw,ne,nw"
					}
					var k=this.handles.split(",");
				this.handles={};

				for(var f=0;f<k.length;f++){
					var h=c.trim(k[f]),d="ui-resizable-"+h;
					var g=c('<div class="ui-resizable-handle '+d+'"></div>');
					if(/sw|se|ne|nw/.test(h)){
						g.css({
							zIndex:++j.zIndex
							})
						}
						if("se"==h){
						g.addClass("ui-icon ui-icon-gripsmall-diagonal-se")
						}
						this.handles[h]=".ui-resizable-"+h;
					this.element.append(g)
					}
				}
				this._renderAxis=function(p){
			p=p||this.element;
			for(var m in this.handles){
				if(this.handles[m].constructor==String){
					this.handles[m]=c(this.handles[m],this.element).show()
					}
					if(this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)){
					var n=c(this.handles[m],this.element),o=0;
					o=/sw|ne|nw|se|n|s/.test(m)?n.outerHeight():n.outerWidth();
					var l=["padding",/ne|nw|n/.test(m)?"Top":/se|sw|s/.test(m)?"Bottom":/^e$/.test(m)?"Right":"Left"].join("");
					p.css(l,o);
					this._proportionallyResize()
					}
					if(!c(this.handles[m]).length){
					continue
				}
			}
			};

	this._renderAxis(this.element);
		this._handles=c(".ui-resizable-handle",this.element).disableSelection();
		this._handles.mouseover(function(){
		if(!e.resizing){
			if(this.className){
				var i=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)
				}
				e.axis=i&&i[1]?i[1]:"se"
			}
		});
	if(j.autoHide){
		this._handles.hide();
		c(this.element).addClass("ui-resizable-autohide").hover(function(){
			c(this).removeClass("ui-resizable-autohide");
			e._handles.show()
			},function(){
			if(!e.resizing){
				c(this).addClass("ui-resizable-autohide");
				e._handles.hide()
				}
			})
	}
	this._mouseInit()
	},
destroy:function(){
	this._mouseDestroy();
	var d=function(f){
		c(f).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").unbind(".resizable").find(".ui-resizable-handle").remove()
		};

	if(this.elementIsWrapper){
		d(this.element);
		var e=this.element;
		e.parent().append(this.originalElement.css({
			position:e.css("position"),
			width:e.outerWidth(),
			height:e.outerHeight(),
			top:e.css("top"),
			left:e.css("left")
			})).end().remove()
		}
		this.originalElement.css("resize",this.originalResizeStyle);
	d(this.originalElement)
	},
_mouseCapture:function(e){
	var f=false;
	for(var d in this.handles){
		if(c(this.handles[d])[0]==e.target){
			f=true
			}
		}
	return this.options.disabled||!!f
},
_mouseStart:function(f){
	var i=this.options,e=this.element.position(),d=this.element;
	this.resizing=true;
	this.documentScroll={
		top:c(document).scrollTop(),
		left:c(document).scrollLeft()
		};

	if(d.is(".ui-draggable")||(/absolute/).test(d.css("position"))){
		d.css({
			position:"absolute",
			top:e.top,
			left:e.left
			})
		}
		if(c.browser.opera&&(/relative/).test(d.css("position"))){
		d.css({
			position:"relative",
			top:"auto",
			left:"auto"
		})
		}
		this._renderProxy();
	var j=b(this.helper.css("left")),g=b(this.helper.css("top"));
	if(i.containment){
		j+=c(i.containment).scrollLeft()||0;
		g+=c(i.containment).scrollTop()||0
		}
		this.offset=this.helper.offset();
	this.position={
		left:j,
		top:g
	};

	this.size=this._helper?{
		width:d.outerWidth(),
		height:d.outerHeight()
		}:{
		width:d.width(),
		height:d.height()
		};

	this.originalSize=this._helper?{
		width:d.outerWidth(),
		height:d.outerHeight()
		}:{
		width:d.width(),
		height:d.height()
		};

	this.originalPosition={
		left:j,
		top:g
	};

	this.sizeDiff={
		width:d.outerWidth()-d.width(),
		height:d.outerHeight()-d.height()
		};

	this.originalMousePosition={
		left:f.pageX,
		top:f.pageY
		};

	this.aspectRatio=(typeof i.aspectRatio=="number")?i.aspectRatio:((this.originalSize.width/this.originalSize.height)||1);
	var h=c(".ui-resizable-"+this.axis).css("cursor");
	c("body").css("cursor",h=="auto"?this.axis+"-resize":h);
	d.addClass("ui-resizable-resizing");
	this._propagate("start",f);
	return true
	},
_mouseDrag:function(d){
	var g=this.helper,f=this.options,l={},p=this,i=this.originalMousePosition,m=this.axis;
	var q=(d.pageX-i.left)||0,n=(d.pageY-i.top)||0;
	var h=this._change[m];
	if(!h){
		return false
		}
		var k=h.apply(this,[d,q,n]),j=c.browser.msie&&c.browser.version<7,e=this.sizeDiff;
	if(this._aspectRatio||d.shiftKey){
		k=this._updateRatio(k,d)
		}
		k=this._respectSize(k,d);
	this._propagate("resize",d);
	g.css({
		top:this.position.top+"px",
		left:this.position.left+"px",
		width:this.size.width+"px",
		height:this.size.height+"px"
		});
	if(!this._helper&&this._proportionallyResizeElements.length){
		this._proportionallyResize()
		}
		this._updateCache(k);
	this._trigger("resize",d,this.ui());
	return false
	},
_mouseStop:function(g){
	this.resizing=false;
	var h=this.options,l=this;
	if(this._helper){
		var f=this._proportionallyResizeElements,d=f.length&&(/textarea/i).test(f[0].nodeName),e=d&&c.ui.hasScroll(f[0],"left")?0:l.sizeDiff.height,j=d?0:l.sizeDiff.width;
		var m={
			width:(l.size.width-j),
			height:(l.size.height-e)
			},i=(parseInt(l.element.css("left"),10)+(l.position.left-l.originalPosition.left))||null,k=(parseInt(l.element.css("top"),10)+(l.position.top-l.originalPosition.top))||null;
		if(!h.animate){
			this.element.css(c.extend(m,{
				top:k,
				left:i
			}))
			}
			l.helper.height(l.size.height);
		l.helper.width(l.size.width);
		if(this._helper&&!h.animate){
			this._proportionallyResize()
			}
		}
	c("body").css("cursor","auto");
this.element.removeClass("ui-resizable-resizing");
this._propagate("stop",g);
if(this._helper){
	this.helper.remove()
	}
	return false
},
_updateCache:function(d){
	var e=this.options;
	this.offset=this.helper.offset();
	if(a(d.left)){
		this.position.left=d.left
		}
		if(a(d.top)){
		this.position.top=d.top
		}
		if(a(d.height)){
		this.size.height=d.height
		}
		if(a(d.width)){
		this.size.width=d.width
		}
	},
_updateRatio:function(g,f){
	var h=this.options,i=this.position,e=this.size,d=this.axis;
	if(g.height){
		g.width=(e.height*this.aspectRatio)
		}else{
		if(g.width){
			g.height=(e.width/this.aspectRatio)
			}
		}
	if(d=="sw"){
	g.left=i.left+(e.width-g.width);
	g.top=null
	}
	if(d=="nw"){
	g.top=i.top+(e.height-g.height);
	g.left=i.left+(e.width-g.width)
	}
	return g
},
_respectSize:function(k,f){
	var i=this.helper,h=this.options,q=this._aspectRatio||f.shiftKey,p=this.axis,s=a(k.width)&&h.maxWidth&&(h.maxWidth<k.width),l=a(k.height)&&h.maxHeight&&(h.maxHeight<k.height),g=a(k.width)&&h.minWidth&&(h.minWidth>k.width),r=a(k.height)&&h.minHeight&&(h.minHeight>k.height);
	if(g){
		k.width=h.minWidth
		}
		if(r){
		k.height=h.minHeight
		}
		if(s){
		k.width=h.maxWidth
		}
		if(l){
		k.height=h.maxHeight
		}
		var e=this.originalPosition.left+this.originalSize.width,n=this.position.top+this.size.height;
	var j=/sw|nw|w/.test(p),d=/nw|ne|n/.test(p);
	if(g&&j){
		k.left=e-h.minWidth
		}
		if(s&&j){
		k.left=e-h.maxWidth
		}
		if(r&&d){
		k.top=n-h.minHeight
		}
		if(l&&d){
		k.top=n-h.maxHeight
		}
		var m=!k.width&&!k.height;
	if(m&&!k.left&&k.top){
		k.top=null
		}else{
		if(m&&!k.top&&k.left){
			k.left=null
			}
		}
	return k
},
_proportionallyResize:function(){
	var j=this.options;
	if(!this._proportionallyResizeElements.length){
		return
	}
	var f=this.helper||this.element;
	for(var e=0;e<this._proportionallyResizeElements.length;e++){
		var g=this._proportionallyResizeElements[e];
		if(!this.borderDif){
			var d=[g.css("borderTopWidth"),g.css("borderRightWidth"),g.css("borderBottomWidth"),g.css("borderLeftWidth")],h=[g.css("paddingTop"),g.css("paddingRight"),g.css("paddingBottom"),g.css("paddingLeft")];
			this.borderDif=c.map(d,function(k,m){
				var l=parseInt(k,10)||0,n=parseInt(h[m],10)||0;
				return l+n
				})
			}
			if(c.browser.msie&&!(!(c(f).is(":hidden")||c(f).parents(":hidden").length))){
			continue
		}
		g.css({
			height:(f.height()-this.borderDif[0]-this.borderDif[2])||0,
			width:(f.width()-this.borderDif[1]-this.borderDif[3])||0
			})
		}
	},
_renderProxy:function(){
	var e=this.element,h=this.options;
	this.elementOffset=e.offset();
	if(this._helper){
		this.helper=this.helper||c('<div style="overflow:hidden;"></div>');
		var d=c.browser.msie&&c.browser.version<7,f=(d?1:0),g=(d?2:-1);
		this.helper.addClass(this._helper).css({
			width:this.element.outerWidth()+g,
			height:this.element.outerHeight()+g,
			position:"absolute",
			left:this.elementOffset.left-f+"px",
			top:this.elementOffset.top-f+"px",
			zIndex:++h.zIndex
			});
		this.helper.appendTo("body").disableSelection()
		}else{
		this.helper=this.element
		}
	},
_change:{
	e:function(f,e,d){
		return{
			width:this.originalSize.width+e
			}
		},
w:function(g,e,d){
	var i=this.options,f=this.originalSize,h=this.originalPosition;
	return{
		left:h.left+e,
		width:f.width-e
		}
	},
n:function(g,e,d){
	var i=this.options,f=this.originalSize,h=this.originalPosition;
	return{
		top:h.top+d,
		height:f.height-d
		}
	},
s:function(f,e,d){
	return{
		height:this.originalSize.height+d
		}
	},
se:function(f,e,d){
	return c.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[f,e,d]))
	},
sw:function(f,e,d){
	return c.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[f,e,d]))
	},
ne:function(f,e,d){
	return c.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[f,e,d]))
	},
nw:function(f,e,d){
	return c.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[f,e,d]))
	}
},
_propagate:function(e,d){
	c.ui.plugin.call(this,e,[d,this.ui()]);
	(e!="resize"&&this._trigger(e,d,this.ui()))
	},
plugins:{},
ui:function(){
	return{
		originalElement:this.originalElement,
		element:this.element,
		helper:this.helper,
		position:this.position,
		size:this.size,
		originalSize:this.originalSize,
		originalPosition:this.originalPosition
		}
	}
}));
c.extend(c.ui.resizable,{
	version:"1.7.2",
	eventPrefix:"resize",
	defaults:{
		alsoResize:false,
		animate:false,
		animateDuration:"slow",
		animateEasing:"swing",
		aspectRatio:false,
		autoHide:false,
		cancel:":input,option",
		containment:false,
		delay:0,
		distance:1,
		ghost:false,
		grid:false,
		handles:"e,s,se",
		helper:false,
		maxHeight:null,
		maxWidth:null,
		minHeight:10,
		minWidth:10,
		zIndex:1000
	}
});
c.ui.plugin.add("resizable","alsoResize",{
	start:function(e,f){
		var d=c(this).data("resizable"),g=d.options;
		_store=function(h){
			c(h).each(function(){
				c(this).data("resizable-alsoresize",{
					width:parseInt(c(this).width(),10),
					height:parseInt(c(this).height(),10),
					left:parseInt(c(this).css("left"),10),
					top:parseInt(c(this).css("top"),10)
					})
				})
			};

		if(typeof(g.alsoResize)=="object"&&!g.alsoResize.parentNode){
			if(g.alsoResize.length){
				g.alsoResize=g.alsoResize[0];
				_store(g.alsoResize)
				}else{
				c.each(g.alsoResize,function(h,i){
					_store(h)
					})
				}
			}else{
		_store(g.alsoResize)
		}
	},
resize:function(f,h){
	var e=c(this).data("resizable"),i=e.options,g=e.originalSize,k=e.originalPosition;
	var j={
		height:(e.size.height-g.height)||0,
		width:(e.size.width-g.width)||0,
		top:(e.position.top-k.top)||0,
		left:(e.position.left-k.left)||0
		},d=function(l,m){
		c(l).each(function(){
			var p=c(this),q=c(this).data("resizable-alsoresize"),o={},n=m&&m.length?m:["width","height","top","left"];
			c.each(n||["width","height","top","left"],function(r,t){
				var s=(q[t]||0)+(j[t]||0);
				if(s&&s>=0){
					o[t]=s||null
					}
				});
		if(/relative/.test(p.css("position"))&&c.browser.opera){
			e._revertToRelativePosition=true;
			p.css({
				position:"absolute",
				top:"auto",
				left:"auto"
			})
			}
			p.css(o)
			})
	};

if(typeof(i.alsoResize)=="object"&&!i.alsoResize.nodeType){
	c.each(i.alsoResize,function(l,m){
		d(l,m)
		})
	}else{
	d(i.alsoResize)
	}
},
stop:function(e,f){
	var d=c(this).data("resizable");
	if(d._revertToRelativePosition&&c.browser.opera){
		d._revertToRelativePosition=false;
		el.css({
			position:"relative"
		})
		}
		c(this).removeData("resizable-alsoresize-start")
	}
});
c.ui.plugin.add("resizable","animate",{
	stop:function(h,m){
		var n=c(this).data("resizable"),i=n.options;
		var g=n._proportionallyResizeElements,d=g.length&&(/textarea/i).test(g[0].nodeName),e=d&&c.ui.hasScroll(g[0],"left")?0:n.sizeDiff.height,k=d?0:n.sizeDiff.width;
		var f={
			width:(n.size.width-k),
			height:(n.size.height-e)
			},j=(parseInt(n.element.css("left"),10)+(n.position.left-n.originalPosition.left))||null,l=(parseInt(n.element.css("top"),10)+(n.position.top-n.originalPosition.top))||null;
		n.element.animate(c.extend(f,l&&j?{
			top:l,
			left:j
		}:{}),{
			duration:i.animateDuration,
			easing:i.animateEasing,
			step:function(){
				var o={
					width:parseInt(n.element.css("width"),10),
					height:parseInt(n.element.css("height"),10),
					top:parseInt(n.element.css("top"),10),
					left:parseInt(n.element.css("left"),10)
					};

				if(g&&g.length){
					c(g[0]).css({
						width:o.width,
						height:o.height
						})
					}
					n._updateCache(o);
				n._propagate("resize",h)
				}
			})
	}
});
c.ui.plugin.add("resizable","containment",{
	start:function(e,q){
		var s=c(this).data("resizable"),i=s.options,k=s.element;
		var f=i.containment,j=(f instanceof c)?f.get(0):(/parent/.test(f))?k.parent().get(0):f;
		if(!j){
			return
		}
		s.containerElement=c(j);
		if(/document/.test(f)||f==document){
			s.containerOffset={
				left:0,
				top:0
			};

			s.containerPosition={
				left:0,
				top:0
			};

			s.parentData={
				element:c(document),
				left:0,
				top:0,
				width:c(document).width(),
				height:c(document).height()||document.body.parentNode.scrollHeight
				}
			}else{
		var m=c(j),h=[];
		c(["Top","Right","Left","Bottom"]).each(function(p,o){
			h[p]=b(m.css("padding"+o))
			});
		s.containerOffset=m.offset();
		s.containerPosition=m.position();
		s.containerSize={
			height:(m.innerHeight()-h[3]),
			width:(m.innerWidth()-h[1])
			};

		var n=s.containerOffset,d=s.containerSize.height,l=s.containerSize.width,g=(c.ui.hasScroll(j,"left")?j.scrollWidth:l),r=(c.ui.hasScroll(j)?j.scrollHeight:d);
		s.parentData={
			element:j,
			left:n.left,
			top:n.top,
			width:g,
			height:r
		}
	}
},
resize:function(f,p){
	var s=c(this).data("resizable"),h=s.options,e=s.containerSize,n=s.containerOffset,l=s.size,m=s.position,q=s._aspectRatio||f.shiftKey,d={
		top:0,
		left:0
	},g=s.containerElement;
	if(g[0]!=document&&(/static/).test(g.css("position"))){
		d=n
		}
		if(m.left<(s._helper?n.left:0)){
		s.size.width=s.size.width+(s._helper?(s.position.left-n.left):(s.position.left-d.left));
		if(q){
			s.size.height=s.size.width/h.aspectRatio
			}
			s.position.left=h.helper?n.left:0
		}
		if(m.top<(s._helper?n.top:0)){
		s.size.height=s.size.height+(s._helper?(s.position.top-n.top):s.position.top);
		if(q){
			s.size.width=s.size.height*h.aspectRatio
			}
			s.position.top=s._helper?n.top:0
		}
		s.offset.left=s.parentData.left+s.position.left;
	s.offset.top=s.parentData.top+s.position.top;
	var k=Math.abs((s._helper?s.offset.left-d.left:(s.offset.left-d.left))+s.sizeDiff.width),r=Math.abs((s._helper?s.offset.top-d.top:(s.offset.top-n.top))+s.sizeDiff.height);
	var j=s.containerElement.get(0)==s.element.parent().get(0),i=/relative|absolute/.test(s.containerElement.css("position"));
	if(j&&i){
		k-=s.parentData.left
		}
		if(k+s.size.width>=s.parentData.width){
		s.size.width=s.parentData.width-k;
		if(q){
			s.size.height=s.size.width/s.aspectRatio
			}
		}
	if(r+s.size.height>=s.parentData.height){
	s.size.height=s.parentData.height-r;
	if(q){
		s.size.width=s.size.height*s.aspectRatio
		}
	}
},
stop:function(e,m){
	var p=c(this).data("resizable"),f=p.options,k=p.position,l=p.containerOffset,d=p.containerPosition,g=p.containerElement;
	var i=c(p.helper),q=i.offset(),n=i.outerWidth()-p.sizeDiff.width,j=i.outerHeight()-p.sizeDiff.height;
	if(p._helper&&!f.animate&&(/relative/).test(g.css("position"))){
		c(this).css({
			left:q.left-d.left-l.left,
			width:n,
			height:j
		})
		}
		if(p._helper&&!f.animate&&(/static/).test(g.css("position"))){
		c(this).css({
			left:q.left-d.left-l.left,
			width:n,
			height:j
		})
		}
	}
});
c.ui.plugin.add("resizable","ghost",{
	start:function(f,g){
		var d=c(this).data("resizable"),h=d.options,e=d.size;
		d.ghost=d.originalElement.clone();
		d.ghost.css({
			opacity:0.25,
			display:"block",
			position:"relative",
			height:e.height,
			width:e.width,
			margin:0,
			left:0,
			top:0
		}).addClass("ui-resizable-ghost").addClass(typeof h.ghost=="string"?h.ghost:"");
		d.ghost.appendTo(d.helper)
		},
	resize:function(e,f){
		var d=c(this).data("resizable"),g=d.options;
		if(d.ghost){
			d.ghost.css({
				position:"relative",
				height:d.size.height,
				width:d.size.width
				})
			}
		},
stop:function(e,f){
	var d=c(this).data("resizable"),g=d.options;
	if(d.ghost&&d.helper){
		d.helper.get(0).removeChild(d.ghost.get(0))
		}
	}
});
c.ui.plugin.add("resizable","grid",{
	resize:function(d,l){
		var n=c(this).data("resizable"),g=n.options,j=n.size,h=n.originalSize,i=n.originalPosition,m=n.axis,k=g._aspectRatio||d.shiftKey;
		g.grid=typeof g.grid=="number"?[g.grid,g.grid]:g.grid;
		var f=Math.round((j.width-h.width)/(g.grid[0]||1))*(g.grid[0]||1),e=Math.round((j.height-h.height)/(g.grid[1]||1))*(g.grid[1]||1);
		if(/^(se|s|e)$/.test(m)){
			n.size.width=h.width+f;
			n.size.height=h.height+e
			}else{
			if(/^(ne)$/.test(m)){
				n.size.width=h.width+f;
				n.size.height=h.height+e;
				n.position.top=i.top-e
				}else{
				if(/^(sw)$/.test(m)){
					n.size.width=h.width+f;
					n.size.height=h.height+e;
					n.position.left=i.left-f
					}else{
					n.size.width=h.width+f;
					n.size.height=h.height+e;
					n.position.top=i.top-e;
					n.position.left=i.left-f
					}
				}
		}
}
});
var b=function(d){
	return parseInt(d,10)||0
	};

var a=function(d){
	return !isNaN(parseInt(d,10))
	}
})(jQuery);
;/*
 * jQuery UI Selectable 1.7.2
 *
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Selectables
 *
 * Depends:
 *	ui.core.js
 */
(function(a){
	a.widget("ui.selectable",a.extend({},a.ui.mouse,{
		_init:function(){
			var b=this;
			this.element.addClass("ui-selectable");
			this.dragged=false;
			var c;
			this.refresh=function(){
				c=a(b.options.filter,b.element[0]);
				c.each(function(){
					var d=a(this);
					var e=d.offset();
					a.data(this,"selectable-item",{
						element:this,
						$element:d,
						left:e.left,
						top:e.top,
						right:e.left+d.outerWidth(),
						bottom:e.top+d.outerHeight(),
						startselected:false,
						selected:d.hasClass("ui-selected"),
						selecting:d.hasClass("ui-selecting"),
						unselecting:d.hasClass("ui-unselecting")
						})
					})
				};

			this.refresh();
			this.selectees=c.addClass("ui-selectee");
			this._mouseInit();
			this.helper=a(document.createElement("div")).css({
				border:"1px dotted black"
			}).addClass("ui-selectable-helper")
			},
		destroy:function(){
			this.element.removeClass("ui-selectable ui-selectable-disabled").removeData("selectable").unbind(".selectable");
			this._mouseDestroy()
			},
		_mouseStart:function(d){
			var b=this;
			this.opos=[d.pageX,d.pageY];
			if(this.options.disabled){
				return
			}
			var c=this.options;
			this.selectees=a(c.filter,this.element[0]);
			this._trigger("start",d);
			a(c.appendTo).append(this.helper);
			this.helper.css({
				"z-index":100,
				position:"absolute",
				left:d.clientX,
				top:d.clientY,
				width:0,
				height:0
			});
			if(c.autoRefresh){
				this.refresh()
				}
				this.selectees.filter(".ui-selected").each(function(){
				var e=a.data(this,"selectable-item");
				e.startselected=true;
				if(!d.metaKey){
					e.$element.removeClass("ui-selected");
					e.selected=false;
					e.$element.addClass("ui-unselecting");
					e.unselecting=true;
					b._trigger("unselecting",d,{
						unselecting:e.element
						})
					}
				});
		a(d.target).parents().andSelf().each(function(){
			var e=a.data(this,"selectable-item");
			if(e){
				e.$element.removeClass("ui-unselecting").addClass("ui-selecting");
				e.unselecting=false;
				e.selecting=true;
				e.selected=true;
				b._trigger("selecting",d,{
					selecting:e.element
					});
				return false
				}
			})
	},
	_mouseDrag:function(i){
		var c=this;
		this.dragged=true;
		if(this.options.disabled){
			return
		}
		var e=this.options;
		var d=this.opos[0],h=this.opos[1],b=i.pageX,g=i.pageY;
		if(d>b){
			var f=b;
			b=d;
			d=f
			}
			if(h>g){
			var f=g;
			g=h;
			h=f
			}
			this.helper.css({
			left:d,
			top:h,
			width:b-d,
			height:g-h
			});
		this.selectees.each(function(){
			var j=a.data(this,"selectable-item");
			if(!j||j.element==c.element[0]){
				return
			}
			var k=false;
			if(e.tolerance=="touch"){
				k=(!(j.left>b||j.right<d||j.top>g||j.bottom<h))
				}else{
				if(e.tolerance=="fit"){
					k=(j.left>d&&j.right<b&&j.top>h&&j.bottom<g)
					}
				}
			if(k){
			if(j.selected){
				j.$element.removeClass("ui-selected");
				j.selected=false
				}
				if(j.unselecting){
				j.$element.removeClass("ui-unselecting");
				j.unselecting=false
				}
				if(!j.selecting){
				j.$element.addClass("ui-selecting");
				j.selecting=true;
				c._trigger("selecting",i,{
					selecting:j.element
					})
				}
			}else{
			if(j.selecting){
				if(i.metaKey&&j.startselected){
					j.$element.removeClass("ui-selecting");
					j.selecting=false;
					j.$element.addClass("ui-selected");
					j.selected=true
					}else{
					j.$element.removeClass("ui-selecting");
					j.selecting=false;
					if(j.startselected){
						j.$element.addClass("ui-unselecting");
						j.unselecting=true
						}
						c._trigger("unselecting",i,{
						unselecting:j.element
						})
					}
				}
			if(j.selected){
			if(!i.metaKey&&!j.startselected){
				j.$element.removeClass("ui-selected");
				j.selected=false;
				j.$element.addClass("ui-unselecting");
				j.unselecting=true;
				c._trigger("unselecting",i,{
					unselecting:j.element
					})
				}
			}
	}
});
return false
},
_mouseStop:function(d){
	var b=this;
	this.dragged=false;
	var c=this.options;
	a(".ui-unselecting",this.element[0]).each(function(){
		var e=a.data(this,"selectable-item");
		e.$element.removeClass("ui-unselecting");
		e.unselecting=false;
		e.startselected=false;
		b._trigger("unselected",d,{
			unselected:e.element
			})
		});
	a(".ui-selecting",this.element[0]).each(function(){
		var e=a.data(this,"selectable-item");
		e.$element.removeClass("ui-selecting").addClass("ui-selected");
		e.selecting=false;
		e.selected=true;
		e.startselected=true;
		b._trigger("selected",d,{
			selected:e.element
			})
		});
	this._trigger("stop",d);
	this.helper.remove();
	return false
	}
}));
a.extend(a.ui.selectable,{
	version:"1.7.2",
	defaults:{
		appendTo:"body",
		autoRefresh:true,
		cancel:":input,option",
		delay:0,
		distance:0,
		filter:"*",
		tolerance:"touch"
	}
})
})(jQuery);
;/*
 * jQuery UI Sortable 1.7.2
 *
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Sortables
 *
 * Depends:
 *	ui.core.js
 */
(function(a){
	a.widget("ui.sortable",a.extend({},a.ui.mouse,{
		_init:function(){
			var b=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;
			this.offset=this.element.offset();
			this._mouseInit()
			},
		destroy:function(){
			this.element.removeClass("ui-sortable ui-sortable-disabled").removeData("sortable").unbind(".sortable");
			this._mouseDestroy();
			for(var b=this.items.length-1;b>=0;b--){
				this.items[b].item.removeData("sortable-item")
				}
			},
	_mouseCapture:function(e,f){
		if(this.reverting){
			return false
			}
			if(this.options.disabled||this.options.type=="static"){
			return false
			}
			this._refreshItems(e);
		var d=null,c=this,b=a(e.target).parents().each(function(){
			if(a.data(this,"sortable-item")==c){
				d=a(this);
				return false
				}
			});
	if(a.data(e.target,"sortable-item")==c){
		d=a(e.target)
		}
		if(!d){
		return false
		}
		if(this.options.handle&&!f){
		var g=false;
		a(this.options.handle,d).find("*").andSelf().each(function(){
			if(this==e.target){
				g=true
				}
			});
	if(!g){
		return false
		}
	}
	this.currentItem=d;
	this._removeCurrentsFromItems();
	return true
	},
_mouseStart:function(e,f,b){
	var g=this.options,c=this;
	this.currentContainer=this;
	this.refreshPositions();
	this.helper=this._createHelper(e);
	this._cacheHelperProportions();
	this._cacheMargins();
	this.scrollParent=this.helper.scrollParent();
	this.offset=this.currentItem.offset();
	this.offset={
		top:this.offset.top-this.margins.top,
		left:this.offset.left-this.margins.left
		};

	this.helper.css("position","absolute");
	this.cssPosition=this.helper.css("position");
	a.extend(this.offset,{
		click:{
			left:e.pageX-this.offset.left,
			top:e.pageY-this.offset.top
			},
		parent:this._getParentOffset(),
		relative:this._getRelativeOffset()
		});
	this.originalPosition=this._generatePosition(e);
	this.originalPageX=e.pageX;
	this.originalPageY=e.pageY;
	if(g.cursorAt){
		this._adjustOffsetFromHelper(g.cursorAt)
		}
		this.domPosition={
		prev:this.currentItem.prev()[0],
		parent:this.currentItem.parent()[0]
		};

	if(this.helper[0]!=this.currentItem[0]){
		this.currentItem.hide()
		}
		this._createPlaceholder();
	if(g.containment){
		this._setContainment()
		}
		if(g.cursor){
		if(a("body").css("cursor")){
			this._storedCursor=a("body").css("cursor")
			}
			a("body").css("cursor",g.cursor)
		}
		if(g.opacity){
		if(this.helper.css("opacity")){
			this._storedOpacity=this.helper.css("opacity")
			}
			this.helper.css("opacity",g.opacity)
		}
		if(g.zIndex){
		if(this.helper.css("zIndex")){
			this._storedZIndex=this.helper.css("zIndex")
			}
			this.helper.css("zIndex",g.zIndex)
		}
		if(this.scrollParent[0]!=document&&this.scrollParent[0].tagName!="HTML"){
		this.overflowOffset=this.scrollParent.offset()
		}
		this._trigger("start",e,this._uiHash());
	if(!this._preserveHelperProportions){
		this._cacheHelperProportions()
		}
		if(!b){
		for(var d=this.containers.length-1;d>=0;d--){
			this.containers[d]._trigger("activate",e,c._uiHash(this))
			}
		}
		if(a.ui.ddmanager){
	a.ui.ddmanager.current=this
	}
	if(a.ui.ddmanager&&!g.dropBehaviour){
	a.ui.ddmanager.prepareOffsets(this,e)
	}
	this.dragging=true;
this.helper.addClass("ui-sortable-helper");
	this._mouseDrag(e);
	return true
	},
_mouseDrag:function(f){
	this.position=this._generatePosition(f);
	this.positionAbs=this._convertPositionTo("absolute");
	if(!this.lastPositionAbs){
		this.lastPositionAbs=this.positionAbs
		}
		if(this.options.scroll){
		var g=this.options,b=false;
		if(this.scrollParent[0]!=document&&this.scrollParent[0].tagName!="HTML"){
			if((this.overflowOffset.top+this.scrollParent[0].offsetHeight)-f.pageY<g.scrollSensitivity){
				this.scrollParent[0].scrollTop=b=this.scrollParent[0].scrollTop+g.scrollSpeed
				}else{
				if(f.pageY-this.overflowOffset.top<g.scrollSensitivity){
					this.scrollParent[0].scrollTop=b=this.scrollParent[0].scrollTop-g.scrollSpeed
					}
				}
			if((this.overflowOffset.left+this.scrollParent[0].offsetWidth)-f.pageX<g.scrollSensitivity){
			this.scrollParent[0].scrollLeft=b=this.scrollParent[0].scrollLeft+g.scrollSpeed
			}else{
			if(f.pageX-this.overflowOffset.left<g.scrollSensitivity){
				this.scrollParent[0].scrollLeft=b=this.scrollParent[0].scrollLeft-g.scrollSpeed
				}
			}
	}else{
	if(f.pageY-a(document).scrollTop()<g.scrollSensitivity){
		b=a(document).scrollTop(a(document).scrollTop()-g.scrollSpeed)
		}else{
		if(a(window).height()-(f.pageY-a(document).scrollTop())<g.scrollSensitivity){
			b=a(document).scrollTop(a(document).scrollTop()+g.scrollSpeed)
			}
		}
	if(f.pageX-a(document).scrollLeft()<g.scrollSensitivity){
	b=a(document).scrollLeft(a(document).scrollLeft()-g.scrollSpeed)
	}else{
	if(a(window).width()-(f.pageX-a(document).scrollLeft())<g.scrollSensitivity){
		b=a(document).scrollLeft(a(document).scrollLeft()+g.scrollSpeed)
		}
	}
}
if(b!==false&&a.ui.ddmanager&&!g.dropBehaviour){
	a.ui.ddmanager.prepareOffsets(this,f)
	}
}
this.positionAbs=this._convertPositionTo("absolute");
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"
	}
	for(var d=this.items.length-1;d>=0;d--){
	var e=this.items[d],c=e.item[0],h=this._intersectsWithPointer(e);
	if(!h){
		continue
	}
	if(c!=this.currentItem[0]&&this.placeholder[h==1?"next":"prev"]()[0]!=c&&!a.ui.contains(this.placeholder[0],c)&&(this.options.type=="semi-dynamic"?!a.ui.contains(this.element[0],c):true)){
		this.direction=h==1?"down":"up";
		if(this.options.tolerance=="pointer"||this._intersectsWithSides(e)){
			this._rearrange(f,e)
			}else{
			break
		}
		this._trigger("change",f,this._uiHash());
		break
	}
}
this._contactContainers(f);
if(a.ui.ddmanager){
	a.ui.ddmanager.drag(this,f)
	}
	this._trigger("sort",f,this._uiHash());
this.lastPositionAbs=this.positionAbs;
return false
},
_mouseStop:function(c,d){
	if(!c){
		return
	}
	if(a.ui.ddmanager&&!this.options.dropBehaviour){
		a.ui.ddmanager.drop(this,c)
		}
		if(this.options.revert){
		var b=this;
		var e=b.placeholder.offset();
		b.reverting=true;
		a(this.helper).animate({
			left:e.left-this.offset.parent.left-b.margins.left+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollLeft),
			top:e.top-this.offset.parent.top-b.margins.top+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollTop)
			},parseInt(this.options.revert,10)||500,function(){
			b._clear(c)
			})
		}else{
		this._clear(c,d)
		}
		return false
	},
cancel:function(){
	var b=this;
	if(this.dragging){
		this._mouseUp();
		if(this.options.helper=="original"){
			this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper")
			}else{
			this.currentItem.show()
			}
			for(var c=this.containers.length-1;c>=0;c--){
			this.containers[c]._trigger("deactivate",null,b._uiHash(this));
			if(this.containers[c].containerCache.over){
				this.containers[c]._trigger("out",null,b._uiHash(this));
				this.containers[c].containerCache.over=0
				}
			}
		}
	if(this.placeholder[0].parentNode){
	this.placeholder[0].parentNode.removeChild(this.placeholder[0])
	}
	if(this.options.helper!="original"&&this.helper&&this.helper[0].parentNode){
	this.helper.remove()
	}
	a.extend(this,{
	helper:null,
	dragging:false,
	reverting:false,
	_noFinalSort:null
});
if(this.domPosition.prev){
	a(this.domPosition.prev).after(this.currentItem)
	}else{
	a(this.domPosition.parent).prepend(this.currentItem)
	}
	return true
},
serialize:function(d){
	var b=this._getItemsAsjQuery(d&&d.connected);
	var c=[];
	d=d||{};

	a(b).each(function(){
		var e=(a(d.item||this).attr(d.attribute||"id")||"").match(d.expression||(/(.+)[-=_](.+)/));
			if(e){
			c.push((d.key||e[1]+"[]")+"="+(d.key&&d.expression?e[1]:e[2]))
			}
		});
	return c.join("&")
	},
toArray:function(d){
	var b=this._getItemsAsjQuery(d&&d.connected);
	var c=[];
	d=d||{};

	b.each(function(){
		c.push(a(d.item||this).attr(d.attribute||"id")||"")
		});
	return c
	},
_intersectsWith:function(m){
	var e=this.positionAbs.left,d=e+this.helperProportions.width,k=this.positionAbs.top,j=k+this.helperProportions.height;
	var f=m.left,c=f+m.width,n=m.top,i=n+m.height;
	var o=this.offset.click.top,h=this.offset.click.left;
	var g=(k+o)>n&&(k+o)<i&&(e+h)>f&&(e+h)<c;
	if(this.options.tolerance=="pointer"||this.options.forcePointerForContainers||(this.options.tolerance!="pointer"&&this.helperProportions[this.floating?"width":"height"]>m[this.floating?"width":"height"])){
		return g
		}else{
		return(f<e+(this.helperProportions.width/2)&&d-(this.helperProportions.width/2)<c&&n<k+(this.helperProportions.height/2)&&j-(this.helperProportions.height/2)<i)
		}
	},
_intersectsWithPointer:function(d){
	var e=a.ui.isOverAxis(this.positionAbs.top+this.offset.click.top,d.top,d.height),c=a.ui.isOverAxis(this.positionAbs.left+this.offset.click.left,d.left,d.width),g=e&&c,b=this._getDragVerticalDirection(),f=this._getDragHorizontalDirection();
	if(!g){
		return false
		}
		return this.floating?(((f&&f=="right")||b=="down")?2:1):(b&&(b=="down"?2:1))
	},
_intersectsWithSides:function(e){
	var c=a.ui.isOverAxis(this.positionAbs.top+this.offset.click.top,e.top+(e.height/2),e.height),d=a.ui.isOverAxis(this.positionAbs.left+this.offset.click.left,e.left+(e.width/2),e.width),b=this._getDragVerticalDirection(),f=this._getDragHorizontalDirection();
	if(this.floating&&f){
		return((f=="right"&&d)||(f=="left"&&!d))
		}else{
		return b&&((b=="down"&&c)||(b=="up"&&!c))
		}
	},
_getDragVerticalDirection:function(){
	var b=this.positionAbs.top-this.lastPositionAbs.top;
	return b!=0&&(b>0?"down":"up")
	},
_getDragHorizontalDirection:function(){
	var b=this.positionAbs.left-this.lastPositionAbs.left;
	return b!=0&&(b>0?"right":"left")
	},
refresh:function(b){
	this._refreshItems(b);
	this.refreshPositions()
	},
_connectWith:function(){
	var b=this.options;
	return b.connectWith.constructor==String?[b.connectWith]:b.connectWith
	},
_getItemsAsjQuery:function(b){
	var l=this;
	var g=[];
	var e=[];
	var h=this._connectWith();
	if(h&&b){
		for(var d=h.length-1;d>=0;d--){
			var k=a(h[d]);
			for(var c=k.length-1;c>=0;c--){
				var f=a.data(k[c],"sortable");
				if(f&&f!=this&&!f.options.disabled){
					e.push([a.isFunction(f.options.items)?f.options.items.call(f.element):a(f.options.items,f.element).not(".ui-sortable-helper"),f])
					}
				}
			}
		}
e.push([a.isFunction(this.options.items)?this.options.items.call(this.element,null,{
	options:this.options,
	item:this.currentItem
	}):a(this.options.items,this.element).not(".ui-sortable-helper"),this]);
for(var d=e.length-1;d>=0;d--){
	e[d][0].each(function(){
		g.push(this)
		})
	}
	return a(g)
},
_removeCurrentsFromItems:function(){
	var d=this.currentItem.find(":data(sortable-item)");
	for(var c=0;c<this.items.length;c++){
		for(var b=0;b<d.length;b++){
			if(d[b]==this.items[c].item[0]){
				this.items.splice(c,1)
				}
			}
		}
	},
_refreshItems:function(b){
	this.items=[];
	this.containers=[this];
	var h=this.items;
	var p=this;
	var f=[[a.isFunction(this.options.items)?this.options.items.call(this.element[0],b,{
		item:this.currentItem
		}):a(this.options.items,this.element),this]];
	var l=this._connectWith();
	if(l){
		for(var e=l.length-1;e>=0;e--){
			var m=a(l[e]);
			for(var d=m.length-1;d>=0;d--){
				var g=a.data(m[d],"sortable");
				if(g&&g!=this&&!g.options.disabled){
					f.push([a.isFunction(g.options.items)?g.options.items.call(g.element[0],b,{
						item:this.currentItem
						}):a(g.options.items,g.element),g]);
					this.containers.push(g)
					}
				}
			}
		}
for(var e=f.length-1;e>=0;e--){
	var k=f[e][1];
	var c=f[e][0];
	for(var d=0,n=c.length;d<n;d++){
		var o=a(c[d]);
		o.data("sortable-item",k);
		h.push({
			item:o,
			instance:k,
			width:0,
			height:0,
			left:0,
			top:0
		})
		}
	}
},
refreshPositions:function(b){
	if(this.offsetParent&&this.helper){
		this.offset.parent=this._getParentOffset()
		}
		for(var d=this.items.length-1;d>=0;d--){
		var e=this.items[d];
		if(e.instance!=this.currentContainer&&this.currentContainer&&e.item[0]!=this.currentItem[0]){
			continue
		}
		var c=this.options.toleranceElement?a(this.options.toleranceElement,e.item):e.item;
		if(!b){
			e.width=c.outerWidth();
			e.height=c.outerHeight()
			}
			var f=c.offset();
		e.left=f.left;
		e.top=f.top
		}
		if(this.options.custom&&this.options.custom.refreshContainers){
		this.options.custom.refreshContainers.call(this)
		}else{
		for(var d=this.containers.length-1;d>=0;d--){
			var f=this.containers[d].element.offset();
			this.containers[d].containerCache.left=f.left;
			this.containers[d].containerCache.top=f.top;
			this.containers[d].containerCache.width=this.containers[d].element.outerWidth();
			this.containers[d].containerCache.height=this.containers[d].element.outerHeight()
			}
		}
	},
_createPlaceholder:function(d){
	var b=d||this,e=b.options;
	if(!e.placeholder||e.placeholder.constructor==String){
		var c=e.placeholder;
		e.placeholder={
			element:function(){
				var f=a(document.createElement(b.currentItem[0].nodeName)).addClass(c||b.currentItem[0].className+" ui-sortable-placeholder").removeClass("ui-sortable-helper")[0];
				if(!c){
					f.style.visibility="hidden"
					}
					return f
				},
			update:function(f,g){
				if(c&&!e.forcePlaceholderSize){
					return
				}
				if(!g.height()){
					g.height(b.currentItem.innerHeight()-parseInt(b.currentItem.css("paddingTop")||0,10)-parseInt(b.currentItem.css("paddingBottom")||0,10))
					}
					if(!g.width()){
					g.width(b.currentItem.innerWidth()-parseInt(b.currentItem.css("paddingLeft")||0,10)-parseInt(b.currentItem.css("paddingRight")||0,10))
					}
				}
		}
}
b.placeholder=a(e.placeholder.element.call(b.element,b.currentItem));
b.currentItem.after(b.placeholder);
e.placeholder.update(b,b.placeholder)
},
_contactContainers:function(d){
	for(var c=this.containers.length-1;c>=0;c--){
		if(this._intersectsWith(this.containers[c].containerCache)){
			if(!this.containers[c].containerCache.over){
				if(this.currentContainer!=this.containers[c]){
					var h=10000;
					var g=null;
					var e=this.positionAbs[this.containers[c].floating?"left":"top"];
					for(var b=this.items.length-1;b>=0;b--){
						if(!a.ui.contains(this.containers[c].element[0],this.items[b].item[0])){
							continue
						}
						var f=this.items[b][this.containers[c].floating?"left":"top"];
						if(Math.abs(f-e)<h){
							h=Math.abs(f-e);
							g=this.items[b]
							}
						}
					if(!g&&!this.options.dropOnEmpty){
					continue
				}
				this.currentContainer=this.containers[c];
				g?this._rearrange(d,g,null,true):this._rearrange(d,null,this.containers[c].element,true);
				this._trigger("change",d,this._uiHash());
				this.containers[c]._trigger("change",d,this._uiHash(this));
				this.options.placeholder.update(this.currentContainer,this.placeholder)
				}
				this.containers[c]._trigger("over",d,this._uiHash(this));
			this.containers[c].containerCache.over=1
			}
		}else{
		if(this.containers[c].containerCache.over){
			this.containers[c]._trigger("out",d,this._uiHash(this));
			this.containers[c].containerCache.over=0
			}
		}
}
},
_createHelper:function(c){
	var d=this.options;
	var b=a.isFunction(d.helper)?a(d.helper.apply(this.element[0],[c,this.currentItem])):(d.helper=="clone"?this.currentItem.clone():this.currentItem);
	if(!b.parents("body").length){
		a(d.appendTo!="parent"?d.appendTo:this.currentItem[0].parentNode)[0].appendChild(b[0])
		}
		if(b[0]==this.currentItem[0]){
		this._storedCSS={
			width:this.currentItem[0].style.width,
			height:this.currentItem[0].style.height,
			position:this.currentItem.css("position"),
			top:this.currentItem.css("top"),
			left:this.currentItem.css("left")
			}
		}
	if(b[0].style.width==""||d.forceHelperSize){
	b.width(this.currentItem.width())
	}
	if(b[0].style.height==""||d.forceHelperSize){
	b.height(this.currentItem.height())
	}
	return b
},
_adjustOffsetFromHelper:function(b){
	if(b.left!=undefined){
		this.offset.click.left=b.left+this.margins.left
		}
		if(b.right!=undefined){
		this.offset.click.left=this.helperProportions.width-b.right+this.margins.left
		}
		if(b.top!=undefined){
		this.offset.click.top=b.top+this.margins.top
		}
		if(b.bottom!=undefined){
		this.offset.click.top=this.helperProportions.height-b.bottom+this.margins.top
		}
	},
_getParentOffset:function(){
	this.offsetParent=this.helper.offsetParent();
	var b=this.offsetParent.offset();
	if(this.cssPosition=="absolute"&&this.scrollParent[0]!=document&&a.ui.contains(this.scrollParent[0],this.offsetParent[0])){
		b.left+=this.scrollParent.scrollLeft();
		b.top+=this.scrollParent.scrollTop()
		}
		if((this.offsetParent[0]==document.body)||(this.offsetParent[0].tagName&&this.offsetParent[0].tagName.toLowerCase()=="html"&&a.browser.msie)){
		b={
			top:0,
			left:0
		}
	}
	return{
	top:b.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),
	left:b.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)
	}
},
_getRelativeOffset:function(){
	if(this.cssPosition=="relative"){
		var b=this.currentItem.position();
		return{
			top:b.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),
			left:b.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()
			}
		}else{
	return{
		top:0,
		left:0
	}
}
},
_cacheMargins:function(){
	this.margins={
		left:(parseInt(this.currentItem.css("marginLeft"),10)||0),
		top:(parseInt(this.currentItem.css("marginTop"),10)||0)
		}
	},
_cacheHelperProportions:function(){
	this.helperProportions={
		width:this.helper.outerWidth(),
		height:this.helper.outerHeight()
		}
	},
_setContainment:function(){
	var e=this.options;
	if(e.containment=="parent"){
		e.containment=this.helper[0].parentNode
		}
		if(e.containment=="document"||e.containment=="window"){
		this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,a(e.containment=="document"?document:window).width()-this.helperProportions.width-this.margins.left,(a(e.containment=="document"?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]
		}
		if(!(/^(document|window|parent)$/).test(e.containment)){
		var c=a(e.containment)[0];
		var d=a(e.containment).offset();
		var b=(a(c).css("overflow")!="hidden");
		this.containment=[d.left+(parseInt(a(c).css("borderLeftWidth"),10)||0)+(parseInt(a(c).css("paddingLeft"),10)||0)-this.margins.left,d.top+(parseInt(a(c).css("borderTopWidth"),10)||0)+(parseInt(a(c).css("paddingTop"),10)||0)-this.margins.top,d.left+(b?Math.max(c.scrollWidth,c.offsetWidth):c.offsetWidth)-(parseInt(a(c).css("borderLeftWidth"),10)||0)-(parseInt(a(c).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left,d.top+(b?Math.max(c.scrollHeight,c.offsetHeight):c.offsetHeight)-(parseInt(a(c).css("borderTopWidth"),10)||0)-(parseInt(a(c).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top]
		}
	},
_convertPositionTo:function(f,h){
	if(!h){
		h=this.position
		}
		var c=f=="absolute"?1:-1;
	var e=this.options,b=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&a.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,g=(/(html|body)/i).test(b[0].tagName);
	return{
		top:(h.top+this.offset.relative.top*c+this.offset.parent.top*c-(a.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():(g?0:b.scrollTop()))*c)),
		left:(h.left+this.offset.relative.left*c+this.offset.parent.left*c-(a.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():g?0:b.scrollLeft())*c))
		}
	},
_generatePosition:function(e){
	var h=this.options,b=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&a.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,i=(/(html|body)/i).test(b[0].tagName);
	if(this.cssPosition=="relative"&&!(this.scrollParent[0]!=document&&this.scrollParent[0]!=this.offsetParent[0])){
		this.offset.relative=this._getRelativeOffset()
		}
		var d=e.pageX;
	var c=e.pageY;
	if(this.originalPosition){
		if(this.containment){
			if(e.pageX-this.offset.click.left<this.containment[0]){
				d=this.containment[0]+this.offset.click.left
				}
				if(e.pageY-this.offset.click.top<this.containment[1]){
				c=this.containment[1]+this.offset.click.top
				}
				if(e.pageX-this.offset.click.left>this.containment[2]){
				d=this.containment[2]+this.offset.click.left
				}
				if(e.pageY-this.offset.click.top>this.containment[3]){
				c=this.containment[3]+this.offset.click.top
				}
			}
		if(h.grid){
		var g=this.originalPageY+Math.round((c-this.originalPageY)/h.grid[1])*h.grid[1];
		c=this.containment?(!(g-this.offset.click.top<this.containment[1]||g-this.offset.click.top>this.containment[3])?g:(!(g-this.offset.click.top<this.containment[1])?g-h.grid[1]:g+h.grid[1])):g;
		var f=this.originalPageX+Math.round((d-this.originalPageX)/h.grid[0])*h.grid[0];
		d=this.containment?(!(f-this.offset.click.left<this.containment[0]||f-this.offset.click.left>this.containment[2])?f:(!(f-this.offset.click.left<this.containment[0])?f-h.grid[0]:f+h.grid[0])):f
		}
	}
return{
	top:(c-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+(a.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():(i?0:b.scrollTop())))),
	left:(d-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+(a.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():i?0:b.scrollLeft())))
	}
},
_rearrange:function(g,f,c,e){
	c?c[0].appendChild(this.placeholder[0]):f.item[0].parentNode.insertBefore(this.placeholder[0],(this.direction=="down"?f.item[0]:f.item[0].nextSibling));
	this.counter=this.counter?++this.counter:1;
	var d=this,b=this.counter;
	window.setTimeout(function(){
		if(b==d.counter){
			d.refreshPositions(!e)
			}
		},0)
},
_clear:function(d,e){
	this.reverting=false;
	var f=[],b=this;
	if(!this._noFinalSort&&this.currentItem[0].parentNode){
		this.placeholder.before(this.currentItem)
		}
		this._noFinalSort=null;
	if(this.helper[0]==this.currentItem[0]){
		for(var c in this._storedCSS){
			if(this._storedCSS[c]=="auto"||this._storedCSS[c]=="static"){
				this._storedCSS[c]=""
				}
			}
		this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper")
	}else{
	this.currentItem.show()
	}
	if(this.fromOutside&&!e){
	f.push(function(g){
		this._trigger("receive",g,this._uiHash(this.fromOutside))
		})
	}
	if((this.fromOutside||this.domPosition.prev!=this.currentItem.prev().not(".ui-sortable-helper")[0]||this.domPosition.parent!=this.currentItem.parent()[0])&&!e){
	f.push(function(g){
		this._trigger("update",g,this._uiHash())
		})
	}
	if(!a.ui.contains(this.element[0],this.currentItem[0])){
	if(!e){
		f.push(function(g){
			this._trigger("remove",g,this._uiHash())
			})
		}
		for(var c=this.containers.length-1;c>=0;c--){
		if(a.ui.contains(this.containers[c].element[0],this.currentItem[0])&&!e){
			f.push((function(g){
				return function(h){
					g._trigger("receive",h,this._uiHash(this))
					}
				}).call(this,this.containers[c]));
		f.push((function(g){
			return function(h){
				g._trigger("update",h,this._uiHash(this))
				}
			}).call(this,this.containers[c]))
	}
	}
}
for(var c=this.containers.length-1;c>=0;c--){
	if(!e){
		f.push((function(g){
			return function(h){
				g._trigger("deactivate",h,this._uiHash(this))
				}
			}).call(this,this.containers[c]))
	}
	if(this.containers[c].containerCache.over){
	f.push((function(g){
		return function(h){
			g._trigger("out",h,this._uiHash(this))
			}
		}).call(this,this.containers[c]));
this.containers[c].containerCache.over=0
}
}
if(this._storedCursor){
	a("body").css("cursor",this._storedCursor)
	}
	if(this._storedOpacity){
	this.helper.css("opacity",this._storedOpacity)
	}
	if(this._storedZIndex){
	this.helper.css("zIndex",this._storedZIndex=="auto"?"":this._storedZIndex)
	}
	this.dragging=false;
if(this.cancelHelperRemoval){
	if(!e){
		this._trigger("beforeStop",d,this._uiHash());
		for(var c=0;c<f.length;c++){
			f[c].call(this,d)
			}
			this._trigger("stop",d,this._uiHash())
		}
		return false
	}
	if(!e){
	this._trigger("beforeStop",d,this._uiHash())
	}
	this.placeholder[0].parentNode.removeChild(this.placeholder[0]);
if(this.helper[0]!=this.currentItem[0]){
	this.helper.remove()
	}
	this.helper=null;
if(!e){
	for(var c=0;c<f.length;c++){
		f[c].call(this,d)
		}
		this._trigger("stop",d,this._uiHash())
	}
	this.fromOutside=false;
return true
},
_trigger:function(){
	if(a.widget.prototype._trigger.apply(this,arguments)===false){
		this.cancel()
		}
	},
_uiHash:function(c){
	var b=c||this;
	return{
		helper:b.helper,
		placeholder:b.placeholder||a([]),
		position:b.position,
		absolutePosition:b.positionAbs,
		offset:b.positionAbs,
		item:b.currentItem,
		sender:c?c.element:null
		}
	}
}));
a.extend(a.ui.sortable,{
	getter:"serialize toArray",
	version:"1.7.2",
	eventPrefix:"sort",
	defaults:{
		appendTo:"parent",
		axis:false,
		cancel:":input,option",
		connectWith:false,
		containment:false,
		cursor:"auto",
		cursorAt:false,
		delay:0,
		distance:1,
		dropOnEmpty:true,
		forcePlaceholderSize:false,
		forceHelperSize:false,
		grid:false,
		handle:false,
		helper:"original",
		items:"> *",
		opacity:false,
		placeholder:false,
		revert:false,
		scroll:true,
		scrollSensitivity:20,
		scrollSpeed:20,
		scope:"default",
		tolerance:"intersect",
		zIndex:1000
	}
})
})(jQuery);
;/*
 * jQuery UI Datepicker 1.7.2
 *
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Datepicker
 *
 * Depends:
 *	ui.core.js
 */
(function($){
	$.extend($.ui,{
		datepicker:{
			version:"1.7.2"
		}
	});
var PROP_NAME="datepicker";
function Datepicker(){
	this.debug=false;
	this._curInst=null;
	this._keyEvent=false;
	this._disabledInputs=[];
	this._datepickerShowing=false;
	this._inDialog=false;
	this._mainDivId="ui-datepicker-div";
	this._inlineClass="ui-datepicker-inline";
	this._appendClass="ui-datepicker-append";
	this._triggerClass="ui-datepicker-trigger";
	this._dialogClass="ui-datepicker-dialog";
	this._disableClass="ui-datepicker-disabled";
	this._unselectableClass="ui-datepicker-unselectable";
	this._currentClass="ui-datepicker-current-day";
	this._dayOverClass="ui-datepicker-days-cell-over";
	this.regional=[];
	this.regional[""]={
		closeText:"Done",
		prevText:"Prev",
		nextText:"Next",
		currentText:"Today",
		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"],
		dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],
		dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],
		dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],
		dateFormat:"mm/dd/yy",
		firstDay:0,
		isRTL:false
	};

	this._defaults={
		showOn:"focus",
		showAnim:"show",
		showOptions:{},
		defaultDate:null,
		appendText:"",
		buttonText:"...",
		buttonImage:"",
		buttonImageOnly:false,
		hideIfNoPrevNext:false,
		navigationAsDateFormat:false,
		gotoCurrent:false,
		changeMonth:false,
		changeYear:false,
		showMonthAfterYear:false,
		yearRange:"-10:+10",
		showOtherMonths:false,
		calculateWeek:this.iso8601Week,
		shortYearCutoff:"+10",
		minDate:null,
		maxDate:null,
		duration:"normal",
		beforeShowDay:null,
		beforeShow:null,
		onSelect:null,
		onChangeMonthYear:null,
		onClose:null,
		numberOfMonths:1,
		showCurrentAtPos:0,
		stepMonths:1,
		stepBigMonths:12,
		altField:"",
		altFormat:"",
		constrainInput:true,
		showButtonPanel:false
	};

	$.extend(this._defaults,this.regional[""]);
	this.dpDiv=$('<div id="'+this._mainDivId+'" class="ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all ui-helper-hidden-accessible"></div>')
	}
	$.extend(Datepicker.prototype,{
	markerClassName:"hasDatepicker",
	log:function(){
		if(this.debug){
			console.log.apply("",arguments)
			}
		},
setDefaults:function(settings){
	extendRemove(this._defaults,settings||{});
	return this
	},
_attachDatepicker:function(target,settings){
	var inlineSettings=null;
	for(var 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 inline=(nodeName=="div"||nodeName=="span");
	if(!target.id){
	target.id="dp"+(++this.uuid)
	}
	var inst=this._newInst($(target),inline);
	inst.settings=$.extend({},settings||{},inlineSettings||{});
	if(nodeName=="input"){
	this._connectDatepicker(target,inst)
	}else{
	if(inline){
		this._inlineDatepicker(target,inst)
		}
	}
},
_newInst:function(target,inline){
	var id=target[0].id.replace(/([:\[\]\.])/g,"\\\\$1");
	return{
		id:id,
		input:target,
		selectedDay:0,
		selectedMonth:0,
		selectedYear:0,
		drawMonth:0,
		drawYear:0,
		inline:inline,
		dpDiv:(!inline?this.dpDiv:$('<div class="'+this._inlineClass+' ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all"></div>'))
		}
	},
_connectDatepicker:function(target,inst){
	var input=$(target);
	inst.append=$([]);
	inst.trigger=$([]);
	if(input.hasClass(this.markerClassName)){
		return
	}
	var appendText=this._get(inst,"appendText");
	var isRTL=this._get(inst,"isRTL");
	if(appendText){
		inst.append=$('<span class="'+this._appendClass+'">'+appendText+"</span>");
		input[isRTL?"before":"after"](inst.append)
		}
		var showOn=this._get(inst,"showOn");
	if(showOn=="focus"||showOn=="both"){
		input.focus(this._showDatepicker)
		}
		if(showOn=="button"||showOn=="both"){
		var buttonText=this._get(inst,"buttonText");
		var buttonImage=this._get(inst,"buttonImage");
		inst.trigger=$(this._get(inst,"buttonImageOnly")?$("<img/>").addClass(this._triggerClass).attr({
			src:buttonImage,
			alt:buttonText,
			title:buttonText
		}):$('<button type="button"></button>').addClass(this._triggerClass).html(buttonImage==""?buttonText:$("<img/>").attr({
			src:buttonImage,
			alt:buttonText,
			title:buttonText
		})));
		input[isRTL?"before":"after"](inst.trigger);
		inst.trigger.click(function(){
			if($.datepicker._datepickerShowing&&$.datepicker._lastInput==target){
				$.datepicker._hideDatepicker()
				}else{
				$.datepicker._showDatepicker(target)
				}
				return false
			})
		}
		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 this._get(inst,key)
		});
	$.data(target,PROP_NAME,inst)
	},
_inlineDatepicker:function(target,inst){
	var divSpan=$(target);
	if(divSpan.hasClass(this.markerClassName)){
		return
	}
	divSpan.addClass(this.markerClassName).append(inst.dpDiv).bind("setData.datepicker",function(event,key,value){
		inst.settings[key]=value
		}).bind("getData.datepicker",function(event,key){
		return this._get(inst,key)
		});
	$.data(target,PROP_NAME,inst);
	this._setDate(inst,this._getDefaultDate(inst));
	this._updateDatepicker(inst);
	this._updateAlternate(inst)
	},
_dialogDatepicker:function(input,dateText,onSelect,settings,pos){
	var inst=this._dialogInst;
	if(!inst){
		var id="dp"+(++this.uuid);
		this._dialogInput=$('<input type="text" id="'+id+'" size="1" style="position: absolute; top: -100px;"/>');
		this._dialogInput.keydown(this._doKeyDown);
		$("body").append(this._dialogInput);
		inst=this._dialogInst=this._newInst(this._dialogInput,false);
		inst.settings={};

		$.data(this._dialogInput[0],PROP_NAME,inst)
		}
		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.dpDiv.addClass(this._dialogClass);
	this._showDatepicker(this._dialogInput[0]);
	if($.blockUI){
		$.blockUI(this.dpDiv)
		}
		$.data(this._dialogInput[0],PROP_NAME,inst);
	return this
	},
_destroyDatepicker:function(target){
	var $target=$(target);
	var inst=$.data(target,PROP_NAME);
	if(!$target.hasClass(this.markerClassName)){
		return
	}
	var nodeName=target.nodeName.toLowerCase();
	$.removeData(target,PROP_NAME);
	if(nodeName=="input"){
		inst.append.remove();
		inst.trigger.remove();
		$target.removeClass(this.markerClassName).unbind("focus",this._showDatepicker).unbind("keydown",this._doKeyDown).unbind("keypress",this._doKeyPress)
		}else{
		if(nodeName=="div"||nodeName=="span"){
			$target.removeClass(this.markerClassName).empty()
			}
		}
},
_enableDatepicker:function(target){
	var $target=$(target);
	var inst=$.data(target,PROP_NAME);
	if(!$target.hasClass(this.markerClassName)){
		return
	}
	var nodeName=target.nodeName.toLowerCase();
	if(nodeName=="input"){
		target.disabled=false;
		inst.trigger.filter("button").each(function(){
			this.disabled=false
			}).end().filter("img").css({
			opacity:"1.0",
			cursor:""
		})
		}else{
		if(nodeName=="div"||nodeName=="span"){
			var inline=$target.children("."+this._inlineClass);
			inline.children().removeClass("ui-state-disabled")
			}
		}
	this._disabledInputs=$.map(this._disabledInputs,function(value){
	return(value==target?null:value)
	})
},
_disableDatepicker:function(target){
	var $target=$(target);
	var inst=$.data(target,PROP_NAME);
	if(!$target.hasClass(this.markerClassName)){
		return
	}
	var nodeName=target.nodeName.toLowerCase();
	if(nodeName=="input"){
		target.disabled=true;
		inst.trigger.filter("button").each(function(){
			this.disabled=true
			}).end().filter("img").css({
			opacity:"0.5",
			cursor:"default"
		})
		}else{
		if(nodeName=="div"||nodeName=="span"){
			var inline=$target.children("."+this._inlineClass);
			inline.children().addClass("ui-state-disabled")
			}
		}
	this._disabledInputs=$.map(this._disabledInputs,function(value){
	return(value==target?null:value)
	});
this._disabledInputs[this._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
},
_getInst:function(target){
	try{
		return $.data(target,PROP_NAME)
		}catch(err){
		throw"Missing instance data for this datepicker"
		}
	},
_optionDatepicker:function(target,name,value){
	var inst=this._getInst(target);
	if(arguments.length==2&&typeof name=="string"){
		return(name=="defaults"?$.extend({},$.datepicker._defaults):(inst?(name=="all"?$.extend({},inst.settings):this._get(inst,name)):null))
		}
		var settings=name||{};

	if(typeof name=="string"){
		settings={};

		settings[name]=value
		}
		if(inst){
		if(this._curInst==inst){
			this._hideDatepicker(null)
			}
			var date=this._getDateDatepicker(target);
		extendRemove(inst.settings,settings);
		this._setDateDatepicker(target,date);
		this._updateDatepicker(inst)
		}
	},
_changeDatepicker:function(target,name,value){
	this._optionDatepicker(target,name,value)
	},
_refreshDatepicker:function(target){
	var inst=this._getInst(target);
	if(inst){
		this._updateDatepicker(inst)
		}
	},
_setDateDatepicker:function(target,date,endDate){
	var inst=this._getInst(target);
	if(inst){
		this._setDate(inst,date,endDate);
		this._updateDatepicker(inst);
		this._updateAlternate(inst)
		}
	},
_getDateDatepicker:function(target){
	var inst=this._getInst(target);
	if(inst&&!inst.inline){
		this._setDateFromField(inst)
		}
		return(inst?this._getDate(inst):null)
	},
_doKeyDown:function(event){
	var inst=$.datepicker._getInst(event.target);
	var handled=true;
	var isRTL=inst.dpDiv.is(".ui-datepicker-rtl");
	inst._keyEvent=true;
	if($.datepicker._datepickerShowing){
		switch(event.keyCode){
			case 9:
				$.datepicker._hideDatepicker(null,"");
				break;
			case 13:
				var sel=$("td."+$.datepicker._dayOverClass+", td."+$.datepicker._currentClass,inst.dpDiv);
				if(sel[0]){
				$.datepicker._selectDay(event.target,inst.selectedMonth,inst.selectedYear,sel[0])
				}else{
				$.datepicker._hideDatepicker(null,$.datepicker._get(inst,"duration"))
				}
				return false;
			break;
			case 27:
				$.datepicker._hideDatepicker(null,$.datepicker._get(inst,"duration"));
				break;
			case 33:
				$.datepicker._adjustDate(event.target,(event.ctrlKey?-$.datepicker._get(inst,"stepBigMonths"):-$.datepicker._get(inst,"stepMonths")),"M");
				break;
			case 34:
				$.datepicker._adjustDate(event.target,(event.ctrlKey?+$.datepicker._get(inst,"stepBigMonths"):+$.datepicker._get(inst,"stepMonths")),"M");
				break;
			case 35:
				if(event.ctrlKey||event.metaKey){
				$.datepicker._clearDate(event.target)
				}
				handled=event.ctrlKey||event.metaKey;
			break;
			case 36:
				if(event.ctrlKey||event.metaKey){
				$.datepicker._gotoToday(event.target)
				}
				handled=event.ctrlKey||event.metaKey;
			break;
			case 37:
				if(event.ctrlKey||event.metaKey){
				$.datepicker._adjustDate(event.target,(isRTL?+1:-1),"D")
				}
				handled=event.ctrlKey||event.metaKey;
			if(event.originalEvent.altKey){
				$.datepicker._adjustDate(event.target,(event.ctrlKey?-$.datepicker._get(inst,"stepBigMonths"):-$.datepicker._get(inst,"stepMonths")),"M")
				}
				break;
			case 38:
				if(event.ctrlKey||event.metaKey){
				$.datepicker._adjustDate(event.target,-7,"D")
				}
				handled=event.ctrlKey||event.metaKey;
			break;
			case 39:
				if(event.ctrlKey||event.metaKey){
				$.datepicker._adjustDate(event.target,(isRTL?-1:+1),"D")
				}
				handled=event.ctrlKey||event.metaKey;
			if(event.originalEvent.altKey){
				$.datepicker._adjustDate(event.target,(event.ctrlKey?+$.datepicker._get(inst,"stepBigMonths"):+$.datepicker._get(inst,"stepMonths")),"M")
				}
				break;
			case 40:
				if(event.ctrlKey||event.metaKey){
				$.datepicker._adjustDate(event.target,+7,"D")
				}
				handled=event.ctrlKey||event.metaKey;
			break;
			default:
				handled=false
				}
			}else{
	if(event.keyCode==36&&event.ctrlKey){
		$.datepicker._showDatepicker(this)
		}else{
		handled=false
		}
	}
if(handled){
	event.preventDefault();
	event.stopPropagation()
	}
},
_doKeyPress:function(event){
	var inst=$.datepicker._getInst(event.target);
	if($.datepicker._get(inst,"constrainInput")){
		var chars=$.datepicker._possibleChars($.datepicker._get(inst,"dateFormat"));
		var chr=String.fromCharCode(event.charCode==undefined?event.keyCode:event.charCode);
		return event.ctrlKey||(chr<" "||!chars||chars.indexOf(chr)>-1)
		}
	},
_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);
	var beforeShow=$.datepicker._get(inst,"beforeShow");
	extendRemove(inst.settings,(beforeShow?beforeShow.apply(input,[input,inst]):{}));
	$.datepicker._hideDatepicker(null,"");
	$.datepicker._lastInput=input;
	$.datepicker._setDateFromField(inst);
	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";
		return !isFixed
		});
	if(isFixed&&$.browser.opera){
		$.datepicker._pos[0]-=document.documentElement.scrollLeft;
		$.datepicker._pos[1]-=document.documentElement.scrollTop
		}
		var offset={
		left:$.datepicker._pos[0],
		top:$.datepicker._pos[1]
		};

	$.datepicker._pos=null;
	inst.rangeStart=null;
	inst.dpDiv.css({
		position:"absolute",
		display:"block",
		top:"-1000px"
	});
	$.datepicker._updateDatepicker(inst);
	offset=$.datepicker._checkOffset(inst,offset,isFixed);
	inst.dpDiv.css({
		position:($.datepicker._inDialog&&$.blockUI?"static":(isFixed?"fixed":"absolute")),
		display:"none",
		left:offset.left+"px",
		top:offset.top+"px"
		});
	if(!inst.inline){
		var showAnim=$.datepicker._get(inst,"showAnim")||"show";
		var duration=$.datepicker._get(inst,"duration");
		var postProcess=function(){
			$.datepicker._datepickerShowing=true;
			if($.browser.msie&&parseInt($.browser.version,10)<7){
				$("iframe.ui-datepicker-cover").css({
					width:inst.dpDiv.width()+4,
					height:inst.dpDiv.height()+4
					})
				}
			};

	if($.effects&&$.effects[showAnim]){
		inst.dpDiv.show(showAnim,$.datepicker._get(inst,"showOptions"),duration,postProcess)
		}else{
		inst.dpDiv[showAnim](duration,postProcess)
		}
		if(duration==""){
		postProcess()
		}
		if(inst.input[0].type!="hidden"){
		inst.input[0].focus()
		}
		$.datepicker._curInst=inst
	}
},
_updateDatepicker:function(inst){
	var dims={
		width:inst.dpDiv.width()+4,
		height:inst.dpDiv.height()+4
		};

	var self=this;
	inst.dpDiv.empty().append(this._generateHTML(inst)).find("iframe.ui-datepicker-cover").css({
		width:dims.width,
		height:dims.height
		}).end().find("button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a").bind("mouseout",function(){
		$(this).removeClass("ui-state-hover");
		if($.datepicker._get(inst,"selectWeek"))
		{
			$("#ui-datepicker-div #row_id_" + $(this).parent().attr('row_id')).removeClass('ui-state-row-hover');
                         $("#ui-datepicker-div tr td a").addClass('ui-state-default');
                         $("#ui-datepicker-div #row_id_" + $(this).parent().attr('row_id') + ' td a').addClass('ui-state-default');
		}
		if($.datepicker._get(inst,"selectMonth"))
		{
                        
						$("#ui-datepicker-div tr td a").removeClass('ui-state-row-hover');
						$("#ui-datepicker-div tr td a").addClass('ui-state-default');
		}
		if(this.className.indexOf("ui-datepicker-prev")!=-1){
			$(this).removeClass("ui-datepicker-prev-hover")
			}
			if(this.className.indexOf("ui-datepicker-next")!=-1){
			$(this).removeClass("ui-datepicker-next-hover")
			}
		}).bind("mouseover",function(){
	if(!self._isDisabledDatepicker(inst.inline?inst.dpDiv.parent()[0]:inst.input[0])){
		if($.datepicker._get(inst,"selectWeek"))
		{
                        $("#ui-datepicker-div #row_id_" + $(this).parent().attr('row_id') + '_' + $(this).parent().attr('calendar_id') + ' td a').removeClass('ui-state-default');
                        $("#ui-datepicker-div tr td a").removeClass('ui-state-row-hover');
						$("#ui-datepicker-div #row_id_" + $(this).parent().attr('row_id') + '_' + $(this).parent().attr('calendar_id') + ' td a').addClass('ui-state-row-hover');
		}

		if($.datepicker._get(inst,"selectMonth"))
		{
                        $(".ui-datepicker-group-" + $(this).parent().attr('calendar_id') + ' td a').removeClass('ui-state-default');
                        $(".ui-datepicker-group-" + $(this).parent().attr('calendar_id') + " td a").addClass('ui-state-row-hover');
		}

		$(this).parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover");
		$(this).addClass("ui-state-hover");
		if(this.className.indexOf("ui-datepicker-prev")!=-1){
			$(this).addClass("ui-datepicker-prev-hover")
			}
			if(this.className.indexOf("ui-datepicker-next")!=-1){
			$(this).addClass("ui-datepicker-next-hover")
			}
		}
}).end().find("."+this._dayOverClass+" a").trigger("mouseover").end();
var numMonths=this._getNumberOfMonths(inst);
var cols=numMonths[1];
var width=17;
if(cols>1){
	inst.dpDiv.addClass("ui-datepicker-multi-"+cols).css("width",(width*cols)+"em")
	}else{
	inst.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width("")
	}
	inst.dpDiv[(numMonths[0]!=1||numMonths[1]!=1?"add":"remove")+"Class"]("ui-datepicker-multi");
inst.dpDiv[(this._get(inst,"isRTL")?"add":"remove")+"Class"]("ui-datepicker-rtl");
if(inst.input&&inst.input[0].type!="hidden"&&inst==$.datepicker._curInst){
	$(inst.input[0]).focus()
	}
},
_checkOffset:function(inst,offset,isFixed){
	var dpWidth=inst.dpDiv.outerWidth();
	var dpHeight=inst.dpDiv.outerHeight();
	var inputWidth=inst.input?inst.input.outerWidth():0;
	var inputHeight=inst.input?inst.input.outerHeight():0;
	var viewWidth=(window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth)+$(document).scrollLeft();
	var viewHeight=(window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight)+$(document).scrollTop();
	offset.left-=(this._get(inst,"isRTL")?(dpWidth-inputWidth):0);
	offset.left-=(isFixed&&offset.left==inst.input.offset().left)?$(document).scrollLeft():0;
	offset.top-=(isFixed&&offset.top==(inst.input.offset().top+inputHeight))?$(document).scrollTop():0;
	offset.left-=(offset.left+dpWidth>viewWidth&&viewWidth>dpWidth)?Math.abs(offset.left+dpWidth-viewWidth):0;
	offset.top-=(offset.top+dpHeight>viewHeight&&viewHeight>dpHeight)?Math.abs(offset.top+dpHeight+inputHeight*2-viewHeight):0;
	return offset
	},
_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,duration){
	var inst=this._curInst;
	if(!inst||(input&&inst!=$.data(input,PROP_NAME))){
		return
	}
	if(inst.stayOpen){
		this._selectDate("#"+inst.id,this._formatDate(inst,inst.currentDay,inst.currentMonth,inst.currentYear))
		}
		inst.stayOpen=false;
	if(this._datepickerShowing){
		duration=(duration!=null?duration:this._get(inst,"duration"));
		var showAnim=this._get(inst,"showAnim");
		var postProcess=function(){
			$.datepicker._tidyDialog(inst)
			};

		if(duration!=""&&$.effects&&$.effects[showAnim]){
			inst.dpDiv.hide(showAnim,$.datepicker._get(inst,"showOptions"),duration,postProcess)
			}else{
			inst.dpDiv[(duration==""?"hide":(showAnim=="slideDown"?"slideUp":(showAnim=="fadeIn"?"fadeOut":"hide")))](duration,postProcess)
			}
			if(duration==""){
			this._tidyDialog(inst)
			}
			var onClose=this._get(inst,"onClose");
		if(onClose){
			onClose.apply((inst.input?inst.input[0]:null),[(inst.input?inst.input.val():""),inst])
			}
			this._datepickerShowing=false;
		this._lastInput=null;
		if(this._inDialog){
			this._dialogInput.css({
				position:"absolute",
				left:"0",
				top:"-100px"
			});
			if($.blockUI){
				$.unblockUI();
				$("body").append(this.dpDiv)
				}
			}
		this._inDialog=false
	}
	this._curInst=null
},
_tidyDialog:function(inst){
	inst.dpDiv.removeClass(this._dialogClass).unbind(".ui-datepicker-calendar")
	},
_checkExternalClick:function(event){
	if(!$.datepicker._curInst){
		return
	}
	var $target=$(event.target);
	if(($target.parents("#"+$.datepicker._mainDivId).length==0)&&!$target.hasClass($.datepicker.markerClassName)&&!$target.hasClass($.datepicker._triggerClass)&&$.datepicker._datepickerShowing&&!($.datepicker._inDialog&&$.blockUI)){
		$.datepicker._hideDatepicker(null,"")
		}
	},
_adjustDate:function(id,offset,period){
	var target=$(id);
	var inst=this._getInst(target[0]);
	if(this._isDisabledDatepicker(target[0])){
		return
	}
	this._adjustInstDate(inst,offset+(period=="M"?this._get(inst,"showCurrentAtPos"):0),period);
	this._updateDatepicker(inst)
	},
_gotoToday:function(id){
	var target=$(id);
	var inst=this._getInst(target[0]);
	if(this._get(inst,"gotoCurrent")&&inst.currentDay){
		inst.selectedDay=inst.currentDay;
		inst.drawMonth=inst.selectedMonth=inst.currentMonth;
		inst.drawYear=inst.selectedYear=inst.currentYear
		}else{
		var date=new Date();
		inst.selectedDay=date.getDate();
		inst.drawMonth=inst.selectedMonth=date.getMonth();
		inst.drawYear=inst.selectedYear=date.getFullYear()
		}
		this._notifyChange(inst);
	this._adjustDate(target)
	},
_selectMonthYear:function(id,select,period){
	var target=$(id);
	var inst=this._getInst(target[0]);
	inst._selectingMonthYear=false;
	inst["selected"+(period=="M"?"Month":"Year")]=inst["draw"+(period=="M"?"Month":"Year")]=parseInt(select.options[select.selectedIndex].value,10);
	this._notifyChange(inst);
	this._adjustDate(target)
	},
_clickMonthYear:function(id){
	var target=$(id);
	var inst=this._getInst(target[0]);
	if(inst.input&&inst._selectingMonthYear&&!$.browser.msie){
		inst.input[0].focus()
		}
		inst._selectingMonthYear=!inst._selectingMonthYear
	},
_selectDay:function(id,month,year,td){
	var target=$(id);
	if($(td).hasClass(this._unselectableClass)||this._isDisabledDatepicker(target[0])){
		return
	}
	var inst=this._getInst(target[0]);
	inst.selectedDay=inst.currentDay=$("a",td).html();
	inst.selectedMonth=inst.currentMonth=month;
	inst.selectedYear=inst.currentYear=year;
	if(inst.stayOpen){
		inst.endDay=inst.endMonth=inst.endYear=null
		}
		this._selectDate(id,this._formatDate(inst,inst.currentDay,inst.currentMonth,inst.currentYear));
	if(inst.stayOpen){
		inst.rangeStart=this._daylightSavingAdjust(new Date(inst.currentYear,inst.currentMonth,inst.currentDay));
		this._updateDatepicker(inst)
		}
	},
_clearDate:function(id){
	var target=$(id);
	var inst=this._getInst(target[0]);
	inst.stayOpen=false;
	inst.endDay=inst.endMonth=inst.endYear=inst.rangeStart=null;
	this._selectDate(target,"")
	},
_selectDate:function(id,dateStr){
	var target=$(id);
	var inst=this._getInst(target[0]);
	dateStr=(dateStr!=null?dateStr:this._formatDate(inst));
	if(inst.input){
		inst.input.val(dateStr)
		}
		this._updateAlternate(inst);
	var onSelect=this._get(inst,"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(!inst.stayOpen){
		this._hideDatepicker(null,this._get(inst,"duration"));
		this._lastInput=inst.input[0];
		if(typeof(inst.input[0])!="object"){
			inst.input[0].focus()
			}
			this._lastInput=null
		}
	}
},
_updateAlternate:function(inst){
	var altField=this._get(inst,"altField");
	if(altField){
		var altFormat=this._get(inst,"altFormat")||this._get(inst,"dateFormat");
		var date=this._getDate(inst);
		dateStr=this.formatDate(altFormat,date,this._getFormatConfig(inst));
		$(altField).each(function(){
			$(this).val(dateStr)
			})
		}
	},
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());
	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){
				return 1
				}
			}
	}
return Math.floor(((checkDate-firstMon)/86400000)/7)+1
},
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 doy=-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 origSize=(match=="@"?14:(match=="y"?4:(match=="o"?3:2)));
		var size=origSize;
		var num=0;
		while(size>0&&iValue<value.length&&value.charAt(iValue)>="0"&&value.charAt(iValue)<="9"){
			num=num*10+parseInt(value.charAt(iValue++),10);
			size--
		}
		if(size==origSize){
			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"o":
			doy=getNumber("o");
			break;
		case"m":
			month=getNumber("m");
			break;
		case"M":
			month=getName("M",monthNamesShort,monthNames);
			break;
		case"y":
			year=getNumber("y");
			break;
		case"@":
			var date=new Date(getNumber("@"));
			year=date.getFullYear();
			month=date.getMonth()+1;
			day=date.getDate();
			break;
		case"'":
			if(lookAhead("'")){
			checkLiteral()
			}else{
			literal=true
			}
			break;
		default:
			checkLiteral()
			}
		}
}
if(year==-1){
	year=new Date().getFullYear()
	}else{
	if(year<100){
		year+=new Date().getFullYear()-new Date().getFullYear()%100+(year<=shortYearCutoff?0:-100)
		}
	}
if(doy>-1){
	month=1;
	day=doy;
	do{
		var dim=this._getDaysInMonth(year,month-1);
		if(day<=dim){
			break
		}
		month++;
		day-=dim
		}while(true)
}
var date=this._daylightSavingAdjust(new Date(year,month-1,day));
if(date.getFullYear()!=year||date.getMonth()+1!=month||date.getDate()!=day){
	throw"Invalid date"
	}
	return date
},
ATOM:"yy-mm-dd",
COOKIE:"D, dd M yy",
ISO_8601:"yy-mm-dd",
RFC_822:"D, d M y",
RFC_850:"DD, dd-M-y",
RFC_1036:"D, d M y",
RFC_1123:"D, d M yy",
RFC_2822:"D, d M yy",
RSS:"D, d M y",
TIMESTAMP:"@",
W3C:"yy-mm-dd",
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,len){
		var num=""+value;
		if(lookAhead(match)){
			while(num.length<len){
				num="0"+num
				}
			}
		return num
	};

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(),2);
				break;
			case"D":
				output+=formatName("D",date.getDay(),dayNamesShort,dayNames);
				break;
			case"o":
				var doy=date.getDate();
				for(var m=date.getMonth()-1;m>=0;m--){
				doy+=this._getDaysInMonth(date.getFullYear(),m)
				}
				output+=formatNumber("o",doy,3);
				break;
			case"m":
				output+=formatNumber("m",date.getMonth()+1,2);
				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"@":
				output+=date.getTime();
				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":case"m":case"y":case"@":
				chars+="0123456789";
				break;
			case"D":case"M":
				return null;
			case"'":
				if(lookAhead("'")){
				chars+="'"
				}else{
				literal=true
				}
				break;
			default:
				chars+=format.charAt(iFormat)
				}
			}
	}
return chars
},
_get:function(inst,name){
	return inst.settings[name]!==undefined?inst.settings[name]:this._defaults[name]
	},
_setDateFromField:function(inst){
	var dateFormat=this._get(inst,"dateFormat");
	var dates=inst.input?inst.input.val():null;
	inst.endDay=inst.endMonth=inst.endYear=null;
	var date=defaultDate=this._getDefaultDate(inst);
	var settings=this._getFormatConfig(inst);
	try{
		date=this.parseDate(dateFormat,dates,settings)||defaultDate
		}catch(event){
		this.log(event);
		date=defaultDate
		}
		inst.selectedDay=date.getDate();
	inst.drawMonth=inst.selectedMonth=date.getMonth();
	inst.drawYear=inst.selectedYear=date.getFullYear();
	inst.currentDay=(dates?date.getDate():0);
	inst.currentMonth=(dates?date.getMonth():0);
	inst.currentYear=(dates?date.getFullYear():0);
	this._adjustInstDate(inst)
	},
_getDefaultDate:function(inst){
	var date=this._determineDate(this._get(inst,"defaultDate"),new Date());
	var minDate=this._getMinMaxDate(inst,"min",true);
	var maxDate=this._getMinMaxDate(inst,"max");
	date=(minDate&&date<minDate?minDate:date);
	date=(maxDate&&date>maxDate?maxDate:date);
	return date
	},
_determineDate:function(date,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 year=date.getFullYear();
		var month=date.getMonth();
		var day=date.getDate();
		var pattern=/([+-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g;
		var matches=pattern.exec(offset);
		while(matches){
			switch(matches[2]||"d"){
				case"d":case"D":
					day+=parseInt(matches[1],10);
					break;
				case"w":case"W":
					day+=parseInt(matches[1],10)*7;
					break;
				case"m":case"M":
					month+=parseInt(matches[1],10);
					day=Math.min(day,getDaysInMonth(year,month));
					break;
				case"y":case"Y":
					year+=parseInt(matches[1],10);
					day=Math.min(day,getDaysInMonth(year,month));
					break
					}
					matches=pattern.exec(offset)
			}
			return new Date(year,month,day)
		};

	date=(date==null?defaultDate:(typeof date=="string"?offsetString(date,this._getDaysInMonth):(typeof date=="number"?(isNaN(date)?defaultDate:offsetNumeric(date)):date)));
	date=(date&&date.toString()=="Invalid Date"?defaultDate:date);
	if(date){
		date.setHours(0);
		date.setMinutes(0);
		date.setSeconds(0);
		date.setMilliseconds(0)
		}
		return this._daylightSavingAdjust(date)
	},
_daylightSavingAdjust:function(date){
	if(!date){
		return null
		}
		date.setHours(date.getHours()>12?date.getHours()+2:0);
	return date
	},
_setDate:function(inst,date,endDate){
	var clear=!(date);
	var origMonth=inst.selectedMonth;
	var origYear=inst.selectedYear;
	date=this._determineDate(date,new Date());
	inst.selectedDay=inst.currentDay=date.getDate();
	inst.drawMonth=inst.selectedMonth=inst.currentMonth=date.getMonth();
	inst.drawYear=inst.selectedYear=inst.currentYear=date.getFullYear();
	if(origMonth!=inst.selectedMonth||origYear!=inst.selectedYear){
		this._notifyChange(inst)
		}
		this._adjustInstDate(inst);
	if(inst.input){
		inst.input.val(clear?"":this._formatDate(inst))
		}
	},
_getDate:function(inst){
	var startDate=(!inst.currentYear||(inst.input&&inst.input.val()=="")?null:this._daylightSavingAdjust(new Date(inst.currentYear,inst.currentMonth,inst.currentDay)));
	return startDate
	},
_generateHTML:function(inst){
	var today=new Date();
	today=this._daylightSavingAdjust(new Date(today.getFullYear(),today.getMonth(),today.getDate()));
	var isRTL=this._get(inst,"isRTL");
	var showButtonPanel=this._get(inst,"showButtonPanel");
	var hideIfNoPrevNext=this._get(inst,"hideIfNoPrevNext");
	var navigationAsDateFormat=this._get(inst,"navigationAsDateFormat");
	var numMonths=this._getNumberOfMonths(inst);
	var showCurrentAtPos=this._get(inst,"showCurrentAtPos");
	var stepMonths=this._get(inst,"stepMonths");
	var stepBigMonths=this._get(inst,"stepBigMonths");
	var isMultiMonth=(numMonths[0]!=1||numMonths[1]!=1);
	var currentDate=this._daylightSavingAdjust((!inst.currentDay?new Date(9999,9,9):new Date(inst.currentYear,inst.currentMonth,inst.currentDay)));
	var minDate=this._getMinMaxDate(inst,"min",true);
	var maxDate=this._getMinMaxDate(inst,"max");
	var drawMonth=inst.drawMonth-showCurrentAtPos;
	var drawYear=inst.drawYear;
	if(drawMonth<0){
		drawMonth+=12;
		drawYear--
	}
	if(maxDate){
		var maxDraw=this._daylightSavingAdjust(new Date(maxDate.getFullYear(),maxDate.getMonth()-numMonths[1]+1,maxDate.getDate()));
		maxDraw=(minDate&&maxDraw<minDate?minDate:maxDraw);
		while(this._daylightSavingAdjust(new Date(drawYear,drawMonth,1))>maxDraw){
			drawMonth--;
			if(drawMonth<0){
				drawMonth=11;
				drawYear--
			}
		}
	}
inst.drawMonth=drawMonth;
inst.drawYear=drawYear;
var prevText=this._get(inst,"prevText");
prevText=(!navigationAsDateFormat?prevText:this.formatDate(prevText,this._daylightSavingAdjust(new Date(drawYear,drawMonth-stepMonths,1)),this._getFormatConfig(inst)));
var prev=(this._canAdjustMonth(inst,-1,drawYear,drawMonth)?'<a class="ui-datepicker-prev ui-corner-all" onclick="DP_jQuery.datepicker._adjustDate(\'#'+inst.id+"', -"+stepMonths+", 'M');\" title=\""+prevText+'"><span class="ui-icon ui-icon-circle-triangle-'+(isRTL?"e":"w")+'">'+prevText+"</span></a>":(hideIfNoPrevNext?"":'<a class="ui-datepicker-prev ui-corner-all ui-state-disabled" title="'+prevText+'"><span class="ui-icon ui-icon-circle-triangle-'+(isRTL?"e":"w")+'">'+prevText+"</span></a>"));
var nextText=this._get(inst,"nextText");
nextText=(!navigationAsDateFormat?nextText:this.formatDate(nextText,this._daylightSavingAdjust(new Date(drawYear,drawMonth+stepMonths,1)),this._getFormatConfig(inst)));
var next=(this._canAdjustMonth(inst,+1,drawYear,drawMonth)?'<a class="ui-datepicker-next ui-corner-all" onclick="DP_jQuery.datepicker._adjustDate(\'#'+inst.id+"', +"+stepMonths+", 'M');\" title=\""+nextText+'"><span class="ui-icon ui-icon-circle-triangle-'+(isRTL?"w":"e")+'">'+nextText+"</span></a>":(hideIfNoPrevNext?"":'<a class="ui-datepicker-next ui-corner-all ui-state-disabled" title="'+nextText+'"><span class="ui-icon ui-icon-circle-triangle-'+(isRTL?"w":"e")+'">'+nextText+"</span></a>"));
var currentText=this._get(inst,"currentText");
var gotoDate=(this._get(inst,"gotoCurrent")&&inst.currentDay?currentDate:today);
currentText=(!navigationAsDateFormat?currentText:this.formatDate(currentText,gotoDate,this._getFormatConfig(inst)));
var controls=(!inst.inline?'<button type="button" class="ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all" onclick="DP_jQuery.datepicker._hideDatepicker();">'+this._get(inst,"closeText")+"</button>":"");
var buttonPanel=(showButtonPanel)?'<div class="ui-datepicker-buttonpane ui-widget-content">'+(isRTL?controls:"")+(this._isInRange(inst,gotoDate)?'<button type="button" class="ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all" onclick="DP_jQuery.datepicker._gotoToday(\'#'+inst.id+"');\">"+currentText+"</button>":"")+(isRTL?"":controls)+"</div>":"";
var firstDay=parseInt(this._get(inst,"firstDay"),10);
firstDay=(isNaN(firstDay)?0:firstDay);
var dayNames=this._get(inst,"dayNames");
var dayNamesShort=this._get(inst,"dayNamesShort");
var dayNamesMin=this._get(inst,"dayNamesMin");
var monthNames=this._get(inst,"monthNames");
var monthNamesShort=this._get(inst,"monthNamesShort");
var beforeShowDay=this._get(inst,"beforeShowDay");
var showOtherMonths=this._get(inst,"showOtherMonths");
var calculateWeek=this._get(inst,"calculateWeek")||this.iso8601Week;
var endDate=inst.endDay?this._daylightSavingAdjust(new Date(inst.endYear,inst.endMonth,inst.endDay)):currentDate;
var defaultDate=this._getDefaultDate(inst);
var html="";
for(var row=0;row<numMonths[0];row++){
	var group="";
	for(var col=0;col<numMonths[1];col++){
		var selectedDate=this._daylightSavingAdjust(new Date(drawYear,drawMonth,inst.selectedDay));
		var cornerClass=" ui-corner-all";
		var calender="";
		var calendar_id = "0";
		if(isMultiMonth){
			calender+='<div class="ui-datepicker-group ui-datepicker-group-';
			switch(col){
				case 0:
					calender+="first";
					calendar_id ="first";
					cornerClass=" ui-corner-"+(isRTL?"right":"left");
					break;
				case numMonths[1]-1:
					calender+="last";
					calendar_id ="last";
					cornerClass=" ui-corner-"+(isRTL?"left":"right");
					break;
				default:
					calender+="middle";
					calendar_id ="middle";
					cornerClass="";
					break
					}
					calender+='">'
			}
			calender+='<div class="ui-datepicker-header ui-widget-header ui-helper-clearfix'+cornerClass+'">'+(/all|left/.test(cornerClass)&&row==0?(isRTL?next:prev):"")+(/all|right/.test(cornerClass)&&row==0?(isRTL?prev:next):"")+this._generateMonthYearHeader(inst,drawMonth,drawYear,minDate,maxDate,selectedDate,row>0||col>0,monthNames,monthNamesShort)+'</div><table class="ui-datepicker-calendar"><thead><tr>';
		var thead="";
		for(var dow=0;dow<7;dow++){
			var day=(dow+firstDay)%7;
			thead+="<th"+((dow+firstDay+6)%7>=5?' class="ui-datepicker-week-end"':"")+'><span title="'+dayNames[day]+'">'+dayNamesMin[day]+"</span></th>"
			}
			calender+=thead+"</tr></thead><tbody>";
		var daysInMonth=this._getDaysInMonth(drawYear,drawMonth);
		if(drawYear==inst.selectedYear&&drawMonth==inst.selectedMonth){
			inst.selectedDay=Math.min(inst.selectedDay,daysInMonth)
			}
			var leadDays=(this._getFirstDayOfMonth(drawYear,drawMonth)-firstDay+7)%7;
		var numRows=(isMultiMonth?6:Math.ceil((leadDays+daysInMonth)/7));
		var printDate=this._daylightSavingAdjust(new Date(drawYear,drawMonth,1-leadDays));
		for(var dRow=0;dRow<numRows;dRow++){
			calender+="<tr id='row_id_" + dRow +"_" + calendar_id + "'>";
			var tbody="";
			for(var dow=0;dow<7;dow++){
				var daySettings=(beforeShowDay?beforeShowDay.apply((inst.input?inst.input[0]:null),[printDate]):[true,""]);
				var otherMonth=(printDate.getMonth()!=drawMonth);
				var unselectable=otherMonth||!daySettings[0]||(minDate&&printDate<minDate)||(maxDate&&printDate>maxDate);
				tbody+='<td row_id="' + dRow + '" calendar_id="' + calendar_id + '" class="'+((dow+firstDay+6)%7>=5?" ui-datepicker-week-end":"")+(otherMonth?" ui-datepicker-other-month":"")+((printDate.getTime()==selectedDate.getTime()&&drawMonth==inst.selectedMonth&&inst._keyEvent)||(defaultDate.getTime()==printDate.getTime()&&defaultDate.getTime()==selectedDate.getTime())?" "+this._dayOverClass:"")+(unselectable?" "+this._unselectableClass+" ui-state-disabled":"")+(otherMonth&&!showOtherMonths?"":" "+daySettings[1]+(printDate.getTime()>=currentDate.getTime()&&printDate.getTime()<=endDate.getTime()?" "+this._currentClass:"")+(printDate.getTime()==today.getTime()?" ui-datepicker-today":""))+'"'+((!otherMonth||showOtherMonths)&&daySettings[2]?' title="'+daySettings[2]+'"':"")+(unselectable?"":" onclick=\"DP_jQuery.datepicker._selectDay('#"+inst.id+"',"+drawMonth+","+drawYear+', this);return false;"')+">"+(otherMonth?(showOtherMonths?printDate.getDate():"&#xa0;"):(unselectable?'<span class="ui-state-default">'+printDate.getDate()+"</span>":'<a class="ui-state-default'+(printDate.getTime()==today.getTime()?" ui-state-highlight":"")+(printDate.getTime()>=currentDate.getTime()&&printDate.getTime()<=endDate.getTime()?" ui-state-active":"")+'" href="#">'+printDate.getDate()+"</a>"))+"</td>";
				printDate.setDate(printDate.getDate()+1);
				printDate=this._daylightSavingAdjust(printDate)
				}
				calender+=tbody+"</tr>"
			}
			drawMonth++;
		if(drawMonth>11){
			drawMonth=0;
			drawYear++
		}
		calender+="</tbody></table>"+(isMultiMonth?"</div>"+((numMonths[0]>0&&col==numMonths[1]-1)?'<div class="ui-datepicker-row-break"></div>':""):"");
		group+=calender
		}
		html+=group
	}
	html+=buttonPanel+($.browser.msie&&parseInt($.browser.version,10)<7&&!inst.inline?'<iframe src="javascript:false;" class="ui-datepicker-cover" frameborder="0"></iframe>':"");
inst._keyEvent=false;
return html
},
_generateMonthYearHeader:function(inst,drawMonth,drawYear,minDate,maxDate,selectedDate,secondary,monthNames,monthNamesShort){
	minDate=(inst.rangeStart&&minDate&&selectedDate<minDate?selectedDate:minDate);
	var changeMonth=this._get(inst,"changeMonth");
	var changeYear=this._get(inst,"changeYear");
	var showMonthAfterYear=this._get(inst,"showMonthAfterYear");
	var html='<div class="ui-datepicker-title">';
	var monthHtml="";
	if(secondary||!changeMonth){
		monthHtml+='<span class="ui-datepicker-month">'+monthNames[drawMonth]+"</span> "
		}else{
		var inMinYear=(minDate&&minDate.getFullYear()==drawYear);
		var inMaxYear=(maxDate&&maxDate.getFullYear()==drawYear);
		monthHtml+='<select class="ui-datepicker-month" onchange="DP_jQuery.datepicker._selectMonthYear(\'#'+inst.id+"', this, 'M');\" onclick=\"DP_jQuery.datepicker._clickMonthYear('#"+inst.id+"');\">";
		for(var month=0;month<12;month++){
			if((!inMinYear||month>=minDate.getMonth())&&(!inMaxYear||month<=maxDate.getMonth())){
				monthHtml+='<option value="'+month+'"'+(month==drawMonth?' selected="selected"':"")+">"+monthNamesShort[month]+"</option>"
				}
			}
		monthHtml+="</select>"
	}
	if(!showMonthAfterYear){
	html+=monthHtml+((secondary||changeMonth||changeYear)&&(!(changeMonth&&changeYear))?"&#xa0;":"")
	}
	if(secondary||!changeYear){
	html+='<span class="ui-datepicker-year">'+drawYear+"</span>"
	}else{
	var years=this._get(inst,"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=drawYear+parseInt(years[0],10);
			endYear=drawYear+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-year" onchange="DP_jQuery.datepicker._selectMonthYear(\'#'+inst.id+"', this, 'Y');\" onclick=\"DP_jQuery.datepicker._clickMonthYear('#"+inst.id+"');\">";
for(;year<=endYear;year++){
	html+='<option value="'+year+'"'+(year==drawYear?' selected="selected"':"")+">"+year+"</option>"
	}
	html+="</select>"
}
if(showMonthAfterYear){
	html+=(secondary||changeMonth||changeYear?"&#xa0;":"")+monthHtml
	}
	html+="</div>";
return html
},
_adjustInstDate:function(inst,offset,period){
	var year=inst.drawYear+(period=="Y"?offset:0);
	var month=inst.drawMonth+(period=="M"?offset:0);
	var day=Math.min(inst.selectedDay,this._getDaysInMonth(year,month))+(period=="D"?offset:0);
	var date=this._daylightSavingAdjust(new Date(year,month,day));
	var minDate=this._getMinMaxDate(inst,"min",true);
	var maxDate=this._getMinMaxDate(inst,"max");
	date=(minDate&&date<minDate?minDate:date);
	date=(maxDate&&date>maxDate?maxDate:date);
	inst.selectedDay=date.getDate();
	inst.drawMonth=inst.selectedMonth=date.getMonth();
	inst.drawYear=inst.selectedYear=date.getFullYear();
	if(period=="M"||period=="Y"){
		this._notifyChange(inst)
		}
	},
_notifyChange:function(inst){
	var onChange=this._get(inst,"onChangeMonthYear");
	if(onChange){
		onChange.apply((inst.input?inst.input[0]:null),[inst.selectedYear,inst.selectedMonth+1,inst])
		}
	},
_getNumberOfMonths:function(inst){
	var numMonths=this._get(inst,"numberOfMonths");
	return(numMonths==null?[1,1]:(typeof numMonths=="number"?[1,numMonths]:numMonths))
	},
_getMinMaxDate:function(inst,minMax,checkRange){
	var date=this._determineDate(this._get(inst,minMax+"Date"),null);
	return(!checkRange||!inst.rangeStart?date:(!date||inst.rangeStart>date?inst.rangeStart:date))
	},
_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(inst,offset,curYear,curMonth){
	var numMonths=this._getNumberOfMonths(inst);
	var date=this._daylightSavingAdjust(new Date(curYear,curMonth+(offset<0?offset:numMonths[1]),1));
	if(offset<0){
		date.setDate(this._getDaysInMonth(date.getFullYear(),date.getMonth()))
		}
		return this._isInRange(inst,date)
	},
_isInRange:function(inst,date){
	var newMinDate=(!inst.rangeStart?null:this._daylightSavingAdjust(new Date(inst.selectedYear,inst.selectedMonth,inst.selectedDay)));
	newMinDate=(newMinDate&&inst.rangeStart<newMinDate?inst.rangeStart:newMinDate);
	var minDate=newMinDate||this._getMinMaxDate(inst,"min");
	var maxDate=this._getMinMaxDate(inst,"max");
	return((!minDate||date>=minDate)&&(!maxDate||date<=maxDate))
	},
_getFormatConfig:function(inst){
	var shortYearCutoff=this._get(inst,"shortYearCutoff");
	shortYearCutoff=(typeof shortYearCutoff!="string"?shortYearCutoff:new Date().getFullYear()%100+parseInt(shortYearCutoff,10));
	return{
		shortYearCutoff:shortYearCutoff,
		dayNamesShort:this._get(inst,"dayNamesShort"),
		dayNames:this._get(inst,"dayNames"),
		monthNamesShort:this._get(inst,"monthNamesShort"),
		monthNames:this._get(inst,"monthNames")
		}
	},
_formatDate:function(inst,day,month,year){
	if(!day){
		inst.currentDay=inst.selectedDay;
		inst.currentMonth=inst.selectedMonth;
		inst.currentYear=inst.selectedYear
		}
		var date=(day?(typeof day=="object"?day:this._daylightSavingAdjust(new Date(year,month,day))):this._daylightSavingAdjust(new Date(inst.currentYear,inst.currentMonth,inst.currentDay)));
	return this.formatDate(this._get(inst,"dateFormat"),date,this._getFormatConfig(inst))
	}
});
function extendRemove(target,props){
	$.extend(target,props);
	for(var name in props){
		if(props[name]==null||props[name]==undefined){
			target[name]=props[name]
			}
		}
	return target
}
function isArray(a){
	return(a&&(($.browser.safari&&typeof a=="object"&&a.length)||(a.constructor&&a.constructor.toString().match(/\Array\(\)/))))
	}
	$.fn.datepicker=function(options){
	if(!$.datepicker.initialized){
		$(document).mousedown($.datepicker._checkExternalClick).find("body").append($.datepicker.dpDiv);
		$.datepicker.initialized=true
		}
		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))
		}
		if(options=="option"&&arguments.length==2&&typeof arguments[1]=="string"){
		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();
$.datepicker.initialized=false;
$.datepicker.uuid=new Date().getTime();
$.datepicker.version="1.7.2";
window.DP_jQuery=$
})(jQuery);
;/*
 * jQuery UI Effects 1.7.2
 *
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Effects/
 */
jQuery.effects||(function(d){
	d.effects={
		version:"1.7.2",
		save:function(g,h){
			for(var f=0;f<h.length;f++){
				if(h[f]!==null){
					g.data("ec.storage."+h[f],g[0].style[h[f]])
					}
				}
			},
restore:function(g,h){
	for(var f=0;f<h.length;f++){
		if(h[f]!==null){
			g.css(h[f],g.data("ec.storage."+h[f]))
			}
		}
	},
setMode:function(f,g){
	if(g=="toggle"){
		g=f.is(":hidden")?"show":"hide"
		}
		return g
	},
getBaseline:function(g,h){
	var i,f;
	switch(g[0]){
		case"top":
			i=0;
			break;
		case"middle":
			i=0.5;
			break;
		case"bottom":
			i=1;
			break;
		default:
			i=g[0]/h.height
			}
			switch(g[1]){
		case"left":
			f=0;
			break;
		case"center":
			f=0.5;
			break;
		case"right":
			f=1;
			break;
		default:
			f=g[1]/h.width
			}
			return{
		x:f,
		y:i
	}
},
createWrapper:function(f){
	if(f.parent().is(".ui-effects-wrapper")){
		return f.parent()
		}
		var g={
		width:f.outerWidth(true),
		height:f.outerHeight(true),
		"float":f.css("float")
		};

	f.wrap('<div class="ui-effects-wrapper" style="font-size:100%;background:transparent;border:none;margin:0;padding:0"></div>');
	var j=f.parent();
	if(f.css("position")=="static"){
		j.css({
			position:"relative"
		});
		f.css({
			position:"relative"
		})
		}else{
		var i=f.css("top");
		if(isNaN(parseInt(i,10))){
			i="auto"
			}
			var h=f.css("left");
		if(isNaN(parseInt(h,10))){
			h="auto"
			}
			j.css({
			position:f.css("position"),
			top:i,
			left:h,
			zIndex:f.css("z-index")
			}).show();
		f.css({
			position:"relative",
			top:0,
			left:0
		})
		}
		j.css(g);
	return j
	},
removeWrapper:function(f){
	if(f.parent().is(".ui-effects-wrapper")){
		return f.parent().replaceWith(f)
		}
		return f
	},
setTransition:function(g,i,f,h){
	h=h||{};

	d.each(i,function(k,j){
		unit=g.cssUnit(j);
		if(unit[0]>0){
			h[j]=unit[0]*f+unit[1]
			}
		});
return h
},
animateClass:function(h,i,k,j){
	var f=(typeof k=="function"?k:(j?j:null));
	var g=(typeof k=="string"?k:null);
	return this.each(function(){
		var q={};

		var o=d(this);
		var p=o.attr("style")||"";
		if(typeof p=="object"){
			p=p.cssText
			}
			if(h.toggle){
			o.hasClass(h.toggle)?h.remove=h.toggle:h.add=h.toggle
			}
			var l=d.extend({},(document.defaultView?document.defaultView.getComputedStyle(this,null):this.currentStyle));
		if(h.add){
			o.addClass(h.add)
			}
			if(h.remove){
			o.removeClass(h.remove)
			}
			var m=d.extend({},(document.defaultView?document.defaultView.getComputedStyle(this,null):this.currentStyle));
		if(h.add){
			o.removeClass(h.add)
			}
			if(h.remove){
			o.addClass(h.remove)
			}
			for(var r in m){
			if(typeof m[r]!="function"&&m[r]&&r.indexOf("Moz")==-1&&r.indexOf("length")==-1&&m[r]!=l[r]&&(r.match(/color/i)||(!r.match(/color/i)&&!isNaN(parseInt(m[r],10))))&&(l.position!="static"||(l.position=="static"&&!r.match(/left|top|bottom|right/)))){
				q[r]=m[r]
				}
			}
		o.animate(q,i,g,function(){
		if(typeof d(this).attr("style")=="object"){
			d(this).attr("style")["cssText"]="";
			d(this).attr("style")["cssText"]=p
			}else{
			d(this).attr("style",p)
			}
			if(h.add){
			d(this).addClass(h.add)
			}
			if(h.remove){
			d(this).removeClass(h.remove)
			}
			if(f){
			f.apply(this,arguments)
			}
		})
	})
}
};

function c(g,f){
	var i=g[1]&&g[1].constructor==Object?g[1]:{};

	if(f){
		i.mode=f
		}
		var h=g[1]&&g[1].constructor!=Object?g[1]:(i.duration?i.duration:g[2]);
	h=d.fx.off?0:typeof h==="number"?h:d.fx.speeds[h]||d.fx.speeds._default;
	var j=i.callback||(d.isFunction(g[1])&&g[1])||(d.isFunction(g[2])&&g[2])||(d.isFunction(g[3])&&g[3]);
	return[g[0],i,h,j]
	}
	d.fn.extend({
	_show:d.fn.show,
	_hide:d.fn.hide,
	__toggle:d.fn.toggle,
	_addClass:d.fn.addClass,
	_removeClass:d.fn.removeClass,
	_toggleClass:d.fn.toggleClass,
	effect:function(g,f,h,i){
		return d.effects[g]?d.effects[g].call(this,{
			method:g,
			options:f||{},
			duration:h,
			callback:i
		}):null
		},
	show:function(){
		if(!arguments[0]||(arguments[0].constructor==Number||(/(slow|normal|fast)/).test(arguments[0]))){
			return this._show.apply(this,arguments)
			}else{
			return this.effect.apply(this,c(arguments,"show"))
			}
		},
hide:function(){
	if(!arguments[0]||(arguments[0].constructor==Number||(/(slow|normal|fast)/).test(arguments[0]))){
		return this._hide.apply(this,arguments)
		}else{
		return this.effect.apply(this,c(arguments,"hide"))
		}
	},
toggle:function(){
	if(!arguments[0]||(arguments[0].constructor==Number||(/(slow|normal|fast)/).test(arguments[0]))||(d.isFunction(arguments[0])||typeof arguments[0]=="boolean")){
		return this.__toggle.apply(this,arguments)
		}else{
		return this.effect.apply(this,c(arguments,"toggle"))
		}
	},
addClass:function(g,f,i,h){
	return f?d.effects.animateClass.apply(this,[{
		add:g
	},f,i,h]):this._addClass(g)
	},
removeClass:function(g,f,i,h){
	return f?d.effects.animateClass.apply(this,[{
		remove:g
	},f,i,h]):this._removeClass(g)
	},
toggleClass:function(g,f,i,h){
	return((typeof f!=="boolean")&&f)?d.effects.animateClass.apply(this,[{
		toggle:g
	},f,i,h]):this._toggleClass(g,f)
	},
morph:function(f,h,g,j,i){
	return d.effects.animateClass.apply(this,[{
		add:h,
		remove:f
	},g,j,i])
	},
switchClass:function(){
	return this.morph.apply(this,arguments)
	},
cssUnit:function(f){
	var g=this.css(f),h=[];
	d.each(["em","px","%","pt"],function(j,k){
		if(g.indexOf(k)>0){
			h=[parseFloat(g),k]
			}
		});
return h
}
});
d.each(["backgroundColor","borderBottomColor","borderLeftColor","borderRightColor","borderTopColor","color","outlineColor"],function(g,f){
	d.fx.step[f]=function(h){
		if(h.state==0){
			h.start=e(h.elem,f);
			h.end=b(h.end)
			}
			h.elem.style[f]="rgb("+[Math.max(Math.min(parseInt((h.pos*(h.end[0]-h.start[0]))+h.start[0],10),255),0),Math.max(Math.min(parseInt((h.pos*(h.end[1]-h.start[1]))+h.start[1],10),255),0),Math.max(Math.min(parseInt((h.pos*(h.end[2]-h.start[2]))+h.start[2],10),255),0)].join(",")+")"
		}
	});
function b(g){
	var f;
	if(g&&g.constructor==Array&&g.length==3){
		return g
		}
		if(f=/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(g)){
		return[parseInt(f[1],10),parseInt(f[2],10),parseInt(f[3],10)]
		}
		if(f=/rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(g)){
		return[parseFloat(f[1])*2.55,parseFloat(f[2])*2.55,parseFloat(f[3])*2.55]
		}
		if(f=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(g)){
		return[parseInt(f[1],16),parseInt(f[2],16),parseInt(f[3],16)]
		}
		if(f=/#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(g)){
		return[parseInt(f[1]+f[1],16),parseInt(f[2]+f[2],16),parseInt(f[3]+f[3],16)]
		}
		if(f=/rgba\(0, 0, 0, 0\)/.exec(g)){
		return a.transparent
		}
		return a[d.trim(g).toLowerCase()]
	}
	function e(h,f){
	var g;
	do{
		g=d.curCSS(h,f);
		if(g!=""&&g!="transparent"||d.nodeName(h,"body")){
			break
		}
		f="backgroundColor"
		}while(h=h.parentNode);
	return b(g)
	}
	var a={
	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]
	};

d.easing.jswing=d.easing.swing;
d.extend(d.easing,{
	def:"easeOutQuad",
	swing:function(g,h,f,j,i){
		return d.easing[d.easing.def](g,h,f,j,i)
		},
	easeInQuad:function(g,h,f,j,i){
		return j*(h/=i)*h+f
		},
	easeOutQuad:function(g,h,f,j,i){
		return -j*(h/=i)*(h-2)+f
		},
	easeInOutQuad:function(g,h,f,j,i){
		if((h/=i/2)<1){
			return j/2*h*h+f
			}
			return -j/2*((--h)*(h-2)-1)+f
		},
	easeInCubic:function(g,h,f,j,i){
		return j*(h/=i)*h*h+f
		},
	easeOutCubic:function(g,h,f,j,i){
		return j*((h=h/i-1)*h*h+1)+f
		},
	easeInOutCubic:function(g,h,f,j,i){
		if((h/=i/2)<1){
			return j/2*h*h*h+f
			}
			return j/2*((h-=2)*h*h+2)+f
		},
	easeInQuart:function(g,h,f,j,i){
		return j*(h/=i)*h*h*h+f
		},
	easeOutQuart:function(g,h,f,j,i){
		return -j*((h=h/i-1)*h*h*h-1)+f
		},
	easeInOutQuart:function(g,h,f,j,i){
		if((h/=i/2)<1){
			return j/2*h*h*h*h+f
			}
			return -j/2*((h-=2)*h*h*h-2)+f
		},
	easeInQuint:function(g,h,f,j,i){
		return j*(h/=i)*h*h*h*h+f
		},
	easeOutQuint:function(g,h,f,j,i){
		return j*((h=h/i-1)*h*h*h*h+1)+f
		},
	easeInOutQuint:function(g,h,f,j,i){
		if((h/=i/2)<1){
			return j/2*h*h*h*h*h+f
			}
			return j/2*((h-=2)*h*h*h*h+2)+f
		},
	easeInSine:function(g,h,f,j,i){
		return -j*Math.cos(h/i*(Math.PI/2))+j+f
		},
	easeOutSine:function(g,h,f,j,i){
		return j*Math.sin(h/i*(Math.PI/2))+f
		},
	easeInOutSine:function(g,h,f,j,i){
		return -j/2*(Math.cos(Math.PI*h/i)-1)+f
		},
	easeInExpo:function(g,h,f,j,i){
		return(h==0)?f:j*Math.pow(2,10*(h/i-1))+f
		},
	easeOutExpo:function(g,h,f,j,i){
		return(h==i)?f+j:j*(-Math.pow(2,-10*h/i)+1)+f
		},
	easeInOutExpo:function(g,h,f,j,i){
		if(h==0){
			return f
			}
			if(h==i){
			return f+j
			}
			if((h/=i/2)<1){
			return j/2*Math.pow(2,10*(h-1))+f
			}
			return j/2*(-Math.pow(2,-10*--h)+2)+f
		},
	easeInCirc:function(g,h,f,j,i){
		return -j*(Math.sqrt(1-(h/=i)*h)-1)+f
		},
	easeOutCirc:function(g,h,f,j,i){
		return j*Math.sqrt(1-(h=h/i-1)*h)+f
		},
	easeInOutCirc:function(g,h,f,j,i){
		if((h/=i/2)<1){
			return -j/2*(Math.sqrt(1-h*h)-1)+f
			}
			return j/2*(Math.sqrt(1-(h-=2)*h)+1)+f
		},
	easeInElastic:function(g,i,f,m,l){
		var j=1.70158;
		var k=0;
		var h=m;
		if(i==0){
			return f
			}
			if((i/=l)==1){
			return f+m
			}
			if(!k){
			k=l*0.3
			}
			if(h<Math.abs(m)){
			h=m;
			var j=k/4
			}else{
			var j=k/(2*Math.PI)*Math.asin(m/h)
			}
			return -(h*Math.pow(2,10*(i-=1))*Math.sin((i*l-j)*(2*Math.PI)/k))+f
		},
	easeOutElastic:function(g,i,f,m,l){
		var j=1.70158;
		var k=0;
		var h=m;
		if(i==0){
			return f
			}
			if((i/=l)==1){
			return f+m
			}
			if(!k){
			k=l*0.3
			}
			if(h<Math.abs(m)){
			h=m;
			var j=k/4
			}else{
			var j=k/(2*Math.PI)*Math.asin(m/h)
			}
			return h*Math.pow(2,-10*i)*Math.sin((i*l-j)*(2*Math.PI)/k)+m+f
		},
	easeInOutElastic:function(g,i,f,m,l){
		var j=1.70158;
		var k=0;
		var h=m;
		if(i==0){
			return f
			}
			if((i/=l/2)==2){
			return f+m
			}
			if(!k){
			k=l*(0.3*1.5)
			}
			if(h<Math.abs(m)){
			h=m;
			var j=k/4
			}else{
			var j=k/(2*Math.PI)*Math.asin(m/h)
			}
			if(i<1){
			return -0.5*(h*Math.pow(2,10*(i-=1))*Math.sin((i*l-j)*(2*Math.PI)/k))+f
			}
			return h*Math.pow(2,-10*(i-=1))*Math.sin((i*l-j)*(2*Math.PI)/k)*0.5+m+f
		},
	easeInBack:function(g,h,f,k,j,i){
		if(i==undefined){
			i=1.70158
			}
			return k*(h/=j)*h*((i+1)*h-i)+f
		},
	easeOutBack:function(g,h,f,k,j,i){
		if(i==undefined){
			i=1.70158
			}
			return k*((h=h/j-1)*h*((i+1)*h+i)+1)+f
		},
	easeInOutBack:function(g,h,f,k,j,i){
		if(i==undefined){
			i=1.70158
			}
			if((h/=j/2)<1){
			return k/2*(h*h*(((i*=(1.525))+1)*h-i))+f
			}
			return k/2*((h-=2)*h*(((i*=(1.525))+1)*h+i)+2)+f
		},
	easeInBounce:function(g,h,f,j,i){
		return j-d.easing.easeOutBounce(g,i-h,0,j,i)+f
		},
	easeOutBounce:function(g,h,f,j,i){
		if((h/=i)<(1/2.75)){
			return j*(7.5625*h*h)+f
			}else{
			if(h<(2/2.75)){
				return j*(7.5625*(h-=(1.5/2.75))*h+0.75)+f
				}else{
				if(h<(2.5/2.75)){
					return j*(7.5625*(h-=(2.25/2.75))*h+0.9375)+f
					}else{
					return j*(7.5625*(h-=(2.625/2.75))*h+0.984375)+f
					}
				}
		}
},
easeInOutBounce:function(g,h,f,j,i){
	if(h<i/2){
		return d.easing.easeInBounce(g,h*2,0,j,i)*0.5+f
		}
		return d.easing.easeOutBounce(g,h*2-i,0,j,i)*0.5+j*0.5+f
	}
})
})(jQuery);
;/*
 * jQuery UI Effects Blind 1.7.2
 *
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Effects/Blind
 *
 * Depends:
 *	effects.core.js
 */
(function(a){
	a.effects.blind=function(b){
		return this.queue(function(){
			var d=a(this),c=["position","top","left"];
			var h=a.effects.setMode(d,b.options.mode||"hide");
			var g=b.options.direction||"vertical";
			a.effects.save(d,c);
			d.show();
			var j=a.effects.createWrapper(d).css({
				overflow:"hidden"
			});
			var e=(g=="vertical")?"height":"width";
			var i=(g=="vertical")?j.height():j.width();
			if(h=="show"){
				j.css(e,0)
				}
				var f={};

			f[e]=h=="show"?i:0;
			j.animate(f,b.duration,b.options.easing,function(){
				if(h=="hide"){
					d.hide()
					}
					a.effects.restore(d,c);
				a.effects.removeWrapper(d);
				if(b.callback){
					b.callback.apply(d[0],arguments)
					}
					d.dequeue()
				})
			})
		}
	})(jQuery);
;/*
 * jQuery UI Effects Bounce 1.7.2
 *
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Effects/Bounce
 *
 * Depends:
 *	effects.core.js
 */
(function(a){
	a.effects.bounce=function(b){
		return this.queue(function(){
			var e=a(this),l=["position","top","left"];
			var k=a.effects.setMode(e,b.options.mode||"effect");
			var n=b.options.direction||"up";
			var c=b.options.distance||20;
			var d=b.options.times||5;
			var g=b.duration||250;
			if(/show|hide/.test(k)){
				l.push("opacity")
				}
				a.effects.save(e,l);
			e.show();
			a.effects.createWrapper(e);
			var f=(n=="up"||n=="down")?"top":"left";
			var p=(n=="up"||n=="left")?"pos":"neg";
			var c=b.options.distance||(f=="top"?e.outerHeight({
				margin:true
			})/3:e.outerWidth({
				margin:true
			})/3);
			if(k=="show"){
				e.css("opacity",0).css(f,p=="pos"?-c:c)
				}
				if(k=="hide"){
				c=c/(d*2)
				}
				if(k!="hide"){
				d--
			}
			if(k=="show"){
				var h={
					opacity:1
				};

				h[f]=(p=="pos"?"+=":"-=")+c;
				e.animate(h,g/2,b.options.easing);
				c=c/2;
				d--
			}
			for(var j=0;j<d;j++){
				var o={},m={};

				o[f]=(p=="pos"?"-=":"+=")+c;
				m[f]=(p=="pos"?"+=":"-=")+c;
				e.animate(o,g/2,b.options.easing).animate(m,g/2,b.options.easing);
				c=(k=="hide")?c*2:c/2
				}
				if(k=="hide"){
				var h={
					opacity:0
				};

				h[f]=(p=="pos"?"-=":"+=")+c;
				e.animate(h,g/2,b.options.easing,function(){
					e.hide();
					a.effects.restore(e,l);
					a.effects.removeWrapper(e);
					if(b.callback){
						b.callback.apply(this,arguments)
						}
					})
			}else{
			var o={},m={};

			o[f]=(p=="pos"?"-=":"+=")+c;
			m[f]=(p=="pos"?"+=":"-=")+c;
			e.animate(o,g/2,b.options.easing).animate(m,g/2,b.options.easing,function(){
				a.effects.restore(e,l);
				a.effects.removeWrapper(e);
				if(b.callback){
					b.callback.apply(this,arguments)
					}
				})
		}
		e.queue("fx",function(){
			e.dequeue()
			});
		e.dequeue()
		})
}
})(jQuery);
;/*
 * jQuery UI Effects Clip 1.7.2
 *
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Effects/Clip
 *
 * Depends:
 *	effects.core.js
 */
(function(a){
	a.effects.clip=function(b){
		return this.queue(function(){
			var f=a(this),j=["position","top","left","height","width"];
			var i=a.effects.setMode(f,b.options.mode||"hide");
			var k=b.options.direction||"vertical";
			a.effects.save(f,j);
			f.show();
			var c=a.effects.createWrapper(f).css({
				overflow:"hidden"
			});
			var e=f[0].tagName=="IMG"?c:f;
			var g={
				size:(k=="vertical")?"height":"width",
				position:(k=="vertical")?"top":"left"
				};

			var d=(k=="vertical")?e.height():e.width();
			if(i=="show"){
				e.css(g.size,0);
				e.css(g.position,d/2)
				}
				var h={};

			h[g.size]=i=="show"?d:0;
			h[g.position]=i=="show"?0:d/2;
			e.animate(h,{
				queue:false,
				duration:b.duration,
				easing:b.options.easing,
				complete:function(){
					if(i=="hide"){
						f.hide()
						}
						a.effects.restore(f,j);
					a.effects.removeWrapper(f);
					if(b.callback){
						b.callback.apply(f[0],arguments)
						}
						f.dequeue()
					}
				})
		})
	}
})(jQuery);
;/*
 * jQuery UI Effects Drop 1.7.2
 *
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Effects/Drop
 *
 * Depends:
 *	effects.core.js
 */
(function(a){
	a.effects.drop=function(b){
		return this.queue(function(){
			var e=a(this),d=["position","top","left","opacity"];
			var i=a.effects.setMode(e,b.options.mode||"hide");
			var h=b.options.direction||"left";
			a.effects.save(e,d);
			e.show();
			a.effects.createWrapper(e);
			var f=(h=="up"||h=="down")?"top":"left";
			var c=(h=="up"||h=="left")?"pos":"neg";
			var j=b.options.distance||(f=="top"?e.outerHeight({
				margin:true
			})/2:e.outerWidth({
				margin:true
			})/2);
			if(i=="show"){
				e.css("opacity",0).css(f,c=="pos"?-j:j)
				}
				var g={
				opacity:i=="show"?1:0
				};

			g[f]=(i=="show"?(c=="pos"?"+=":"-="):(c=="pos"?"-=":"+="))+j;
			e.animate(g,{
				queue:false,
				duration:b.duration,
				easing:b.options.easing,
				complete:function(){
					if(i=="hide"){
						e.hide()
						}
						a.effects.restore(e,d);
					a.effects.removeWrapper(e);
					if(b.callback){
						b.callback.apply(this,arguments)
						}
						e.dequeue()
					}
				})
		})
	}
})(jQuery);
;/*
 * jQuery UI Effects Explode 1.7.2
 *
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Effects/Explode
 *
 * Depends:
 *	effects.core.js
 */
(function(a){
	a.effects.explode=function(b){
		return this.queue(function(){
			var k=b.options.pieces?Math.round(Math.sqrt(b.options.pieces)):3;
			var e=b.options.pieces?Math.round(Math.sqrt(b.options.pieces)):3;
			b.options.mode=b.options.mode=="toggle"?(a(this).is(":visible")?"hide":"show"):b.options.mode;
			var h=a(this).show().css("visibility","hidden");
			var l=h.offset();
			l.top-=parseInt(h.css("marginTop"),10)||0;
			l.left-=parseInt(h.css("marginLeft"),10)||0;
			var g=h.outerWidth(true);
			var c=h.outerHeight(true);
			for(var f=0;f<k;f++){
				for(var d=0;d<e;d++){
					h.clone().appendTo("body").wrap("<div></div>").css({
						position:"absolute",
						visibility:"visible",
						left:-d*(g/e),
						top:-f*(c/k)
						}).parent().addClass("ui-effects-explode").css({
						position:"absolute",
						overflow:"hidden",
						width:g/e,
						height:c/k,
						left:l.left+d*(g/e)+(b.options.mode=="show"?(d-Math.floor(e/2))*(g/e):0),
						top:l.top+f*(c/k)+(b.options.mode=="show"?(f-Math.floor(k/2))*(c/k):0),
						opacity:b.options.mode=="show"?0:1
						}).animate({
						left:l.left+d*(g/e)+(b.options.mode=="show"?0:(d-Math.floor(e/2))*(g/e)),
						top:l.top+f*(c/k)+(b.options.mode=="show"?0:(f-Math.floor(k/2))*(c/k)),
						opacity:b.options.mode=="show"?1:0
						},b.duration||500)
					}
				}
				setTimeout(function(){
			b.options.mode=="show"?h.css({
				visibility:"visible"
			}):h.css({
				visibility:"visible"
			}).hide();
			if(b.callback){
				b.callback.apply(h[0])
				}
				h.dequeue();
			a("div.ui-effects-explode").remove()
			},b.duration||500)
		})
	}
})(jQuery);
;/*
 * jQuery UI Effects Fold 1.7.2
 *
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Effects/Fold
 *
 * Depends:
 *	effects.core.js
 */
(function(a){
	a.effects.fold=function(b){
		return this.queue(function(){
			var e=a(this),k=["position","top","left"];
			var h=a.effects.setMode(e,b.options.mode||"hide");
			var o=b.options.size||15;
			var n=!(!b.options.horizFirst);
			var g=b.duration?b.duration/2:a.fx.speeds._default/2;
			a.effects.save(e,k);
			e.show();
			var d=a.effects.createWrapper(e).css({
				overflow:"hidden"
			});
			var i=((h=="show")!=n);
			var f=i?["width","height"]:["height","width"];
			var c=i?[d.width(),d.height()]:[d.height(),d.width()];
			var j=/([0-9]+)%/.exec(o);
			if(j){
				o=parseInt(j[1],10)/100*c[h=="hide"?0:1]
				}
				if(h=="show"){
				d.css(n?{
					height:0,
					width:o
				}:{
					height:o,
					width:0
				})
				}
				var m={},l={};

			m[f[0]]=h=="show"?c[0]:o;
			l[f[1]]=h=="show"?c[1]:0;
			d.animate(m,g,b.options.easing).animate(l,g,b.options.easing,function(){
				if(h=="hide"){
					e.hide()
					}
					a.effects.restore(e,k);
				a.effects.removeWrapper(e);
				if(b.callback){
					b.callback.apply(e[0],arguments)
					}
					e.dequeue()
				})
			})
		}
	})(jQuery);
;/*
 * jQuery UI Effects Highlight 1.7.2
 *
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Effects/Highlight
 *
 * Depends:
 *	effects.core.js
 */
(function(a){
	a.effects.highlight=function(b){
		return this.queue(function(){
			var e=a(this),d=["backgroundImage","backgroundColor","opacity"];
			var h=a.effects.setMode(e,b.options.mode||"show");
			var c=b.options.color||"#ffff99";
			var g=e.css("backgroundColor");
			a.effects.save(e,d);
			e.show();
			e.css({
				backgroundImage:"none",
				backgroundColor:c
			});
			var f={
				backgroundColor:g
			};

			if(h=="hide"){
				f.opacity=0
				}
				e.animate(f,{
				queue:false,
				duration:b.duration,
				easing:b.options.easing,
				complete:function(){
					if(h=="hide"){
						e.hide()
						}
						a.effects.restore(e,d);
					if(h=="show"&&a.browser.msie){
						this.style.removeAttribute("filter")
						}
						if(b.callback){
						b.callback.apply(this,arguments)
						}
						e.dequeue()
					}
				})
		})
	}
})(jQuery);
;/*
 * jQuery UI Effects Pulsate 1.7.2
 *
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Effects/Pulsate
 *
 * Depends:
 *	effects.core.js
 */
(function(a){
	a.effects.pulsate=function(b){
		return this.queue(function(){
			var d=a(this);
			var g=a.effects.setMode(d,b.options.mode||"show");
			var f=b.options.times||5;
			var e=b.duration?b.duration/2:a.fx.speeds._default/2;
			if(g=="hide"){
				f--
			}
			if(d.is(":hidden")){
				d.css("opacity",0);
				d.show();
				d.animate({
					opacity:1
				},e,b.options.easing);
				f=f-2
				}
				for(var c=0;c<f;c++){
				d.animate({
					opacity:0
				},e,b.options.easing).animate({
					opacity:1
				},e,b.options.easing)
				}
				if(g=="hide"){
				d.animate({
					opacity:0
				},e,b.options.easing,function(){
					d.hide();
					if(b.callback){
						b.callback.apply(this,arguments)
						}
					})
			}else{
			d.animate({
				opacity:0
			},e,b.options.easing).animate({
				opacity:1
			},e,b.options.easing,function(){
				if(b.callback){
					b.callback.apply(this,arguments)
					}
				})
		}
		d.queue("fx",function(){
			d.dequeue()
			});
		d.dequeue()
		})
}
})(jQuery);
;/*
 * jQuery UI Effects Scale 1.7.2
 *
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Effects/Scale
 *
 * Depends:
 *	effects.core.js
 */
(function(a){
	a.effects.puff=function(b){
		return this.queue(function(){
			var f=a(this);
			var c=a.extend(true,{},b.options);
			var h=a.effects.setMode(f,b.options.mode||"hide");
			var g=parseInt(b.options.percent,10)||150;
			c.fade=true;
			var e={
				height:f.height(),
				width:f.width()
				};

			var d=g/100;
			f.from=(h=="hide")?e:{
				height:e.height*d,
				width:e.width*d
				};

			c.from=f.from;
			c.percent=(h=="hide")?g:100;
			c.mode=h;
			f.effect("scale",c,b.duration,b.callback);
			f.dequeue()
			})
		};

	a.effects.scale=function(b){
		return this.queue(function(){
			var g=a(this);
			var d=a.extend(true,{},b.options);
			var j=a.effects.setMode(g,b.options.mode||"effect");
			var h=parseInt(b.options.percent,10)||(parseInt(b.options.percent,10)==0?0:(j=="hide"?0:100));
			var i=b.options.direction||"both";
			var c=b.options.origin;
			if(j!="effect"){
				d.origin=c||["middle","center"];
				d.restore=true
				}
				var f={
				height:g.height(),
				width:g.width()
				};

			g.from=b.options.from||(j=="show"?{
				height:0,
				width:0
			}:f);
			var e={
				y:i!="horizontal"?(h/100):1,
				x:i!="vertical"?(h/100):1
				};

			g.to={
				height:f.height*e.y,
				width:f.width*e.x
				};

			if(b.options.fade){
				if(j=="show"){
					g.from.opacity=0;
					g.to.opacity=1
					}
					if(j=="hide"){
					g.from.opacity=1;
					g.to.opacity=0
					}
				}
			d.from=g.from;
		d.to=g.to;
		d.mode=j;
		g.effect("size",d,b.duration,b.callback);
			g.dequeue()
			})
	};

a.effects.size=function(b){
	return this.queue(function(){
		var c=a(this),n=["position","top","left","width","height","overflow","opacity"];
		var m=["position","top","left","overflow","opacity"];
		var j=["width","height","overflow"];
		var p=["fontSize"];
		var k=["borderTopWidth","borderBottomWidth","paddingTop","paddingBottom"];
		var f=["borderLeftWidth","borderRightWidth","paddingLeft","paddingRight"];
		var g=a.effects.setMode(c,b.options.mode||"effect");
		var i=b.options.restore||false;
		var e=b.options.scale||"both";
		var o=b.options.origin;
		var d={
			height:c.height(),
			width:c.width()
			};

		c.from=b.options.from||d;
		c.to=b.options.to||d;
		if(o){
			var h=a.effects.getBaseline(o,d);
			c.from.top=(d.height-c.from.height)*h.y;
			c.from.left=(d.width-c.from.width)*h.x;
			c.to.top=(d.height-c.to.height)*h.y;
			c.to.left=(d.width-c.to.width)*h.x
			}
			var l={
			from:{
				y:c.from.height/d.height,
				x:c.from.width/d.width
				},
			to:{
				y:c.to.height/d.height,
				x:c.to.width/d.width
				}
			};

	if(e=="box"||e=="both"){
		if(l.from.y!=l.to.y){
			n=n.concat(k);
			c.from=a.effects.setTransition(c,k,l.from.y,c.from);
			c.to=a.effects.setTransition(c,k,l.to.y,c.to)
			}
			if(l.from.x!=l.to.x){
			n=n.concat(f);
			c.from=a.effects.setTransition(c,f,l.from.x,c.from);
			c.to=a.effects.setTransition(c,f,l.to.x,c.to)
			}
		}
	if(e=="content"||e=="both"){
		if(l.from.y!=l.to.y){
			n=n.concat(p);
			c.from=a.effects.setTransition(c,p,l.from.y,c.from);
			c.to=a.effects.setTransition(c,p,l.to.y,c.to)
			}
		}
	a.effects.save(c,i?n:m);
	c.show();
	a.effects.createWrapper(c);
	c.css("overflow","hidden").css(c.from);
	if(e=="content"||e=="both"){
	k=k.concat(["marginTop","marginBottom"]).concat(p);
	f=f.concat(["marginLeft","marginRight"]);
	j=n.concat(k).concat(f);
	c.find("*[width]").each(function(){
		child=a(this);
		if(i){
			a.effects.save(child,j)
			}
			var q={
			height:child.height(),
			width:child.width()
			};

		child.from={
			height:q.height*l.from.y,
			width:q.width*l.from.x
			};

		child.to={
			height:q.height*l.to.y,
			width:q.width*l.to.x
			};

		if(l.from.y!=l.to.y){
			child.from=a.effects.setTransition(child,k,l.from.y,child.from);
			child.to=a.effects.setTransition(child,k,l.to.y,child.to)
			}
			if(l.from.x!=l.to.x){
			child.from=a.effects.setTransition(child,f,l.from.x,child.from);
			child.to=a.effects.setTransition(child,f,l.to.x,child.to)
			}
			child.css(child.from);
		child.animate(child.to,b.duration,b.options.easing,function(){
			if(i){
				a.effects.restore(child,j)
				}
			})
	})
}
c.animate(c.to,{
	queue:false,
	duration:b.duration,
	easing:b.options.easing,
	complete:function(){
		if(g=="hide"){
			c.hide()
			}
			a.effects.restore(c,i?n:m);
		a.effects.removeWrapper(c);
		if(b.callback){
			b.callback.apply(this,arguments)
			}
			c.dequeue()
		}
	})
})
}
})(jQuery);
;/*
 * jQuery UI Effects Shake 1.7.2
 *
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Effects/Shake
 *
 * Depends:
 *	effects.core.js
 */
(function(a){
	a.effects.shake=function(b){
		return this.queue(function(){
			var e=a(this),l=["position","top","left"];
			var k=a.effects.setMode(e,b.options.mode||"effect");
			var n=b.options.direction||"left";
			var c=b.options.distance||20;
			var d=b.options.times||3;
			var g=b.duration||b.options.duration||140;
			a.effects.save(e,l);
			e.show();
			a.effects.createWrapper(e);
			var f=(n=="up"||n=="down")?"top":"left";
			var p=(n=="up"||n=="left")?"pos":"neg";
			var h={},o={},m={};

			h[f]=(p=="pos"?"-=":"+=")+c;
			o[f]=(p=="pos"?"+=":"-=")+c*2;
			m[f]=(p=="pos"?"-=":"+=")+c*2;
			e.animate(h,g,b.options.easing);
			for(var j=1;j<d;j++){
				e.animate(o,g,b.options.easing).animate(m,g,b.options.easing)
				}
				e.animate(o,g,b.options.easing).animate(h,g/2,b.options.easing,function(){
				a.effects.restore(e,l);
				a.effects.removeWrapper(e);
				if(b.callback){
					b.callback.apply(this,arguments)
					}
				});
		e.queue("fx",function(){
			e.dequeue()
			});
		e.dequeue()
			})
	}
})(jQuery);
;/*
 * jQuery UI Effects Slide 1.7.2
 *
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Effects/Slide
 *
 * Depends:
 *	effects.core.js
 */
(function(a){
	a.effects.slide=function(b){
		return this.queue(function(){
			var e=a(this),d=["position","top","left"];
			var i=a.effects.setMode(e,b.options.mode||"show");
			var h=b.options.direction||"left";
			a.effects.save(e,d);
			e.show();
			a.effects.createWrapper(e).css({
				overflow:"hidden"
			});
			var f=(h=="up"||h=="down")?"top":"left";
			var c=(h=="up"||h=="left")?"pos":"neg";
			var j=b.options.distance||(f=="top"?e.outerHeight({
				margin:true
			}):e.outerWidth({
				margin:true
			}));
			if(i=="show"){
				e.css(f,c=="pos"?-j:j)
				}
				var g={};

			g[f]=(i=="show"?(c=="pos"?"+=":"-="):(c=="pos"?"-=":"+="))+j;
			e.animate(g,{
				queue:false,
				duration:b.duration,
				easing:b.options.easing,
				complete:function(){
					if(i=="hide"){
						e.hide()
						}
						a.effects.restore(e,d);
					a.effects.removeWrapper(e);
					if(b.callback){
						b.callback.apply(this,arguments)
						}
						e.dequeue()
					}
				})
		})
	}
})(jQuery);
;/*
 * jQuery UI Effects Transfer 1.7.2
 *
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Effects/Transfer
 *
 * Depends:
 *	effects.core.js
 */
(function(a){
	a.effects.transfer=function(b){
		return this.queue(function(){
			var f=a(this),h=a(b.options.to),e=h.offset(),g={
				top:e.top,
				left:e.left,
				height:h.innerHeight(),
				width:h.innerWidth()
				},d=f.offset(),c=a('<div class="ui-effects-transfer"></div>').appendTo(document.body).addClass(b.options.className).css({
				top:d.top,
				left:d.left,
				height:f.innerHeight(),
				width:f.innerWidth(),
				position:"absolute"
			}).animate(g,b.duration,b.options.easing,function(){
				c.remove();
				(b.callback&&b.callback.apply(f[0],arguments));
				f.dequeue()
				})
			})
		}
	})(jQuery);
;
