/*
 * jQuery UI 1.8.9
 *
 * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT or GPL Version 2 licenses.
 * http://jquery.org/license
 *
 * http://docs.jquery.com/UI
 */
(function(c,j){function k(a){return!c(a).parents().andSelf().filter(function(){return c.curCSS(this,"visibility")==="hidden"||c.expr.filters.hidden(this)}).length}c.ui=c.ui||{};if(!c.ui.version){c.extend(c.ui,{version:"1.8.9",keyCode:{ALT:18,BACKSPACE:8,CAPS_LOCK:20,COMMA:188,COMMAND:91,COMMAND_LEFT:91,COMMAND_RIGHT:93,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,MENU:93,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38,WINDOWS:91}});c.fn.extend({_focus:c.fn.focus,focus:function(a,b){return typeof a==="number"?this.each(function(){var d=this;setTimeout(function(){c(d).focus();b&&b.call(d)},a)}):this._focus.apply(this,arguments)},scrollParent:function(){var a;a=c.browser.msie&&/(static|relative)/.test(this.css("position"))||/absolute/.test(this.css("position"))?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):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"))||!a.length?c(document):a},zIndex:function(a){if(a!==j)return this.css("zIndex",a);if(this.length){a=c(this[0]);for(var b;a.length&&a[0]!==document;){b=a.css("position");if(b==="absolute"||b==="relative"||b==="fixed"){b=parseInt(a.css("zIndex"),10);if(!isNaN(b)&&b!==0)return b}a=a.parent()}}return 0},disableSelection:function(){return this.bind((c.support.selectstart?"selectstart":"mousedown")+".ui-disableSelection",function(a){a.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}});c.each(["Width","Height"],function(a,b){function d(f,g,l,m){c.each(e,function(){g-=parseFloat(c.curCSS(f,"padding"+this,true))||0;if(l)g-=parseFloat(c.curCSS(f,"border"+this+"Width",true))||0;if(m)g-=parseFloat(c.curCSS(f,"margin"+this,true))||0});return g}var e=b==="Width"?["Left","Right"]:["Top","Bottom"],h=b.toLowerCase(),i={innerWidth:c.fn.innerWidth,innerHeight:c.fn.innerHeight,outerWidth:c.fn.outerWidth,outerHeight:c.fn.outerHeight};c.fn["inner"+b]=function(f){if(f===j)return i["inner"+b].call(this);return this.each(function(){c(this).css(h,d(this,f)+"px")})};c.fn["outer"+b]=function(f,g){if(typeof f!=="number")return i["outer"+b].call(this,f);return this.each(function(){c(this).css(h,d(this,f,true,g)+"px")})}});c.extend(c.expr[":"],{data:function(a,b,d){return!!c.data(a,d[3])},focusable:function(a){var b=a.nodeName.toLowerCase(),d=c.attr(a,"tabindex");if("area"===b){b=a.parentNode;d=b.name;if(!a.href||!d||b.nodeName.toLowerCase()!=="map")return false;a=c("img[usemap=#"+d+"]")[0];return!!a&&k(a)}return(/input|select|textarea|button|object/.test(b)?!a.disabled:"a"==b?a.href||!isNaN(d):!isNaN(d))&&k(a)},tabbable:function(a){var b=c.attr(a,"tabindex");return(isNaN(b)||b>=0)&&c(a).is(":focusable")}});c(function(){var a=document.body,b=a.appendChild(b=document.createElement("div"));c.extend(b.style,{minHeight:"100px",height:"auto",padding:0,borderWidth:0});c.support.minHeight=b.offsetHeight===100;c.support.selectstart="onselectstart"in b;a.removeChild(b).style.display="none"});c.extend(c.ui,{plugin:{add:function(a,b,d){a=c.ui[a].prototype;for(var e in d){a.plugins[e]=a.plugins[e]||[];a.plugins[e].push([b,d[e]])}},call:function(a,b,d){if((b=a.plugins[b])&&a.element[0].parentNode)for(var e=0;e<b.length;e++)a.options[b[e][0]]&&b[e][1].apply(a.element,d)}},contains:function(a,b){return document.compareDocumentPosition?a.compareDocumentPosition(b)&16:a!==b&&a.contains(b)},hasScroll:function(a,b){if(c(a).css("overflow")==="hidden")return false;b=b&&b==="left"?"scrollLeft":"scrollTop";var d=false;if(a[b]>0)return true;a[b]=1;d=a[b]>0;a[b]=0;return d},isOverAxis:function(a,b,d){return a>b&&a<b+d},isOver:function(a,b,d,e,h,i){return c.ui.isOverAxis(a,d,h)&&c.ui.isOverAxis(b,e,i)}})}})(jQuery);;
/*
 * jQuery UI Widget 1.8.9
 *
 * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT or GPL Version 2 licenses.
 * http://jquery.org/license
 *
 * http://docs.jquery.com/UI/Widget
 */
(function(b,j){if(b.cleanData){var k=b.cleanData;b.cleanData=function(a){for(var c=0,d;(d=a[c])!=null;c++)b(d).triggerHandler("remove");k(a)}}else{var l=b.fn.remove;b.fn.remove=function(a,c){return this.each(function(){if(!c)if(!a||b.filter(a,[this]).length)b("*",this).add([this]).each(function(){b(this).triggerHandler("remove")});return l.call(b(this),a,c)})}}b.widget=function(a,c,d){var e=a.split(".")[0],f;a=a.split(".")[1];f=e+"-"+a;if(!d){d=c;c=b.Widget}b.expr[":"][f]=function(h){return!!b.data(h,a)};b[e]=b[e]||{};b[e][a]=function(h,g){arguments.length&&this._createWidget(h,g)};c=new c;c.options=b.extend(true,{},c.options);b[e][a].prototype=b.extend(true,c,{namespace:e,widgetName:a,widgetEventPrefix:b[e][a].prototype.widgetEventPrefix||a,widgetBaseClass:f},d);b.widget.bridge(a,b[e][a])};b.widget.bridge=function(a,c){b.fn[a]=function(d){var e=typeof d==="string",f=Array.prototype.slice.call(arguments,1),h=this;d=!e&&f.length?b.extend.apply(null,[true,d].concat(f)):d;if(e&&d.charAt(0)==="_")return h;e?this.each(function(){var g=b.data(this,a),i=g&&b.isFunction(g[d])?g[d].apply(g,f):g;if(i!==g&&i!==j){h=i;return false}}):this.each(function(){var g=b.data(this,a);g?g.option(d||{})._init():b.data(this,a,new c(d,this))});return h}};b.Widget=function(a,c){arguments.length&&this._createWidget(a,c)};b.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",options:{disabled:false},_createWidget:function(a,c){b.data(c,this.widgetName,this);this.element=b(c);this.options=b.extend(true,{},this.options,this._getCreateOptions(),a);var d=this;this.element.bind("remove."+this.widgetName,function(){d.destroy()});this._create();this._trigger("create");this._init()},_getCreateOptions:function(){return b.metadata&&b.metadata.get(this.element[0])[this.widgetName]},_create:function(){},_init:function(){},destroy:function(){this.element.unbind("."+this.widgetName).removeData(this.widgetName);this.widget().unbind("."+this.widgetName).removeAttr("aria-disabled").removeClass(this.widgetBaseClass+"-disabled ui-state-disabled")},widget:function(){return this.element},option:function(a,c){var d=a;if(arguments.length===0)return b.extend({},this.options);if(typeof a==="string"){if(c===j)return this.options[a];d={};d[a]=c}this._setOptions(d);return this},_setOptions:function(a){var c=this;b.each(a,function(d,e){c._setOption(d,e)});return this},_setOption:function(a,c){this.options[a]=c;if(a==="disabled")this.widget()[c?"addClass":"removeClass"](this.widgetBaseClass+"-disabled ui-state-disabled").attr("aria-disabled",c);return this},enable:function(){return this._setOption("disabled",false)},disable:function(){return this._setOption("disabled",true)},_trigger:function(a,c,d){var e=this.options[a];c=b.Event(c);c.type=(a===this.widgetEventPrefix?a:this.widgetEventPrefix+a).toLowerCase();d=d||{};if(c.originalEvent){a=b.event.props.length;for(var f;a;){f=b.event.props[--a];c[f]=c.originalEvent[f]}}this.element.trigger(c,d);return!(b.isFunction(e)&&e.call(this.element[0],c,d)===false||c.isDefaultPrevented())}}})(jQuery);;
/*
 * jQuery UI Mouse 1.8.9
 *
 * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT or GPL Version 2 licenses.
 * http://jquery.org/license
 *
 * http://docs.jquery.com/UI/Mouse
 *
 * Depends:
 * jquery.ui.widget.js
 */
(function(c){c.widget("ui.mouse",{options:{cancel:":input,option",distance:1,delay:0},_mouseInit:function(){var a=this;this.element.bind("mousedown."+this.widgetName,function(b){return a._mouseDown(b)}).bind("click."+this.widgetName,function(b){if(true===c.data(b.target,a.widgetName+".preventClickEvent")){c.removeData(b.target,a.widgetName+".preventClickEvent");b.stopImmediatePropagation();return false}});this.started=false},_mouseDestroy:function(){this.element.unbind("."+this.widgetName)},_mouseDown:function(a){a.originalEvent=a.originalEvent||{};if(!a.originalEvent.mouseHandled){this._mouseStarted&&this._mouseUp(a);this._mouseDownEvent=a;var b=this,e=a.which==1,f=typeof this.options.cancel=="string"?c(a.target).parents().add(a.target).filter(this.options.cancel).length:false;if(!e||f||!this._mouseCapture(a))return true;this.mouseDelayMet=!this.options.delay;if(!this.mouseDelayMet)this._mouseDelayTimer=setTimeout(function(){b.mouseDelayMet=true},this.options.delay);if(this._mouseDistanceMet(a)&&this._mouseDelayMet(a)){this._mouseStarted=this._mouseStart(a)!==false;if(!this._mouseStarted){a.preventDefault();return true}}this._mouseMoveDelegate=function(d){return b._mouseMove(d)};this._mouseUpDelegate=function(d){return b._mouseUp(d)};c(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate);a.preventDefault();return a.originalEvent.mouseHandled=true}},_mouseMove:function(a){if(c.browser.msie&&!(document.documentMode>=9)&&!a.button)return this._mouseUp(a);if(this._mouseStarted){this._mouseDrag(a);return a.preventDefault()}if(this._mouseDistanceMet(a)&&this._mouseDelayMet(a))(this._mouseStarted=this._mouseStart(this._mouseDownEvent,a)!==false)?this._mouseDrag(a):this._mouseUp(a);return!this._mouseStarted},_mouseUp:function(a){c(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate);if(this._mouseStarted){this._mouseStarted=false;a.target==this._mouseDownEvent.target&&c.data(a.target,this.widgetName+".preventClickEvent",true);this._mouseStop(a)}return false},_mouseDistanceMet:function(a){return Math.max(Math.abs(this._mouseDownEvent.pageX-a.pageX),Math.abs(this._mouseDownEvent.pageY-a.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return true}})})(jQuery);;(function(c){c.ui=c.ui||{};var n=/left|center|right/,o=/top|center|bottom/,t=c.fn.position,u=c.fn.offset;c.fn.position=function(b){if(!b||!b.of)return t.apply(this,arguments);b=c.extend({},b);var a=c(b.of),d=a[0],g=(b.collision||"flip").split(" "),e=b.offset?b.offset.split(" "):[0,0],h,k,j;if(d.nodeType===9){h=a.width();k=a.height();j={top:0,left:0}}else if(d.setTimeout){h=a.width();k=a.height();j={top:a.scrollTop(),left:a.scrollLeft()}}else if(d.preventDefault){b.at="left top";h=k=0;j={top:b.of.pageY,left:b.of.pageX}}else{h=a.outerWidth();k=a.outerHeight();j=a.offset()}c.each(["my","at"],function(){var f=(b[this]||"").split(" ");if(f.length===1)f=n.test(f[0])?f.concat(["center"]):o.test(f[0])?["center"].concat(f):["center","center"];f[0]=n.test(f[0])?f[0]:"center";f[1]=o.test(f[1])?f[1]:"center";b[this]=f});if(g.length===1)g[1]=g[0];e[0]=parseInt(e[0],10)||0;if(e.length===1)e[1]=e[0];e[1]=parseInt(e[1],10)||0;if(b.at[0]==="right")j.left+=h;else if(b.at[0]==="center")j.left+=h/2;if(b.at[1]==="bottom")j.top+=k;else if(b.at[1]==="center")j.top+=k/2;j.left+=e[0];j.top+=e[1];return this.each(function(){var f=c(this),l=f.outerWidth(),m=f.outerHeight(),p=parseInt(c.curCSS(this,"marginLeft",true))||0,q=parseInt(c.curCSS(this,"marginTop",true))||0,v=l+p+(parseInt(c.curCSS(this,"marginRight",true))||0),w=m+q+(parseInt(c.curCSS(this,"marginBottom",true))||0),i=c.extend({},j),r;if(b.my[0]==="right")i.left-=l;else if(b.my[0]==="center")i.left-=l/2;if(b.my[1]==="bottom")i.top-=m;else if(b.my[1]==="center")i.top-=m/2;i.left=Math.round(i.left);i.top=Math.round(i.top);r={left:i.left-p,top:i.top-q};c.each(["left","top"],function(s,x){c.ui.position[g[s]]&&c.ui.position[g[s]][x](i,{targetWidth:h,targetHeight:k,elemWidth:l,elemHeight:m,collisionPosition:r,collisionWidth:v,collisionHeight:w,offset:e,my:b.my,at:b.at})});c.fn.bgiframe&&f.bgiframe();f.offset(c.extend(i,{using:b.using}))})};c.ui.position={fit:{left:function(b,a){var d=c(window);d=a.collisionPosition.left+a.collisionWidth-d.width()-d.scrollLeft();b.left=d>0?b.left-d:Math.max(b.left-a.collisionPosition.left,b.left)},top:function(b,a){var d=c(window);d=a.collisionPosition.top+a.collisionHeight-d.height()-d.scrollTop();b.top=d>0?b.top-d:Math.max(b.top-a.collisionPosition.top,b.top)}},flip:{left:function(b,a){if(a.at[0]!=="center"){var d=c(window);d=a.collisionPosition.left+a.collisionWidth-d.width()-d.scrollLeft();var g=a.my[0]==="left"?-a.elemWidth:a.my[0]==="right"?a.elemWidth:0,e=a.at[0]==="left"?a.targetWidth:-a.targetWidth,h=-2*a.offset[0];b.left+=a.collisionPosition.left<0?g+e+h:d>0?g+e+h:0}},top:function(b,a){if(a.at[1]!=="center"){var d=c(window);d=a.collisionPosition.top+a.collisionHeight-d.height()-d.scrollTop();var g=a.my[1]==="top"?-a.elemHeight:a.my[1]==="bottom"?a.elemHeight:0,e=a.at[1]==="top"?a.targetHeight:-a.targetHeight,h=-2*a.offset[1];b.top+=a.collisionPosition.top<0?g+e+h:d>0?g+e+h:0}}}};if(!c.offset.setOffset){c.offset.setOffset=function(b,a){if(/static/.test(c.curCSS(b,"position")))b.style.position="relative";var d=c(b),g=d.offset(),e=parseInt(c.curCSS(b,"top",true),10)||0,h=parseInt(c.curCSS(b,"left",true),10)||0;g={top:a.top-g.top+e,left:a.left-g.left+h};"using"in a?a.using.call(b,g):d.css(g)};c.fn.offset=function(b){var a=this[0];if(!a||!a.ownerDocument)return null;if(b)return this.each(function(){c.offset.setOffset(this,b)});return u.call(this)}}})(jQuery);;(function(d){d.widget("ui.draggable",d.ui.mouse,{widgetEventPrefix:"drag",options:{addClasses:true,appendTo:"parent",axis:false,connectToSortable:false,containment:false,cursor:"auto",cursorAt:false,grid:false,handle:false,helper:"original",iframeFix:false,opacity:false,refreshPositions:false,revert:false,revertDuration:500,scope:"default",scroll:true,scrollSensitivity:20,scrollSpeed:20,snap:false,snapMode:"both",snapTolerance:20,stack:false,zIndex:false},_create:function(){if(this.options.helper=="original"&&!/^(?:r|a|f)/.test(this.element.css("position")))this.element[0].style.position="relative";this.options.addClasses&&this.element.addClass("ui-draggable");this.options.disabled&&this.element.addClass("ui-draggable-disabled");this._mouseInit()},destroy:function(){if(this.element.data("draggable")){this.element.removeData("draggable").unbind(".draggable").removeClass("ui-draggable ui-draggable-dragging ui-draggable-disabled");this._mouseDestroy();return this}},_mouseCapture:function(a){var b=this.options;if(this.helper||b.disabled||d(a.target).is(".ui-resizable-handle"))return false;this.handle=this._getHandle(a);if(!this.handle)return false;return true},_mouseStart:function(a){var b=this.options;this.helper=this._createHelper(a);this._cacheHelperProportions();if(d.ui.ddmanager)d.ui.ddmanager.current=this;this._cacheMargins();this.cssPosition=this.helper.css("position");this.scrollParent=this.helper.scrollParent();this.offset=this.positionAbs=this.element.offset();this.offset={top:this.offset.top-
this.margins.top,left:this.offset.left-this.margins.left};d.extend(this.offset,{click:{left:a.pageX-this.offset.left,top:a.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()});this.originalPosition=this.position=this._generatePosition(a);this.originalPageX=a.pageX;this.originalPageY=a.pageY;b.cursorAt&&this._adjustOffsetFromHelper(b.cursorAt);b.containment&&this._setContainment();if(this._trigger("start",a)===false){this._clear();return false}this._cacheHelperProportions();d.ui.ddmanager&&!b.dropBehaviour&&d.ui.ddmanager.prepareOffsets(this,a);this.helper.addClass("ui-draggable-dragging");this._mouseDrag(a,true);return true},_mouseDrag:function(a,b){this.position=this._generatePosition(a);this.positionAbs=this._convertPositionTo("absolute");if(!b){b=this._uiHash();if(this._trigger("drag",a,b)===false){this._mouseUp({});return false}this.position=b.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";d.ui.ddmanager&&d.ui.ddmanager.drag(this,a);return false},_mouseStop:function(a){var b=false;if(d.ui.ddmanager&&!this.options.dropBehaviour)b=d.ui.ddmanager.drop(this,a);if(this.dropped){b=this.dropped;this.dropped=false}if((!this.element[0]||!this.element[0].parentNode)&&this.options.helper=="original")return false;if(this.options.revert=="invalid"&&!b||this.options.revert=="valid"&&b||this.options.revert===true||d.isFunction(this.options.revert)&&this.options.revert.call(this.element,b)){var c=this;d(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),function(){c._trigger("stop",a)!==false&&c._clear()})}else this._trigger("stop",a)!==false&&this._clear();return false},cancel:function(){this.helper.is(".ui-draggable-dragging")?this._mouseUp({}):this._clear();return this},_getHandle:function(a){var b=!this.options.handle||!d(this.options.handle,this.element).length?true:false;d(this.options.handle,this.element).find("*").andSelf().each(function(){if(this==a.target)b=true});return b},_createHelper:function(a){var b=this.options;a=d.isFunction(b.helper)?d(b.helper.apply(this.element[0],[a])):b.helper=="clone"?this.element.clone():this.element;a.parents("body").length||a.appendTo(b.appendTo=="parent"?this.element[0].parentNode:b.appendTo);a[0]!=this.element[0]&&!/(fixed|absolute)/.test(a.css("position"))&&a.css("position","absolute");return a},_adjustOffsetFromHelper:function(a){if(typeof a=="string")a=a.split(" ");if(d.isArray(a))a={left:+a[0],top:+a[1]||0};if("left"in a)this.offset.click.left=a.left+this.margins.left;if("right"in a)this.offset.click.left=this.helperProportions.width-a.right+this.margins.left;if("top"in a)this.offset.click.top=a.top+this.margins.top;if("bottom"in a)this.offset.click.top=this.helperProportions.height-a.bottom+this.margins.top},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var a=this.offsetParent.offset();if(this.cssPosition=="absolute"&&this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],this.offsetParent[0])){a.left+=this.scrollParent.scrollLeft();a.top+=this.scrollParent.scrollTop()}if(this.offsetParent[0]==document.body||this.offsetParent[0].tagName&&this.offsetParent[0].tagName.toLowerCase()=="html"&&d.browser.msie)a={top:0,left:0};return{top:a.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:a.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if(this.cssPosition=="relative"){var a=this.element.position();return{top:a.top-
(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:a.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 a=this.options;if(a.containment=="parent")a.containment=this.helper[0].parentNode;if(a.containment=="document"||a.containment=="window")this.containment=[(a.containment=="document"?0:d(window).scrollLeft())-this.offset.relative.left-this.offset.parent.left,(a.containment=="document"?0:d(window).scrollTop())-this.offset.relative.top-this.offset.parent.top,(a.containment=="document"?0:d(window).scrollLeft())+d(a.containment=="document"?document:window).width()-this.helperProportions.width-this.margins.left,(a.containment=="document"?0:d(window).scrollTop())+(d(a.containment=="document"?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top];if(!/^(document|window|parent)$/.test(a.containment)&&a.containment.constructor!=Array){var b=d(a.containment)[0];if(b){a=d(a.containment).offset();var c=d(b).css("overflow")!="hidden";this.containment=[a.left+(parseInt(d(b).css("borderLeftWidth"),10)||0)+(parseInt(d(b).css("paddingLeft"),10)||0)-this.margins.left,a.top+(parseInt(d(b).css("borderTopWidth"),10)||0)+(parseInt(d(b).css("paddingTop"),10)||0)-this.margins.top,a.left+(c?Math.max(b.scrollWidth,b.offsetWidth):b.offsetWidth)-(parseInt(d(b).css("borderLeftWidth"),10)||0)-(parseInt(d(b).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left,a.top+(c?Math.max(b.scrollHeight,b.offsetHeight):b.offsetHeight)-(parseInt(d(b).css("borderTopWidth"),10)||0)-(parseInt(d(b).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top]}}else if(a.containment.constructor==Array)this.containment=a.containment},_convertPositionTo:function(a,b){if(!b)b=this.position;a=a=="absolute"?1:-1;var c=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,f=/(html|body)/i.test(c[0].tagName);return{top:b.top+this.offset.relative.top*a+this.offset.parent.top*a-(d.browser.safari&&d.browser.version<526&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():f?0:c.scrollTop())*a),left:b.left+this.offset.relative.left*a+this.offset.parent.left*a-(d.browser.safari&&d.browser.version<526&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():f?0:c.scrollLeft())*a)}},_generatePosition:function(a){var b=this.options,c=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,f=/(html|body)/i.test(c[0].tagName),e=a.pageX,g=a.pageY;if(this.originalPosition){if(this.containment){if(a.pageX-this.offset.click.left<this.containment[0])e=this.containment[0]+this.offset.click.left;if(a.pageY-this.offset.click.top<this.containment[1])g=this.containment[1]+this.offset.click.top;if(a.pageX-this.offset.click.left>this.containment[2])e=this.containment[2]+this.offset.click.left;if(a.pageY-this.offset.click.top>this.containment[3])g=this.containment[3]+this.offset.click.top}if(b.grid){g=this.originalPageY+Math.round((g-this.originalPageY)/b.grid[1])*b.grid[1];g=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-b.grid[1]:g+b.grid[1]:g;e=this.originalPageX+Math.round((e-this.originalPageX)/b.grid[0])*b.grid[0];e=this.containment?!(e-this.offset.click.left<this.containment[0]||e-this.offset.click.left>this.containment[2])?e:!(e-this.offset.click.left<this.containment[0])?e-b.grid[0]:e+b.grid[0]:e}}return{top:g-this.offset.click.top-
this.offset.relative.top-this.offset.parent.top+(d.browser.safari&&d.browser.version<526&&this.cssPosition=="fixed"?0:this.cssPosition=="fixed"?-this.scrollParent.scrollTop():f?0:c.scrollTop()),left:e-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+(d.browser.safari&&d.browser.version<526&&this.cssPosition=="fixed"?0:this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():f?0:c.scrollLeft())}},_clear:function(){this.helper.removeClass("ui-draggable-dragging");this.helper[0]!=this.element[0]&&!this.cancelHelperRemoval&&this.helper.remove();this.helper=null;this.cancelHelperRemoval=false},_trigger:function(a,b,c){c=c||this._uiHash();d.ui.plugin.call(this,a,[b,c]);if(a=="drag")this.positionAbs=this._convertPositionTo("absolute");return d.Widget.prototype._trigger.call(this,a,b,c)},plugins:{},_uiHash:function(){return{helper:this.helper,position:this.position,originalPosition:this.originalPosition,offset:this.positionAbs}}});d.extend(d.ui.draggable,{version:"1.8.9"});d.ui.plugin.add("draggable","connectToSortable",{start:function(a,b){var c=d(this).data("draggable"),f=c.options,e=d.extend({},b,{item:c.element});c.sortables=[];d(f.connectToSortable).each(function(){var g=d.data(this,"sortable");if(g&&!g.options.disabled){c.sortables.push({instance:g,shouldRevert:g.options.revert});g._refreshItems();g._trigger("activate",a,e)}})},stop:function(a,b){var c=d(this).data("draggable"),f=d.extend({},b,{item:c.element});d.each(c.sortables,function(){if(this.instance.isOver){this.instance.isOver=0;c.cancelHelperRemoval=true;this.instance.cancelHelperRemoval=false;if(this.shouldRevert)this.instance.options.revert=true;this.instance._mouseStop(a);this.instance.options.helper=this.instance.options._helper;c.options.helper=="original"&&this.instance.currentItem.css({top:"auto",left:"auto"})}else{this.instance.cancelHelperRemoval=false;this.instance._trigger("deactivate",a,f)}})},drag:function(a,b){var c=d(this).data("draggable"),f=this;d.each(c.sortables,function(){this.instance.positionAbs=c.positionAbs;this.instance.helperProportions=c.helperProportions;this.instance.offset.click=c.offset.click;if(this.instance._intersectsWith(this.instance.containerCache)){if(!this.instance.isOver){this.instance.isOver=1;this.instance.currentItem=d(f).clone().appendTo(this.instance.element).data("sortable-item",true);this.instance.options._helper=this.instance.options.helper;this.instance.options.helper=function(){return b.helper[0]};a.target=this.instance.currentItem[0];this.instance._mouseCapture(a,true);this.instance._mouseStart(a,true,true);this.instance.offset.click.top=c.offset.click.top;this.instance.offset.click.left=c.offset.click.left;this.instance.offset.parent.left-=c.offset.parent.left-this.instance.offset.parent.left;this.instance.offset.parent.top-=c.offset.parent.top-this.instance.offset.parent.top;c._trigger("toSortable",a);c.dropped=this.instance.element;c.currentItem=c.element;this.instance.fromOutside=c}this.instance.currentItem&&this.instance._mouseDrag(a)}else if(this.instance.isOver){this.instance.isOver=0;this.instance.cancelHelperRemoval=true;this.instance.options.revert=false;this.instance._trigger("out",a,this.instance._uiHash(this.instance));this.instance._mouseStop(a,true);this.instance.options.helper=this.instance.options._helper;this.instance.currentItem.remove();this.instance.placeholder&&this.instance.placeholder.remove();c._trigger("fromSortable",a);c.dropped=false}})}});d.ui.plugin.add("draggable","cursor",{start:function(){var a=d("body"),b=d(this).data("draggable").options;if(a.css("cursor"))b._cursor=a.css("cursor");a.css("cursor",b.cursor)},stop:function(){var a=d(this).data("draggable").options;a._cursor&&d("body").css("cursor",a._cursor)}});d.ui.plugin.add("draggable","iframeFix",{start:function(){var a=d(this).data("draggable").options;d(a.iframeFix===true?"iframe":a.iframeFix).each(function(){d('<div class="ui-draggable-iframeFix" style="background: #fff;"></div>').css({width:this.offsetWidth+"px",height:this.offsetHeight+"px",position:"absolute",opacity:"0.001",zIndex:1E3}).css(d(this).offset()).appendTo("body")})},stop:function(){d("div.ui-draggable-iframeFix").each(function(){this.parentNode.removeChild(this)})}});d.ui.plugin.add("draggable","opacity",{start:function(a,b){a=d(b.helper);b=d(this).data("draggable").options;if(a.css("opacity"))b._opacity=a.css("opacity");a.css("opacity",b.opacity)},stop:function(a,b){a=d(this).data("draggable").options;a._opacity&&d(b.helper).css("opacity",a._opacity)}});d.ui.plugin.add("draggable","scroll",{start:function(){var a=d(this).data("draggable");if(a.scrollParent[0]!=document&&a.scrollParent[0].tagName!="HTML")a.overflowOffset=a.scrollParent.offset()},drag:function(a){var b=d(this).data("draggable"),c=b.options,f=false;if(b.scrollParent[0]!=document&&b.scrollParent[0].tagName!="HTML"){if(!c.axis||c.axis!="x")if(b.overflowOffset.top+b.scrollParent[0].offsetHeight-a.pageY<c.scrollSensitivity)b.scrollParent[0].scrollTop=f=b.scrollParent[0].scrollTop+c.scrollSpeed;else if(a.pageY-b.overflowOffset.top<c.scrollSensitivity)b.scrollParent[0].scrollTop=f=b.scrollParent[0].scrollTop-
c.scrollSpeed;if(!c.axis||c.axis!="y")if(b.overflowOffset.left+b.scrollParent[0].offsetWidth-a.pageX<c.scrollSensitivity)b.scrollParent[0].scrollLeft=f=b.scrollParent[0].scrollLeft+c.scrollSpeed;else if(a.pageX-b.overflowOffset.left<c.scrollSensitivity)b.scrollParent[0].scrollLeft=f=b.scrollParent[0].scrollLeft-c.scrollSpeed}else{if(!c.axis||c.axis!="x")if(a.pageY-d(document).scrollTop()<c.scrollSensitivity)f=d(document).scrollTop(d(document).scrollTop()-c.scrollSpeed);else if(d(window).height()-
(a.pageY-d(document).scrollTop())<c.scrollSensitivity)f=d(document).scrollTop(d(document).scrollTop()+c.scrollSpeed);if(!c.axis||c.axis!="y")if(a.pageX-d(document).scrollLeft()<c.scrollSensitivity)f=d(document).scrollLeft(d(document).scrollLeft()-c.scrollSpeed);else if(d(window).width()-(a.pageX-d(document).scrollLeft())<c.scrollSensitivity)f=d(document).scrollLeft(d(document).scrollLeft()+c.scrollSpeed)}f!==false&&d.ui.ddmanager&&!c.dropBehaviour&&d.ui.ddmanager.prepareOffsets(b,a)}});d.ui.plugin.add("draggable","snap",{start:function(){var a=d(this).data("draggable"),b=a.options;a.snapElements=[];d(b.snap.constructor!=String?b.snap.items||":data(draggable)":b.snap).each(function(){var c=d(this),f=c.offset();this!=a.element[0]&&a.snapElements.push({item:this,width:c.outerWidth(),height:c.outerHeight(),top:f.top,left:f.left})})},drag:function(a,b){for(var c=d(this).data("draggable"),f=c.options,e=f.snapTolerance,g=b.offset.left,n=g+c.helperProportions.width,m=b.offset.top,o=m+c.helperProportions.height,h=c.snapElements.length-1;h>=0;h--){var i=c.snapElements[h].left,k=i+c.snapElements[h].width,j=c.snapElements[h].top,l=j+c.snapElements[h].height;if(i-e<g&&g<k+e&&j-e<m&&m<l+e||i-e<g&&g<k+e&&j-e<o&&o<l+e||i-e<n&&n<k+e&&j-e<m&&m<l+e||i-e<n&&n<k+e&&j-e<o&&o<l+e){if(f.snapMode!="inner"){var p=Math.abs(j-o)<=e,q=Math.abs(l-m)<=e,r=Math.abs(i-n)<=e,s=Math.abs(k-g)<=e;if(p)b.position.top=c._convertPositionTo("relative",{top:j-c.helperProportions.height,left:0}).top-c.margins.top;if(q)b.position.top=c._convertPositionTo("relative",{top:l,left:0}).top-c.margins.top;if(r)b.position.left=c._convertPositionTo("relative",{top:0,left:i-c.helperProportions.width}).left-c.margins.left;if(s)b.position.left=c._convertPositionTo("relative",{top:0,left:k}).left-c.margins.left}var t=p||q||r||s;if(f.snapMode!="outer"){p=Math.abs(j-m)<=e;q=Math.abs(l-o)<=e;r=Math.abs(i-g)<=e;s=Math.abs(k-n)<=e;if(p)b.position.top=c._convertPositionTo("relative",{top:j,left:0}).top-c.margins.top;if(q)b.position.top=c._convertPositionTo("relative",{top:l-c.helperProportions.height,left:0}).top-c.margins.top;if(r)b.position.left=c._convertPositionTo("relative",{top:0,left:i}).left-c.margins.left;if(s)b.position.left=c._convertPositionTo("relative",{top:0,left:k-c.helperProportions.width}).left-c.margins.left}if(!c.snapElements[h].snapping&&(p||q||r||s||t))c.options.snap.snap&&c.options.snap.snap.call(c.element,a,d.extend(c._uiHash(),{snapItem:c.snapElements[h].item}));c.snapElements[h].snapping=p||q||r||s||t}else{c.snapElements[h].snapping&&c.options.snap.release&&c.options.snap.release.call(c.element,a,d.extend(c._uiHash(),{snapItem:c.snapElements[h].item}));c.snapElements[h].snapping=false}}}});d.ui.plugin.add("draggable","stack",{start:function(){var a=d(this).data("draggable").options;a=d.makeArray(d(a.stack)).sort(function(c,f){return(parseInt(d(c).css("zIndex"),10)||0)-(parseInt(d(f).css("zIndex"),10)||0)});if(a.length){var b=parseInt(a[0].style.zIndex)||0;d(a).each(function(c){this.style.zIndex=b+c});this[0].style.zIndex=b+a.length}}});d.ui.plugin.add("draggable","zIndex",{start:function(a,b){a=d(b.helper);b=d(this).data("draggable").options;if(a.css("zIndex"))b._zIndex=a.css("zIndex");a.css("zIndex",b.zIndex)},stop:function(a,b){a=d(this).data("draggable").options;a._zIndex&&d(b.helper).css("zIndex",a._zIndex)}})})(jQuery);;(function(d){d.widget("ui.sortable",d.ui.mouse,{widgetEventPrefix:"sort",options:{appendTo:"parent",axis:false,connectWith:false,containment:false,cursor:"auto",cursorAt:false,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:1E3},_create:function(){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 a=this.items.length-1;a>=0;a--)this.items[a].item.removeData("sortable-item");return this},_setOption:function(a,b){if(a==="disabled"){this.options[a]=b;this.widget()[b?"addClass":"removeClass"]("ui-sortable-disabled")}else d.Widget.prototype._setOption.apply(this,arguments)},_mouseCapture:function(a,b){if(this.reverting)return false;if(this.options.disabled||this.options.type=="static")return false;this._refreshItems(a);var c=null,e=this;d(a.target).parents().each(function(){if(d.data(this,"sortable-item")==e){c=d(this);return false}});if(d.data(a.target,"sortable-item")==e)c=d(a.target);if(!c)return false;if(this.options.handle&&!b){var f=false;d(this.options.handle,c).find("*").andSelf().each(function(){if(this==a.target)f=true});if(!f)return false}this.currentItem=c;this._removeCurrentsFromItems();return true},_mouseStart:function(a,b,c){b=this.options;var e=this;this.currentContainer=this;this.refreshPositions();this.helper=this._createHelper(a);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");d.extend(this.offset,{click:{left:a.pageX-this.offset.left,top:a.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()});this.originalPosition=this._generatePosition(a);this.originalPageX=a.pageX;this.originalPageY=a.pageY;b.cursorAt&&this._adjustOffsetFromHelper(b.cursorAt);this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]};this.helper[0]!=this.currentItem[0]&&this.currentItem.hide();this._createPlaceholder();b.containment&&this._setContainment();if(b.cursor){if(d("body").css("cursor"))this._storedCursor=d("body").css("cursor");d("body").css("cursor",b.cursor)}if(b.opacity){if(this.helper.css("opacity"))this._storedOpacity=this.helper.css("opacity");this.helper.css("opacity",b.opacity)}if(b.zIndex){if(this.helper.css("zIndex"))this._storedZIndex=this.helper.css("zIndex");this.helper.css("zIndex",b.zIndex)}if(this.scrollParent[0]!=document&&this.scrollParent[0].tagName!="HTML")this.overflowOffset=this.scrollParent.offset();this._trigger("start",a,this._uiHash());this._preserveHelperProportions||this._cacheHelperProportions();if(!c)for(c=this.containers.length-1;c>=0;c--)this.containers[c]._trigger("activate",a,e._uiHash(this));if(d.ui.ddmanager)d.ui.ddmanager.current=this;d.ui.ddmanager&&!b.dropBehaviour&&d.ui.ddmanager.prepareOffsets(this,a);this.dragging=true;this.helper.addClass("ui-sortable-helper");this._mouseDrag(a);return true},_mouseDrag:function(a){this.position=this._generatePosition(a);this.positionAbs=this._convertPositionTo("absolute");if(!this.lastPositionAbs)this.lastPositionAbs=this.positionAbs;if(this.options.scroll){var b=this.options,c=false;if(this.scrollParent[0]!=document&&this.scrollParent[0].tagName!="HTML"){if(this.overflowOffset.top+this.scrollParent[0].offsetHeight-a.pageY<b.scrollSensitivity)this.scrollParent[0].scrollTop=c=this.scrollParent[0].scrollTop+b.scrollSpeed;else if(a.pageY-this.overflowOffset.top<b.scrollSensitivity)this.scrollParent[0].scrollTop=c=this.scrollParent[0].scrollTop-b.scrollSpeed;if(this.overflowOffset.left+
this.scrollParent[0].offsetWidth-a.pageX<b.scrollSensitivity)this.scrollParent[0].scrollLeft=c=this.scrollParent[0].scrollLeft+b.scrollSpeed;else if(a.pageX-this.overflowOffset.left<b.scrollSensitivity)this.scrollParent[0].scrollLeft=c=this.scrollParent[0].scrollLeft-b.scrollSpeed}else{if(a.pageY-d(document).scrollTop()<b.scrollSensitivity)c=d(document).scrollTop(d(document).scrollTop()-b.scrollSpeed);else if(d(window).height()-(a.pageY-d(document).scrollTop())<b.scrollSensitivity)c=d(document).scrollTop(d(document).scrollTop()+
b.scrollSpeed);if(a.pageX-d(document).scrollLeft()<b.scrollSensitivity)c=d(document).scrollLeft(d(document).scrollLeft()-b.scrollSpeed);else if(d(window).width()-(a.pageX-d(document).scrollLeft())<b.scrollSensitivity)c=d(document).scrollLeft(d(document).scrollLeft()+b.scrollSpeed)}c!==false&&d.ui.ddmanager&&!b.dropBehaviour&&d.ui.ddmanager.prepareOffsets(this,a)}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(b=this.items.length-1;b>=0;b--){c=this.items[b];var e=c.item[0],f=this._intersectsWithPointer(c);if(f)if(e!=this.currentItem[0]&&this.placeholder[f==1?"next":"prev"]()[0]!=e&&!d.ui.contains(this.placeholder[0],e)&&(this.options.type=="semi-dynamic"?!d.ui.contains(this.element[0],e):true)){this.direction=f==1?"down":"up";if(this.options.tolerance=="pointer"||this._intersectsWithSides(c))this._rearrange(a,c);else break;this._trigger("change",a,this._uiHash());break}}this._contactContainers(a);d.ui.ddmanager&&d.ui.ddmanager.drag(this,a);this._trigger("sort",a,this._uiHash());this.lastPositionAbs=this.positionAbs;return false},_mouseStop:function(a,b){if(a){d.ui.ddmanager&&!this.options.dropBehaviour&&d.ui.ddmanager.drop(this,a);if(this.options.revert){var c=this;b=c.placeholder.offset();c.reverting=true;d(this.helper).animate({left:b.left-this.offset.parent.left-c.margins.left+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollLeft),top:b.top-this.offset.parent.top-c.margins.top+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollTop)},parseInt(this.options.revert,10)||500,function(){c._clear(a)})}else this._clear(a,b);return false}},cancel:function(){var a=this;if(this.dragging){this._mouseUp({target:null});this.options.helper=="original"?this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper"):this.currentItem.show();for(var b=this.containers.length-
1;b>=0;b--){this.containers[b]._trigger("deactivate",null,a._uiHash(this));if(this.containers[b].containerCache.over){this.containers[b]._trigger("out",null,a._uiHash(this));this.containers[b].containerCache.over=0}}}if(this.placeholder){this.placeholder[0].parentNode&&this.placeholder[0].parentNode.removeChild(this.placeholder[0]);this.options.helper!="original"&&this.helper&&this.helper[0].parentNode&&this.helper.remove();d.extend(this,{helper:null,dragging:false,reverting:false,_noFinalSort:null});this.domPosition.prev?d(this.domPosition.prev).after(this.currentItem):d(this.domPosition.parent).prepend(this.currentItem)}return this},serialize:function(a){var b=this._getItemsAsjQuery(a&&a.connected),c=[];a=a||{};d(b).each(function(){var e=(d(a.item||this).attr(a.attribute||"id")||"").match(a.expression||/(.+)[-=_](.+)/);if(e)c.push((a.key||e[1]+"[]")+"="+(a.key&&a.expression?e[1]:e[2]))});!c.length&&a.key&&c.push(a.key+"=");return c.join("&")},toArray:function(a){var b=this._getItemsAsjQuery(a&&a.connected),c=[];a=a||{};b.each(function(){c.push(d(a.item||this).attr(a.attribute||"id")||"")});return c},_intersectsWith:function(a){var b=this.positionAbs.left,c=b+this.helperProportions.width,e=this.positionAbs.top,f=e+this.helperProportions.height,g=a.left,h=g+a.width,i=a.top,k=i+a.height,j=this.offset.click.top,l=this.offset.click.left;j=e+j>i&&e+j<k&&b+l>g&&b+l<h;return this.options.tolerance=="pointer"||this.options.forcePointerForContainers||this.options.tolerance!="pointer"&&this.helperProportions[this.floating?"width":"height"]>a[this.floating?"width":"height"]?j:g<b+this.helperProportions.width/2&&c-this.helperProportions.width/2<h&&i<e+this.helperProportions.height/2&&f-this.helperProportions.height/2<k},_intersectsWithPointer:function(a){var b=d.ui.isOverAxis(this.positionAbs.top+this.offset.click.top,a.top,a.height);a=d.ui.isOverAxis(this.positionAbs.left+this.offset.click.left,a.left,a.width);b=b&&a;a=this._getDragVerticalDirection();var c=this._getDragHorizontalDirection();if(!b)return false;return this.floating?c&&c=="right"||a=="down"?2:1:a&&(a=="down"?2:1)},_intersectsWithSides:function(a){var b=d.ui.isOverAxis(this.positionAbs.top+this.offset.click.top,a.top+a.height/2,a.height);a=d.ui.isOverAxis(this.positionAbs.left+this.offset.click.left,a.left+a.width/2,a.width);var c=this._getDragVerticalDirection(),e=this._getDragHorizontalDirection();return this.floating&&e?e=="right"&&a||e=="left"&&!a:c&&(c=="down"&&b||c=="up"&&!b)},_getDragVerticalDirection:function(){var a=this.positionAbs.top-this.lastPositionAbs.top;return a!=0&&(a>0?"down":"up")},_getDragHorizontalDirection:function(){var a=this.positionAbs.left-this.lastPositionAbs.left;return a!=0&&(a>0?"right":"left")},refresh:function(a){this._refreshItems(a);this.refreshPositions();return this},_connectWith:function(){var a=this.options;return a.connectWith.constructor==String?[a.connectWith]:a.connectWith},_getItemsAsjQuery:function(a){var b=[],c=[],e=this._connectWith();if(e&&a)for(a=e.length-1;a>=0;a--)for(var f=d(e[a]),g=f.length-1;g>=0;g--){var h=d.data(f[g],"sortable");if(h&&h!=this&&!h.options.disabled)c.push([d.isFunction(h.options.items)?h.options.items.call(h.element):d(h.options.items,h.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),h])}c.push([d.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):d(this.options.items,this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),this]);for(a=c.length-1;a>=0;a--)c[a][0].each(function(){b.push(this)});return d(b)},_removeCurrentsFromItems:function(){for(var a=this.currentItem.find(":data(sortable-item)"),b=0;b<this.items.length;b++)for(var c=0;c<a.length;c++)a[c]==this.items[b].item[0]&&this.items.splice(b,1)},_refreshItems:function(a){this.items=[];this.containers=[this];var b=this.items,c=[[d.isFunction(this.options.items)?this.options.items.call(this.element[0],a,{item:this.currentItem}):d(this.options.items,this.element),this]],e=this._connectWith();if(e)for(var f=e.length-1;f>=0;f--)for(var g=d(e[f]),h=g.length-1;h>=0;h--){var i=d.data(g[h],"sortable");if(i&&i!=this&&!i.options.disabled){c.push([d.isFunction(i.options.items)?i.options.items.call(i.element[0],a,{item:this.currentItem}):d(i.options.items,i.element),i]);this.containers.push(i)}}for(f=c.length-1;f>=0;f--){a=c[f][1];e=c[f][0];h=0;for(g=e.length;h<g;h++){i=d(e[h]);i.data("sortable-item",a);b.push({item:i,instance:a,width:0,height:0,left:0,top:0})}}},refreshPositions:function(a){if(this.offsetParent&&this.helper)this.offset.parent=this._getParentOffset();for(var b=this.items.length-1;b>=0;b--){var c=this.items[b],e=this.options.toleranceElement?d(this.options.toleranceElement,c.item):c.item;if(!a){c.width=e.outerWidth();c.height=e.outerHeight()}e=e.offset();c.left=e.left;c.top=e.top}if(this.options.custom&&this.options.custom.refreshContainers)this.options.custom.refreshContainers.call(this);else for(b=this.containers.length-1;b>=0;b--){e=this.containers[b].element.offset();this.containers[b].containerCache.left=e.left;this.containers[b].containerCache.top=e.top;this.containers[b].containerCache.width=this.containers[b].element.outerWidth();this.containers[b].containerCache.height=this.containers[b].element.outerHeight()}return this},_createPlaceholder:function(a){var b=a||this,c=b.options;if(!c.placeholder||c.placeholder.constructor==String){var e=c.placeholder;c.placeholder={element:function(){var f=d(document.createElement(b.currentItem[0].nodeName)).addClass(e||b.currentItem[0].className+" ui-sortable-placeholder").removeClass("ui-sortable-helper")[0];if(!e)f.style.visibility="hidden";return f},update:function(f,g){if(!(e&&!c.forcePlaceholderSize)){g.height()||g.height(b.currentItem.innerHeight()-parseInt(b.currentItem.css("paddingTop")||0,10)-parseInt(b.currentItem.css("paddingBottom")||0,10));g.width()||g.width(b.currentItem.innerWidth()-parseInt(b.currentItem.css("paddingLeft")||0,10)-parseInt(b.currentItem.css("paddingRight")||0,10))}}}}b.placeholder=d(c.placeholder.element.call(b.element,b.currentItem));b.currentItem.after(b.placeholder);c.placeholder.update(b,b.placeholder)},_contactContainers:function(a){for(var b=null,c=null,e=this.containers.length-1;e>=0;e--)if(!d.ui.contains(this.currentItem[0],this.containers[e].element[0]))if(this._intersectsWith(this.containers[e].containerCache)){if(!(b&&d.ui.contains(this.containers[e].element[0],b.element[0]))){b=this.containers[e];c=e}}else if(this.containers[e].containerCache.over){this.containers[e]._trigger("out",a,this._uiHash(this));this.containers[e].containerCache.over=0}if(b)if(this.containers.length===1){this.containers[c]._trigger("over",a,this._uiHash(this));this.containers[c].containerCache.over=1}else if(this.currentContainer!=this.containers[c]){b=1E4;e=null;for(var f=this.positionAbs[this.containers[c].floating?"left":"top"],g=this.items.length-1;g>=0;g--)if(d.ui.contains(this.containers[c].element[0],this.items[g].item[0])){var h=this.items[g][this.containers[c].floating?"left":"top"];if(Math.abs(h-f)<b){b=Math.abs(h-f);e=this.items[g]}}if(e||this.options.dropOnEmpty){this.currentContainer=this.containers[c];e?this._rearrange(a,e,null,true):this._rearrange(a,null,this.containers[c].element,true);this._trigger("change",a,this._uiHash());this.containers[c]._trigger("change",a,this._uiHash(this));this.options.placeholder.update(this.currentContainer,this.placeholder);this.containers[c]._trigger("over",a,this._uiHash(this));this.containers[c].containerCache.over=1}}},_createHelper:function(a){var b=this.options;a=d.isFunction(b.helper)?d(b.helper.apply(this.element[0],[a,this.currentItem])):b.helper=="clone"?this.currentItem.clone():this.currentItem;a.parents("body").length||d(b.appendTo!="parent"?b.appendTo:this.currentItem[0].parentNode)[0].appendChild(a[0]);if(a[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(a[0].style.width==""||b.forceHelperSize)a.width(this.currentItem.width());if(a[0].style.height==""||b.forceHelperSize)a.height(this.currentItem.height());return a},_adjustOffsetFromHelper:function(a){if(typeof a=="string")a=a.split(" ");if(d.isArray(a))a={left:+a[0],top:+a[1]||0};if("left"in a)this.offset.click.left=a.left+this.margins.left;if("right"in a)this.offset.click.left=this.helperProportions.width-a.right+this.margins.left;if("top"in a)this.offset.click.top=a.top+this.margins.top;if("bottom"in a)this.offset.click.top=this.helperProportions.height-a.bottom+this.margins.top},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var a=this.offsetParent.offset();if(this.cssPosition=="absolute"&&this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],this.offsetParent[0])){a.left+=this.scrollParent.scrollLeft();a.top+=this.scrollParent.scrollTop()}if(this.offsetParent[0]==document.body||this.offsetParent[0].tagName&&this.offsetParent[0].tagName.toLowerCase()=="html"&&d.browser.msie)a={top:0,left:0};return{top:a.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:a.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if(this.cssPosition=="relative"){var a=this.currentItem.position();return{top:a.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:a.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 a=this.options;if(a.containment=="parent")a.containment=this.helper[0].parentNode;if(a.containment=="document"||a.containment=="window")this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,d(a.containment=="document"?document:window).width()-this.helperProportions.width-this.margins.left,(d(a.containment=="document"?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top];if(!/^(document|window|parent)$/.test(a.containment)){var b=d(a.containment)[0];a=d(a.containment).offset();var c=d(b).css("overflow")!="hidden";this.containment=[a.left+(parseInt(d(b).css("borderLeftWidth"),10)||0)+(parseInt(d(b).css("paddingLeft"),10)||0)-this.margins.left,a.top+(parseInt(d(b).css("borderTopWidth"),10)||0)+(parseInt(d(b).css("paddingTop"),10)||0)-this.margins.top,a.left+(c?Math.max(b.scrollWidth,b.offsetWidth):b.offsetWidth)-(parseInt(d(b).css("borderLeftWidth"),10)||0)-(parseInt(d(b).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left,a.top+(c?Math.max(b.scrollHeight,b.offsetHeight):b.offsetHeight)-(parseInt(d(b).css("borderTopWidth"),10)||0)-(parseInt(d(b).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top]}},_convertPositionTo:function(a,b){if(!b)b=this.position;a=a=="absolute"?1:-1;var c=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,e=/(html|body)/i.test(c[0].tagName);return{top:b.top+this.offset.relative.top*a+this.offset.parent.top*a-(d.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():e?0:c.scrollTop())*a),left:b.left+this.offset.relative.left*a+this.offset.parent.left*a-(d.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():e?0:c.scrollLeft())*a)}},_generatePosition:function(a){var b=this.options,c=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,e=/(html|body)/i.test(c[0].tagName);if(this.cssPosition=="relative"&&!(this.scrollParent[0]!=document&&this.scrollParent[0]!=this.offsetParent[0]))this.offset.relative=this._getRelativeOffset();var f=a.pageX,g=a.pageY;if(this.originalPosition){if(this.containment){if(a.pageX-
this.offset.click.left<this.containment[0])f=this.containment[0]+this.offset.click.left;if(a.pageY-this.offset.click.top<this.containment[1])g=this.containment[1]+this.offset.click.top;if(a.pageX-this.offset.click.left>this.containment[2])f=this.containment[2]+this.offset.click.left;if(a.pageY-this.offset.click.top>this.containment[3])g=this.containment[3]+this.offset.click.top}if(b.grid){g=this.originalPageY+Math.round((g-this.originalPageY)/b.grid[1])*b.grid[1];g=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-b.grid[1]:g+b.grid[1]:g;f=this.originalPageX+Math.round((f-this.originalPageX)/b.grid[0])*b.grid[0];f=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-b.grid[0]:f+b.grid[0]:f}}return{top:g-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+(d.browser.safari&&this.cssPosition=="fixed"?0:this.cssPosition=="fixed"?-this.scrollParent.scrollTop():e?0:c.scrollTop()),left:f-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+(d.browser.safari&&this.cssPosition=="fixed"?0:this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():e?0:c.scrollLeft())}},_rearrange:function(a,b,c,e){c?c[0].appendChild(this.placeholder[0]):b.item[0].parentNode.insertBefore(this.placeholder[0],this.direction=="down"?b.item[0]:b.item[0].nextSibling);this.counter=this.counter?++this.counter:1;var f=this,g=this.counter;window.setTimeout(function(){g==f.counter&&f.refreshPositions(!e)},0)},_clear:function(a,b){this.reverting=false;var c=[];!this._noFinalSort&&this.currentItem[0].parentNode&&this.placeholder.before(this.currentItem);this._noFinalSort=null;if(this.helper[0]==this.currentItem[0]){for(var e in this._storedCSS)if(this._storedCSS[e]=="auto"||this._storedCSS[e]=="static")this._storedCSS[e]="";this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper")}else this.currentItem.show();this.fromOutside&&!b&&c.push(function(f){this._trigger("receive",f,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])&&!b)c.push(function(f){this._trigger("update",f,this._uiHash())});if(!d.ui.contains(this.element[0],this.currentItem[0])){b||c.push(function(f){this._trigger("remove",f,this._uiHash())});for(e=this.containers.length-1;e>=0;e--)if(d.ui.contains(this.containers[e].element[0],this.currentItem[0])&&!b){c.push(function(f){return function(g){f._trigger("receive",g,this._uiHash(this))}}.call(this,this.containers[e]));c.push(function(f){return function(g){f._trigger("update",g,this._uiHash(this))}}.call(this,this.containers[e]))}}for(e=this.containers.length-1;e>=0;e--){b||c.push(function(f){return function(g){f._trigger("deactivate",g,this._uiHash(this))}}.call(this,this.containers[e]));if(this.containers[e].containerCache.over){c.push(function(f){return function(g){f._trigger("out",g,this._uiHash(this))}}.call(this,this.containers[e]));this.containers[e].containerCache.over=0}}this._storedCursor&&d("body").css("cursor",this._storedCursor);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(!b){this._trigger("beforeStop",a,this._uiHash());for(e=0;e<c.length;e++)c[e].call(this,a);this._trigger("stop",a,this._uiHash())}return false}b||this._trigger("beforeStop",a,this._uiHash());this.placeholder[0].parentNode.removeChild(this.placeholder[0]);this.helper[0]!=this.currentItem[0]&&this.helper.remove();this.helper=null;if(!b){for(e=0;e<c.length;e++)c[e].call(this,a);this._trigger("stop",a,this._uiHash())}this.fromOutside=false;return true},_trigger:function(){d.Widget.prototype._trigger.apply(this,arguments)===false&&this.cancel()},_uiHash:function(a){var b=a||this;return{helper:b.helper,placeholder:b.placeholder||d([]),position:b.position,originalPosition:b.originalPosition,offset:b.positionAbs,item:b.currentItem,sender:a?a.element:null}}});d.extend(d.ui.sortable,{version:"1.8.9"})})(jQuery);;
;/*
*  JqueryAsynchImageLoader (JAIL) : plugin for jQuery
*
* Developed by
* Sebastiano Armeli-Battana (@sebarmeli) - http://sebarmeli.com | http://blog.sebarmeli.com
*
* Licensed under MIT
*/
(function($){var $window=$(window);$.fn.asynchImageLoader=function(options){options=$.extend({timeout:10,effect:false,speed:400,selector:null,event:'load+scroll',callback:jQuery.noop,placeholder:false,top_offset:100},options);var images=this;this.data('triggerEl',(options.selector)?$(options.selector):$window);if(options.placeholder!==false){images.each(function(){$(this).attr("src",options.placeholder);});}
if(/^load/.test(options.event)){$.asynchImageLoader.later.call(this,options);}else{$.asynchImageLoader.onEvent.call(this,options,images);}
return this;};$.asynchImageLoader={_purgeStack:function(stack){var i=0;while(true){if(i===stack.length){break;}else{if(stack[i].getAttribute('data-href')){i++;}else{stack.splice(i,1);}}}},_loadOnEvent:function(e){var $img=$(this),options=e.data.options,images=e.data.images;$.asynchImageLoader._loadImage(options,$img);$img.unbind(options.event,$.asynchImageLoader._loadOnEvent);options.callback.call(this,options);$.asynchImageLoader._purgeStack(images);},_bufferedEventListener:function(e){var images=e.data.images,options=e.data.options,triggerEl=images.data('triggerEl');clearTimeout(images.data('poller'));images.data('poller',setTimeout(function(){images.each(function _imageLoader(){$.asynchImageLoader._loadImageIfVisible(options,this,triggerEl);});$.asynchImageLoader._purgeStack(images);options.callback.call(this,options,images);},options.timeout));},onEvent:function(options,images){images=images||this;if(options.event==='scroll'||options.selector){var triggerEl=images.data('triggerEl');if(images.length>0){triggerEl.bind(options.event,{images:images,options:options},$.asynchImageLoader._bufferedEventListener);}else{var initalTriggerEl=(options.selector)?$(options.selector):$window;initalTriggerEl.unbind(options.event,$.asynchImageLoader._bufferedEventListener);}}else{images.bind(options.event,{options:options,images:images},$.asynchImageLoader._loadOnEvent);}},later:function(options){var images=this;if(options.event==='load'){images.each(function(){$.asynchImageLoader._loadImageIfVisible(options,this,images.data('triggerEl'));});}
$.asynchImageLoader._purgeStack(images);setTimeout(function(){if(options.event==='load'){images.each(function(){$.asynchImageLoader._loadImage(options,$(this));});}else{images.each(function(){$.asynchImageLoader._loadImageIfVisible(options,this,images.data('triggerEl'));});}
$.asynchImageLoader._purgeStack(images);if(options.event==='load+scroll'){options.event='scroll';$.asynchImageLoader.onEvent(options,images);}},options.timeout);},_loadImageIfVisible:function(options,image,triggerEl){var $img=$(image),container=(options.event==='scroll'?triggerEl:$window);if($.asynchImageLoader._isInTheScreen(options,container,$img)){$.asynchImageLoader._loadImage(options,$img);}},_isInTheScreen:function(options,$ct,$img){var is_ct_window=$ct[0]===window,ct_offset=$ct.offset()||{top:0,left:0},ct_top=ct_offset.top+(is_ct_window?$ct.scrollTop():0),ct_left=ct_offset.left+(is_ct_window?$ct.scrollLeft():0),ct_right=ct_left+$ct.width(),ct_bottom=ct_top+$ct.height(),ct_bottom=parseInt(ct_bottom+options.top_offset),img_offset=$img.offset();return ct_top<=img_offset.top&&ct_bottom>=img_offset.top&&ct_left<=img_offset.left&&ct_right>=img_offset.left;},_loadImage:function(options,$img){$img.hide();$img.attr("src",$img.attr("data-href"));$img.removeAttr('data-href');if(options.effect){if(options.speed){$img[options.effect](options.speed);}else{$img[options.effect]();}}else{$img.show();}}};}(jQuery));
;var domain_collections="http://imgfave.com/collection";var domain_base="http://imgfave.com";var domain_items="http://imgfave.com/items";var domain_login="http://imgfave.com/login";var section='';var image_to_submit=new Array();$(function(){$('#user_dropdown_menu_container').hover(function(event){toggleUserDropdown();},function(event){toggleUserDropdown('hide');});$('#activity_dropdown_menu_main_link').find('.show_activity_link').bind('click',function(event){event.stopPropagation();toggleActivityDropdown();return false;});$('div.thumb').hover(function(){$(this).find('.image_info').show();},function(){$(this).find('.image_info').hide();});$('body').click(function(){collapse_menu();});$('.fave_btn').click(function(event){var imageid=$(this).parents('.image_info:eq(0)').attr('imageid');if(section=='reddit'){var still_loading=$('#image_'+imageid).find('.embedly_loading');var image_error=$('#image_'+imageid).find('.image_error');if(still_loading.length==0&&image_error.length==0){favebtn_state_change(imageid);}
return false;}
favebtn_state_change(imageid);addtofavorites(imageid);event.stopPropagation();return false;});$('.collection_btn').click(function(event){var id=$(this).parents('.image_info:eq(0)').attr('imageid');if($("#collections_container_"+id).html()==''){getCollections(id);}else{$("#collections_container_"+id).html('');toggleCollectionForm(id,'hide');}
event.stopPropagation();return false;});$('.remove_btn').click(function(event){var image_info_div=$(this).parents('.image_info:eq(0)');var fave_id=$(image_info_div).attr('faveid');var item_id=$(image_info_div).attr('imageid');var collection_id=$(image_info_div).attr('collectionid');$(this).parents('.image_container:eq(0)').fadeOut(150);removeimage(fave_id,item_id,collection_id);return false;});$('.item_menu').click(function(event){event.stopPropagation();});$('.create_collection').click(function(event){var imageid=$(this).parents('.image_info:eq(0)').attr('imageid');var collection_privacy=$(this).parents('.collection_additem_form:eq(0)').children('.setprivacy_container').children('.setprivacy').attr('checked');var collection_name=$(this).parents('.collection_additem_form:eq(0)').children('.collection_name').attr('value');if(collection_name){createCollection(collection_name,collection_privacy,imageid);_gaq.push(['_trackEvent','Other','Create Collection']);}
return false;});});function favebtn_state_change(imageid){$("#fave_item_"+imageid).addClass('clicked');}
function collapse_menu(){$('.fave_btn_container div').removeClass('fave_btn_div_clicked').addClass('fave_btn_div');$(".collections_container").html('');toggleCollectionForm(null,'hide');}
function removeimage(fave_id,item_id,collection_id){var url="/items/removeimage";$.ajax({url:url,type:'POST',data:'fave_id='+fave_id+'&item_id='+item_id+'&collection_id='+collection_id,dataType:'html',timeout:7000,error:function(){},success:function(response){}});_gaq.push(['_trackEvent','Other','Remove Image']);}
function frontremove(id){$("#item_menu_"+id).parents('.image_container:eq(0)').fadeOut(150);var url="/items/frontremove";$.ajax({url:url,type:'POST',data:'id='+id,dataType:'html',timeout:7000,error:function(){},success:function(response){}});}
function permdelete(id){$("#item_menu_"+id).parents('.image_container:eq(0)').fadeOut(150);var url="/items/permdelete";$.ajax({url:url,type:'POST',data:'id='+id,dataType:'html',timeout:7000,error:function(){},success:function(response){}});}
function flag(id,auto_submit_option){var flag_remove_div=$('#flag_remove_div_'+id);$(flag_remove_div).find('.flag_btn').hide();if(auto_submit_option){var flag_options_html='<div id="flag_options_'+id+'" class="flag_options"></div>';$(flag_remove_div).append(flag_options_html);flag_ajax(id,auto_submit_option)}else{var flag_options_html='<div id="flag_options_'+id+'" class="flag_options">'+'<form onsubmit="return flag_submit('+id+')">'+'<ul>'+'<li><input type="radio" name="flag_options_'+id+'" value="nudity" checked="checked">Nudity, not safe for work, or offensive</li>'+'<li><input type="radio" name="flag_options_'+id+'" value="spam">Spam or blatant advertising</li>'+'<li><input type="radio" name="flag_options_'+id+'" value="copywrite">Copywrite violation</li>'+'<li class="last"><input type="submit" value="Submit"/> <a href="#" onclick="flag_cancel('+id+'); return false;">cancel</a></li>'+'</ul>'+'</form>'+'</div>';$(flag_remove_div).append(flag_options_html);}}
function flag_cancel(id){var flag_remove_div=$('#flag_remove_div_'+id);$(flag_remove_div).find('.flag_btn').show();$('#flag_options_'+id).remove();}
function flag_submit(id){var selected_value=null;var inputs=$('#flag_options_'+id).find('input:radio');for(var i=0;i<inputs.length;i++){if(inputs[i].checked){selected_value=inputs[i].value;}}
if(!selected_value){return false;}
flag_ajax(id,selected_value);return false;}
function flag_ajax(id,selected_value){var flag_options_div=$('#flag_options_'+id);var url="/items/flag";$.ajax({url:url,type:'POST',data:'id='+id+'&problem='+selected_value,dataType:'html',timeout:7000,error:function(){},success:function(response){}});$(flag_options_div).show().html('<span class="reported">You have reported this image to our moderators.</span>');return false;}
function makepopular(id){$("#item_menu_"+id).parents('.image_container:eq(0)').children('.image_title').html('<div style="background:yellow;color:#000;padding:5px; width:200px;">Made Popular</div>');var url="/items/makepopular";$.ajax({url:url,type:'POST',data:'id='+id,dataType:'html',timeout:7000,error:function(response){alert('Error loading XML document');},success:function(response){}});}
function addtofavorites(imageid,collectionid){var url="/items/addtofaves";var data='imageid='+imageid+'&collectionid='+collectionid;if(typeof(current_section)!=='undefined'){if(current_section){data+='&current_section='+current_section;if(typeof(profile_owner_id)!=='undefined'&&profile_owner_id){data+='&faved_from_user='+profile_owner_id;}
else if(current_section=='dashboard'){var faver_id=$('#image_info_'+imageid).attr('faver_id');if(faver_id){data+='&faved_from_user='+faver_id;}}}}
$.ajax({url:url,type:'POST',data:data,dataType:'html',timeout:7000,error:function(){},success:function(response){if(response=="not logged in"){window.location=domain_login;return;}}});if(collectionid>0){_gaq.push(['_trackEvent','Faves','Add to collection']);}else{_gaq.push(['_trackEvent','Faves','Add to favorites']);}}
function profile_showcollections(collections_id_string){if($("#collections_holder").css('display')=="block"){$("#collections_holder").css('display','none');}else{profile_hideuserlinks();$("#collections_holder").css('display','block');if($("#collections_holder").html()==""){$("#collections_loading").css('display','inline');var url="/items/minicollections/"+collections_id_string;$.ajax({url:url,type:'GET',dataType:'html',timeout:20000,error:function(error){},success:function(response){$("#collections_holder").html(response);$("#collections_loading").css('display','none');}});_gaq.push(['_trackEvent','Other','Show collections']);}}}
function profile_hideuserlinks(){$("#collections_holder").css('display','none');$("#following_container").css('display','none');$("#followers_container").css('display','none');}
function profile_showfollowing(){$("#collections_holder").css('display','none');if($("#following_container").css('display')=='block'){$("#following_container").css('display','none');}else{$("#followers_container").css('display','none');$("#following_container").css('display','block');$("#following_container").html('Loading...');var url="/subscriptions/following";$.ajax({url:url,type:'GET',data:"user_id="+profile_owner_id,dataType:'html',timeout:10000,error:function(error){alert('Could not fetch people you follow. Please try again later.');_gaq.push(['_trackEvent','Error','Timeout loading following']);$("#following_container").css('display','none');},success:function(response){$("#following_container").html(response);FB.XFBML.parse(document.getElementById('following_container'),function(){});}});_gaq.push(['_trackEvent','Other','Show Following']);}}
function profile_showfollowers(){$("#collections_holder").css('display','none');if($("#followers_container").css('display')=='block'){$("#followers_container").css('display','none');}else{$("#following_container").css('display','none');$("#followers_container").css('display','block');$("#followers_container").html('Loading...');var url="/subscriptions/followers";$.ajax({url:url,type:'GET',data:"user_id="+profile_owner_id,dataType:'html',timeout:10000,error:function(error){alert('Could not fetch your followers. Please try again later.');_gaq.push(['_trackEvent','Error','Timeout loading followers']);$("#followers_container").css('display','none');},success:function(response){$("#followers_container").html(response);FB.XFBML.parse(document.getElementById('followers_container'),function(){});}});_gaq.push(['_trackEvent','Other','Show Followers']);}}
function getCollections(id){var url="/collections/get/";$.ajax({url:url,type:'POST',data:"id="+id,dataType:'html',timeout:30000,error:function(error){},success:function(response){if(response=="not logged in"){window.location=domain_login;}else if(response=="no collections"){toggleCollectionForm(id,'show');}else{$("#collections_container_"+id).html(response);setupCollectionEvents();}}});}
function createCollection(name,private,imageid){var url="/collections/create/";$.ajax({url:url,type:'POST',data:"name="+name+"&private="+private,dataType:'html',timeout:7000,error:function(error){},success:function(response){var collection_id=response;collapse_menu();addedtocollection_message(imageid,collection_id,name);addtocollection(imageid,collection_id);}});}
function deleteCollection(id){var answer=confirm("Are you sure you want to delete this collection?");if(answer){}else{return;}
var url="/collections/delete/";$.ajax({url:url,type:'POST',data:"id="+id,dataType:'html',timeout:7000,error:function(error){},complete:function(response){window.location=domain_base+"/user?showc=true";}});_gaq.push(['_trackEvent','Other','Delete Collection']);}
function toggleCollectionForm(id,toggle){if(toggle=='show'){$('#collection_additem_form_'+id).css('display','block');$('#collection_additem_form_'+id+' input:first').focus();}else{if(id==null){var target='.collection_additem_form';$(target).css('display','none');}else{var target='#collection_additem_form_'+id;$(target).css('display','none');}
$(target+' input:first').attr("value","");}}
function setupCollectionEvents(){$('.newcollection_btn').click(function(event){var id=$(this).parents('.image_info:eq(0)').attr('imageid');$('#collection_additem_form_'+id).css('display','block');$('#collection_additem_form_'+id+' input:first').focus();$('#collection_additem_div_'+id).css('display','none');event.stopPropagation();return false;});$('.collection_item_div').click(function(event){var id=$(this).parents('.image_info:eq(0)').attr('imageid');var collection_id=$(this).attr('collection_id');var name=$(this).children('a:first').html();addedtocollection_message(id,collection_id,name);collapse_menu();if(section=='reddit'){var image=image_to_submit;addimage_reddit(image['id'],image['image'],image['source_url'],image['title'],image['nudity'],image['tags'],collection_id);}else{addtocollection(id,collection_id,this);}
return false;});}
function addtocollection(id,collection_id,object_clicked){if(object_clicked){}
addtofavorites(id,collection_id);return false;}
function addedtocollection_message(id,collection_id,name){$('#addedtocollection_message_'+id).css('display','block');$('#addedtocollection_message_'+id).html('added to <a href="'+domain_collections+'/'+collection_id+'">'+name+'</a>');}
function saveCollectionOrder(id,order){var url="/collection/"+id+"/edit";$.ajax({url:url,type:'POST',data:order,dataType:'html',timeout:7000,error:function(error){},success:function(response){}});}
function follow_collection(collection_id){var follow_btn_object,following_count_object,following_count,is_following,ajax_url;if(!collection_id){alert('error: no collection_id specified');return false;}
follow_btn_object=$("#follow_collection_"+collection_id);following_count_object=$("#follow_collection_count_"+collection_id);following_count=$(following_count_object).html();if($(follow_btn_object).hasClass('following')){is_following=true;}else{is_following=false;}
if(is_following===true){$(follow_btn_object).html('Follow').removeClass('following');$(following_count_object).html(parseInt(following_count-1));ajax_url="/subscriptions/unfollow";}else{$(follow_btn_object).html('Following').attr('class','following');$(following_count_object).html(parseInt(following_count+1));ajax_url="/subscriptions/follow";}
$.ajax({url:ajax_url,type:'POST',data:"collection_id="+collection_id,dataType:'html',timeout:20000,error:function(error){},success:function(response){}});}
function followuser(userid,unfollow){if(unfollow){$("#followbtn a").html('Follow');$("#followbtn a").unbind('click');$('#followbtn a').attr("onclick","");$("#followbtn a").click(function(event){followuser(userid);return false;});_gaq.push(['_trackEvent','Follow Action','Unfollow User']);}else{$("#followbtn a").html('Following');$("#followbtn a").unbind('click');$('#followbtn a').attr("onclick","");$("#followbtn a").click(function(event){followuser(userid,true);return false;});_gaq.push(['_trackEvent','Follow Action','Follow User']);}
if(unfollow){var url="/subscriptions/unfollow";}else{var url="/subscriptions/follow";}
$.ajax({url:url,type:'POST',data:"userid="+userid,dataType:'html',timeout:7000,error:function(error){},success:function(response){}});}
function toggleFollowers(show){if(show=='following'){$('#follow_nav #followingbtn').addClass('selected');$('#follow_nav #followersbtn').removeClass('selected');$('#follow_holder #following').css('display','block');$('#follow_holder #followers').css('display','none');}else{$('#follow_nav #followersbtn').addClass('selected');$('#follow_nav #followingbtn').removeClass('selected');$('#follow_holder #following').css('display','none');$('#follow_holder #followers').css('display','block');}}
function usefbavatar(){var fb_uid=FB.Facebook.apiClient.get_session().uid;var url="/users/fbavatar/";$.ajax({url:url,type:'POST',data:"fb_uid="+fb_uid,dataType:'html',timeout:7000,error:function(error){},success:function(response){window.location=window.location;}});}
function set_data_for_image_submit(id,image_url,source_url,title,nudity,tags){var image=new Array();image['id']=id;image['image']=image_url;image['source_url']=source_url;image['title']=title;image['nudity']=nudity;image['tags']=tags;image_to_submit=image;}
function addimage_reddit(id,image,source_url,title,nudity,tags,collection_id){var url="/items/additem";var still_loading=$('#image_'+id).find('.embedly_loading');var image_error=$('#image_'+id).find('.image_error');if(image_error.length!=0){alert('Cannot fave this image because it could not be loaded.');return false;}else if(still_loading.length!=0){alert('Please wait for the image to finish loading.');return false;}else if(!image){var found_image=$('#image_'+id).find('.embed').find('img').attr('src');if(!found_image){alert('This content is not an image, so cannot be saved to imgfave.');return false;}else{image=found_image;}}
if(collection_id==undefined){collection_id='';}
$.ajax({url:url,type:'POST',data:'i='+image+'&t='+title+'&u='+source_url+'&n='+nudity+'&tags='+tags+'&collection_id='+collection_id,dataType:'html',timeout:1000,error:function(error){$("#status").html('added<br /><span style="font-size:12px;"><a href="'+domain_base+'/user" target="_parent">go to my imgfave</a></span>');},success:function(response){$("#status").html('added<br /><span style="font-size:12px;"><a href="'+domain_base+'/user" target="_parent">go to my imgfave</a></span>');}});_gaq.push(['_trackEvent','Faves','Add to favorites (reddit)']);}
function addimage(image,source_url,title,nudity,tags){var url="/items/additem";$.ajax({url:url,type:'POST',data:'i='+image+'&t='+title+'&u='+source_url+'&n='+nudity+'&tags='+tags,dataType:'html',timeout:1000,error:function(error){$("#status").html('added<br /><span style="font-size:12px;"><a href="'+domain_base+'/user" target="_parent">go to my imgfave</a></span>');},success:function(response){$("#status").html('added<br /><span style="font-size:12px;"><a href="'+domain_base+'/user" target="_parent">go to my imgfave</a></span>');}});}
function fbs_click_custom(url,collection,clicky_event){if(url){u=url;}else{u=location.href;}
t=document.title;window.open('http://www.facebook.com/sharer.php?u='+encodeURIComponent(u)+'&t='+encodeURIComponent(t),'sharer','toolbar=0,status=0,width=700,height=436');if(collection){}else{if(clicky_event){_gaq.push(['_trackEvent','Share','FB Share ('+clicky_event+')']);}else{_gaq.push(['_trackEvent','Share','FB Share']);}}
return false;}
function log_stumble_share(){_gaq.push(['_trackEvent','Share','Stumbleupon Share']);}
function log_tumblr_share(name){_gaq.push(['_trackEvent','Share',name]);}
function callPublish(msg,attachment,prompt){FB.ensureInit(function(){FB.Connect.streamPublish(msg,attachment,null,null,prompt);});}
function addTag(image_id){var tags_container='#image_tags_container_'+image_id;$(tags_container).find('.add_tag_link').hide();$(tags_container).find('.add_tag').show();$(tags_container).find('input[type=text]').focus();}
function submitTags(image_id){var tags_container=$('#image_tags_container_'+image_id);var tags=$(tags_container).find('input[type=text]').attr('value');tags=tags.replace(/, /g,',');tags=tags.replace(/ ,/g,',');var tags_array=tags.split(',');for(i=0;i<tags_array.length;i++){if(tags_array[i]==''){delete tags_array[i];}else{$(tags_container).find('.image_tags').append('<a class="image_tag_link" href="http://imgfave.com/search/'+tags_array[i]+'">'+tags_array[i]+'</a>')}}
if(!tags)return false;$(tags_container).find('.add_tag').hide();$(tags_container).find('.add_tag_link').show();var url="/items/addtags";$.ajax({url:url,type:'POST',data:'id='+image_id+'&tags='+encodeURIComponent(tags),timeout:7000,error:function(){},success:function(response){}});}
function toggleUserDropdown(action){if(action=='hide'||$('#user_dropdown_menu_outer').is(':visible')){$('#user_dropdown_menu_container').css('width','auto');$('#user_dropdown_menu_main_link').css('padding','6px 7px 0 8px').css('border','none').css('backgroundColor','#fff');$('#user_dropdown_menu_outer').hide();}else{var min_width=95;$('#user_dropdown_menu_main_link').css('padding','4px 5px 5px 6px').css('border','2px solid #366da8').css('border-bottom','none').css('backgroundColor','#fafafa');var width=$('#user_dropdown_menu_container').width();if(width>min_width){$('#user_dropdown_menu_outer').show().width(width);}else{$('#user_dropdown_menu_outer').show().width(min_width);$('#user_dropdown_menu_container').width(min_width);}}}
function showMoreFavers(faver_id,item_id,count,activity_item_number){$.ajax({url:'/activity/show_more_favers',type:'POST',data:'faver_id='+faver_id+'&item_id='+item_id+'&count='+count,dataType:'html',timeout:10000,error:function(){},success:function(response){$('#activity_item_text_'+activity_item_number).find('.and_others').html(response);}});}
function toggleActivityDropdown(action){$('#header').find('tr:first').find('td:last').show();var topnav_link_count=$('#header').find('tr:first').find('td').length;if(action=='hide'||$('#activity_dropdown_menu_outer').is(':visible')){$('#activity_dropdown_menu_container').find('#activity_close_button').hide();$('#header').find('tr:first').find('td').eq(2).show();if(topnav_link_count==6){$('#header').find('tr:first').find('td').eq(2).show();$('#header').find('tr:first').find('td').eq(3).show();$('#header').find('tr:first').find('td').eq(5).show();}else{$('#header').find('tr:first').find('td').eq(2).show();$('#header').find('tr:first').find('td').eq(4).show();}
$('#activity_dropdown_menu_main_link').removeClass('box_open');$('#activity_dropdown_menu_outer').removeClass('box_open');$('#activity_dropdown_menu_container').removeClass('box_open');}else{$('#activity_count').hide();$('body').bind('click.hide_activity_menu',function(){toggleActivityDropdown('hide');$('body').unbind('click.hide_activity_menu');});$('#activity_dropdown_menu_content').click(function(event){event.stopPropagation();});$('#activity_dropdown_menu_content').html('loading...');$('#activity_dropdown_menu_container').find('#activity_close_button').show();if(topnav_link_count==6){$('#header').find('tr:first').find('td').eq(2).hide();$('#header').find('tr:first').find('td').eq(3).hide();$('#header').find('tr:first').find('td').eq(5).hide();}else{$('#header').find('tr:first').find('td').eq(2).hide();$('#header').find('tr:first').find('td').eq(4).hide();}
$('#activity_dropdown_menu_main_link').addClass('box_open');$('#activity_dropdown_menu_outer').addClass('box_open');$('#activity_dropdown_menu_container').addClass('box_open');ajaxFetchActivity();}}
function ajaxFetchActivity(direction,last_id){var data='';if(direction&&last_id){data+='direction='+direction+'&last_id='+last_id;}
$.ajax({url:'/activity/show_activity',type:'POST',data:data,dataType:'html',timeout:15000,error:function(){_gaq.push(['_trackEvent','Click','Activity Box (timeout)']);alert('Error loading activity. Try again later.');},success:function(response){$('#activity_dropdown_menu_content').html(response);}});if(direction=='after'){_gaq.push(['_trackEvent','Click','Activity Box (next page)']);}else if(direction=='before'){_gaq.push(['_trackEvent','Click','Activity Box (prev page)']);}else{_gaq.push(['_trackEvent','Click','Show Activity Box']);}}
function setCookie(c_name,value,hours){var now=new Date();var time=now.getTime();time+=3600*1000*hours;now.setTime(time);document.cookie=c_name+'='+value+'; expires='+now.toGMTString()+'; path=/'+'; domain=imgfave.com';}
;;(function(h){var m=h.scrollTo=function(b,c,g){h(window).scrollTo(b,c,g)};m.defaults={axis:'y',duration:1};m.window=function(b){return h(window).scrollable()};h.fn.scrollable=function(){return this.map(function(){var b=this.parentWindow||this.defaultView,c=this.nodeName=='#document'?b.frameElement||b:this,g=c.contentDocument||(c.contentWindow||c).document,i=c.setInterval;return c.nodeName=='IFRAME'||i&&h.browser.safari?g.body:i?g.documentElement:this})};h.fn.scrollTo=function(r,j,a){if(typeof j=='object'){a=j;j=0}if(typeof a=='function')a={onAfter:a};a=h.extend({},m.defaults,a);j=j||a.speed||a.duration;a.queue=a.queue&&a.axis.length>1;if(a.queue)j/=2;a.offset=n(a.offset);a.over=n(a.over);return this.scrollable().each(function(){var k=this,o=h(k),d=r,l,e={},p=o.is('html,body');switch(typeof d){case'number':case'string':if(/^([+-]=)?\d+(px)?$/.test(d)){d=n(d);break}d=h(d,this);case'object':if(d.is||d.style)l=(d=h(d)).offset()}h.each(a.axis.split(''),function(b,c){var g=c=='x'?'Left':'Top',i=g.toLowerCase(),f='scroll'+g,s=k[f],t=c=='x'?'Width':'Height',v=t.toLowerCase();if(l){e[f]=l[i]+(p?0:s-o.offset()[i]);if(a.margin){e[f]-=parseInt(d.css('margin'+g))||0;e[f]-=parseInt(d.css('border'+g+'Width'))||0}e[f]+=a.offset[i]||0;if(a.over[i])e[f]+=d[v]()*a.over[i]}else e[f]=d[i];if(/^\d+$/.test(e[f]))e[f]=e[f]<=0?0:Math.min(e[f],u(t));if(!b&&a.queue){if(s!=e[f])q(a.onAfterFirst);delete e[f]}});q(a.onAfter);function q(b){o.animate(e,j,a.easing,b&&function(){b.call(this,r,a)})};function u(b){var c='scroll'+b,g=k.ownerDocument;return p?Math.max(g.documentElement[c],g.body[c]):k[c]}}).end()};function n(b){return typeof b=='object'?b:{top:b,left:b}}})(jQuery);
;shortcut={'all_shortcuts':{},'add':function(shortcut_combination,callback,opt){var default_options={'type':'keydown','propagate':false,'disable_in_input':false,'target':document,'keycode':false}
if(!opt)opt=default_options;else{for(var dfo in default_options){if(typeof opt[dfo]=='undefined')opt[dfo]=default_options[dfo];}}
var ele=opt.target;if(typeof opt.target=='string')ele=document.getElementById(opt.target);var ths=this;shortcut_combination=shortcut_combination.toLowerCase();var func=function(e){e=e||window.event;if(opt['disable_in_input']){var element;if(e.target)element=e.target;else if(e.srcElement)element=e.srcElement;if(element.nodeType==3)element=element.parentNode;if(element.tagName=='INPUT'||element.tagName=='TEXTAREA')return;}
if(e.keyCode)code=e.keyCode;else if(e.which)code=e.which;var character=String.fromCharCode(code);if(code==188)character=",";if(code==190)character=".";var keys=shortcut_combination.split("+");var kp=0;var shift_nums={"`":"~","1":"!","2":"@","3":"#","4":"$","5":"%","6":"^","7":"&","8":"*","9":"(","0":")","-":"_","=":"+",";":":","'":"\"",",":"<",".":">","/":"?","\\":"|"}
var special_keys={'esc':27,'escape':27,'tab':9,'space':32,'return':13,'enter':13,'backspace':8,'scrolllock':145,'scroll_lock':145,'scroll':145,'capslock':20,'caps_lock':20,'caps':20,'numlock':144,'num_lock':144,'num':144,'pause':19,'break':19,'insert':45,'home':36,'delete':46,'end':35,'pageup':33,'page_up':33,'pu':33,'pagedown':34,'page_down':34,'pd':34,'left':37,'up':38,'right':39,'down':40,'f1':112,'f2':113,'f3':114,'f4':115,'f5':116,'f6':117,'f7':118,'f8':119,'f9':120,'f10':121,'f11':122,'f12':123}
var modifiers={shift:{wanted:false,pressed:false},ctrl:{wanted:false,pressed:false},alt:{wanted:false,pressed:false},meta:{wanted:false,pressed:false}};if(e.ctrlKey)modifiers.ctrl.pressed=true;if(e.shiftKey)modifiers.shift.pressed=true;if(e.altKey)modifiers.alt.pressed=true;if(e.metaKey)modifiers.meta.pressed=true;for(var i=0;k=keys[i],i<keys.length;i++){if(k=='ctrl'||k=='control'){kp++;modifiers.ctrl.wanted=true;}else if(k=='shift'){kp++;modifiers.shift.wanted=true;}else if(k=='alt'){kp++;modifiers.alt.wanted=true;}else if(k=='meta'){kp++;modifiers.meta.wanted=true;}else if(k.length>1){if(special_keys[k]==code)kp++;}else if(opt['keycode']){if(opt['keycode']==code)kp++;}else{if(character==k)kp++;else{if(shift_nums[character]&&e.shiftKey){character=shift_nums[character];if(character==k)kp++;}}}}
if(kp==keys.length&&modifiers.ctrl.pressed==modifiers.ctrl.wanted&&modifiers.shift.pressed==modifiers.shift.wanted&&modifiers.alt.pressed==modifiers.alt.wanted&&modifiers.meta.pressed==modifiers.meta.wanted){callback(e);if(!opt['propagate']){e.cancelBubble=true;e.returnValue=false;if(e.stopPropagation){e.stopPropagation();e.preventDefault();}
return false;}}}
this.all_shortcuts[shortcut_combination]={'callback':func,'target':ele,'event':opt['type']};if(ele.addEventListener)ele.addEventListener(opt['type'],func,false);else if(ele.attachEvent)ele.attachEvent('on'+opt['type'],func);else ele['on'+opt['type']]=func;},'remove':function(shortcut_combination){shortcut_combination=shortcut_combination.toLowerCase();var binding=this.all_shortcuts[shortcut_combination];delete(this.all_shortcuts[shortcut_combination])
if(!binding)return;var type=binding['event'];var ele=binding['target'];var callback=binding['callback'];if(ele.detachEvent)ele.detachEvent('on'+type,callback);else if(ele.removeEventListener)ele.removeEventListener(type,callback,false);else ele['on'+type]=false;}}
;function next_page(){if($(".page_Next").length>0){if(subdomain){window.location='http://'+subdomain+'.imgfave.com'+$('.page_Next a').attr('href');}else{window.location=domain_base+$('.page_Next a').attr('href');}}}
var items_per_page;var start=0;shortcut.add("down",function(){if(!items_per_page){if(view=='thumbs'){items_per_page='52';}else{items_per_page='26';}}
if(start<items_per_page){if(start>-1){if(view=="thumbs"&&start>0){if($('#marker'+(start+4)).length<=0){if($(".page_Next").length>0){next_page();}
return;}
start=start+4;}else{if($('#marker'+(start+1)).length<=0){if($(".page_Next").length>0){start=items_per_page;}
return;}
start++;}
if($('#marker'+start).length>0){$.scrollTo('#marker'+start,100,{offset:-10});}}}else if(start>=items_per_page&&$(".page_Next").length>0){next_page();}},{'type':'keydown','disable_in_input':true,'target':document});shortcut.add("up",function(){if(start!=0){if(view=="thumbs"&&start>4){start=start-4;}else{start--;}
$.scrollTo('#marker'+start,100,{offset:-10});}else if(start=='0'&&$(".page_Prev").length>0){window.location=domain_base+$('.page_Prev a').attr('href');}},{'type':'keydown','disable_in_input':true,'target':document});shortcut.add("right",function(){if($(".page_Next").length>0){if(subdomain){window.location='http://'+subdomain+'.imgfave.com'+$('.page_Next a').attr('href');}else{window.location=domain_base+$('.page_Next a').attr('href');}}},{'type':'keydown','disable_in_input':true,'target':document});shortcut.add("left",function(){if($(".page_Prev").length>0){if(subdomain){window.location='http://'+subdomain+'.imgfave.com'+$('.page_Prev a').attr('href');}else{window.location=domain_base+$('.page_Prev a').attr('href');}}},{'type':'keydown','disable_in_input':true,'target':document});shortcut.add("space",function(){if(start){var imageid=$('#marker'+start+' .image_info').attr('imageid');if(section=='reddit'){$('#fave_item_'+imageid).find('a').trigger('click');}else{addtofavorites(imageid);}
favebtn_state_change(imageid);}},{'type':'keydown','disable_in_input':true,'target':document});if(flagkey==true){shortcut.add("shift",function(){if(start){var imageid=$('#marker'+start+' .image_info').attr('imageid');flag(imageid,'nudity');}},{'type':'keydown','disable_in_input':true,'target':document});}
;var is_initialized=false;function facebook_login(){FB.login(function(response){if(response.authResponse){process_facebook_login();}else{}},{scope:'email'});}
function process_facebook_login(session){var fb_uid,fb_name,fb_username,email;FB.api('/me',function(response){if(response.id){var fb_uid=response.id;}else{alert('login error: could not get facebook user id');return false;}
if(response.link.indexOf('profile.php')!=-1){fb_username=''}else{fb_username=response.link.replace('http://www.facebook.com/','');}
fb_name=(response.name?response.name:'');email=(response.email?response.email:'');$("#login").html("loading...");if(subdomain){var url="/register/";}else{var url=domain_base+"/register/";}
$.ajax({url:url,type:'POST',data:"fb_login=true&fb_uid="+fb_uid+"&fb_fullname="+fb_name+'&email='+email+'&fb_username='+fb_username,dataType:'html',timeout:7000,error:function(error){_gaq.push(['_trackEvent','Errors','Facebook Login (ajax call)']);},success:function(response){if(response=="register"){window.location=domain_base+'/user';}else{window.location=window.location.href;}}});});}
function dump(arr,level){var dumped_text="";if(!level)level=0;var level_padding="";for(var j=0;j<level+1;j++)level_padding+="    ";if(typeof(arr)=='object'){for(var item in arr){var value=arr[item];if(typeof(value)=='object'){dumped_text+=level_padding+"'"+item+"' ...\n";dumped_text+=dump(value,level+1);}else{dumped_text+=level_padding+"'"+item+"' => \""+value+"\"\n";}}}else{dumped_text="===>"+arr+"<===("+typeof(arr)+")";}
return dumped_text;}
function ensure_init(callback,render_xfbml){if(window.fb_connect_initialized){callback();}else{render_xfbml=(render_xfbml?true:false);window.fbAsyncInit=function(){FB.init({appId:'41226788140',status:true,cookie:true,xfbml:render_xfbml});window.is_initialized=true;}
(function(){var e=document.createElement('script');e.src=document.location.protocol+'//connect.facebook.net/en_US/all.js';e.async=true;document.getElementById('fb-root').appendChild(e);}());}}
function showDocAfterRender(){ensure_init(function(){});}
function ajax(url,vars,callbackFunction){var request=new XMLHttpRequest();request.open("POST",url,true);request.setRequestHeader("Content-Type","application/x-www-form-urlencoded");request.onreadystatechange=function(){if(request.readyState==4&&request.status==200){if(request.responseText){callbackFunction(request.responseText);}}};request.send(vars);}
function facebook_session_is_ready(link_to_current_user,callback_url){var user=FB.Facebook.apiClient.get_session()?FB.Facebook.apiClient.get_session().uid:null;if(!user){alert("no user found");return;}
var params;if(link_to_current_user){params+='&link_to_current_user=1';}
window.location=callback_url;}
function facebook_session_on_ready(link_to_current_user,callback_url){ensure_init(function(){FB.Facebook.get_sessionState().waitUntilReady(function(){facebook_session_is_ready(link_to_current_user,callback_url);});});}
function facebook_prompt_permission(permission){ensure_init(function(){FB.Connect.showPermissionDialog(permission);});}
function facebook_publish_feed_story(form_bundle_id,template_data){ensure_init(function(){FB.Connect.showFeedDialog(form_bundle_id,template_data);});}
function facebook_show_feed_checkbox(){ensure_init(function(){FB.Connect.get_status().waitUntilReady(function(status){if(status!=FB.ConnectState.userNotLoggedIn){checkbox=ge('publish_fb_checkbox');if(checkbox){checkbox.style.visibility="visible";}}});});}
function fbinvite(){var current_location=document.location.href;var message='Hey, check out <a href=\'http://imgfave.com\'>imgfave.com</a>. It\'s a fun image bookmarking site with lots of amazing art, graphic design, and photography.';if(typeof logged_in_username!='undefined'){message+=' \nHere\'s my profile: <a href=\'http://imgfave.com/'+logged_in_username+'\'>http://imgfave.com/'+logged_in_username+'</a>';}
var contents='<fb:request-form action="http://imgfave.com/invites/facebook?next='+current_location+'"  method="POST"'+'invite="true"'+'type="imgfave"'+'content="'+message+' <fb:req-choice url=\'http://imgfave.com\' label=\'Go to imgfave.com\' />  " >'+'<fb:multi-friend-selector showborder="false" cols="4" rows="3" exclude_ids=""   actiontext="Select some friends that you\'d like to invite."></fb:multi-friend-selector>'+'</fb:request-form>';var dialog=new FB.UI.FBMLPopupDialog('Invite friends to join imgfave',contents,false,true);dialog.setContentWidth(630);dialog.setContentHeight(510);dialog.set_placement(FB.UI.PopupPlacement.topCenter);dialog.show();}
function pprompt(){FB.Facebook.apiClient.users_hasAppPermission("offline_access",function(result){if(result==0){FB.Connect.showPermissionDialog('offline_access');}else{alert('already have offline_access')}});}
function checksession(){del_cookie('18455ec17407d4c497733bba79c00424_session_key');alert("session key: "+FB.Facebook.apiClient.get_session().session_key);}
function del_cookie(name){document.cookie=name+'=; expires=Thu, 01-Jan-70 00:00:01 GMT;';alert("cookie deleted");}
;$.fn.textWidth=function(){var html_org=$(this).val();var html_calc='<span>'+html_org+'</span>'
$(this).html(html_calc);var width=$(this).find('span:first').width();$(this).html(html_org);return width;};function array_contains(value,array){for(var i=0;i<array.length;i++){if(array[i]==value){return true;}}
return false;}
var tagEditor=new function(){this.max_total_tags=12;this.total_tag_count=0;this.max_tag_width=200;this.related_tag_min_occurance=3;this.related_tag_max_length=30;this.current_input_width=0;this.related_tags_to_hide=['blowjob','sex','tits','sexy','adult','boobs'];this.image_id=null;this.tags_container=null;this.tags_input=null;this.added_tags=[];this.already_added_tags=[];this.suggested_tags=['art','architecture','design','photography','fashion','home','interior design','girl','love','cute','harry potter','funny','vintage','quote','pretty','colorful','beauty','hair','style','nature','dog','cat','beautiful','couple'];this.init=function(image_id){this.image_id=image_id;this.tags_container='#image_tags_container_'+image_id;this.added_tags=[];this.already_added_tags=[];this.total_tag_count=0;this.current_input_width=0;this.closeAllEditors();$.scrollTo(this.tags_container,0,{offset:-200});$(this.tags_container).find('.image_tags').find('.image_tag_link').each(function(){var tag=$(this).html();tagEditor.already_added_tags.push(tag);if(logged_in_uid==1){$(this).prepend('<a style="color:red" href="#" onclick="tagEditor.removeExistingTag(\''+escape(tag)+'\'); $(this).parent().remove(); return false;">x </a>')}
tagEditor.total_tag_count++;});$(this.tags_container).find('.add_tag_link').hide();$(this.tags_container).append('<div class="add_tags_container">'+'<div class="up_arrow"></div>'+'<div class="up_arrow_overlay"></div>'+'<a href="#" onclick="tagEditor.close(); return false;" class="close_button">x</a>'+'<form onsubmit="return tagEditor.submitTags_new('+this.image_id+');">'+'<div class="add_tag">'+'<div class="add_tag_title">Add tags to describe this image</div>'+'<div class="add_tag_warning">'+'<span style="color:red;">Important</span>: Tags only, no commenting (or your account may be banned)'+'</div>'+'<div class="added_tags">'+'<div class="input_container" style="float:left;,"><input type="text" value="" style="width:10px"/></div>'+'<div style="clear:both"></div>'+'</div>'+'<input type="submit" value="Save"/>'+'<div style="clear:both"></div>'+'</div>'+'<div class="suggested_tags">'+'<div class="add_tag_title suggested_tags_title"></div>'+'<div class="suggested_tags_content">'+'</div>'+'</div>'+'</form>'+'</div>');if(this.getTotalTagCount()>=this.max_total_tags){this.maxTagsAlreadyReached();return false;}
this.tags_input=$(this.tags_container).find('.input_container').find('input[type=text]:first');this.updateSuggestedTags(this.suggested_tags);$(this.tags_container).find('.added_tags').click(function(){$(tagEditor.tags_input).focus()})
$(this.tags_input).focus().keydown(function(event){var input_val=$(tagEditor.tags_input).val();if(event.keyCode==8&&!input_val){tagEditor.deleteLastTag();return false;}
if(event.keyCode==13){if(input_val){tagEditor.addTag();}else{tagEditor.submitTags_new();}
return false;}
if(tagEditor.current_input_width>tagEditor.max_tag_width){return false;}}).keyup(function(event){var input_val=$(tagEditor.tags_input).val();var html_calc='<span id="get_text_width" style="">'+input_val+'</span>'
$(tagEditor.tags_container).append(html_calc);tagEditor.current_input_width=$(tagEditor.tags_container).find('#get_text_width').width();$(tagEditor.tags_container).find('#get_text_width').remove();var new_width=tagEditor.current_input_width+10;$(tagEditor.tags_input).css('width',new_width+'px');if(event.keyCode==188){tagEditor.addTag();}});};this.maxTagsAlreadyReached=function(){$(this.tags_container).find('.add_tags_container').find('form:first').hide().before('<div class="max_tags_reached_already">This image already has '+this.max_total_tags+' tags (the maximum)</div>');}
this.maxTagsReached=function(){$(this.tags_container).find('.add_tags_container').find('.add_tag').prepend('<div class="max_tags_reached">This image now has '+this.max_total_tags+' tags, which is the maximum. <br/>You cannot add anymore, so go save your tags!</div>');}
this.maxTagsReachedHide=function(){$(this.tags_container).find('.add_tags_container').find('.max_tags_reached').remove();this.total_tag_count--;}
this.addTag=function(tag_string){if(!tag_string){tag_string=$(this.tags_input).val();}
$(this.tags_input).focus().val('');if(this.getTotalTagCount()==this.max_total_tags-1){this.maxTagsReached();}else if(this.getTotalTagCount()==this.max_total_tags){return false;}
this.pushToAddedArray(tag_string);this.refreshAddedDisplay();}
this.removeTag=function(tag){for(var i=0;i<this.added_tags.length;i++){if(tag==this.added_tags[i]){this.added_tags.splice(i,1);}}
this.refreshAddedDisplay();this.maxTagsReachedHide();}
this.pushToAddedArray=function(tag_string){var tag_array=tag_string.split(",");for(var i=0;i<tag_array.length;i++){var tag=tag_array[i].replace(/^\s\s*/,'').replace(/\s\s*$/,'');if(array_contains(tag,this.added_tags)||array_contains(tag,this.already_added_tags)){return false;}
if(tag){this.added_tags.push(tag);}}}
this.refreshAddedDisplay=function(){$(this.tags_container).find('.added_tags').find('.image_tag_link').remove();for(var i=0;i<this.added_tags.length;i++){$(this.tags_container).find('.added_tags').find('.input_container').before('<a href="#" class="image_tag_link" onclick="tagEditor.removeTag(\''+this.added_tags[i]+'\'); return false;">'+this.added_tags[i]+'</a>');}
$(this.tags_container).find('.added_tags').find('.image_tag_link').hover(function(){$(this).prepend('<span class="remove_tag_icon"> x </span>');},function(){$(this).find('.remove_tag_icon:first').remove();});if(this.added_tags.length){this.getRelatedTags(this.added_tags[this.added_tags.length-1]);}else{this.updateSuggestedTags(this.suggested_tags);}};this.refreshInput=function(){var input_value=$(this.tags_input).val('');var new_val='';for(var i=0;i<this.added_tags.length;i++){new_val+=this.added_tags[i];if(i<this.added_tags.length-1){new_val+=', ';}}
$(this.tags_input).val(new_val);};this.addSuggested=function(tag){this.addTag(tag);}
this.deleteLastTag=function(){this.added_tags.pop();this.refreshAddedDisplay();this.maxTagsReachedHide();}
this.clearTagEditor=function(){}
this.getRelatedTags=function(tag){$.getJSON('/items/search_related_tags?tag='+tag,function(data){tagEditor.updateSuggestedTags(data,tag,true);});}
this.updateSuggestedTags=function(related_tags,tag,from_ajax){var i=0;var valid_suggestions=[];for(key in related_tags){i++;if(from_ajax){var related_tag=key;if(i==1||related_tags[key]<this.related_tag_min_occurance||related_tag.length>this.related_tag_max_length){continue;}
if(array_contains(related_tag,this.related_tags_to_hide)){continue;}
if(array_contains(related_tag,this.added_tags)){continue;}}else{var related_tag=related_tags[key];}
if(array_contains(related_tag,this.already_added_tags)){continue;}
valid_suggestions.push(related_tag);}
if(valid_suggestions.length){$(this.tags_container).find('.suggested_tags_content').show().html('');for(var i=0;i<valid_suggestions.length;i++){var tag=valid_suggestions[i];$(this.tags_container).find('.suggested_tags_content').append('<a class="image_tag_link" href="#" onclick="tagEditor.addSuggested(\''+tag+'\'); return false;"><span class="tag_plus">+</span>'+tag+'</a>');}
$(this.tags_container).find('.suggested_tags_content').append('<div style="clear:both"></div>');}else{}
$(this.tags_container).find('.suggested_tags_title').html('Suggested tags to add')}
this.close=function(){$(this.tags_container).find('.add_tags_container').remove();$(this.tags_container).find('.add_tag_link').show();}
this.closeAllEditors=function(){$('.add_tags_container').remove();$('.add_tag_link').show();}
this.getTotalTagCount=function(){return this.added_tags.length+this.already_added_tags.length;}
this.submitTags_new=function(){if($(tagEditor.tags_input).val()){tagEditor.addTag();}
if(this.added_tags.length<1)return false;for(i=0;i<this.added_tags.length;i++){$(this.tags_container).find('.image_tags').append('<a class="image_tag_link" href="http://imgfave.com/search/'+this.added_tags[i]+'">'+this.added_tags[i]+'</a>')}
this.close();var url=domain_base+"/items/addtags";$.ajax({url:url,type:'POST',data:'id='+this.image_id+'&tags='+encodeURIComponent(this.added_tags.toString()),timeout:7000,error:function(){},success:function(response){}});_gaq.push(['_trackEvent','Other','Add tags']);return false;}
this.removeExistingTag=function(tag){var url=domain_base+"/items/removetag";var tag=unescape(tag);$.ajax({url:url,type:'POST',data:'image_id='+this.image_id+'&tag='+encodeURIComponent(tag),timeout:7000,error:function(){},success:function(response){}});}}
