/*!
 * jQuery JavaScript Library v1.5.2
 * http://jquery.com/
 *
 * Copyright 2011, John Resig
 * Dual licensed under the MIT or GPL Version 2 licenses.
 * http://jquery.org/license
 *
 * Includes Sizzle.js
 * http://sizzlejs.com/
 * Copyright 2011, The Dojo Foundation
 * Released under the MIT, BSD, and GPL Licenses.
 *
 * Date: Thu Mar 31 15:28:23 2011 -0400
 */
(function(a,b){function ci(a){return d.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cf(a){if(!b_[a]){var b=d("<"+a+">").appendTo("body"),c=b.css("display");b.remove();if(c==="none"||c==="")c="block";b_[a]=c}return b_[a]}function ce(a,b){var c={};d.each(cd.concat.apply([],cd.slice(0,b)),function(){c[this]=a});return c}function b$(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function bZ(){try{return new a.XMLHttpRequest}catch(b){}}function bY(){d(a).unload(function(){for(var a in bW)bW[a](0,1)})}function bS(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var e=a.dataTypes,f={},g,h,i=e.length,j,k=e[0],l,m,n,o,p;for(g=1;g<i;g++){if(g===1)for(h in a.converters)typeof h==="string"&&(f[h.toLowerCase()]=a.converters[h]);l=k,k=e[g];if(k==="*")k=l;else if(l!=="*"&&l!==k){m=l+" "+k,n=f[m]||f["* "+k];if(!n){p=b;for(o in f){j=o.split(" ");if(j[0]===l||j[0]==="*"){p=f[j[1]+" "+k];if(p){o=f[o],o===!0?n=p:p===!0&&(n=o);break}}}}!n&&!p&&d.error("No conversion from "+m.replace(" "," to ")),n!==!0&&(c=n?n(c):p(o(c)))}}return c}function bR(a,c,d){var e=a.contents,f=a.dataTypes,g=a.responseFields,h,i,j,k;for(i in g)i in d&&(c[g[i]]=d[i]);while(f[0]==="*")f.shift(),h===b&&(h=a.mimeType||c.getResponseHeader("content-type"));if(h)for(i in e)if(e[i]&&e[i].test(h)){f.unshift(i);break}if(f[0]in d)j=f[0];else{for(i in d){if(!f[0]||a.converters[i+" "+f[0]]){j=i;break}k||(k=i)}j=j||k}if(j){j!==f[0]&&f.unshift(j);return d[j]}}function bQ(a,b,c,e){if(d.isArray(b)&&b.length)d.each(b,function(b,f){c||bs.test(a)?e(a,f):bQ(a+"["+(typeof f==="object"||d.isArray(f)?b:"")+"]",f,c,e)});else if(c||b==null||typeof b!=="object")e(a,b);else if(d.isArray(b)||d.isEmptyObject(b))e(a,"");else for(var f in b)bQ(a+"["+f+"]",b[f],c,e)}function bP(a,c,d,e,f,g){f=f||c.dataTypes[0],g=g||{},g[f]=!0;var h=a[f],i=0,j=h?h.length:0,k=a===bJ,l;for(;i<j&&(k||!l);i++)l=h[i](c,d,e),typeof l==="string"&&(!k||g[l]?l=b:(c.dataTypes.unshift(l),l=bP(a,c,d,e,l,g)));(k||!l)&&!g["*"]&&(l=bP(a,c,d,e,"*",g));return l}function bO(a){return function(b,c){typeof b!=="string"&&(c=b,b="*");if(d.isFunction(c)){var e=b.toLowerCase().split(bD),f=0,g=e.length,h,i,j;for(;f<g;f++)h=e[f],j=/^\+/.test(h),j&&(h=h.substr(1)||"*"),i=a[h]=a[h]||[],i[j?"unshift":"push"](c)}}}function bq(a,b,c){var e=b==="width"?bk:bl,f=b==="width"?a.offsetWidth:a.offsetHeight;if(c==="border")return f;d.each(e,function(){c||(f-=parseFloat(d.css(a,"padding"+this))||0),c==="margin"?f+=parseFloat(d.css(a,"margin"+this))||0:f-=parseFloat(d.css(a,"border"+this+"Width"))||0});return f}function bc(a,b){b.src?d.ajax({url:b.src,async:!1,dataType:"script"}):d.globalEval(b.text||b.textContent||b.innerHTML||""),b.parentNode&&b.parentNode.removeChild(b)}function bb(a){return"getElementsByTagName"in a?a.getElementsByTagName("*"):"querySelectorAll"in a?a.querySelectorAll("*"):[]}function ba(a,b){if(b.nodeType===1){var c=b.nodeName.toLowerCase();b.clearAttributes(),b.mergeAttributes(a);if(c==="object")b.outerHTML=a.outerHTML;else if(c!=="input"||a.type!=="checkbox"&&a.type!=="radio"){if(c==="option")b.selected=a.defaultSelected;else if(c==="input"||c==="textarea")b.defaultValue=a.defaultValue}else a.checked&&(b.defaultChecked=b.checked=a.checked),b.value!==a.value&&(b.value=a.value);b.removeAttribute(d.expando)}}function _(a,b){if(b.nodeType===1&&d.hasData(a)){var c=d.expando,e=d.data(a),f=d.data(b,e);if(e=e[c]){var g=e.events;f=f[c]=d.extend({},e);if(g){delete f.handle,f.events={};for(var h in g)for(var i=0,j=g[h].length;i<j;i++)d.event.add(b,h+(g[h][i].namespace?".":"")+g[h][i].namespace,g[h][i],g[h][i].data)}}}}function $(a,b){return d.nodeName(a,"table")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function Q(a,b,c){if(d.isFunction(b))return d.grep(a,function(a,d){var e=!!b.call(a,d,a);return e===c});if(b.nodeType)return d.grep(a,function(a,d){return a===b===c});if(typeof b==="string"){var e=d.grep(a,function(a){return a.nodeType===1});if(L.test(b))return d.filter(b,e,!c);b=d.filter(b,e)}return d.grep(a,function(a,e){return d.inArray(a,b)>=0===c})}function P(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function H(a,b){return(a&&a!=="*"?a+".":"")+b.replace(t,"`").replace(u,"&")}function G(a){var b,c,e,f,g,h,i,j,k,l,m,n,o,p=[],q=[],s=d._data(this,"events");if(a.liveFired!==this&&s&&s.live&&!a.target.disabled&&(!a.button||a.type!=="click")){a.namespace&&(n=new RegExp("(^|\\.)"+a.namespace.split(".").join("\\.(?:.*\\.)?")+"(\\.|$)")),a.liveFired=this;var t=s.live.slice(0);for(i=0;i<t.length;i++)g=t[i],g.origType.replace(r,"")===a.type?q.push(g.selector):t.splice(i--,1);f=d(a.target).closest(q,a.currentTarget);for(j=0,k=f.length;j<k;j++){m=f[j];for(i=0;i<t.length;i++){g=t[i];if(m.selector===g.selector&&(!n||n.test(g.namespace))&&!m.elem.disabled){h=m.elem,e=null;if(g.preType==="mouseenter"||g.preType==="mouseleave")a.type=g.preType,e=d(a.relatedTarget).closest(g.selector)[0];(!e||e!==h)&&p.push({elem:h,handleObj:g,level:m.level})}}}for(j=0,k=p.length;j<k;j++){f=p[j];if(c&&f.level>c)break;a.currentTarget=f.elem,a.data=f.handleObj.data,a.handleObj=f.handleObj,o=f.handleObj.origHandler.apply(f.elem,arguments);if(o===!1||a.isPropagationStopped()){c=f.level,o===!1&&(b=!1);if(a.isImmediatePropagationStopped())break}}return b}}function E(a,c,e){var f=d.extend({},e[0]);f.type=a,f.originalEvent={},f.liveFired=b,d.event.handle.call(c,f),f.isDefaultPrevented()&&e[0].preventDefault()}function y(){return!0}function x(){return!1}function i(a){for(var b in a)if(b!=="toJSON")return!1;return!0}function h(a,c,e){if(e===b&&a.nodeType===1){e=a.getAttribute("data-"+c);if(typeof e==="string"){try{e=e==="true"?!0:e==="false"?!1:e==="null"?null:d.isNaN(e)?g.test(e)?d.parseJSON(e):e:parseFloat(e)}catch(f){}d.data(a,c,e)}else e=b}return e}var c=a.document,d=function(){function G(){if(!d.isReady){try{c.documentElement.doScroll("left")}catch(a){setTimeout(G,1);return}d.ready()}}var d=function(a,b){return new d.fn.init(a,b,g)},e=a.jQuery,f=a.$,g,h=/^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]+)$)/,i=/\S/,j=/^\s+/,k=/\s+$/,l=/\d/,m=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,n=/^[\],:{}\s]*$/,o=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,p=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,q=/(?:^|:|,)(?:\s*\[)+/g,r=/(webkit)[ \/]([\w.]+)/,s=/(opera)(?:.*version)?[ \/]([\w.]+)/,t=/(msie) ([\w.]+)/,u=/(mozilla)(?:.*? rv:([\w.]+))?/,v=navigator.userAgent,w,x,y,z=Object.prototype.toString,A=Object.prototype.hasOwnProperty,B=Array.prototype.push,C=Array.prototype.slice,D=String.prototype.trim,E=Array.prototype.indexOf,F={};d.fn=d.prototype={constructor:d,init:function(a,e,f){var g,i,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!e&&c.body){this.context=c,this[0]=c.body,this.selector="body",this.length=1;return this}if(typeof a==="string"){g=h.exec(a);if(!g||!g[1]&&e)return!e||e.jquery?(e||f).find(a):this.constructor(e).find(a);if(g[1]){e=e instanceof d?e[0]:e,k=e?e.ownerDocument||e:c,j=m.exec(a),j?d.isPlainObject(e)?(a=[c.createElement(j[1])],d.fn.attr.call(a,e,!0)):a=[k.createElement(j[1])]:(j=d.buildFragment([g[1]],[k]),a=(j.cacheable?d.clone(j.fragment):j.fragment).childNodes);return d.merge(this,a)}i=c.getElementById(g[2]);if(i&&i.parentNode){if(i.id!==g[2])return f.find(a);this.length=1,this[0]=i}this.context=c,this.selector=a;return this}if(d.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return d.makeArray(a,this)},selector:"",jquery:"1.5.2",length:0,size:function(){return this.length},toArray:function(){return C.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var e=this.constructor();d.isArray(a)?B.apply(e,a):d.merge(e,a),e.prevObject=this,e.context=this.context,b==="find"?e.selector=this.selector+(this.selector?" ":"")+c:b&&(e.selector=this.selector+"."+b+"("+c+")");return e},each:function(a,b){return d.each(this,a,b)},ready:function(a){d.bindReady(),x.done(a);return this},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(C.apply(this,arguments),"slice",C.call(arguments).join(","))},map:function(a){return this.pushStack(d.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:B,sort:[].sort,splice:[].splice},d.fn.init.prototype=d.fn,d.extend=d.fn.extend=function(){var a,c,e,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i==="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!=="object"&&!d.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j<k;j++)if((a=arguments[j])!=null)for(c in a){e=i[c],f=a[c];if(i===f)continue;l&&f&&(d.isPlainObject(f)||(g=d.isArray(f)))?(g?(g=!1,h=e&&d.isArray(e)?e:[]):h=e&&d.isPlainObject(e)?e:{},i[c]=d.extend(l,h,f)):f!==b&&(i[c]=f)}return i},d.extend({noConflict:function(b){a.$=f,b&&(a.jQuery=e);return d},isReady:!1,readyWait:1,ready:function(a){a===!0&&d.readyWait--;if(!d.readyWait||a!==!0&&!d.isReady){if(!c.body)return setTimeout(d.ready,1);d.isReady=!0;if(a!==!0&&--d.readyWait>0)return;x.resolveWith(c,[d]),d.fn.trigger&&d(c).trigger("ready").unbind("ready")}},bindReady:function(){if(!x){x=d._Deferred();if(c.readyState==="complete")return setTimeout(d.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",y,!1),a.addEventListener("load",d.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",y),a.attachEvent("onload",d.ready);var b=!1;try{b=a.frameElement==null}catch(e){}c.documentElement.doScroll&&b&&G()}}},isFunction:function(a){return d.type(a)==="function"},isArray:Array.isArray||function(a){return d.type(a)==="array"},isWindow:function(a){return a&&typeof a==="object"&&"setInterval"in a},isNaN:function(a){return a==null||!l.test(a)||isNaN(a)},type:function(a){return a==null?String(a):F[z.call(a)]||"object"},isPlainObject:function(a){if(!a||d.type(a)!=="object"||a.nodeType||d.isWindow(a))return!1;if(a.constructor&&!A.call(a,"constructor")&&!A.call(a.constructor.prototype,"isPrototypeOf"))return!1;var c;for(c in a){}return c===b||A.call(a,c)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw a},parseJSON:function(b){if(typeof b!=="string"||!b)return null;b=d.trim(b);if(n.test(b.replace(o,"@").replace(p,"]").replace(q,"")))return a.JSON&&a.JSON.parse?a.JSON.parse(b):(new Function("return "+b))();d.error("Invalid JSON: "+b)},parseXML:function(b,c,e){a.DOMParser?(e=new DOMParser,c=e.parseFromString(b,"text/xml")):(c=new ActiveXObject("Microsoft.XMLDOM"),c.async="false",c.loadXML(b)),e=c.documentElement,(!e||!e.nodeName||e.nodeName==="parsererror")&&d.error("Invalid XML: "+b);return c},noop:function(){},globalEval:function(a){if(a&&i.test(a)){var b=c.head||c.getElementsByTagName("head")[0]||c.documentElement,e=c.createElement("script");d.support.scriptEval()?e.appendChild(c.createTextNode(a)):e.text=a,b.insertBefore(e,b.firstChild),b.removeChild(e)}},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,e){var f,g=0,h=a.length,i=h===b||d.isFunction(a);if(e){if(i){for(f in a)if(c.apply(a[f],e)===!1)break}else for(;g<h;)if(c.apply(a[g++],e)===!1)break}else if(i){for(f in a)if(c.call(a[f],f,a[f])===!1)break}else for(var j=a[0];g<h&&c.call(j,g,j)!==!1;j=a[++g]){}return a},trim:D?function(a){return a==null?"":D.call(a)}:function(a){return a==null?"":(a+"").replace(j,"").replace(k,"")},makeArray:function(a,b){var c=b||[];if(a!=null){var e=d.type(a);a.length==null||e==="string"||e==="function"||e==="regexp"||d.isWindow(a)?B.call(c,a):d.merge(c,a)}return c},inArray:function(a,b){if(b.indexOf)return b.indexOf(a);for(var c=0,d=b.length;c<d;c++)if(b[c]===a)return c;return-1},merge:function(a,c){var d=a.length,e=0;if(typeof c.length==="number")for(var f=c.length;e<f;e++)a[d++]=c[e];else while(c[e]!==b)a[d++]=c[e++];a.length=d;return a},grep:function(a,b,c){var d=[],e;c=!!c;for(var f=0,g=a.length;f<g;f++)e=!!b(a[f],f),c!==e&&d.push(a[f]);return d},map:function(a,b,c){var d=[],e;for(var f=0,g=a.length;f<g;f++)e=b(a[f],f,c),e!=null&&(d[d.length]=e);return d.concat.apply([],d)},guid:1,proxy:function(a,c,e){arguments.length===2&&(typeof c==="string"?(e=a,a=e[c],c=b):c&&!d.isFunction(c)&&(e=c,c=b)),!c&&a&&(c=function(){return a.apply(e||this,arguments)}),a&&(c.guid=a.guid=a.guid||c.guid||d.guid++);return c},access:function(a,c,e,f,g,h){var i=a.length;if(typeof c==="object"){for(var j in c)d.access(a,j,c[j],f,g,e);return a}if(e!==b){f=!h&&f&&d.isFunction(e);for(var k=0;k<i;k++)g(a[k],c,f?e.call(a[k],k,g(a[k],c)):e,h);return a}return i?g(a[0],c):b},now:function(){return(new Date).getTime()},uaMatch:function(a){a=a.toLowerCase();var b=r.exec(a)||s.exec(a)||t.exec(a)||a.indexOf("compatible")<0&&u.exec(a)||[];return{browser:b[1]||"",version:b[2]||"0"}},sub:function(){function a(b,c){return new a.fn.init(b,c)}d.extend(!0,a,this),a.superclass=this,a.fn=a.prototype=this(),a.fn.constructor=a,a.subclass=this.subclass,a.fn.init=function b(b,c){c&&c instanceof d&&!(c instanceof a)&&(c=a(c));return d.fn.init.call(this,b,c,e)},a.fn.init.prototype=a.fn;var e=a(c);return a},browser:{}}),d.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(a,b){F["[object "+b+"]"]=b.toLowerCase()}),w=d.uaMatch(v),w.browser&&(d.browser[w.browser]=!0,d.browser.version=w.version),d.browser.webkit&&(d.browser.safari=!0),E&&(d.inArray=function(a,b){return E.call(b,a)}),i.test(" ")&&(j=/^[\s\xA0]+/,k=/[\s\xA0]+$/),g=d(c),c.addEventListener?y=function(){c.removeEventListener("DOMContentLoaded",y,!1),d.ready()}:c.attachEvent&&(y=function(){c.readyState==="complete"&&(c.detachEvent("onreadystatechange",y),d.ready())});return d}(),e="then done fail isResolved isRejected promise".split(" "),f=[].slice;d.extend({_Deferred:function(){var a=[],b,c,e,f={done:function(){if(!e){var c=arguments,g,h,i,j,k;b&&(k=b,b=0);for(g=0,h=c.length;g<h;g++)i=c[g],j=d.type(i),j==="array"?f.done.apply(f,i):j==="function"&&a.push(i);k&&f.resolveWith(k[0],k[1])}return this},resolveWith:function(d,f){if(!e&&!b&&!c){f=f||[],c=1;try{while(a[0])a.shift().apply(d,f)}finally{b=[d,f],c=0}}return this},resolve:function(){f.resolveWith(this,arguments);return this},isResolved:function(){return c||b},cancel:function(){e=1,a=[];return this}};return f},Deferred:function(a){var b=d._Deferred(),c=d._Deferred(),f;d.extend(b,{then:function(a,c){b.done(a).fail(c);return this},fail:c.done,rejectWith:c.resolveWith,reject:c.resolve,isRejected:c.isResolved,promise:function(a){if(a==null){if(f)return f;f=a={}}var c=e.length;while(c--)a[e[c]]=b[e[c]];return a}}),b.done(c.cancel).fail(b.cancel),delete b.cancel,a&&a.call(b,b);return b},when:function(a){function i(a){return function(c){b[a]=arguments.length>1?f.call(arguments,0):c,--g||h.resolveWith(h,f.call(b,0))}}var b=arguments,c=0,e=b.length,g=e,h=e<=1&&a&&d.isFunction(a.promise)?a:d.Deferred();if(e>1){for(;c<e;c++)b[c]&&d.isFunction(b[c].promise)?b[c].promise().then(i(c),h.reject):--g;g||h.resolveWith(h,b)}else h!==a&&h.resolveWith(h,e?[a]:[]);return h.promise()}}),function(){d.support={};var b=c.createElement("div");b.style.display="none",b.innerHTML="   <link/><table></table><a href='/a' style='color:red;float:left;opacity:.55;'>a</a><input type='checkbox'/>";var e=b.getElementsByTagName("*"),f=b.getElementsByTagName("a")[0],g=c.createElement("select"),h=g.appendChild(c.createElement("option")),i=b.getElementsByTagName("input")[0];if(e&&e.length&&f){d.support={leadingWhitespace:b.firstChild.nodeType===3,tbody:!b.getElementsByTagName("tbody").length,htmlSerialize:!!b.getElementsByTagName("link").length,style:/red/.test(f.getAttribute("style")),hrefNormalized:f.getAttribute("href")==="/a",opacity:/^0.55$/.test(f.style.opacity),cssFloat:!!f.style.cssFloat,checkOn:i.value==="on",optSelected:h.selected,deleteExpando:!0,optDisabled:!1,checkClone:!1,noCloneEvent:!0,noCloneChecked:!0,boxModel:null,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableHiddenOffsets:!0,reliableMarginRight:!0},i.checked=!0,d.support.noCloneChecked=i.cloneNode(!0).checked,g.disabled=!0,d.support.optDisabled=!h.disabled;var j=null;d.support.scriptEval=function(){if(j===null){var b=c.documentElement,e=c.createElement("script"),f="script"+d.now();try{e.appendChild(c.createTextNode("window."+f+"=1;"))}catch(g){}b.insertBefore(e,b.firstChild),a[f]?(j=!0,delete a[f]):j=!1,b.removeChild(e)}return j};try{delete b.test}catch(k){d.support.deleteExpando=!1}!b.addEventListener&&b.attachEvent&&b.fireEvent&&(b.attachEvent("onclick",function l(){d.support.noCloneEvent=!1,b.detachEvent("onclick",l)}),b.cloneNode(!0).fireEvent("onclick")),b=c.createElement("div"),b.innerHTML="<input type='radio' name='radiotest' checked='checked'/>";var m=c.createDocumentFragment();m.appendChild(b.firstChild),d.support.checkClone=m.cloneNode(!0).cloneNode(!0).lastChild.checked,d(function(){var a=c.createElement("div"),b=c.getElementsByTagName("body")[0];if(b){a.style.width=a.style.paddingLeft="1px",b.appendChild(a),d.boxModel=d.support.boxModel=a.offsetWidth===2,"zoom"in a.style&&(a.style.display="inline",a.style.zoom=1,d.support.inlineBlockNeedsLayout=a.offsetWidth===2,a.style.display="",a.innerHTML="<div style='width:4px;'></div>",d.support.shrinkWrapBlocks=a.offsetWidth!==2),a.innerHTML="<table><tr><td style='padding:0;border:0;display:none'></td><td>t</td></tr></table>";var e=a.getElementsByTagName("td");d.support.reliableHiddenOffsets=e[0].offsetHeight===0,e[0].style.display="",e[1].style.display="none",d.support.reliableHiddenOffsets=d.support.reliableHiddenOffsets&&e[0].offsetHeight===0,a.innerHTML="",c.defaultView&&c.defaultView.getComputedStyle&&(a.style.width="1px",a.style.marginRight="0",d.support.reliableMarginRight=(parseInt(c.defaultView.getComputedStyle(a,null).marginRight,10)||0)===0),b.removeChild(a).style.display="none",a=e=null}});var n=function(a){var b=c.createElement("div");a="on"+a;if(!b.attachEvent)return!0;var d=a in b;d||(b.setAttribute(a,"return;"),d=typeof b[a]==="function");return d};d.support.submitBubbles=n("submit"),d.support.changeBubbles=n("change"),b=e=f=null}}();var g=/^(?:\{.*\}|\[.*\])$/;d.extend({cache:{},uuid:0,expando:"jQuery"+(d.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?d.cache[a[d.expando]]:a[d.expando];return!!a&&!i(a)},data:function(a,c,e,f){if(d.acceptData(a)){var g=d.expando,h=typeof c==="string",i,j=a.nodeType,k=j?d.cache:a,l=j?a[d.expando]:a[d.expando]&&d.expando;if((!l||f&&l&&!k[l][g])&&h&&e===b)return;l||(j?a[d.expando]=l=++d.uuid:l=d.expando),k[l]||(k[l]={},j||(k[l].toJSON=d.noop));if(typeof c==="object"||typeof c==="function")f?k[l][g]=d.extend(k[l][g],c):k[l]=d.extend(k[l],c);i=k[l],f&&(i[g]||(i[g]={}),i=i[g]),e!==b&&(i[c]=e);if(c==="events"&&!i[c])return i[g]&&i[g].events;return h?i[c]:i}},removeData:function(b,c,e){if(d.acceptData(b)){var f=d.expando,g=b.nodeType,h=g?d.cache:b,j=g?b[d.expando]:d.expando;if(!h[j])return;if(c){var k=e?h[j][f]:h[j];if(k){delete k[c];if(!i(k))return}}if(e){delete h[j][f];if(!i(h[j]))return}var l=h[j][f];d.support.deleteExpando||h!=a?delete h[j]:h[j]=null,l?(h[j]={},g||(h[j].toJSON=d.noop),h[j][f]=l):g&&(d.support.deleteExpando?delete b[d.expando]:b.removeAttribute?b.removeAttribute(d.expando):b[d.expando]=null)}},_data:function(a,b,c){return d.data(a,b,c,!0)},acceptData:function(a){if(a.nodeName){var b=d.noData[a.nodeName.toLowerCase()];if(b)return b!==!0&&a.getAttribute("classid")===b}return!0}}),d.fn.extend({data:function(a,c){var e=null;if(typeof a==="undefined"){if(this.length){e=d.data(this[0]);if(this[0].nodeType===1){var f=this[0].attributes,g;for(var i=0,j=f.length;i<j;i++)g=f[i].name,g.indexOf("data-")===0&&(g=g.substr(5),h(this[0],g,e[g]))}}return e}if(typeof a==="object")return this.each(function(){d.data(this,a)});var k=a.split(".");k[1]=k[1]?"."+k[1]:"";if(c===b){e=this.triggerHandler("getData"+k[1]+"!",[k[0]]),e===b&&this.length&&(e=d.data(this[0],a),e=h(this[0],a,e));return e===b&&k[1]?this.data(k[0]):e}return this.each(function(){var b=d(this),e=[k[0],c];b.triggerHandler("setData"+k[1]+"!",e),d.data(this,a,c),b.triggerHandler("changeData"+k[1]+"!",e)})},removeData:function(a){return this.each(function(){d.removeData(this,a)})}}),d.extend({queue:function(a,b,c){if(a){b=(b||"fx")+"queue";var e=d._data(a,b);if(!c)return e||[];!e||d.isArray(c)?e=d._data(a,b,d.makeArray(c)):e.push(c);return e}},dequeue:function(a,b){b=b||"fx";var c=d.queue(a,b),e=c.shift();e==="inprogress"&&(e=c.shift()),e&&(b==="fx"&&c.unshift("inprogress"),e.call(a,function(){d.dequeue(a,b)})),c.length||d.removeData(a,b+"queue",!0)}}),d.fn.extend({queue:function(a,c){typeof a!=="string"&&(c=a,a="fx");if(c===b)return d.queue(this[0],a);return this.each(function(b){var e=d.queue(this,a,c);a==="fx"&&e[0]!=="inprogress"&&d.dequeue(this,a)})},dequeue:function(a){return this.each(function(){d.dequeue(this,a)})},delay:function(a,b){a=d.fx?d.fx.speeds[a]||a:a,b=b||"fx";return this.queue(b,function(){var c=this;setTimeout(function(){d.dequeue(c,b)},a)})},clearQueue:function(a){return this.queue(a||"fx",[])}});var j=/[\n\t\r]/g,k=/\s+/,l=/\r/g,m=/^(?:href|src|style)$/,n=/^(?:button|input)$/i,o=/^(?:button|input|object|select|textarea)$/i,p=/^a(?:rea)?$/i,q=/^(?:radio|checkbox)$/i;d.props={"for":"htmlFor","class":"className",readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",colspan:"colSpan",tabindex:"tabIndex",usemap:"useMap",frameborder:"frameBorder"},d.fn.extend({attr:function(a,b){return d.access(this,a,b,!0,d.attr)},removeAttr:function(a,b){return this.each(function(){d.attr(this,a,""),this.nodeType===1&&this.removeAttribute(a)})},addClass:function(a){if(d.isFunction(a))return this.each(function(b){var c=d(this);c.addClass(a.call(this,b,c.attr("class")))});if(a&&typeof a==="string"){var b=(a||"").split(k);for(var c=0,e=this.length;c<e;c++){var f=this[c];if(f.nodeType===1)if(f.className){var g=" "+f.className+" ",h=f.className;for(var i=0,j=b.length;i<j;i++)g.indexOf(" "+b[i]+" ")<0&&(h+=" "+b[i]);f.className=d.trim(h)}else f.className=a}}return this},removeClass:function(a){if(d.isFunction(a))return this.each(function(b){var c=d(this);c.removeClass(a.call(this,b,c.attr("class")))});if(a&&typeof a==="string"||a===b){var c=(a||"").split(k);for(var e=0,f=this.length;e<f;e++){var g=this[e];if(g.nodeType===1&&g.className)if(a){var h=(" "+g.className+" ").replace(j," ");for(var i=0,l=c.length;i<l;i++)h=h.replace(" "+c[i]+" "," ");g.className=d.trim(h)}else g.className=""}}return this},toggleClass:function(a,b){var c=typeof a,e=typeof b==="boolean";if(d.isFunction(a))return this.each(function(c){var e=d(this);e.toggleClass(a.call(this,c,e.attr("class"),b),b)});return this.each(function(){if(c==="string"){var f,g=0,h=d(this),i=b,j=a.split(k);while(f=j[g++])i=e?i:!h.hasClass(f),h[i?"addClass":"removeClass"](f)}else if(c==="undefined"||c==="boolean")this.className&&d._data(this,"__className__",this.className),this.className=this.className||a===!1?"":d._data(this,"__className__")||""})},hasClass:function(a){var b=" "+a+" ";for(var c=0,d=this.length;c<d;c++)if((" "+this[c].className+" ").replace(j," ").indexOf(b)>-1)return!0;return!1},val:function(a){if(!arguments.length){var c=this[0];if(c){if(d.nodeName(c,"option")){var e=c.attributes.value;return!e||e.specified?c.value:c.text}if(d.nodeName(c,"select")){var f=c.selectedIndex,g=[],h=c.options,i=c.type==="select-one";if(f<0)return null;for(var j=i?f:0,k=i?f+1:h.length;j<k;j++){var m=h[j];if(m.selected&&(d.support.optDisabled?!m.disabled:m.getAttribute("disabled")===null)&&(!m.parentNode.disabled||!d.nodeName(m.parentNode,"optgroup"))){a=d(m).val();if(i)return a;g.push(a)}}if(i&&!g.length&&h.length)return d(h[f]).val();return g}if(q.test(c.type)&&!d.support.checkOn)return c.getAttribute("value")===null?"on":c.value;return(c.value||"").replace(l,"")}return b}var n=d.isFunction(a);return this.each(function(b){var c=d(this),e=a;if(this.nodeType===1){n&&(e=a.call(this,b,c.val())),e==null?e="":typeof e==="number"?e+="":d.isArray(e)&&(e=d.map(e,function(a){return a==null?"":a+""}));if(d.isArray(e)&&q.test(this.type))this.checked=d.inArray(c.val(),e)>=0;else if(d.nodeName(this,"select")){var f=d.makeArray(e);d("option",this).each(function(){this.selected=d.inArray(d(this).val(),f)>=0}),f.length||(this.selectedIndex=-1)}else this.value=e}})}}),d.extend({attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attr:function(a,c,e,f){if(!a||a.nodeType===3||a.nodeType===8||a.nodeType===2)return b;if(f&&c in d.attrFn)return d(a)[c](e);var g=a.nodeType!==1||!d.isXMLDoc(a),h=e!==b;c=g&&d.props[c]||c;if(a.nodeType===1){var i=m.test(c);if(c==="selected"&&!d.support.optSelected){var j=a.parentNode;j&&(j.selectedIndex,j.parentNode&&j.parentNode.selectedIndex)}if((c in a||a[c]!==b)&&g&&!i){h&&(c==="type"&&n.test(a.nodeName)&&a.parentNode&&d.error("type property can't be changed"),e===null?a.nodeType===1&&a.removeAttribute(c):a[c]=e);if(d.nodeName(a,"form")&&a.getAttributeNode(c))return a.getAttributeNode(c).nodeValue;if(c==="tabIndex"){var k=a.getAttributeNode("tabIndex");return k&&k.specified?k.value:o.test(a.nodeName)||p.test(a.nodeName)&&a.href?0:b}return a[c]}if(!d.support.style&&g&&c==="style"){h&&(a.style.cssText=""+e);return a.style.cssText}h&&a.setAttribute(c,""+e);if(!a.attributes[c]&&(a.hasAttribute&&!a.hasAttribute(c)))return b;var l=!d.support.hrefNormalized&&g&&i?a.getAttribute(c,2):a.getAttribute(c);return l===null?b:l}h&&(a[c]=e);return a[c]}});var r=/\.(.*)$/,s=/^(?:textarea|input|select)$/i,t=/\./g,u=/ /g,v=/[^\w\s.|`]/g,w=function(a){return a.replace(v,"\\$&")};d.event={add:function(c,e,f,g){if(c.nodeType!==3&&c.nodeType!==8){try{d.isWindow(c)&&(c!==a&&!c.frameElement)&&(c=a)}catch(h){}if(f===!1)f=x;else if(!f)return;var i,j;f.handler&&(i=f,f=i.handler),f.guid||(f.guid=d.guid++);var k=d._data(c);if(!k)return;var l=k.events,m=k.handle;l||(k.events=l={}),m||(k.handle=m=function(a){return typeof d!=="undefined"&&d.event.triggered!==a.type?d.event.handle.apply(m.elem,arguments):b}),m.elem=c,e=e.split(" ");var n,o=0,p;while(n=e[o++]){j=i?d.extend({},i):{handler:f,data:g},n.indexOf(".")>-1?(p=n.split("."),n=p.shift(),j.namespace=p.slice(0).sort().join(".")):(p=[],j.namespace=""),j.type=n,j.guid||(j.guid=f.guid);var q=l[n],r=d.event.special[n]||{};if(!q){q=l[n]=[];if(!r.setup||r.setup.call(c,g,p,m)===!1)c.addEventListener?c.addEventListener(n,m,!1):c.attachEvent&&c.attachEvent("on"+n,m)}r.add&&(r.add.call(c,j),j.handler.guid||(j.handler.guid=f.guid)),q.push(j),d.event.global[n]=!0}c=null}},global:{},remove:function(a,c,e,f){if(a.nodeType!==3&&a.nodeType!==8){e===!1&&(e=x);var g,h,i,j,k=0,l,m,n,o,p,q,r,s=d.hasData(a)&&d._data(a),t=s&&s.events;if(!s||!t)return;c&&c.type&&(e=c.handler,c=c.type);if(!c||typeof c==="string"&&c.charAt(0)==="."){c=c||"";for(h in t)d.event.remove(a,h+c);return}c=c.split(" ");while(h=c[k++]){r=h,q=null,l=h.indexOf(".")<0,m=[],l||(m=h.split("."),h=m.shift(),n=new RegExp("(^|\\.)"+d.map(m.slice(0).sort(),w).join("\\.(?:.*\\.)?")+"(\\.|$)")),p=t[h];if(!p)continue;if(!e){for(j=0;j<p.length;j++){q=p[j];if(l||n.test(q.namespace))d.event.remove(a,r,q.handler,j),p.splice(j--,1)}continue}o=d.event.special[h]||{};for(j=f||0;j<p.length;j++){q=p[j];if(e.guid===q.guid){if(l||n.test(q.namespace))f==null&&p.splice(j--,1),o.remove&&o.remove.call(a,q);if(f!=null)break}}if(p.length===0||f!=null&&p.length===1)(!o.teardown||o.teardown.call(a,m)===!1)&&d.removeEvent(a,h,s.handle),g=null,delete t[h]}if(d.isEmptyObject(t)){var u=s.handle;u&&(u.elem=null),delete s.events,delete s.handle,d.isEmptyObject(s)&&d.removeData(a,b,!0)}}},trigger:function(a,c,e){var f=a.type||a,g=arguments[3];if(!g){a=typeof a==="object"?a[d.expando]?a:d.extend(d.Event(f),a):d.Event(f),f.indexOf("!")>=0&&(a.type=f=f.slice(0,-1),a.exclusive=!0),e||(a.stopPropagation(),d.event.global[f]&&d.each(d.cache,function(){var b=d.expando,e=this[b];e&&e.events&&e.events[f]&&d.event.trigger(a,c,e.handle.elem)}));if(!e||e.nodeType===3||e.nodeType===8)return b;a.result=b,a.target=e,c=d.makeArray(c),c.unshift(a)}a.currentTarget=e;var h=d._data(e,"handle");h&&h.apply(e,c);var i=e.parentNode||e.ownerDocument;try{e&&e.nodeName&&d.noData[e.nodeName.toLowerCase()]||e["on"+f]&&e["on"+f].apply(e,c)===!1&&(a.result=!1,a.preventDefault())}catch(j){}if(!a.isPropagationStopped()&&i)d.event.trigger(a,c,i,!0);else if(!a.isDefaultPrevented()){var k,l=a.target,m=f.replace(r,""),n=d.nodeName(l,"a")&&m==="click",o=d.event.special[m]||{};if((!o._default||o._default.call(e,a)===!1)&&!n&&!(l&&l.nodeName&&d.noData[l.nodeName.toLowerCase()])){try{l[m]&&(k=l["on"+m],k&&(l["on"+m]=null),d.event.triggered=a.type,l[m]())}catch(p){}k&&(l["on"+m]=k),d.event.triggered=b}}},handle:function(c){var e,f,g,h,i,j=[],k=d.makeArray(arguments);c=k[0]=d.event.fix(c||a.event),c.currentTarget=this,e=c.type.indexOf(".")<0&&!c.exclusive,e||(g=c.type.split("."),c.type=g.shift(),j=g.slice(0).sort(),h=new RegExp("(^|\\.)"+j.join("\\.(?:.*\\.)?")+"(\\.|$)")),c.namespace=c.namespace||j.join("."),i=d._data(this,"events"),f=(i||{})[c.type];if(i&&f){f=f.slice(0);for(var l=0,m=f.length;l<m;l++){var n=f[l];if(e||h.test(n.namespace)){c.handler=n.handler,c.data=n.data,c.handleObj=n;var o=n.handler.apply(this,k);o!==b&&(c.result=o,o===!1&&(c.preventDefault(),c.stopPropagation()));if(c.isImmediatePropagationStopped())break}}}return c.result},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),fix:function(a){if(a[d.expando])return a;var e=a;a=d.Event(e);for(var f=this.props.length,g;f;)g=this.props[--f],a[g]=e[g];a.target||(a.target=a.srcElement||c),a.target.nodeType===3&&(a.target=a.target.parentNode),!a.relatedTarget&&a.fromElement&&(a.relatedTarget=a.fromElement===a.target?a.toElement:a.fromElement);if(a.pageX==null&&a.clientX!=null){var h=c.documentElement,i=c.body;a.pageX=a.clientX+(h&&h.scrollLeft||i&&i.scrollLeft||0)-(h&&h.clientLeft||i&&i.clientLeft||0),a.pageY=a.clientY+(h&&h.scrollTop||i&&i.scrollTop||0)-(h&&h.clientTop||i&&i.clientTop||0)}a.which==null&&(a.charCode!=null||a.keyCode!=null)&&(a.which=a.charCode!=null?a.charCode:a.keyCode),!a.metaKey&&a.ctrlKey&&(a.metaKey=a.ctrlKey),!a.which&&a.button!==b&&(a.which=a.button&1?1:a.button&2?3:a.button&4?2:0);return a},guid:1e8,proxy:d.proxy,special:{ready:{setup:d.bindReady,teardown:d.noop},live:{add:function(a){d.event.add(this,H(a.origType,a.selector),d.extend({},a,{handler:G,guid:a.handler.guid}))},remove:function(a){d.event.remove(this,H(a.origType,a.selector),a)}},beforeunload:{setup:function(a,b,c){d.isWindow(this)&&(this.onbeforeunload=c)},teardown:function(a,b){this.onbeforeunload===b&&(this.onbeforeunload=null)}}}},d.removeEvent=c.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)}:function(a,b,c){a.detachEvent&&a.detachEvent("on"+b,c)},d.Event=function(a){if(!this.preventDefault)return new d.Event(a);a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||a.returnValue===!1||a.getPreventDefault&&a.getPreventDefault()?y:x):this.type=a,this.timeStamp=d.now(),this[d.expando]=!0},d.Event.prototype={preventDefault:function(){this.isDefaultPrevented=y;var a=this.originalEvent;a&&(a.preventDefault?a.preventDefault():a.returnValue=!1)},stopPropagation:function(){this.isPropagationStopped=y;var a=this.originalEvent;a&&(a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=y,this.stopPropagation()},isDefaultPrevented:x,isPropagationStopped:x,isImmediatePropagationStopped:x};var z=function(a){var b=a.relatedTarget;try{if(b&&b!==c&&!b.parentNode)return;while(b&&b!==this)b=b.parentNode;b!==this&&(a.type=a.data,d.event.handle.apply(this,arguments))}catch(e){}},A=function(a){a.type=a.data,d.event.handle.apply(this,arguments)};d.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){d.event.special[a]={setup:function(c){d.event.add(this,b,c&&c.selector?A:z,a)},teardown:function(a){d.event.remove(this,b,a&&a.selector?A:z)}}}),d.support.submitBubbles||(d.event.special.submit={setup:function(a,b){if(this.nodeName&&this.nodeName.toLowerCase()!=="form")d.event.add(this,"click.specialSubmit",function(a){var b=a.target,c=b.type;(c==="submit"||c==="image")&&d(b).closest("form").length&&E("submit",this,arguments)}),d.event.add(this,"keypress.specialSubmit",function(a){var b=a.target,c=b.type;(c==="text"||c==="password")&&d(b).closest("form").length&&a.keyCode===13&&E("submit",this,arguments)});else return!1},teardown:function(a){d.event.remove(this,".specialSubmit")}});if(!d.support.changeBubbles){var B,C=function(a){var b=a.type,c=a.value;b==="radio"||b==="checkbox"?c=a.checked:b==="select-multiple"?c=a.selectedIndex>-1?d.map(a.options,function(a){return a.selected}).join("-"):"":a.nodeName.toLowerCase()==="select"&&(c=a.selectedIndex);return c},D=function D(a){var c=a.target,e,f;if(s.test(c.nodeName)&&!c.readOnly){e=d._data(c,"_change_data"),f=C(c),(a.type!=="focusout"||c.type!=="radio")&&d._data(c,"_change_data",f);if(e===b||f===e)return;if(e!=null||f)a.type="change",a.liveFired=b,d.event.trigger(a,arguments[1],c)}};d.event.special.change={filters:{focusout:D,beforedeactivate:D,click:function(a){var b=a.target,c=b.type;(c==="radio"||c==="checkbox"||b.nodeName.toLowerCase()==="select")&&D.call(this,a)},keydown:function(a){var b=a.target,c=b.type;(a.keyCode===13&&b.nodeName.toLowerCase()!=="textarea"||a.keyCode===32&&(c==="checkbox"||c==="radio")||c==="select-multiple")&&D.call(this,a)},beforeactivate:function(a){var b=a.target;d._data(b,"_change_data",C(b))}},setup:function(a,b){if(this.type==="file")return!1;for(var c in B)d.event.add(this,c+".specialChange",B[c]);return s.test(this.nodeName)},teardown:function(a){d.event.remove(this,".specialChange");return s.test(this.nodeName)}},B=d.event.special.change.filters,B.focus=B.beforeactivate}c.addEventListener&&d.each({focus:"focusin",blur:"focusout"},function(a,b){function f(a){var c=d.event.fix(a);c.type=b,c.originalEvent={},d.event.trigger(c,null,c.target),c.isDefaultPrevented()&&a.preventDefault()}var e=0;d.event.special[b]={setup:function(){e++===0&&c.addEventListener(a,f,!0)},teardown:function(){--e===0&&c.removeEventListener(a,f,!0)}}}),d.each(["bind","one"],function(a,c){d.fn[c]=function(a,e,f){if(typeof a==="object"){for(var g in a)this[c](g,e,a[g],f);return this}if(d.isFunction(e)||e===!1)f=e,e=b;var h=c==="one"?d.proxy(f,function(a){d(this).unbind(a,h);return f.apply(this,arguments)}):f;if(a==="unload"&&c!=="one")this.one(a,e,f);else for(var i=0,j=this.length;i<j;i++)d.event.add(this[i],a,h,e);return this}}),d.fn.extend({unbind:function(a,b){if(typeof a!=="object"||a.preventDefault)for(var e=0,f=this.length;e<f;e++)d.event.remove(this[e],a,b);else for(var c in a)this.unbind(c,a[c]);return this},delegate:function(a,b,c,d){return this.live(b,c,d,a)},undelegate:function(a,b,c){return arguments.length===0?this.unbind("live"):this.die(b,null,c,a)},trigger:function(a,b){return this.each(function(){d.event.trigger(a,b,this)})},triggerHandler:function(a,b){if(this[0]){var c=d.Event(a);c.preventDefault(),c.stopPropagation(),d.event.trigger(c,b,this[0]);return c.result}},toggle:function(a){var b=arguments,c=1;while(c<b.length)d.proxy(a,b[c++]);return this.click(d.proxy(a,function(e){var f=(d._data(this,"lastToggle"+a.guid)||0)%c;d._data(this,"lastToggle"+a.guid,f+1),e.preventDefault();return b[f].apply(this,arguments)||!1}))},hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}});var F={focus:"focusin",blur:"focusout",mouseenter:"mouseover",mouseleave:"mouseout"};d.each(["live","die"],function(a,c){d.fn[c]=function(a,e,f,g){var h,i=0,j,k,l,m=g||this.selector,n=g?this:d(this.context);if(typeof a==="object"&&!a.preventDefault){for(var o in a)n[c](o,e,a[o],m);return this}d.isFunction(e)&&(f=e,e=b),a=(a||"").split(" ");while((h=a[i++])!=null){j=r.exec(h),k="",j&&(k=j[0],h=h.replace(r,""));if(h==="hover"){a.push("mouseenter"+k,"mouseleave"+k);continue}l=h,h==="focus"||h==="blur"?(a.push(F[h]+k),h=h+k):h=(F[h]||h)+k;if(c==="live")for(var p=0,q=n.length;p<q;p++)d.event.add(n[p],"live."+H(h,m),{data:e,selector:m,handler:f,origType:h,origHandler:f,preType:l});else n.unbind("live."+H(h,m),f)}return this}}),d.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error".split(" "),function(a,b){d.fn[b]=function(a,c){c==null&&(c=a,a=null);return arguments.length>0?this.bind(b,a,c):this.trigger(b)},d.attrFn&&(d.attrFn[b]=!0)}),function(){function u(a,b,c,d,e,f){for(var g=0,h=d.length;g<h;g++){var i=d[g];if(i){var j=!1;i=i[a];while(i){if(i.sizcache===c){j=d[i.sizset];break}if(i.nodeType===1){f||(i.sizcache=c,i.sizset=g);if(typeof b!=="string"){if(i===b){j=!0;break}}else if(k.filter(b,[i]).length>0){j=i;break}}i=i[a]}d[g]=j}}}function t(a,b,c,d,e,f){for(var g=0,h=d.length;g<h;g++){var i=d[g];if(i){var j=!1;i=i[a];while(i){if(i.sizcache===c){j=d[i.sizset];break}i.nodeType===1&&!f&&(i.sizcache=c,i.sizset=g);if(i.nodeName.toLowerCase()===b){j=i;break}i=i[a]}d[g]=j}}}var a=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,e=0,f=Object.prototype.toString,g=!1,h=!0,i=/\\/g,j=/\W/;[0,0].sort(function(){h=!1;return 0});var k=function(b,d,e,g){e=e||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!=="string")return e;var i,j,n,o,q,r,s,t,u=!0,w=k.isXML(d),x=[],y=b;do{a.exec(""),i=a.exec(y);if(i){y=i[3],x.push(i[1]);if(i[2]){o=i[3];break}}}while(i);if(x.length>1&&m.exec(b))if(x.length===2&&l.relative[x[0]])j=v(x[0]+x[1],d);else{j=l.relative[x[0]]?[d]:k(x.shift(),d);while(x.length)b=x.shift(),l.relative[b]&&(b+=x.shift()),j=v(b,j)}else{!g&&x.length>1&&d.nodeType===9&&!w&&l.match.ID.test(x[0])&&!l.match.ID.test(x[x.length-1])&&(q=k.find(x.shift(),d,w),d=q.expr?k.filter(q.expr,q.set)[0]:q.set[0]);if(d){q=g?{expr:x.pop(),set:p(g)}:k.find(x.pop(),x.length===1&&(x[0]==="~"||x[0]==="+")&&d.parentNode?d.parentNode:d,w),j=q.expr?k.filter(q.expr,q.set):q.set,x.length>0?n=p(j):u=!1;while(x.length)r=x.pop(),s=r,l.relative[r]?s=x.pop():r="",s==null&&(s=d),l.relative[r](n,s,w)}else n=x=[]}n||(n=j),n||k.error(r||b);if(f.call(n)==="[object Array]")if(u)if(d&&d.nodeType===1)for(t=0;n[t]!=null;t++)n[t]&&(n[t]===!0||n[t].nodeType===1&&k.contains(d,n[t]))&&e.push(j[t]);else for(t=0;n[t]!=null;t++)n[t]&&n[t].nodeType===1&&e.push(j[t]);else e.push.apply(e,n);else p(n,e);o&&(k(o,h,e,g),k.uniqueSort(e));return e};k.uniqueSort=function(a){if(r){g=h,a.sort(r);if(g)for(var b=1;b<a.length;b++)a[b]===a[b-1]&&a.splice(b--,1)}return a},k.matches=function(a,b){return k(a,null,null,b)},k.matchesSelector=function(a,b){return k(b,null,null,[a]).length>0},k.find=function(a,b,c){var d;if(!a)return[];for(var e=0,f=l.order.length;e<f;e++){var g,h=l.order[e];if(g=l.leftMatch[h].exec(a)){var j=g[1];g.splice(1,1);if(j.substr(j.length-1)!=="\\"){g[1]=(g[1]||"").replace(i,""),d=l.find[h](g,b,c);if(d!=null){a=a.replace(l.match[h],"");break}}}}d||(d=typeof b.getElementsByTagName!=="undefined"?b.getElementsByTagName("*"):[]);return{set:d,expr:a}},k.filter=function(a,c,d,e){var f,g,h=a,i=[],j=c,m=c&&c[0]&&k.isXML(c[0]);while(a&&c.length){for(var n in l.filter)if((f=l.leftMatch[n].exec(a))!=null&&f[2]){var o,p,q=l.filter[n],r=f[1];g=!1,f.splice(1,1);if(r.substr(r.length-1)==="\\")continue;j===i&&(i=[]);if(l.preFilter[n]){f=l.preFilter[n](f,j,d,i,e,m);if(f){if(f===!0)continue}else g=o=!0}if(f)for(var s=0;(p=j[s])!=null;s++)if(p){o=q(p,f,s,j);var t=e^!!o;d&&o!=null?t?g=!0:j[s]=!1:t&&(i.push(p),g=!0)}if(o!==b){d||(j=i),a=a.replace(l.match[n],"");if(!g)return[];break}}if(a===h)if(g==null)k.error(a);else break;h=a}return j},k.error=function(a){throw"Syntax error, unrecognized expression: "+a};var l=k.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(a){return a.getAttribute("href")},type:function(a){return a.getAttribute("type")}},relative:{"+":function(a,b){var c=typeof b==="string",d=c&&!j.test(b),e=c&&!d;d&&(b=b.toLowerCase());for(var f=0,g=a.length,h;f<g;f++)if(h=a[f]){while((h=h.previousSibling)&&h.nodeType!==1){}a[f]=e||h&&h.nodeName.toLowerCase()===b?h||!1:h===b}e&&k.filter(b,a,!0)},">":function(a,b){var c,d=typeof b==="string",e=0,f=a.length;if(d&&!j.test(b)){b=b.toLowerCase();for(;e<f;e++){c=a[e];if(c){var g=c.parentNode;a[e]=g.nodeName.toLowerCase()===b?g:!1}}}else{for(;e<f;e++)c=a[e],c&&(a[e]=d?c.parentNode:c.parentNode===b);d&&k.filter(b,a,!0)}},"":function(a,b,c){var d,f=e++,g=u;typeof b==="string"&&!j.test(b)&&(b=b.toLowerCase(),d=b,g=t),g("parentNode",b,f,a,d,c)},"~":function(a,b,c){var d,f=e++,g=u;typeof b==="string"&&!j.test(b)&&(b=b.toLowerCase(),d=b,g=t),g("previousSibling",b,f,a,d,c)}},find:{ID:function(a,b,c){if(typeof b.getElementById!=="undefined"&&!c){var d=b.getElementById(a[1]);return d&&d.parentNode?[d]:[]}},NAME:function(a,b){if(typeof b.getElementsByName!=="undefined"){var c=[],d=b.getElementsByName(a[1]);for(var e=0,f=d.length;e<f;e++)d[e].getAttribute("name")===a[1]&&c.push(d[e]);return c.length===0?null:c}},TAG:function(a,b){if(typeof b.getElementsByTagName!=="undefined")return b.getElementsByTagName(a[1])}},preFilter:{CLASS:function(a,b,c,d,e,f){a=" "+a[1].replace(i,"")+" ";if(f)return a;for(var g=0,h;(h=b[g])!=null;g++)h&&(e^(h.className&&(" "+h.className+" ").replace(/[\t\n\r]/g," ").indexOf(a)>=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(i,"")},TAG:function(a,b){return a[1].replace(i,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||k.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&k.error(a[0]);a[0]=e++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(i,"");!f&&l.attrMap[g]&&(a[1]=l.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(i,""),a[2]==="~="&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=k(b[3],null,null,c);else{var g=k.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(l.match.POS.test(b[0])||l.match.CHILD.test(b[0]))return!0;return b},POS:function(a){a.unshift(!0);return a}},filters:{enabled:function(a){return a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){a.parentNode&&a.parentNode.selectedIndex;return a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!k(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){var b=a.getAttribute("type"),c=a.type;return"text"===c&&(b===c||b===null)},radio:function(a){return"radio"===a.type},checkbox:function(a){return"checkbox"===a.type},file:function(a){return"file"===a.type},password:function(a){return"password"===a.type},submit:function(a){return"submit"===a.type},image:function(a){return"image"===a.type},reset:function(a){return"reset"===a.type},button:function(a){return"button"===a.type||a.nodeName.toLowerCase()==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return b<c[3]-0},gt:function(a,b,c){return b>c[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=l.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||k.getText([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,i=g.length;h<i;h++)if(g[h]===a)return!1;return!0}k.error(e)},CHILD:function(a,b){var c=b[1],d=a;switch(c){case"only":case"first":while(d=d.previousSibling)if(d.nodeType===1)return!1;if(c==="first")return!0;d=a;case"last":while(d=d.nextSibling)if(d.nodeType===1)return!1;return!0;case"nth":var e=b[2],f=b[3];if(e===1&&f===0)return!0;var g=b[0],h=a.parentNode;if(h&&(h.sizcache!==g||!a.nodeIndex)){var i=0;for(d=h.firstChild;d;d=d.nextSibling)d.nodeType===1&&(d.nodeIndex=++i);h.sizcache=g}var j=a.nodeIndex-f;return e===0?j===0:j%e===0&&j/e>=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=l.attrHandle[c]?l.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f==="$="?e.substr(e.length-g.length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=l.setFilters[e];if(f)return f(a,c,b,d)}}},m=l.match.POS,n=function(a,b){return"\\"+(b-0+1)};for(var o in l.match)l.match[o]=new RegExp(l.match[o].source+/(?![^\[]*\])(?![^\(]*\))/.source),l.leftMatch[o]=new RegExp(/(^(?:.|\r|\n)*?)/.source+l.match[o].source.replace(/\\(\d+)/g,n));var p=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(q){p=function(a,b){var c=0,d=b||[];if(f.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length==="number")for(var e=a.length;c<e;c++)d.push(a[c]);else for(;a[c];c++)d.push(a[c]);return d}}var r,s;c.documentElement.compareDocumentPosition?r=function(a,b){if(a===b){g=!0;return 0}if(!a.compareDocumentPosition||!b.compareDocumentPosition)return a.compareDocumentPosition?-1:1;return a.compareDocumentPosition(b)&4?-1:1}:(r=function(a,b){var c,d,e=[],f=[],h=a.parentNode,i=b.parentNode,j=h;if(a===b){g=!0;return 0}if(h===i)return s(a,b);if(!h)return-1;if(!i)return 1;while(j)e.unshift(j),j=j.parentNode;j=i;while(j)f.unshift(j),j=j.parentNode;c=e.length,d=f.length;for(var k=0;k<c&&k<d;k++)if(e[k]!==f[k])return s(e[k],f[k]);return k===c?s(a,f[k],-1):s(e[k],b,1)},s=function(a,b,c){if(a===b)return c;var d=a.nextSibling;while(d){if(d===b)return-1;d=d.nextSibling}return 1}),k.getText=function(a){var b="",c;for(var d=0;a[d];d++)c=a[d],c.nodeType===3||c.nodeType===4?b+=c.nodeValue:c.nodeType!==8&&(b+=k.getText(c.childNodes));return b},function(){var a=c.createElement("div"),d="script"+(new Date).getTime(),e=c.documentElement;a.innerHTML="<a name='"+d+"'/>",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(l.find.ID=function(a,c,d){if(typeof c.getElementById!=="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!=="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},l.filter.ID=function(a,b){var c=typeof a.getAttributeNode!=="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(l.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML="<a href='#'></a>",a.firstChild&&typeof a.firstChild.getAttribute!=="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(l.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=k,b=c.createElement("div"),d="__sizzle__";b.innerHTML="<p class='TEST'></p>";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){k=function(b,e,f,g){e=e||c;if(!g&&!k.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return p(e.getElementsByTagName(b),f);if(h[2]&&l.find.CLASS&&e.getElementsByClassName)return p(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return p([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return p([],f);if(i.id===h[3])return p([i],f)}try{return p(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var m=e,n=e.getAttribute("id"),o=n||d,q=e.parentNode,r=/^\s*[+~]/.test(b);n?o=o.replace(/'/g,"\\$&"):e.setAttribute("id",o),r&&q&&(e=e.parentNode);try{if(!r||q)return p(e.querySelectorAll("[id='"+o+"'] "+b),f)}catch(s){}finally{n||m.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)k[e]=a[e];b=null}}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector;if(b){var d=!b.call(c.createElement("div"),"div"),e=!1;try{b.call(c.documentElement,"[test!='']:sizzle")}catch(f){e=!0}k.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!k.isXML(a))try{if(e||!l.match.PSEUDO.test(c)&&!/!=/.test(c)){var f=b.call(a,c);if(f||!d||a.document&&a.document.nodeType!==11)return f}}catch(g){}return k(c,null,null,[a]).length>0}}}(),function(){var a=c.createElement("div");a.innerHTML="<div class='test e'></div><div class='test'></div>";if(a.getElementsByClassName&&a.getElementsByClassName("e").length!==0){a.lastChild.className="e";if(a.getElementsByClassName("e").length===1)return;l.order.splice(1,0,"CLASS"),l.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!=="undefined"&&!c)return b.getElementsByClassName(a[1])},a=null}}(),c.documentElement.contains?k.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?k.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}:k.contains=function(){return!1},k.isXML=function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?b.nodeName!=="HTML":!1};var v=function(a,b){var c,d=[],e="",f=b.nodeType?[b]:b;while(c=l.match.PSEUDO.exec(a))e+=c[0],a=a.replace(l.match.PSEUDO,"");a=l.relative[a]?a+"*":a;for(var g=0,h=f.length;g<h;g++)k(a,f[g],d);return k.filter(e,d)};d.find=k,d.expr=k.selectors,d.expr[":"]=d.expr.filters,d.unique=k.uniqueSort,d.text=k.getText,d.isXMLDoc=k.isXML,d.contains=k.contains}();var I=/Until$/,J=/^(?:parents|prevUntil|prevAll)/,K=/,/,L=/^.[^:#\[\.,]*$/,M=Array.prototype.slice,N=d.expr.match.POS,O={children:!0,contents:!0,next:!0,prev:!0};d.fn.extend({find:function(a){var b=this.pushStack("","find",a),c=0;for(var e=0,f=this.length;e<f;e++){c=b.length,d.find(a,this[e],b);if(e>0)for(var g=c;g<b.length;g++)for(var h=0;h<c;h++)if(b[h]===b[g]){b.splice(g--,1);break}}return b},has:function(a){var b=d(a);return this.filter(function(){for(var a=0,c=b.length;a<c;a++)if(d.contains(this,b[a]))return!0})},not:function(a){return this.pushStack(Q(this,a,!1),"not",a)},filter:function(a){return this.pushStack(Q(this,a,!0),"filter",a)},is:function(a){return!!a&&d.filter(a,this).length>0},closest:function(a,b){var c=[],e,f,g=this[0];if(d.isArray(a)){var h,i,j={},k=1;if(g&&a.length){for(e=0,f=a.length;e<f;e++)i=a[e],j[i]||(j[i]=d.expr.match.POS.test(i)?d(i,b||this.context):i);while(g&&g.ownerDocument&&g!==b){for(i in j)h=j[i],(h.jquery?h.index(g)>-1:d(g).is(h))&&c.push({selector:i,elem:g,level:k});g=g.parentNode,k++}}return c}var l=N.test(a)?d(a,b||this.context):null;for(e=0,f=this.length;e<f;e++){g=this[e];while(g){if(l?l.index(g)>-1:d.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b)break}}c=c.length>1?d.unique(c):c;return this.pushStack(c,"closest",a)},index:function(a){if(!a||typeof a==="string")return d.inArray(this[0],a?d(a):this.parent().children());return d.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var c=typeof a==="string"?d(a,b):d.makeArray(a),e=d.merge(this.get(),c);return this.pushStack(P(c[0])||P(e[0])?e:d.unique(e))},andSelf:function(){return this.add(this.prevObject)}}),d.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return d.dir(a,"parentNode")},parentsUntil:function(a,b,c){return d.dir(a,"parentNode",c)},next:function(a){return d.nth(a,2,"nextSibling")},prev:function(a){return d.nth(a,2,"previousSibling")},nextAll:function(a){return d.dir(a,"nextSibling")},prevAll:function(a){return d.dir(a,"previousSibling")},nextUntil:function(a,b,c){return d.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return d.dir(a,"previousSibling",c)},siblings:function(a){return d.sibling(a.parentNode.firstChild,a)},children:function(a){return d.sibling(a.firstChild)},contents:function(a){return d.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:d.makeArray(a.childNodes)}},function(a,b){d.fn[a]=function(c,e){var f=d.map(this,b,c),g=M.call(arguments);I.test(a)||(e=c),e&&typeof e==="string"&&(f=d.filter(e,f)),f=this.length>1&&!O[a]?d.unique(f):f,(this.length>1||K.test(e))&&J.test(a)&&(f=f.reverse());return this.pushStack(f,a,g.join(","))}}),d.extend({filter:function(a,b,c){c&&(a=":not("+a+")");return b.length===1?d.find.matchesSelector(b[0],a)?[b[0]]:[]:d.find.matches(a,b)},dir:function(a,c,e){var f=[],g=a[c];while(g&&g.nodeType!==9&&(e===b||g.nodeType!==1||!d(g).is(e)))g.nodeType===1&&f.push(g),g=g[c];return f},nth:function(a,b,c,d){b=b||1;var e=0;for(;a;a=a[c])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var R=/ jQuery\d+="(?:\d+|null)"/g,S=/^\s+/,T=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,U=/<([\w:]+)/,V=/<tbody/i,W=/<|&#?\w+;/,X=/<(?:script|object|embed|option|style)/i,Y=/checked\s*(?:[^=]|=\s*.checked.)/i,Z={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]};Z.optgroup=Z.option,Z.tbody=Z.tfoot=Z.colgroup=Z.caption=Z.thead,Z.th=Z.td,d.support.htmlSerialize||(Z._default=[1,"div<div>","</div>"]),d.fn.extend({text:function(a){if(d.isFunction(a))return this.each(function(b){var c=d(this);c.text(a.call(this,b,c.text()))});if(typeof a!=="object"&&a!==b)return this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a));return d.text(this)},wrapAll:function(a){if(d.isFunction(a))return this.each(function(b){d(this).wrapAll(a.call(this,b))});if(this[0]){var b=d(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){if(d.isFunction(a))return this.each(function(b){d(this).wrapInner(a.call(this,b))});return this.each(function(){var b=d(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){d(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){d.nodeName(this,"body")||d(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=d(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,d(arguments[0]).toArray());return a}},remove:function(a,b){for(var c=0,e;(e=this[c])!=null;c++)if(!a||d.filter(a,[e]).length)!b&&e.nodeType===1&&(d.cleanData(e.getElementsByTagName("*")),d.cleanData([e])),e.parentNode&&e.parentNode.removeChild(e);return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&d.cleanData(b.getElementsByTagName("*"));while(b.firstChild)b.removeChild(b.firstChild)}return this},clone:function(a,b){a=a==null?!1:a,b=b==null?a:b;return this.map(function(){return d.clone(this,a,b)})},html:function(a){if(a===b)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(R,""):null;if(typeof a!=="string"||X.test(a)||!d.support.leadingWhitespace&&S.test(a)||Z[(U.exec(a)||["",""])[1].toLowerCase()])d.isFunction(a)?this.each(function(b){var c=d(this);c.html(a.call(this,b,c.html()))}):this.empty().append(a);else{a=a.replace(T,"<$1></$2>");try{for(var c=0,e=this.length;c<e;c++)this[c].nodeType===1&&(d.cleanData(this[c].getElementsByTagName("*")),this[c].innerHTML=a)}catch(f){this.empty().append(a)}}return this},replaceWith:function(a){if(this[0]&&this[0].parentNode){if(d.isFunction(a))return this.each(function(b){var c=d(this),e=c.html();c.replaceWith(a.call(this,b,e))});typeof a!=="string"&&(a=d(a).detach());return this.each(function(){var b=this.nextSibling,c=this.parentNode;d(this).remove(),b?d(b).before(a):d(c).append(a)})}return this.length?this.pushStack(d(d.isFunction(a)?a():a),"replaceWith",a):this},detach:function(a){return this.remove(a,!0)},domManip:function(a,c,e){var f,g,h,i,j=a[0],k=[];if(!d.support.checkClone&&arguments.length===3&&typeof j==="string"&&Y.test(j))return this.each(function(){d(this).domManip(a,c,e,!0)});if(d.isFunction(j))return this.each(function(f){var g=d(this);a[0]=j.call(this,f,c?g.html():b),g.domManip(a,c,e)});if(this[0]){i=j&&j.parentNode,d.support.parentNode&&i&&i.nodeType===11&&i.childNodes.length===this.length?f={fragment:i}:f=d.buildFragment(a,this,k),h=f.fragment,h.childNodes.length===1?g=h=h.firstChild:g=h.firstChild;if(g){c=c&&d.nodeName(g,"tr");for(var l=0,m=this.length,n=m-1;l<m;l++)e.call(c?$(this[l],g):this[l],f.cacheable||m>1&&l<n?d.clone(h,!0,!0):h)}k.length&&d.each(k,bc)}return this}}),d.buildFragment=function(a,b,e){var f,g,h,i=b&&b[0]?b[0].ownerDocument||b[0]:c;a.length===1&&typeof a[0]==="string"&&a[0].length<512&&i===c&&a[0].charAt(0)==="<"&&!X.test(a[0])&&(d.support.checkClone||!Y.test(a[0]))&&(g=!0,h=d.fragments[a[0]],h&&(h!==1&&(f=h))),f||(f=i.createDocumentFragment(),d.clean(a,i,f,e)),g&&(d.fragments[a[0]]=h?f:1);return{fragment:f,cacheable:g}},d.fragments={},d.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){d.fn[a]=function(c){var e=[],f=d(c),g=this.length===1&&this[0].parentNode;if(g&&g.nodeType===11&&g.childNodes.length===1&&f.length===1){f[b](this[0]);return this}for(var h=0,i=f.length;h<i;h++){var j=(h>0?this.clone(!0):this).get();d(f[h])[b](j),e=e.concat(j)}return this.pushStack(e,a,f.selector)}}),d.extend({clone:function(a,b,c){var e=a.cloneNode(!0),f,g,h;if((!d.support.noCloneEvent||!d.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!d.isXMLDoc(a)){ba(a,e),f=bb(a),g=bb(e);for(h=0;f[h];++h)ba(f[h],g[h])}if(b){_(a,e);if(c){f=bb(a),g=bb(e);for(h=0;f[h];++h)_(f[h],g[h])}}return e},clean:function(a,b,e,f){b=b||c,typeof b.createElement==="undefined"&&(b=b.ownerDocument||b[0]&&b[0].ownerDocument||c);var g=[];for(var h=0,i;(i=a[h])!=null;h++){typeof i==="number"&&(i+="");if(!i)continue;if(typeof i!=="string"||W.test(i)){if(typeof i==="string"){i=i.replace(T,"<$1></$2>");var j=(U.exec(i)||["",""])[1].toLowerCase(),k=Z[j]||Z._default,l=k[0],m=b.createElement("div");m.innerHTML=k[1]+i+k[2];while(l--)m=m.lastChild;if(!d.support.tbody){var n=V.test(i),o=j==="table"&&!n?m.firstChild&&m.firstChild.childNodes:k[1]==="<table>"&&!n?m.childNodes:[];for(var p=o.length-1;p>=0;--p)d.nodeName(o[p],"tbody")&&!o[p].childNodes.length&&o[p].parentNode.removeChild(o[p])}!d.support.leadingWhitespace&&S.test(i)&&m.insertBefore(b.createTextNode(S.exec(i)[0]),m.firstChild),i=m.childNodes}}else i=b.createTextNode(i);i.nodeType?g.push(i):g=d.merge(g,i)}if(e)for(h=0;g[h];h++)!f||!d.nodeName(g[h],"script")||g[h].type&&g[h].type.toLowerCase()!=="text/javascript"?(g[h].nodeType===1&&g.splice.apply(g,[h+1,0].concat(d.makeArray(g[h].getElementsByTagName("script")))),e.appendChild(g[h])):f.push(g[h].parentNode?g[h].parentNode.removeChild(g[h]):g[h]);return g},cleanData:function(a){var b,c,e=d.cache,f=d.expando,g=d.event.special,h=d.support.deleteExpando;for(var i=0,j;(j=a[i])!=null;i++){if(j.nodeName&&d.noData[j.nodeName.toLowerCase()])continue;c=j[d.expando];if(c){b=e[c]&&e[c][f];if(b&&b.events){for(var k in b.events)g[k]?d.event.remove(j,k):d.removeEvent(j,k,b.handle);b.handle&&(b.handle.elem=null)}h?delete j[d.expando]:j.removeAttribute&&j.removeAttribute(d.expando),delete e[c]}}}});var bd=/alpha\([^)]*\)/i,be=/opacity=([^)]*)/,bf=/-([a-z])/ig,bg=/([A-Z]|^ms)/g,bh=/^-?\d+(?:px)?$/i,bi=/^-?\d/,bj={position:"absolute",visibility:"hidden",display:"block"},bk=["Left","Right"],bl=["Top","Bottom"],bm,bn,bo,bp=function(a,b){return b.toUpperCase()};d.fn.css=function(a,c){if(arguments.length===2&&c===b)return this;return d.access(this,a,c,!0,function(a,c,e){return e!==b?d.style(a,c,e):d.css(a,c)})},d.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=bm(a,"opacity","opacity");return c===""?"1":c}return a.style.opacity}}},cssNumber:{zIndex:!0,fontWeight:!0,opacity:!0,zoom:!0,lineHeight:!0},cssProps:{"float":d.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,c,e,f){if(a&&a.nodeType!==3&&a.nodeType!==8&&a.style){var g,h=d.camelCase(c),i=a.style,j=d.cssHooks[h];c=d.cssProps[h]||h;if(e===b){if(j&&"get"in j&&(g=j.get(a,!1,f))!==b)return g;return i[c]}if(typeof e==="number"&&isNaN(e)||e==null)return;typeof e==="number"&&!d.cssNumber[h]&&(e+="px");if(!j||!("set"in j)||(e=j.set(a,e))!==b)try{i[c]=e}catch(k){}}},css:function(a,c,e){var f,g=d.camelCase(c),h=d.cssHooks[g];c=d.cssProps[g]||g;if(h&&"get"in h&&(f=h.get(a,!0,e))!==b)return f;if(bm)return bm(a,c,g)},swap:function(a,b,c){var d={};for(var e in b)d[e]=a.style[e],a.style[e]=b[e];c.call(a);for(e in b)a.style[e]=d[e]},camelCase:function(a){return a.replace(bf,bp)}}),d.curCSS=d.css,d.each(["height","width"],function(a,b){d.cssHooks[b]={get:function(a,c,e){var f;if(c){a.offsetWidth!==0?f=bq(a,b,e):d.swap(a,bj,function(){f=bq(a,b,e)});if(f<=0){f=bm(a,b,b),f==="0px"&&bo&&(f=bo(a,b,b));if(f!=null)return f===""||f==="auto"?"0px":f}if(f<0||f==null){f=a.style[b];return f===""||f==="auto"?"0px":f}return typeof f==="string"?f:f+"px"}},set:function(a,b){if(!bh.test(b))return b;b=parseFloat(b);if(b>=0)return b+"px"}}}),d.support.opacity||(d.cssHooks.opacity={get:function(a,b){return be.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var c=a.style;c.zoom=1;var e=d.isNaN(b)?"":"alpha(opacity="+b*100+")",f=c.filter||"";c.filter=bd.test(f)?f.replace(bd,e):c.filter+" "+e}}),d(function(){d.support.reliableMarginRight||(d.cssHooks.marginRight={get:function(a,b){var c;d.swap(a,{display:"inline-block"},function(){b?c=bm(a,"margin-right","marginRight"):c=a.style.marginRight});return c}})}),c.defaultView&&c.defaultView.getComputedStyle&&(bn=function(a,c,e){var f,g,h;e=e.replace(bg,"-$1").toLowerCase();if(!(g=a.ownerDocument.defaultView))return b;if(h=g.getComputedStyle(a,null))f=h.getPropertyValue(e),f===""&&!d.contains(a.ownerDocument.documentElement,a)&&(f=d.style(a,e));return f}),c.documentElement.currentStyle&&(bo=function(a,b){var c,d=a.currentStyle&&a.currentStyle[b],e=a.runtimeStyle&&a.runtimeStyle[b],f=a.style;!bh.test(d)&&bi.test(d)&&(c=f.left,e&&(a.runtimeStyle.left=a.currentStyle.left),f.left=b==="fontSize"?"1em":d||0,d=f.pixelLeft+"px",f.left=c,e&&(a.runtimeStyle.left=e));return d===""?"auto":d}),bm=bn||bo,d.expr&&d.expr.filters&&(d.expr.filters.hidden=function(a){var b=a.offsetWidth,c=a.offsetHeight;return b===0&&c===0||!d.support.reliableHiddenOffsets&&(a.style.display||d.css(a,"display"))==="none"},d.expr.filters.visible=function(a){return!d.expr.filters.hidden(a)});var br=/%20/g,bs=/\[\]$/,bt=/\r?\n/g,bu=/#.*$/,bv=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bw=/^(?:color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bx=/^(?:about|app|app\-storage|.+\-extension|file|widget):$/,by=/^(?:GET|HEAD)$/,bz=/^\/\//,bA=/\?/,bB=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,bC=/^(?:select|textarea)/i,bD=/\s+/,bE=/([?&])_=[^&]*/,bF=/(^|\-)([a-z])/g,bG=function(a,b,c){return b+c.toUpperCase()},bH=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,bI=d.fn.load,bJ={},bK={},bL,bM;try{bL=c.location.href}catch(bN){bL=c.createElement("a"),bL.href="",bL=bL.href}bM=bH.exec(bL.toLowerCase())||[],d.fn.extend({load:function(a,c,e){if(typeof a!=="string"&&bI)return bI.apply(this,arguments);if(!this.length)return this;var f=a.indexOf(" ");if(f>=0){var g=a.slice(f,a.length);a=a.slice(0,f)}var h="GET";c&&(d.isFunction(c)?(e=c,c=b):typeof c==="object"&&(c=d.param(c,d.ajaxSettings.traditional),h="POST"));var i=this;d.ajax({url:a,type:h,dataType:"html",data:c,complete:function(a,b,c){c=a.responseText,a.isResolved()&&(a.done(function(a){c=a}),i.html(g?d("<div>").append(c.replace(bB,"")).find(g):c)),e&&i.each(e,[c,b,a])}});return this},serialize:function(){return d.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?d.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||bC.test(this.nodeName)||bw.test(this.type))}).map(function(a,b){var c=d(this).val();return c==null?null:d.isArray(c)?d.map(c,function(a,c){return{name:b.name,value:a.replace(bt,"\r\n")}}):{name:b.name,value:c.replace(bt,"\r\n")}}).get()}}),d.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){d.fn[b]=function(a){return this.bind(b,a)}}),d.each(["get","post"],function(a,c){d[c]=function(a,e,f,g){d.isFunction(e)&&(g=g||f,f=e,e=b);return d.ajax({type:c,url:a,data:e,success:f,dataType:g})}}),d.extend({getScript:function(a,c){return d.get(a,b,c,"script")},getJSON:function(a,b,c){return d.get(a,b,c,"json")},ajaxSetup:function(a,b){b?d.extend(!0,a,d.ajaxSettings,b):(b=a,a=d.extend(!0,d.ajaxSettings,b));for(var c in {context:1,url:1})c in b?a[c]=b[c]:c in d.ajaxSettings&&(a[c]=d.ajaxSettings[c]);return a},ajaxSettings:{url:bL,isLocal:bx.test(bM[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":"*/*"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":d.parseJSON,"text xml":d.parseXML}},ajaxPrefilter:bO(bJ),ajaxTransport:bO(bK),ajax:function(a,c){function v(a,c,l,n){if(r!==2){r=2,p&&clearTimeout(p),o=b,m=n||"",u.readyState=a?4:0;var q,t,v,w=l?bR(e,u,l):b,x,y;if(a>=200&&a<300||a===304){if(e.ifModified){if(x=u.getResponseHeader("Last-Modified"))d.lastModified[k]=x;if(y=u.getResponseHeader("Etag"))d.etag[k]=y}if(a===304)c="notmodified",q=!0;else try{t=bS(e,w),c="success",q=!0}catch(z){c="parsererror",v=z}}else{v=c;if(!c||a)c="error",a<0&&(a=0)}u.status=a,u.statusText=c,q?h.resolveWith(f,[t,c,u]):h.rejectWith(f,[u,c,v]),u.statusCode(j),j=b,s&&g.trigger("ajax"+(q?"Success":"Error"),[u,e,q?t:v]),i.resolveWith(f,[u,c]),s&&(g.trigger("ajaxComplete",[u,e]),--d.active||d.event.trigger("ajaxStop"))}}typeof a==="object"&&(c=a,a=b),c=c||{};var e=d.ajaxSetup({},c),f=e.context||e,g=f!==e&&(f.nodeType||f instanceof d)?d(f):d.event,h=d.Deferred(),i=d._Deferred(),j=e.statusCode||{},k,l={},m,n,o,p,q,r=0,s,t,u={readyState:0,setRequestHeader:function(a,b){r||(l[a.toLowerCase().replace(bF,bG)]=b);return this},getAllResponseHeaders:function(){return r===2?m:null},getResponseHeader:function(a){var c;if(r===2){if(!n){n={};while(c=bv.exec(m))n[c[1].toLowerCase()]=c[2]}c=n[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){r||(e.mimeType=a);return this},abort:function(a){a=a||"abort",o&&o.abort(a),v(0,a);return this}};h.promise(u),u.success=u.done,u.error=u.fail,u.complete=i.done,u.statusCode=function(a){if(a){var b;if(r<2)for(b in a)j[b]=[j[b],a[b]];else b=a[u.status],u.then(b,b)}return this},e.url=((a||e.url)+"").replace(bu,"").replace(bz,bM[1]+"//"),e.dataTypes=d.trim(e.dataType||"*").toLowerCase().split(bD),e.crossDomain==null&&(q=bH.exec(e.url.toLowerCase()),e.crossDomain=q&&(q[1]!=bM[1]||q[2]!=bM[2]||(q[3]||(q[1]==="http:"?80:443))!=(bM[3]||(bM[1]==="http:"?80:443)))),e.data&&e.processData&&typeof e.data!=="string"&&(e.data=d.param(e.data,e.traditional)),bP(bJ,e,c,u);if(r===2)return!1;s=e.global,e.type=e.type.toUpperCase(),e.hasContent=!by.test(e.type),s&&d.active++===0&&d.event.trigger("ajaxStart");if(!e.hasContent){e.data&&(e.url+=(bA.test(e.url)?"&":"?")+e.data),k=e.url;if(e.cache===!1){var w=d.now(),x=e.url.replace(bE,"$1_="+w);e.url=x+(x===e.url?(bA.test(e.url)?"&":"?")+"_="+w:"")}}if(e.data&&e.hasContent&&e.contentType!==!1||c.contentType)l["Content-Type"]=e.contentType;e.ifModified&&(k=k||e.url,d.lastModified[k]&&(l["If-Modified-Since"]=d.lastModified[k]),d.etag[k]&&(l["If-None-Match"]=d.etag[k])),l.Accept=e.dataTypes[0]&&e.accepts[e.dataTypes[0]]?e.accepts[e.dataTypes[0]]+(e.dataTypes[0]!=="*"?", */*; q=0.01":""):e.accepts["*"];for(t in e.headers)u.setRequestHeader(t,e.headers[t]);if(e.beforeSend&&(e.beforeSend.call(f,u,e)===!1||r===2)){u.abort();return!1}for(t in {success:1,error:1,complete:1})u[t](e[t]);o=bP(bK,e,c,u);if(o){u.readyState=1,s&&g.trigger("ajaxSend",[u,e]),e.async&&e.timeout>0&&(p=setTimeout(function(){u.abort("timeout")},e.timeout));try{r=1,o.send(l,v)}catch(y){status<2?v(-1,y):d.error(y)}}else v(-1,"No Transport");return u},param:function(a,c){var e=[],f=function(a,b){b=d.isFunction(b)?b():b,e[e.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=d.ajaxSettings.traditional);if(d.isArray(a)||a.jquery&&!d.isPlainObject(a))d.each(a,function(){f(this.name,this.value)});else for(var g in a)bQ(g,a[g],c,f);return e.join("&").replace(br,"+")}}),d.extend({active:0,lastModified:{},etag:{}});var bT=d.now(),bU=/(\=)\?(&|$)|\?\?/i;d.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return d.expando+"_"+bT++}}),d.ajaxPrefilter("json jsonp",function(b,c,e){var f=typeof b.data==="string";if(b.dataTypes[0]==="jsonp"||c.jsonpCallback||c.jsonp!=null||b.jsonp!==!1&&(bU.test(b.url)||f&&bU.test(b.data))){var g,h=b.jsonpCallback=d.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,i=a[h],j=b.url,k=b.data,l="$1"+h+"$2",m=function(){a[h]=i,g&&d.isFunction(i)&&a[h](g[0])};b.jsonp!==!1&&(j=j.replace(bU,l),b.url===j&&(f&&(k=k.replace(bU,l)),b.data===k&&(j+=(/\?/.test(j)?"&":"?")+b.jsonp+"="+h))),b.url=j,b.data=k,a[h]=function(a){g=[a]},e.then(m,m),b.converters["script json"]=function(){g||d.error(h+" was not called");return g[0]},b.dataTypes[0]="json";return"script"}}),d.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){d.globalEval(a);return a}}}),d.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),d.ajaxTransport("script",function(a){if(a.crossDomain){var d,e=c.head||c.getElementsByTagName("head")[0]||c.documentElement;return{send:function(f,g){d=c.createElement("script"),d.async="async",a.scriptCharset&&(d.charset=a.scriptCharset),d.src=a.url,d.onload=d.onreadystatechange=function(a,c){if(!d.readyState||/loaded|complete/.test(d.readyState))d.onload=d.onreadystatechange=null,e&&d.parentNode&&e.removeChild(d),d=b,c||g(200,"success")},e.insertBefore(d,e.firstChild)},abort:function(){d&&d.onload(0,1)}}}});var bV=d.now(),bW,bX;d.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&bZ()||b$()}:bZ,bX=d.ajaxSettings.xhr(),d.support.ajax=!!bX,d.support.cors=bX&&"withCredentials"in bX,bX=b,d.support.ajax&&d.ajaxTransport(function(a){if(!a.crossDomain||d.support.cors){var c;return{send:function(e,f){var g=a.xhr(),h,i;a.username?g.open(a.type,a.url,a.async,a.username,a.password):g.open(a.type,a.url,a.async);if(a.xhrFields)for(i in a.xhrFields)g[i]=a.xhrFields[i];a.mimeType&&g.overrideMimeType&&g.overrideMimeType(a.mimeType),!a.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(i in e)g.setRequestHeader(i,e[i])}catch(j){}g.send(a.hasContent&&a.data||null),c=function(e,i){var j,k,l,m,n;try{if(c&&(i||g.readyState===4)){c=b,h&&(g.onreadystatechange=d.noop,delete bW[h]);if(i)g.readyState!==4&&g.abort();else{j=g.status,l=g.getAllResponseHeaders(),m={},n=g.responseXML,n&&n.documentElement&&(m.xml=n),m.text=g.responseText;try{k=g.statusText}catch(o){k=""}j||!a.isLocal||a.crossDomain?j===1223&&(j=204):j=m.text?200:404}}}catch(p){i||f(-1,p)}m&&f(j,k,m,l)},a.async&&g.readyState!==4?(bW||(bW={},bY()),h=bV++,g.onreadystatechange=bW[h]=c):c()},abort:function(){c&&c(0,1)}}}});var b_={},ca=/^(?:toggle|show|hide)$/,cb=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,cc,cd=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];d.fn.extend({show:function(a,b,c){var e,f;if(a||a===0)return this.animate(ce("show",3),a,b,c);for(var g=0,h=this.length;g<h;g++)e=this[g],f=e.style.display,!d._data(e,"olddisplay")&&f==="none"&&(f=e.style.display=""),f===""&&d.css(e,"display")==="none"&&d._data(e,"olddisplay",cf(e.nodeName));for(g=0;g<h;g++){e=this[g],f=e.style.display;if(f===""||f==="none")e.style.display=d._data(e,"olddisplay")||""}return this},hide:function(a,b,c){if(a||a===0)return this.animate(ce("hide",3),a,b,c);for(var e=0,f=this.length;e<f;e++){var g=d.css(this[e],"display");g!=="none"&&!d._data(this[e],"olddisplay")&&d._data(this[e],"olddisplay",g)}for(e=0;e<f;e++)this[e].style.display="none";return this},_toggle:d.fn.toggle,toggle:function(a,b,c){var e=typeof a==="boolean";d.isFunction(a)&&d.isFunction(b)?this._toggle.apply(this,arguments):a==null||e?this.each(function(){var b=e?a:d(this).is(":hidden");d(this)[b?"show":"hide"]()}):this.animate(ce("toggle",3),a,b,c);return this},fadeTo:function(a,b,c,d){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,e){var f=d.speed(b,c,e);if(d.isEmptyObject(a))return this.each(f.complete);return this[f.queue===!1?"each":"queue"](function(){var b=d.extend({},f),c,e=this.nodeType===1,g=e&&d(this).is(":hidden"),h=this;for(c in a){var i=d.camelCase(c);c!==i&&(a[i]=a[c],delete a[c],c=i);if(a[c]==="hide"&&g||a[c]==="show"&&!g)return b.complete.call(this);if(e&&(c==="height"||c==="width")){b.overflow=[this.style.overflow,this.style.overflowX,this.style.overflowY];if(d.css(this,"display")==="inline"&&d.css(this,"float")==="none")if(d.support.inlineBlockNeedsLayout){var j=cf(this.nodeName);j==="inline"?this.style.display="inline-block":(this.style.display="inline",this.style.zoom=1)}else this.style.display="inline-block"}d.isArray(a[c])&&((b.specialEasing=b.specialEasing||{})[c]=a[c][1],a[c]=a[c][0])}b.overflow!=null&&(this.style.overflow="hidden"),b.curAnim=d.extend({},a),d.each(a,function(c,e){var f=new d.fx(h,b,c);if(ca.test(e))f[e==="toggle"?g?"show":"hide":e](a);else{var i=cb.exec(e),j=f.cur();if(i){var k=parseFloat(i[2]),l=i[3]||(d.cssNumber[c]?"":"px");l!=="px"&&(d.style(h,c,(k||1)+l),j=(k||1)/f.cur()*j,d.style(h,c,j+l)),i[1]&&(k=(i[1]==="-="?-1:1)*k+j),f.custom(j,k,l)}else f.custom(j,e,"")}});return!0})},stop:function(a,b){var c=d.timers;a&&this.queue([]),this.each(function(){for(var a=c.length-1;a>=0;a--)c[a].elem===this&&(b&&c[a](!0),c.splice(a,1))}),b||this.dequeue();return this}}),d.each({slideDown:ce("show",1),slideUp:ce("hide",1),slideToggle:ce("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){d.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),d.extend({speed:function(a,b,c){var e=a&&typeof a==="object"?d.extend({},a):{complete:c||!c&&b||d.isFunction(a)&&a,duration:a,easing:c&&b||b&&!d.isFunction(b)&&b};e.duration=d.fx.off?0:typeof e.duration==="number"?e.duration:e.duration in d.fx.speeds?d.fx.speeds[e.duration]:d.fx.speeds._default,e.old=e.complete,e.complete=function(){e.queue!==!1&&d(this).dequeue(),d.isFunction(e.old)&&e.old.call(this)};return e},easing:{linear:function(a,b,c,d){return c+d*a},swing:function(a,b,c,d){return(-Math.cos(a*Math.PI)/2+.5)*d+c}},timers:[],fx:function(a,b,c){this.options=b,this.elem=a,this.prop=c,b.orig||(b.orig={})}}),d.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this),(d.fx.step[this.prop]||d.fx.step._default)(this)},cur:function(){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];var a,b=d.css(this.elem,this.prop);return isNaN(a=parseFloat(b))?!b||b==="auto"?0:b:a},custom:function(a,b,c){function g(a){return e.step(a)}var e=this,f=d.fx;this.startTime=d.now(),this.start=a,this.end=b,this.unit=c||this.unit||(d.cssNumber[this.prop]?"":"px"),this.now=this.start,this.pos=this.state=0,g.elem=this.elem,g()&&d.timers.push(g)&&!cc&&(cc=setInterval(f.tick,f.interval))},show:function(){this.options.orig[this.prop]=d.style(this.elem,this.prop),this.options.show=!0,this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur()),d(this.elem).show()},hide:function(){this.options.orig[this.prop]=d.style(this.elem,this.prop),this.options.hide=!0,this.custom(this.cur(),0)},step:function(a){var b=d.now(),c=!0;if(a||b>=this.options.duration+this.startTime){this.now=this.end,this.pos=this.state=1,this.update(),this.options.curAnim[this.prop]=!0;for(var e in this.options.curAnim)this.options.curAnim[e]!==!0&&(c=!1);if(c){if(this.options.overflow!=null&&!d.support.shrinkWrapBlocks){var f=this.elem,g=this.options;d.each(["","X","Y"],function(a,b){f.style["overflow"+b]=g.overflow[a]})}this.options.hide&&d(this.elem).hide();if(this.options.hide||this.options.show)for(var h in this.options.curAnim)d.style(this.elem,h,this.options.orig[h]);this.options.complete.call(this.elem)}return!1}var i=b-this.startTime;this.state=i/this.options.duration;var j=this.options.specialEasing&&this.options.specialEasing[this.prop],k=this.options.easing||(d.easing.swing?"swing":"linear");this.pos=d.easing[j||k](this.state,i,0,1,this.options.duration),this.now=this.start+(this.end-this.start)*this.pos,this.update();return!0}},d.extend(d.fx,{tick:function(){var a=d.timers;for(var b=0;b<a.length;b++)a[b]()||a.splice(b--,1);a.length||d.fx.stop()},interval:13,stop:function(){clearInterval(cc),cc=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(a){d.style(a.elem,"opacity",a.now)},_default:function(a){a.elem.style&&a.elem.style[a.prop]!=null?a.elem.style[a.prop]=(a.prop==="width"||a.prop==="height"?Math.max(0,a.now):a.now)+a.unit:a.elem[a.prop]=a.now}}}),d.expr&&d.expr.filters&&(d.expr.filters.animated=function(a){return d.grep(d.timers,function(b){return a===b.elem}).length});var cg=/^t(?:able|d|h)$/i,ch=/^(?:body|html)$/i;"getBoundingClientRect"in c.documentElement?d.fn.offset=function(a){var b=this[0],c;if(a)return this.each(function(b){d.offset.setOffset(this,a,b)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return d.offset.bodyOffset(b);try{c=b.getBoundingClientRect()}catch(e){}var f=b.ownerDocument,g=f.documentElement;if(!c||!d.contains(g,b))return c?{top:c.top,left:c.left}:{top:0,left:0};var h=f.body,i=ci(f),j=g.clientTop||h.clientTop||0,k=g.clientLeft||h.clientLeft||0,l=i.pageYOffset||d.support.boxModel&&g.scrollTop||h.scrollTop,m=i.pageXOffset||d.support.boxModel&&g.scrollLeft||h.scrollLeft,n=c.top+l-j,o=c.left+m-k;return{top:n,left:o}}:d.fn.offset=function(a){var b=this[0];if(a)return this.each(function(b){d.offset.setOffset(this,a,b)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return d.offset.bodyOffset(b);d.offset.initialize();var c,e=b.offsetParent,f=b,g=b.ownerDocument,h=g.documentElement,i=g.body,j=g.defaultView,k=j?j.getComputedStyle(b,null):b.currentStyle,l=b.offsetTop,m=b.offsetLeft;while((b=b.parentNode)&&b!==i&&b!==h){if(d.offset.supportsFixedPosition&&k.position==="fixed")break;c=j?j.getComputedStyle(b,null):b.currentStyle,l-=b.scrollTop,m-=b.scrollLeft,b===e&&(l+=b.offsetTop,m+=b.offsetLeft,d.offset.doesNotAddBorder&&(!d.offset.doesAddBorderForTableAndCells||!cg.test(b.nodeName))&&(l+=parseFloat(c.borderTopWidth)||0,m+=parseFloat(c.borderLeftWidth)||0),f=e,e=b.offsetParent),d.offset.subtractsBorderForOverflowNotVisible&&c.overflow!=="visible"&&(l+=parseFloat(c.borderTopWidth)||0,m+=parseFloat(c.borderLeftWidth)||0),k=c}if(k.position==="relative"||k.position==="static")l+=i.offsetTop,m+=i.offsetLeft;d.offset.supportsFixedPosition&&k.position==="fixed"&&(l+=Math.max(h.scrollTop,i.scrollTop),m+=Math.max(h.scrollLeft,i.scrollLeft));return{top:l,left:m}},d.offset={initialize:function(){var a=c.body,b=c.createElement("div"),e,f,g,h,i=parseFloat(d.css(a,"marginTop"))||0,j="<div style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;'><div></div></div><table style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;' cellpadding='0' cellspacing='0'><tr><td></td></tr></table>";d.extend(b.style,{position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"}),b.innerHTML=j,a.insertBefore(b,a.firstChild),e=b.firstChild,f=e.firstChild,h=e.nextSibling.firstChild.firstChild,this.doesNotAddBorder=f.offsetTop!==5,this.doesAddBorderForTableAndCells=h.offsetTop===5,f.style.position="fixed",f.style.top="20px",this.supportsFixedPosition=f.offsetTop===20||f.offsetTop===15,f.style.position=f.style.top="",e.style.overflow="hidden",e.style.position="relative",this.subtractsBorderForOverflowNotVisible=f.offsetTop===-5,this.doesNotIncludeMarginInBodyOffset=a.offsetTop!==i,a.removeChild(b),d.offset.initialize=d.noop},bodyOffset:function(a){var b=a.offsetTop,c=a.offsetLeft;d.offset.initialize(),d.offset.doesNotIncludeMarginInBodyOffset&&(b+=parseFloat(d.css(a,"marginTop"))||0,c+=parseFloat(d.css(a,"marginLeft"))||0);return{top:b,left:c}},setOffset:function(a,b,c){var e=d.css(a,"position");e==="static"&&(a.style.position="relative");var f=d(a),g=f.offset(),h=d.css(a,"top"),i=d.css(a,"left"),j=(e==="absolute"||e==="fixed")&&d.inArray("auto",[h,i])>-1,k={},l={},m,n;j&&(l=f.position()),m=j?l.top:parseInt(h,10)||0,n=j?l.left:parseInt(i,10)||0,d.isFunction(b)&&(b=b.call(a,c,g)),b.top!=null&&(k.top=b.top-g.top+m),b.left!=null&&(k.left=b.left-g.left+n),"using"in b?b.using.call(a,k):f.css(k)}},d.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),c=this.offset(),e=ch.test(b[0].nodeName)?{top:0,left:0}:b.offset();c.top-=parseFloat(d.css(a,"marginTop"))||0,c.left-=parseFloat(d.css(a,"marginLeft"))||0,e.top+=parseFloat(d.css(b[0],"borderTopWidth"))||0,e.left+=parseFloat(d.css(b[0],"borderLeftWidth"))||0;return{top:c.top-e.top,left:c.left-e.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||c.body;while(a&&(!ch.test(a.nodeName)&&d.css(a,"position")==="static"))a=a.offsetParent;return a})}}),d.each(["Left","Top"],function(a,c){var e="scroll"+c;d.fn[e]=function(c){var f=this[0],g;if(!f)return null;if(c!==b)return this.each(function(){g=ci(this),g?g.scrollTo(a?d(g).scrollLeft():c,a?c:d(g).scrollTop()):this[e]=c});g=ci(f);return g?"pageXOffset"in g?g[a?"pageYOffset":"pageXOffset"]:d.support.boxModel&&g.document.documentElement[e]||g.document.body[e]:f[e]}}),d.each(["Height","Width"],function(a,c){var e=c.toLowerCase();d.fn["inner"+c]=function(){return this[0]?parseFloat(d.css(this[0],e,"padding")):null},d.fn["outer"+c]=function(a){return this[0]?parseFloat(d.css(this[0],e,a?"margin":"border")):null},d.fn[e]=function(a){var f=this[0];if(!f)return a==null?null:this;if(d.isFunction(a))return this.each(function(b){var c=d(this);c[e](a.call(this,b,c[e]()))});if(d.isWindow(f)){var g=f.document.documentElement["client"+c];return f.document.compatMode==="CSS1Compat"&&g||f.document.body["client"+c]||g}if(f.nodeType===9)return Math.max(f.documentElement["client"+c],f.body["scroll"+c],f.documentElement["scroll"+c],f.body["offset"+c],f.documentElement["offset"+c]);if(a===b){var h=d.css(f,e),i=parseFloat(h);return d.isNaN(i)?h:i}return this.css(e,typeof a==="string"?a:a+"px")}}),a.jQuery=a.$=d})(window);
/*
 * Copyright (c) 2009 Simo Kinnunen.
 * Licensed under the MIT license.
 *
 * @version 1.09i
 */
var Cufon=(function(){var m=function(){return m.replace.apply(null,arguments)};var x=m.DOM={ready:(function(){var C=false,E={loaded:1,complete:1};var B=[],D=function(){if(C){return}C=true;for(var F;F=B.shift();F()){}};if(document.addEventListener){document.addEventListener("DOMContentLoaded",D,false);window.addEventListener("pageshow",D,false)}if(!window.opera&&document.readyState){(function(){E[document.readyState]?D():setTimeout(arguments.callee,10)})()}if(document.readyState&&document.createStyleSheet){(function(){try{document.body.doScroll("left");D()}catch(F){setTimeout(arguments.callee,1)}})()}q(window,"load",D);return function(F){if(!arguments.length){D()}else{C?F():B.push(F)}}})(),root:function(){return document.documentElement||document.body}};var n=m.CSS={Size:function(C,B){this.value=parseFloat(C);this.unit=String(C).match(/[a-z%]*$/)[0]||"px";this.convert=function(D){return D/B*this.value};this.convertFrom=function(D){return D/this.value*B};this.toString=function(){return this.value+this.unit}},addClass:function(C,B){var D=C.className;C.className=D+(D&&" ")+B;return C},color:j(function(C){var B={};B.color=C.replace(/^rgba\((.*?),\s*([\d.]+)\)/,function(E,D,F){B.opacity=parseFloat(F);return"rgb("+D+")"});return B}),fontStretch:j(function(B){if(typeof B=="number"){return B}if(/%$/.test(B)){return parseFloat(B)/100}return{"ultra-condensed":0.5,"extra-condensed":0.625,condensed:0.75,"semi-condensed":0.875,"semi-expanded":1.125,expanded:1.25,"extra-expanded":1.5,"ultra-expanded":2}[B]||1}),getStyle:function(C){var B=document.defaultView;if(B&&B.getComputedStyle){return new a(B.getComputedStyle(C,null))}if(C.currentStyle){return new a(C.currentStyle)}return new a(C.style)},gradient:j(function(F){var G={id:F,type:F.match(/^-([a-z]+)-gradient\(/)[1],stops:[]},C=F.substr(F.indexOf("(")).match(/([\d.]+=)?(#[a-f0-9]+|[a-z]+\(.*?\)|[a-z]+)/ig);for(var E=0,B=C.length,D;E<B;++E){D=C[E].split("=",2).reverse();G.stops.push([D[1]||E/(B-1),D[0]])}return G}),quotedList:j(function(E){var D=[],C=/\s*((["'])([\s\S]*?[^\\])\2|[^,]+)\s*/g,B;while(B=C.exec(E)){D.push(B[3]||B[1])}return D}),recognizesMedia:j(function(G){var E=document.createElement("style"),D,C,B;E.type="text/css";E.media=G;try{E.appendChild(document.createTextNode("/**/"))}catch(F){}C=g("head")[0];C.insertBefore(E,C.firstChild);D=(E.sheet||E.styleSheet);B=D&&!D.disabled;C.removeChild(E);return B}),removeClass:function(D,C){var B=RegExp("(?:^|\\s+)"+C+"(?=\\s|$)","g");D.className=D.className.replace(B,"");return D},supports:function(D,C){var B=document.createElement("span").style;if(B[D]===undefined){return false}B[D]=C;return B[D]===C},textAlign:function(E,D,B,C){if(D.get("textAlign")=="right"){if(B>0){E=" "+E}}else{if(B<C-1){E+=" "}}return E},textShadow:j(function(F){if(F=="none"){return null}var E=[],G={},B,C=0;var D=/(#[a-f0-9]+|[a-z]+\(.*?\)|[a-z]+)|(-?[\d.]+[a-z%]*)|,/ig;while(B=D.exec(F)){if(B[0]==","){E.push(G);G={};C=0}else{if(B[1]){G.color=B[1]}else{G[["offX","offY","blur"][C++]]=B[2]}}}E.push(G);return E}),textTransform:(function(){var B={uppercase:function(C){return C.toUpperCase()},lowercase:function(C){return C.toLowerCase()},capitalize:function(C){return C.replace(/\b./g,function(D){return D.toUpperCase()})}};return function(E,D){var C=B[D.get("textTransform")];return C?C(E):E}})(),whiteSpace:(function(){var D={inline:1,"inline-block":1,"run-in":1};var C=/^\s+/,B=/\s+$/;return function(H,F,G,E){if(E){if(E.nodeName.toLowerCase()=="br"){H=H.replace(C,"")}}if(D[F.get("display")]){return H}if(!G.previousSibling){H=H.replace(C,"")}if(!G.nextSibling){H=H.replace(B,"")}return H}})()};n.ready=(function(){var B=!n.recognizesMedia("all"),E=false;var D=[],H=function(){B=true;for(var K;K=D.shift();K()){}};var I=g("link"),J=g("style");function C(K){return K.disabled||G(K.sheet,K.media||"screen")}function G(M,P){if(!n.recognizesMedia(P||"all")){return true}if(!M||M.disabled){return false}try{var Q=M.cssRules,O;if(Q){search:for(var L=0,K=Q.length;O=Q[L],L<K;++L){switch(O.type){case 2:break;case 3:if(!G(O.styleSheet,O.media.mediaText)){return false}break;default:break search}}}}catch(N){}return true}function F(){if(document.createStyleSheet){return true}var L,K;for(K=0;L=I[K];++K){if(L.rel.toLowerCase()=="stylesheet"&&!C(L)){return false}}for(K=0;L=J[K];++K){if(!C(L)){return false}}return true}x.ready(function(){if(!E){E=n.getStyle(document.body).isUsable()}if(B||(E&&F())){H()}else{setTimeout(arguments.callee,10)}});return function(K){if(B){K()}else{D.push(K)}}})();function s(D){var C=this.face=D.face,B={"\u0020":1,"\u00a0":1,"\u3000":1};this.glyphs=D.glyphs;this.w=D.w;this.baseSize=parseInt(C["units-per-em"],10);this.family=C["font-family"].toLowerCase();this.weight=C["font-weight"];this.style=C["font-style"]||"normal";this.viewBox=(function(){var F=C.bbox.split(/\s+/);var E={minX:parseInt(F[0],10),minY:parseInt(F[1],10),maxX:parseInt(F[2],10),maxY:parseInt(F[3],10)};E.width=E.maxX-E.minX;E.height=E.maxY-E.minY;E.toString=function(){return[this.minX,this.minY,this.width,this.height].join(" ")};return E})();this.ascent=-parseInt(C.ascent,10);this.descent=-parseInt(C.descent,10);this.height=-this.ascent+this.descent;this.spacing=function(L,N,E){var O=this.glyphs,M,K,G,P=[],F=0,J=-1,I=-1,H;while(H=L[++J]){M=O[H]||this.missingGlyph;if(!M){continue}if(K){F-=G=K[H]||0;P[I]-=G}F+=P[++I]=~~(M.w||this.w)+N+(B[H]?E:0);K=M.k}P.total=F;return P}}function f(){var C={},B={oblique:"italic",italic:"oblique"};this.add=function(D){(C[D.style]||(C[D.style]={}))[D.weight]=D};this.get=function(H,I){var G=C[H]||C[B[H]]||C.normal||C.italic||C.oblique;if(!G){return null}I={normal:400,bold:700}[I]||parseInt(I,10);if(G[I]){return G[I]}var E={1:1,99:0}[I%100],K=[],F,D;if(E===undefined){E=I>400}if(I==500){I=400}for(var J in G){if(!k(G,J)){continue}J=parseInt(J,10);if(!F||J<F){F=J}if(!D||J>D){D=J}K.push(J)}if(I<F){I=F}if(I>D){I=D}K.sort(function(M,L){return(E?(M>=I&&L>=I)?M<L:M>L:(M<=I&&L<=I)?M>L:M<L)?-1:1});return G[K[0]]}}function r(){function D(F,G){if(F.contains){return F.contains(G)}return F.compareDocumentPosition(G)&16}function B(G){var F=G.relatedTarget;if(!F||D(this,F)){return}C(this,G.type=="mouseover")}function E(F){C(this,F.type=="mouseenter")}function C(F,G){setTimeout(function(){var H=d.get(F).options;m.replace(F,G?h(H,H.hover):H,true)},10)}this.attach=function(F){if(F.onmouseenter===undefined){q(F,"mouseover",B);q(F,"mouseout",B)}else{q(F,"mouseenter",E);q(F,"mouseleave",E)}}}function u(){var C=[],D={};function B(H){var E=[],G;for(var F=0;G=H[F];++F){E[F]=C[D[G]]}return E}this.add=function(F,E){D[F]=C.push(E)-1};this.repeat=function(){var E=arguments.length?B(arguments):C,F;for(var G=0;F=E[G++];){m.replace(F[0],F[1],true)}}}function A(){var D={},B=0;function C(E){return E.cufid||(E.cufid=++B)}this.get=function(E){var F=C(E);return D[F]||(D[F]={})}}function a(B){var D={},C={};this.extend=function(E){for(var F in E){if(k(E,F)){D[F]=E[F]}}return this};this.get=function(E){return D[E]!=undefined?D[E]:B[E]};this.getSize=function(F,E){return C[F]||(C[F]=new n.Size(this.get(F),E))};this.isUsable=function(){return !!B}}function q(C,B,D){if(C.addEventListener){C.addEventListener(B,D,false)}else{if(C.attachEvent){C.attachEvent("on"+B,function(){return D.call(C,window.event)})}}}function v(C,B){var D=d.get(C);if(D.options){return C}if(B.hover&&B.hoverables[C.nodeName.toLowerCase()]){b.attach(C)}D.options=B;return C}function j(B){var C={};return function(D){if(!k(C,D)){C[D]=B.apply(null,arguments)}return C[D]}}function c(F,E){var B=n.quotedList(E.get("fontFamily").toLowerCase()),D;for(var C=0;D=B[C];++C){if(i[D]){return i[D].get(E.get("fontStyle"),E.get("fontWeight"))}}return null}function g(B){return document.getElementsByTagName(B)}function k(C,B){return C.hasOwnProperty(B)}function h(){var C={},B,F;for(var E=0,D=arguments.length;B=arguments[E],E<D;++E){for(F in B){if(k(B,F)){C[F]=B[F]}}}return C}function o(E,M,C,N,F,D){var K=document.createDocumentFragment(),H;if(M===""){return K}var L=N.separate;var I=M.split(p[L]),B=(L=="words");if(B&&t){if(/^\s/.test(M)){I.unshift("")}if(/\s$/.test(M)){I.push("")}}for(var J=0,G=I.length;J<G;++J){H=z[N.engine](E,B?n.textAlign(I[J],C,J,G):I[J],C,N,F,D,J<G-1);if(H){K.appendChild(H)}}return K}function l(D,M){var C=D.nodeName.toLowerCase();if(M.ignore[C]){return}var E=!M.textless[C];var B=n.getStyle(v(D,M)).extend(M);var F=c(D,B),G,K,I,H,L,J;if(!F){return}for(G=D.firstChild;G;G=I){K=G.nodeType;I=G.nextSibling;if(E&&K==3){if(H){H.appendData(G.data);D.removeChild(G)}else{H=G}if(I){continue}}if(H){D.replaceChild(o(F,n.whiteSpace(H.data,B,H,J),B,M,G,D),H);H=null}if(K==1){if(G.firstChild){if(G.nodeName.toLowerCase()=="cufon"){z[M.engine](F,null,B,M,G,D)}else{arguments.callee(G,M)}}J=G}}}var t=" ".split(/\s+/).length==0;var d=new A();var b=new r();var y=new u();var e=false;var z={},i={},w={autoDetect:false,engine:null,forceHitArea:false,hover:false,hoverables:{a:true},ignore:{applet:1,canvas:1,col:1,colgroup:1,head:1,iframe:1,map:1,optgroup:1,option:1,script:1,select:1,style:1,textarea:1,title:1,pre:1},printable:true,selector:(window.Sizzle||(window.jQuery&&function(B){return jQuery(B)})||(window.dojo&&dojo.query)||(window.Ext&&Ext.query)||(window.YAHOO&&YAHOO.util&&YAHOO.util.Selector&&YAHOO.util.Selector.query)||(window.$$&&function(B){return $$(B)})||(window.$&&function(B){return $(B)})||(document.querySelectorAll&&function(B){return document.querySelectorAll(B)})||g),separate:"words",textless:{dl:1,html:1,ol:1,table:1,tbody:1,thead:1,tfoot:1,tr:1,ul:1},textShadow:"none"};var p={words:/\s/.test("\u00a0")?/[^\S\u00a0]+/:/\s+/,characters:"",none:/^/};m.now=function(){x.ready();return m};m.refresh=function(){y.repeat.apply(y,arguments);return m};m.registerEngine=function(C,B){if(!B){return m}z[C]=B;return m.set("engine",C)};m.registerFont=function(D){if(!D){return m}var B=new s(D),C=B.family;if(!i[C]){i[C]=new f()}i[C].add(B);return m.set("fontFamily",'"'+C+'"')};m.replace=function(D,C,B){C=h(w,C);if(!C.engine){return m}if(!e){n.addClass(x.root(),"cufon-active cufon-loading");n.ready(function(){n.addClass(n.removeClass(x.root(),"cufon-loading"),"cufon-ready")});e=true}if(C.hover){C.forceHitArea=true}if(C.autoDetect){delete C.fontFamily}if(typeof C.textShadow=="string"){C.textShadow=n.textShadow(C.textShadow)}if(typeof C.color=="string"&&/^-/.test(C.color)){C.textGradient=n.gradient(C.color)}else{delete C.textGradient}if(!B){y.add(D,arguments)}if(D.nodeType||typeof D=="string"){D=[D]}n.ready(function(){for(var F=0,E=D.length;F<E;++F){var G=D[F];if(typeof G=="string"){m.replace(C.selector(G),C,true)}else{l(G,C)}}});return m};m.set=function(B,C){w[B]=C;return m};return m})();Cufon.registerEngine("vml",(function(){var e=document.namespaces;if(!e){return}e.add("cvml","urn:schemas-microsoft-com:vml");e=null;var b=document.createElement("cvml:shape");b.style.behavior="url(#default#VML)";if(!b.coordsize){return}b=null;var h=(document.documentMode||0)<8;document.write(('<style type="text/css">cufoncanvas{text-indent:0;}@media screen{cvml\\:shape,cvml\\:rect,cvml\\:fill,cvml\\:shadow{behavior:url(#default#VML);display:block;antialias:true;position:absolute;}cufoncanvas{position:absolute;text-align:left;}cufon{display:inline-block;position:relative;vertical-align:'+(h?"middle":"text-bottom")+";}cufon cufontext{position:absolute;left:-10000in;font-size:1px;}a cufon{cursor:pointer}}@media print{cufon cufoncanvas{display:none;}}</style>").replace(/;/g,"!important;"));function c(i,j){return a(i,/(?:em|ex|%)$|^[a-z-]+$/i.test(j)?"1em":j)}function a(l,m){if(m==="0"){return 0}if(/px$/i.test(m)){return parseFloat(m)}var k=l.style.left,j=l.runtimeStyle.left;l.runtimeStyle.left=l.currentStyle.left;l.style.left=m.replace("%","em");var i=l.style.pixelLeft;l.style.left=k;l.runtimeStyle.left=j;return i}function f(l,k,j,n){var i="computed"+n,m=k[i];if(isNaN(m)){m=k.get(n);k[i]=m=(m=="normal")?0:~~j.convertFrom(a(l,m))}return m}var g={};function d(p){var q=p.id;if(!g[q]){var n=p.stops,o=document.createElement("cvml:fill"),i=[];o.type="gradient";o.angle=180;o.focus="0";o.method="sigma";o.color=n[0][1];for(var m=1,l=n.length-1;m<l;++m){i.push(n[m][0]*100+"% "+n[m][1])}o.colors=i.join(",");o.color2=n[l][1];g[q]=o}return g[q]}return function(ac,G,Y,C,K,ad,W){var n=(G===null);if(n){G=K.alt}var I=ac.viewBox;var p=Y.computedFontSize||(Y.computedFontSize=new Cufon.CSS.Size(c(ad,Y.get("fontSize"))+"px",ac.baseSize));var y,q;if(n){y=K;q=K.firstChild}else{y=document.createElement("cufon");y.className="cufon cufon-vml";y.alt=G;q=document.createElement("cufoncanvas");y.appendChild(q);if(C.printable){var Z=document.createElement("cufontext");Z.appendChild(document.createTextNode(G));y.appendChild(Z)}if(!W){y.appendChild(document.createElement("cvml:shape"))}}var ai=y.style;var R=q.style;var l=p.convert(I.height),af=Math.ceil(l);var V=af/l;var P=V*Cufon.CSS.fontStretch(Y.get("fontStretch"));var U=I.minX,T=I.minY;R.height=af;R.top=Math.round(p.convert(T-ac.ascent));R.left=Math.round(p.convert(U));ai.height=p.convert(ac.height)+"px";var F=Y.get("color");var ag=Cufon.CSS.textTransform(G,Y).split("");var L=ac.spacing(ag,f(ad,Y,p,"letterSpacing"),f(ad,Y,p,"wordSpacing"));if(!L.length){return null}var k=L.total;var x=-U+k+(I.width-L[L.length-1]);var ah=p.convert(x*P),X=Math.round(ah);var O=x+","+I.height,m;var J="r"+O+"ns";var u=C.textGradient&&d(C.textGradient);var o=ac.glyphs,S=0;var H=C.textShadow;var ab=-1,aa=0,w;while(w=ag[++ab]){var D=o[ag[ab]]||ac.missingGlyph,v;if(!D){continue}if(n){v=q.childNodes[aa];while(v.firstChild){v.removeChild(v.firstChild)}}else{v=document.createElement("cvml:shape");q.appendChild(v)}v.stroked="f";v.coordsize=O;v.coordorigin=m=(U-S)+","+T;v.path=(D.d?"m"+D.d+"xe":"")+"m"+m+J;v.fillcolor=F;if(u){v.appendChild(u.cloneNode(false))}var ae=v.style;ae.width=X;ae.height=af;if(H){var s=H[0],r=H[1];var B=Cufon.CSS.color(s.color),z;var N=document.createElement("cvml:shadow");N.on="t";N.color=B.color;N.offset=s.offX+","+s.offY;if(r){z=Cufon.CSS.color(r.color);N.type="double";N.color2=z.color;N.offset2=r.offX+","+r.offY}N.opacity=B.opacity||(z&&z.opacity)||1;v.appendChild(N)}S+=L[aa++]}var M=v.nextSibling,t,A;if(C.forceHitArea){if(!M){M=document.createElement("cvml:rect");M.stroked="f";M.className="cufon-vml-cover";t=document.createElement("cvml:fill");t.opacity=0;M.appendChild(t);q.appendChild(M)}A=M.style;A.width=X;A.height=af}else{if(M){q.removeChild(M)}}ai.width=Math.max(Math.ceil(p.convert(k*P)),0);if(h){var Q=Y.computedYAdjust;if(Q===undefined){var E=Y.get("lineHeight");if(E=="normal"){E="1em"}else{if(!isNaN(E)){E+="em"}}Y.computedYAdjust=Q=0.5*(a(ad,E)-parseFloat(ai.height))}if(Q){ai.marginTop=Math.ceil(Q)+"px";ai.marginBottom=Q+"px"}}return y}})());Cufon.registerEngine("canvas",(function(){var b=document.createElement("canvas");if(!b||!b.getContext||!b.getContext.apply){return}b=null;var a=Cufon.CSS.supports("display","inline-block");var e=!a&&(document.compatMode=="BackCompat"||/frameset|transitional/i.test(document.doctype.publicId));var f=document.createElement("style");f.type="text/css";f.appendChild(document.createTextNode(("cufon{text-indent:0;}@media screen,projection{cufon{display:inline;display:inline-block;position:relative;vertical-align:middle;"+(e?"":"font-size:1px;line-height:1px;")+"}cufon cufontext{display:-moz-inline-box;display:inline-block;width:0;height:0;overflow:hidden;text-indent:-10000in;}"+(a?"cufon canvas{position:relative;}":"cufon canvas{position:absolute;}")+"}@media print{cufon{padding:0;}cufon canvas{display:none;}}").replace(/;/g,"!important;")));document.getElementsByTagName("head")[0].appendChild(f);function d(p,h){var n=0,m=0;var g=[],o=/([mrvxe])([^a-z]*)/g,k;generate:for(var j=0;k=o.exec(p);++j){var l=k[2].split(",");switch(k[1]){case"v":g[j]={m:"bezierCurveTo",a:[n+~~l[0],m+~~l[1],n+~~l[2],m+~~l[3],n+=~~l[4],m+=~~l[5]]};break;case"r":g[j]={m:"lineTo",a:[n+=~~l[0],m+=~~l[1]]};break;case"m":g[j]={m:"moveTo",a:[n=~~l[0],m=~~l[1]]};break;case"x":g[j]={m:"closePath"};break;case"e":break generate}h[g[j].m].apply(h,g[j].a)}return g}function c(m,k){for(var j=0,h=m.length;j<h;++j){var g=m[j];k[g.m].apply(k,g.a)}}return function(V,w,P,t,C,W){var k=(w===null);if(k){w=C.getAttribute("alt")}var A=V.viewBox;var m=P.getSize("fontSize",V.baseSize);var B=0,O=0,N=0,u=0;var z=t.textShadow,L=[];if(z){for(var U=z.length;U--;){var F=z[U];var K=m.convertFrom(parseFloat(F.offX));var I=m.convertFrom(parseFloat(F.offY));L[U]=[K,I];if(I<B){B=I}if(K>O){O=K}if(I>N){N=I}if(K<u){u=K}}}var Z=Cufon.CSS.textTransform(w,P).split("");var E=V.spacing(Z,~~m.convertFrom(parseFloat(P.get("letterSpacing"))||0),~~m.convertFrom(parseFloat(P.get("wordSpacing"))||0));if(!E.length){return null}var h=E.total;O+=A.width-E[E.length-1];u+=A.minX;var s,n;if(k){s=C;n=C.firstChild}else{s=document.createElement("cufon");s.className="cufon cufon-canvas";s.setAttribute("alt",w);n=document.createElement("canvas");s.appendChild(n);if(t.printable){var S=document.createElement("cufontext");S.appendChild(document.createTextNode(w));s.appendChild(S)}}var aa=s.style;var H=n.style;var j=m.convert(A.height);var Y=Math.ceil(j);var M=Y/j;var G=M*Cufon.CSS.fontStretch(P.get("fontStretch"));var J=h*G;var Q=Math.ceil(m.convert(J+O-u));var o=Math.ceil(m.convert(A.height-B+N));n.width=Q;n.height=o;H.width=Q+"px";H.height=o+"px";B+=A.minY;H.top=Math.round(m.convert(B-V.ascent))+"px";H.left=Math.round(m.convert(u))+"px";var r=Math.max(Math.ceil(m.convert(J)),0)+"px";if(a){aa.width=r;aa.height=m.convert(V.height)+"px"}else{aa.paddingLeft=r;aa.paddingBottom=(m.convert(V.height)-1)+"px"}var X=n.getContext("2d"),D=j/A.height;X.scale(D,D*M);X.translate(-u,-B);X.save();function T(){var x=V.glyphs,ab,l=-1,g=-1,y;X.scale(G,1);while(y=Z[++l]){var ab=x[Z[l]]||V.missingGlyph;if(!ab){continue}if(ab.d){X.beginPath();if(ab.code){c(ab.code,X)}else{ab.code=d("m"+ab.d,X)}X.fill()}X.translate(E[++g],0)}X.restore()}if(z){for(var U=z.length;U--;){var F=z[U];X.save();X.fillStyle=F.color;X.translate.apply(X,L[U]);T()}}var q=t.textGradient;if(q){var v=q.stops,p=X.createLinearGradient(0,A.minY,0,A.maxY);for(var U=0,R=v.length;U<R;++U){p.addColorStop.apply(p,v[U])}X.fillStyle=p}else{X.fillStyle=P.get("color")}T();return s}})());
Cufon.replace('div#header div#main-navigation ul.nav > li > a, ' +
        'div#main div.submission-form h2, ' +
        'div#register-popup div.inner h2, ' +
        'div#projects div#latest ul li div.description h2, ' +
        'div#main div.page-info h2, ' +
        'div.box2 div.box2-bottom div.user-area div.info h2, ' +
        'div#content div.title h2, div#content div.project-details h2, ' +
        'div#content div.project-details div.metadata div.date p, ' +
        'div#content div.project-details div.seasons-cup, ' +
        'ul.rank-list div.rank p , div#content div.brand-section h2, ul.project-list div.rank p, ' +
        'div#new-topic-popup div.inner h2, ' +
        'div#content div.box3 div.box3-bottom div.column1 h2, ' +
        '.jCal .month, ' +
        '.jCalMo .day, ' +
        'table.edit-submissions tr.details td.actions, ' +
        'div#content div.project-details h2, ' +
        'div#content div.project-details p span, ' +
        '.desk .heading h1 a, ' +
        '.wall-nav ul li a',
        {
            fontFamily: 'Rockwell Std',
            hover: 'True'
        });

Cufon.replace('div#header div#top div.user-area p', { fontFamily: 'Covered By Your Grace', hover: 'True' });


/*!
 * The following copyright notice may not be removed under any circumstances.
 * 
 * Copyright:
 * Copyright (c) 2010, Kimberly Geswein (kimberlygeswein.com)
 * 
 * Manufacturer:
 * Kimberly Geswein
 * 
 * Designer:
 * Kimberly Geswein
 * 
 * License information:
 *  http://scripts.sil.org/OFL
 */
Cufon.registerFont({"w":144,"face":{"font-family":"Covered By Your Grace","font-weight":400,"font-stretch":"normal","units-per-em":"360","panose-1":"0 0 0 0 0 0 0 0 0 0","ascent":"288","descent":"-72","bbox":"-41 -330.13 355.118 135.32","underline-thickness":"0","underline-position":"0","unicode-range":"U+0020-U+2122"},"glyphs":{" ":{},"\u00a0":{},"X":{"d":"153,-21v10,11,-4,27,-19,18v-25,-15,-37,-42,-63,-56v-12,15,-11,48,-32,53v-18,0,-17,-16,-12,-28r24,-52v-16,-25,-34,-49,-45,-76v0,-16,26,-17,31,-4v8,19,15,30,26,47v12,-25,13,-50,23,-83v4,-13,30,-12,27,7v-6,38,-19,72,-28,106","w":164},"W":{"d":"146,0v-7,0,-14,-2,-16,-6r-46,-116v-4,25,-2,55,-5,82v-1,12,-26,14,-29,3r-45,-157v1,-14,26,-14,30,0r19,70v7,-21,10,-55,17,-80v5,-7,24,-10,26,2r27,108r19,-149v2,-16,34,-14,30,3v-17,65,-21,159,-27,240","w":181},"Y":{"d":"98,15v-25,0,-17,-27,-14,-47v3,-22,9,-42,7,-68v-32,-22,-69,-43,-89,-78v-1,-13,22,-14,29,-7v17,20,40,42,63,55v8,-31,10,-67,16,-100v12,-16,39,1,28,22r-26,205v0,10,-2,18,-14,18","w":149},"Z":{"d":"249,-25v-80,-5,-140,24,-215,23v-18,-16,3,-30,13,-46r63,-99v-31,0,-53,9,-82,11v-8,-3,-19,-5,-20,-14v-1,-13,15,-12,27,-13r96,-11v18,-3,25,18,12,27r-73,116v53,-1,115,-16,171,-21v16,-2,22,20,8,27","w":262},"!":{"d":"34,-12v-2,14,-26,15,-28,0v1,-6,5,-12,14,-12v7,0,15,4,14,12xm8,-263v9,-14,30,-4,25,15r0,119v0,8,-4,16,-13,16v-16,1,-15,-17,-12,-30r0,-120","w":42},"\"":{"d":"71,-143v-27,-8,-10,-59,-19,-95v-2,-7,3,-11,10,-10v25,9,14,63,17,100v-1,3,-4,4,-8,5xm30,-145v-28,-12,-11,-67,-8,-97v17,-2,20,5,20,20r-5,71v0,4,-3,6,-7,6","w":88},"#":{"d":"79,-123v-29,-2,14,66,-27,53v-3,-18,3,-43,-24,-31v-4,0,-12,-1,-13,-4v-2,-26,41,-9,26,-50v-12,5,-34,19,-37,-3v10,-16,42,-13,38,-45v1,-12,-5,-35,11,-31v17,1,6,29,12,40v26,1,-2,-51,23,-52v16,0,13,21,13,38v7,0,22,-8,22,3v-5,13,-30,12,-21,38v18,-3,27,-20,46,-18v-1,26,-36,31,-46,48v0,20,7,38,5,61v-2,8,-19,6,-21,-1xm77,-174v-11,-4,-17,14,-12,28v2,5,8,-4,12,-4r0,-24","w":155},"$":{"d":"87,-11v-2,15,-25,13,-25,-2v-5,-20,-8,-42,-11,-64v-8,-1,-19,-3,-21,-10v-2,-9,11,-9,20,-8v-1,-16,1,-35,-3,-48v-26,3,-55,-13,-38,-40v10,-30,39,-34,39,-75v0,-23,4,-83,30,-55r-4,57v15,-8,45,-1,30,16v-14,1,-27,5,-32,16v1,19,-2,42,1,59v20,2,43,3,41,27v-1,26,-25,38,-37,52v1,28,7,50,10,75xm77,-143v-7,1,-6,23,0,24v6,-7,15,-11,16,-22xm47,-197v-7,4,-23,23,-12,31v17,5,11,-17,12,-31","w":120},"'":{"d":"23,-145v-25,-8,-10,-48,-12,-77v5,-16,27,-10,25,7v-2,25,1,58,-13,70","w":45},"(":{"d":"65,0v-106,-22,-44,-206,0,-254v11,-7,24,8,16,21v-27,40,-47,95,-49,159v-1,38,24,51,43,68v0,5,-5,6,-10,6","w":90},")":{"d":"54,-273v66,61,31,289,-48,264v50,-47,77,-178,27,-250v-9,-13,9,-25,21,-14","w":94},"+":{"d":"86,-86v-8,17,14,58,-15,57v-15,-6,-3,-36,-12,-49v-20,3,-63,18,-53,-16v17,-3,39,-4,54,-9r6,-64v0,-9,6,-8,15,-8v14,11,-3,48,5,66v20,-1,46,-15,62,-4v4,16,-19,10,-27,19xm48,-105v2,0,4,0,3,2v-2,0,-4,0,-3,-2","w":153},",":{"d":"29,9v3,19,-19,28,-22,8v-3,-22,6,-37,6,-59v1,-5,4,-11,11,-11v27,1,8,44,5,62","w":46},"-":{"d":"32,-78v-10,1,-18,-13,-9,-20v29,-8,66,-7,98,-12v20,-2,19,20,3,22","w":143},".":{"d":"37,-17v3,20,-28,22,-29,4v0,-17,24,-17,29,-4","w":45},"\/":{"d":"30,13v-3,12,-25,9,-23,-3r61,-326v3,-15,27,-13,24,5","w":93},"0":{"d":"51,0v-61,-6,-39,-100,-33,-151v9,-16,23,-37,47,-36v41,3,45,47,45,91v0,47,-16,88,-59,96xm64,-172v-37,8,-18,49,-29,86v2,23,-5,56,15,61v35,-14,39,-59,36,-109v-1,-16,-6,-36,-22,-38","w":118},"1":{"d":"35,-18v2,21,-24,23,-26,5v-6,-61,4,-117,6,-175v-4,-23,28,-26,28,-6v0,24,-5,46,-7,70v-3,35,-4,71,-1,106","w":49},"2":{"d":"162,-57v2,11,-9,13,-17,12v-38,11,-65,33,-102,45v-8,0,-16,-7,-14,-18v23,-39,56,-70,57,-131v-34,0,-43,56,-78,35v3,-30,45,-47,69,-62v21,-7,38,4,37,26v-2,42,-20,76,-36,105v24,-8,43,-20,70,-24v7,2,15,2,14,12","w":167},"3":{"d":"71,0v-11,3,-21,-17,-8,-23v31,-6,43,-29,43,-67v0,-7,-5,-11,-11,-10v-24,1,-35,21,-59,22v-27,-9,2,-37,10,-48v7,-10,27,-30,25,-39v-23,0,-31,20,-52,21v-7,0,-14,-3,-14,-10v12,-28,56,-35,90,-41v26,3,6,38,-2,47v-6,8,-11,17,-17,26v36,-6,57,8,56,44v-1,43,-24,70,-61,78","w":140},"4":{"d":"110,-15v1,16,-21,20,-27,6v-4,-24,-1,-56,-9,-77v-25,-2,-64,25,-70,-8v30,-35,44,-84,77,-114v10,1,21,2,21,12r0,75v14,-9,49,-8,31,16v-10,5,-24,5,-31,13v0,26,7,51,8,77xm46,-105v9,-3,23,-3,30,-8v-1,-15,3,-35,-2,-46v-9,19,-21,33,-28,54"},"5":{"d":"21,-157v-2,-18,24,-19,29,-6v29,-2,52,-9,80,-12v9,0,13,4,13,13v-16,25,-68,14,-99,28v-2,17,-7,32,-8,51v19,-12,55,-32,79,-12v11,41,-33,66,-51,91v-14,12,-33,-7,-18,-20v15,-13,41,-37,39,-55v-29,4,-36,30,-64,33v-20,-2,-10,-31,-12,-48v4,-21,6,-44,12,-63","w":150},"6":{"d":"39,41v-33,-5,6,-49,-22,-65v-23,-47,12,-104,17,-153v2,-14,26,-35,32,-9v-10,41,-40,101,-26,150v15,-22,26,-52,56,-59v36,24,-5,88,-39,92v-12,13,4,47,-18,44xm87,-57v-5,-3,-23,16,-17,24v11,-1,20,-12,17,-24","w":114},"7":{"d":"98,-9v-4,15,-31,10,-28,-7v-3,-62,15,-111,15,-165v-20,6,-45,16,-72,15v-16,-8,-9,-31,13,-27v30,-3,52,-13,77,-21v9,0,18,7,16,18r-21,145r0,42","w":127},"8":{"d":"65,0v-46,0,-29,-64,-19,-94v-28,-15,-58,-60,-20,-88v19,-22,71,-22,71,14v0,26,-18,45,-21,69v10,16,31,28,31,57v0,25,-19,42,-42,42xm65,-74v-7,7,-10,24,-10,36v0,9,0,17,9,16v30,-3,16,-43,1,-52xm57,-117v10,-11,17,-36,17,-55v-23,-7,-36,7,-43,24v3,13,17,24,26,31","w":116},"9":{"d":"4,-170v0,-43,36,-92,80,-70v7,7,5,17,15,19v12,57,-9,140,-9,212v-4,15,-30,9,-28,-6v7,-49,8,-106,11,-159v-15,11,-20,34,-42,36v-20,2,-27,-13,-27,-32xm29,-166v16,-15,45,-39,35,-61v-24,5,-30,37,-35,61","w":113},":":{"d":"39,-50v-3,14,-33,14,-31,-4v0,-6,5,-16,11,-15v10,2,19,8,20,19xm36,-118v-8,8,-26,2,-27,-8v-1,-9,10,-13,18,-13v7,2,17,14,9,21","w":47},";":{"d":"9,-29v9,-14,29,-2,26,12v-5,35,-9,70,-22,98v-11,5,-24,-5,-19,-18v5,-31,16,-55,15,-92xm24,-100v14,2,23,24,7,28v-20,3,-25,-24,-7,-28","w":47},"<":{"d":"149,-52v0,42,-63,-1,-108,12v-25,7,-49,-13,-27,-31v23,-31,44,-64,65,-97v1,-23,32,-32,36,-4v-21,36,-49,66,-67,106v31,0,61,1,89,5v2,5,9,6,12,9","w":159},"A":{"d":"165,-158v8,-5,13,6,9,13v-10,18,-35,22,-50,35r26,57v2,14,-21,17,-27,7r-24,-50v-22,10,-38,29,-62,37v-8,17,8,57,-16,59v-12,1,-13,-10,-12,-22v5,-76,16,-148,25,-220v-4,-24,31,-23,38,-7v18,35,29,75,44,114v14,-8,34,-15,49,-23xm55,-217r-15,127v17,-7,32,-21,49,-30v-10,-34,-21,-67,-34,-97","w":178},"B":{"d":"80,-4v-10,9,-35,4,-41,-5r-8,-62r-4,-63v-32,1,-14,-27,-2,-35v3,-22,-10,-61,13,-63v22,-3,11,24,20,33v16,-8,28,-21,54,-19v30,10,1,51,-7,65v36,2,82,11,67,52v-17,46,-59,67,-92,97xm130,-81v16,-12,28,-48,-5,-48v-35,0,-50,19,-67,37v3,20,3,43,8,61v27,-11,43,-34,64,-50xm57,-136v13,-15,36,-36,35,-54v-13,8,-26,17,-35,27r0,27","w":181},"C":{"d":"91,-28v-25,37,-94,36,-83,-26v10,-59,6,-129,43,-160v20,-16,61,-5,67,17v0,6,-4,13,-12,13v-14,0,-14,-15,-29,-15v-16,1,-22,16,-24,31v-4,45,-15,89,-16,134v0,6,6,12,11,7v36,-24,55,-62,73,-103v10,-6,25,1,24,13v-13,35,-34,60,-54,89","w":151},"D":{"d":"71,-2v-15,8,-27,-9,-17,-20v-17,-35,-2,-100,-7,-156v-12,3,-27,17,-41,6v-2,-26,30,-22,42,-36v-7,-25,21,-27,31,-13v1,2,0,4,0,6v53,1,99,9,97,65v-3,77,-67,104,-105,148xm149,-146v2,-36,-35,-52,-70,-43r-1,146v29,-27,68,-51,71,-103","w":183},"E":{"d":"126,-255v13,-4,18,17,7,22v-29,16,-64,25,-89,44v1,17,2,36,5,50r53,-42v13,1,12,24,2,29v-16,23,-51,28,-55,63v2,16,1,36,5,50v25,-24,45,-60,71,-85v13,-4,22,8,12,20v-27,31,-45,71,-76,97v-6,5,-13,7,-20,7v-32,0,-13,-58,-24,-90v-11,-14,8,-56,-3,-92v-11,-19,-4,-53,24,-38v32,-9,58,-26,88,-35","w":148},"F":{"d":"59,-18v5,16,-24,26,-29,10v-7,-24,0,-62,-17,-76v9,-28,-4,-73,-4,-105v0,-22,25,-10,33,-3v22,-10,43,-30,71,-34v12,-1,6,16,2,19v-20,29,-70,20,-70,75v0,7,1,14,4,21r89,-41r8,4v-12,41,-66,42,-94,67","w":150},"G":{"d":"156,-142v18,3,11,21,-3,25v-2,47,-7,105,7,145v0,17,-25,19,-29,3v-6,-26,-9,-61,-10,-90v-15,20,-23,52,-57,53v-62,1,-70,-81,-36,-122v27,-32,44,-74,96,-80v11,-4,16,9,9,15v-55,22,-95,70,-98,140v4,10,14,23,28,23v30,-10,38,-44,52,-70v-15,3,-46,8,-42,-14v2,-11,20,-9,31,-11v19,-3,33,-14,52,-17","w":176},"H":{"d":"109,0v-37,-4,-19,-62,-23,-99r-41,9r1,65v0,9,-2,16,-13,14v-31,-5,-5,-68,-25,-93v9,-31,-1,-85,1,-126v10,-12,32,-2,28,16r3,94v5,12,39,-2,48,-6r-2,-76r-6,-69v14,-18,32,-1,30,23v11,71,1,160,9,235v1,6,-3,14,-10,13","w":129},"I":{"d":"32,0v-37,-17,-11,-99,-24,-156v3,-17,-9,-51,12,-49v32,4,16,58,18,92r7,99v1,11,-4,13,-13,14","w":54},"J":{"d":"103,-57v5,35,-12,74,-35,49v-22,-23,-44,-46,-63,-73v-7,-22,16,-29,21,-8r46,55v6,-58,-2,-131,0,-196v1,-12,25,-12,28,0","w":113},"K":{"d":"58,-50v5,21,8,63,-20,45v-15,-9,-2,-42,-18,-51v-9,-8,3,-16,2,-25r-13,-132v1,-20,31,-12,31,2v7,27,-1,70,10,95v31,-28,51,-65,63,-108v39,-7,20,35,11,54v-16,34,-48,63,-65,93v39,-11,95,-12,140,-9v10,1,6,18,-1,21v-45,5,-100,1,-140,15","w":208},"L":{"d":"35,0v-27,2,-24,-28,-24,-54r2,-108v3,-25,-14,-67,8,-76v49,16,3,136,24,201v34,-11,59,-32,98,-36v15,-2,15,17,3,23v-37,18,-77,30,-111,50","w":157},"M":{"d":"40,-41v1,22,3,49,-22,39v-2,-2,-4,-5,-6,-9r-3,-206v2,-19,25,-11,31,0r58,109r45,-143v3,-4,5,-9,11,-9v40,13,17,86,28,144v4,27,7,55,16,77v2,17,-23,24,-29,9v-17,-44,-13,-107,-20,-159v-12,35,-20,74,-28,113v2,20,-25,23,-30,6v-17,-29,-37,-55,-52,-86","w":205},"N":{"d":"38,-11v-2,17,-27,11,-30,-2r4,-204v15,-19,35,3,31,24r66,95v-3,-25,-6,-50,-7,-76r-3,-95v18,-14,26,11,26,32v0,70,9,141,24,197v4,16,-20,20,-28,9r-80,-115","w":156},"O":{"d":"56,0v-71,0,-51,-125,-40,-190v4,-23,10,-49,43,-44v56,9,48,84,48,150v0,38,-13,84,-51,84xm35,-97v1,21,-4,66,22,70v40,-34,24,-137,5,-183v-20,25,-30,66,-27,113","w":116},"P":{"d":"87,-246v32,-30,135,-21,102,42v-25,45,-70,69,-110,99v-4,32,6,58,6,91v0,9,-4,15,-12,14v-33,-11,-14,-73,-28,-111v4,-17,4,-53,0,-70v-5,14,-37,25,-39,1v11,-16,28,-25,41,-38v-6,-43,26,-14,40,-28xm149,-239v-34,-1,-55,17,-73,33v2,22,-3,50,2,68v30,-31,78,-43,89,-92v-1,-7,-10,-9,-18,-9","w":184},"Q":{"d":"202,24v9,12,-9,31,-21,18r-82,-85v-14,12,-23,38,-51,37v-74,-26,-23,-157,0,-203v11,-3,23,4,23,16v62,-20,51,71,39,119xm91,-174v-47,10,-46,70,-52,120v2,8,4,17,9,22v16,-6,34,-29,20,-45v0,-10,6,-10,13,-11v18,-13,16,-60,10,-86","w":182},"R":{"d":"22,-136v-28,-14,10,-39,-3,-75v5,-17,33,-9,31,9v21,-19,44,-36,82,-39v50,-4,38,55,15,76v-19,17,-61,48,-84,67r178,11v21,-4,35,16,17,28v-62,-4,-132,-20,-201,-10v-3,22,16,61,-7,69v-35,-3,-11,-65,-27,-89v-1,-14,2,-30,-1,-47xm136,-215v-43,2,-58,28,-86,50v3,13,-6,49,12,34v29,-24,70,-36,78,-81v0,-2,-2,-3,-4,-3","w":270},"S":{"d":"144,-188v-8,28,-55,17,-77,35v-17,4,-48,27,-16,35v39,8,93,6,124,22v31,47,-50,85,-101,96v-27,-12,2,-27,13,-31v27,-7,63,-26,69,-47v-50,-16,-113,-6,-145,-32v-19,-66,68,-75,122,-90v7,-1,11,7,11,12","w":193},"T":{"d":"104,0v-5,-1,-14,-6,-14,-12r-17,-168v-19,4,-34,12,-54,15v-14,1,-22,-22,-6,-27r56,-18v3,-14,19,-12,28,-5r65,-15v16,-1,28,21,8,26r-67,17r15,171v0,10,-4,16,-14,16","w":157},"U":{"d":"133,47v-30,-10,-18,-68,-29,-97v-12,22,-26,50,-55,54v-57,-12,-27,-102,-28,-156v0,-16,24,-17,30,-5v3,45,-16,96,-1,132v30,2,38,-40,53,-62r0,-47v-5,-29,4,-74,30,-42v-2,76,13,145,13,209v0,8,-4,13,-13,14","w":148},"V":{"d":"135,-49v-4,22,-2,63,-30,44v-10,-7,-9,-26,-15,-36r-75,-127v-17,-8,-10,-41,11,-29v30,35,54,88,82,126r39,-139v9,-11,31,-2,28,11","w":183},"[":{"d":"40,39v-36,7,-19,-50,-21,-81r-11,-216v3,-6,10,-10,20,-10v29,-5,42,-23,71,-28v20,4,4,20,-4,24r-58,26r8,130v5,40,-1,86,4,124v29,-5,47,-24,75,-28v12,-2,19,13,11,21"},"\\":{"d":"185,-32v16,11,9,41,-14,30v-3,-1,-6,-3,-7,-6r-160,-301v0,-17,24,-15,31,-3","w":197},"]":{"d":"141,2v-1,35,-53,5,-81,21v-9,-1,-14,-6,-16,-14v8,-18,44,-12,69,-12r-32,-278v-26,-1,-67,18,-77,-7v8,-25,57,-12,89,-19v24,-5,17,20,20,45","w":147},"^":{"d":"111,-243v1,14,-21,12,-25,3v-8,-10,-16,-28,-25,-34v-13,17,-21,62,-50,41v7,-26,28,-45,36,-71v34,-14,43,40,64,61","w":124},"_":{"d":"28,0v-16,2,-28,-15,-17,-24r184,-34v10,6,13,25,-3,28","w":209},"a":{"d":"119,0v-36,0,-17,-61,-29,-98v-20,28,-26,78,-69,83v-7,-1,-15,-5,-15,-12v0,-86,18,-161,93,-175v32,8,24,55,26,97r5,94v0,7,-5,11,-11,11xm82,-168v-27,20,-39,58,-43,101v28,-25,41,-55,43,-101","w":140},"b":{"d":"40,0v-11,-1,-23,-4,-23,-17r0,-91v-15,-9,-1,-21,-2,-39r-4,-114v9,-20,30,-4,32,12v3,26,-3,62,3,87v19,-21,96,-25,87,22v-12,61,-58,99,-93,140xm95,-155v-49,4,-54,53,-47,110v24,-21,44,-58,53,-94v0,-7,-1,-13,-6,-16","w":135},"c":{"d":"51,0v-74,-5,-38,-123,-2,-144v16,-16,45,-10,41,20v-2,15,6,35,-10,36v-20,3,-15,-20,-18,-38v-16,23,-33,70,-15,101v24,-9,32,-39,48,-56v10,-3,23,1,23,11v-7,32,-36,62,-67,70","w":124},"d":{"d":"143,33v3,18,-11,22,-24,15v-4,-2,-6,-4,-7,-8v-6,-31,-6,-68,-16,-96v-10,19,-27,47,-55,50v-68,-8,-21,-105,7,-125v11,-8,24,-17,41,-14r-4,-114v8,-15,30,-1,29,12v-3,102,16,184,29,280xm35,-34v32,5,66,-48,52,-80v-34,-8,-57,39,-52,80"},"e":{"d":"124,-108v11,-17,42,-7,29,18v-27,31,-58,65,-97,86v-34,18,-53,-24,-41,-61v-6,-3,-15,-18,-3,-21v27,-15,14,-77,57,-77v27,0,49,42,19,59v-16,9,-28,24,-42,35v-1,13,-6,28,-3,41v32,-21,60,-47,81,-80xm54,-112v9,-6,36,-16,19,-27v-9,5,-14,20,-19,27","w":156},"h":{"d":"43,0v-17,0,-20,-12,-21,-31r-13,-225v3,-17,30,-10,30,5r8,152v11,-32,60,-81,77,-26v10,32,8,74,3,119v-8,-1,-20,3,-22,-5v1,-39,15,-92,-16,-104v-27,15,-35,63,-36,104v-1,6,-3,11,-10,11","w":136},"i":{"d":"44,0v-8,-2,-20,-4,-19,-13r-17,-155v1,-14,28,-10,30,0v8,51,5,110,18,156v1,5,-7,13,-12,12xm24,-254v-14,3,-28,-21,-9,-22v14,-4,29,21,9,22","w":60},"k":{"d":"133,-65v-24,8,-60,-7,-90,-7r1,84v0,11,-2,14,-13,14v-40,-16,-19,-102,-19,-166r0,-95v-1,-4,3,-11,8,-10v10,1,20,3,21,14v2,33,-4,74,2,103r55,-69v10,-9,31,1,25,17r-69,83v24,12,74,-5,84,22v0,5,-2,8,-5,10","w":140},"l":{"d":"44,-35v0,17,3,36,-14,35v-31,-4,-15,-49,-18,-82v-2,-27,0,-53,0,-79v0,-26,-1,-52,-4,-79v0,-8,4,-12,13,-11v10,0,21,7,20,18","w":53},"m":{"d":"19,-18v8,-55,-37,-140,13,-145v20,5,6,37,14,59v13,-21,21,-46,37,-65v37,-14,25,39,33,68v11,-23,7,-61,33,-70v22,2,22,26,26,47r21,107v-1,10,-13,15,-23,8v-5,-3,-7,-6,-8,-10v-7,-28,-9,-61,-18,-86r-24,90v-16,17,-40,-4,-35,-31r-6,-67v-15,30,-24,66,-30,105v-6,16,-35,5,-33,-10","w":204},"n":{"d":"138,-17v2,15,-9,21,-21,14v-29,-20,-19,-83,-40,-112v-19,26,-25,80,-42,111v-10,5,-26,-1,-27,-12v6,-42,3,-100,3,-148v0,-8,3,-14,11,-14v30,1,13,47,18,73v11,-25,20,-93,56,-59v19,44,21,105,42,147","w":145},"o":{"d":"49,0v-64,-6,-34,-95,-27,-144v2,-18,30,-6,32,6v39,-13,57,26,57,63v0,37,-26,70,-62,75xm74,-113v-34,-11,-44,57,-28,83v32,-2,53,-58,28,-83","w":118},"p":{"d":"42,96v-8,-1,-19,-4,-20,-14r-3,-145v-9,-3,-24,-12,-14,-23v4,-11,17,-14,14,-31v-5,-24,15,-31,30,-20v19,-13,35,-29,64,-29v50,0,18,72,2,94v-17,24,-38,48,-58,67r-3,87v-1,7,-4,15,-12,14xm63,-114v-19,10,-11,50,-10,73v22,-23,51,-45,57,-82v2,-13,-5,-18,-18,-12v-7,3,-17,10,-29,21","w":148},"r":{"d":"109,-157v-42,30,-69,77,-55,151v-7,13,-29,1,-30,-9r-13,-153v2,-13,28,-7,29,3r3,36v21,-20,34,-48,63,-60v8,0,19,6,18,15v0,9,-10,13,-15,17","w":125},"s":{"d":"84,-1v-21,7,-30,-18,-12,-29v10,-12,22,-22,27,-39v-31,12,-116,19,-86,-30v26,-26,51,-54,95,-59v14,-2,25,14,13,23v-41,-2,-61,25,-80,49v27,-3,53,-11,80,-10v9,1,16,5,16,14v-9,37,-34,49,-53,81"},"t":{"d":"73,0v-39,-4,-18,-67,-31,-103v-10,4,-36,10,-36,-8v0,-23,41,-8,34,-39v1,-35,-5,-70,-4,-105v0,-10,4,-10,13,-11v31,11,11,73,21,119v23,-6,41,-22,67,-24v16,-1,20,24,4,27v-22,9,-48,16,-68,27v-2,39,4,70,9,103v-1,3,-3,15,-9,14","w":155},"u":{"d":"112,2v2,16,-25,15,-27,4r-7,-39v-7,14,-11,32,-30,34v-60,-5,-39,-90,-40,-148v0,-10,9,-13,17,-15v40,7,3,50,7,85v2,19,0,42,12,48v37,-18,35,-75,37,-132v4,-12,24,-2,25,7","w":123},"v":{"d":"80,0v-28,1,-27,-30,-35,-50r-39,-96v6,-20,33,-7,33,9v10,23,18,49,30,70v9,-31,22,-59,29,-93v3,-18,32,-13,31,4v-19,49,-32,104,-49,156","w":136},"g":{"d":"94,134v-25,0,-71,9,-69,-20v7,-13,26,3,42,-2v84,0,34,-114,32,-178v-20,20,-28,60,-67,60v-52,0,-12,-80,2,-104v13,-23,26,-49,55,-54v14,1,34,5,34,18v0,81,24,141,22,221v-1,36,-19,52,-51,59xm90,-113v6,-21,-11,-25,-19,-8v-12,25,-32,46,-37,77v-1,4,0,7,3,8v23,-17,43,-46,53,-77","w":146},"j":{"d":"21,81v-24,3,-54,-5,-62,-23v3,-38,27,-2,42,1v34,-4,35,-50,31,-86r-12,-137v-1,-18,27,-14,31,-2v0,85,46,215,-30,247xm35,-250v-3,15,-32,9,-31,-6v3,-16,33,-9,31,6","w":70},"q":{"d":"95,-56v-16,20,-19,52,-53,52v-24,0,-34,-21,-34,-46v0,-60,37,-101,99,-106v19,-2,27,12,19,29v1,37,-2,69,-2,105v0,40,6,76,5,117v-1,8,-3,18,-13,16v-27,-4,-22,-46,-22,-77xm95,-134v-33,15,-57,53,-61,94v28,6,54,-59,61,-94","w":138},"w":{"d":"91,-68v-16,19,3,81,-36,59v-17,-34,-34,-104,-47,-151v8,-13,32,-3,32,10v8,22,12,49,22,69v11,-18,-1,-55,25,-59v30,9,21,55,39,77r14,-99v5,-14,29,-7,30,4r-20,145v-32,21,-47,-33,-59,-55","w":178},"x":{"d":"37,46v-40,-22,22,-80,19,-119v-20,-13,-34,-35,-50,-53v-1,-8,7,-12,14,-12v23,1,28,30,46,37v5,-22,16,-47,22,-70v6,-10,30,-4,26,10r-25,85v19,19,44,32,59,54v-19,32,-46,-20,-67,-24v-23,22,-13,79,-44,92","w":151},"y":{"d":"99,120v-48,-4,-4,-97,-33,-137r-58,-80v-3,-9,1,-15,9,-14v36,6,40,47,61,67r-1,-105v0,-6,4,-11,12,-11v15,1,18,11,18,27r4,243v0,7,-4,11,-12,10","w":120},"z":{"d":"94,-9v-16,5,-52,18,-49,-9v19,-43,43,-81,59,-127v-31,1,-78,39,-96,0v14,-17,56,-9,82,-24v22,-4,59,-5,48,23r-46,109v47,-18,98,-41,154,-47v11,0,21,15,8,20v-50,20,-115,27,-160,55","w":264},"{":{"d":"83,30v-56,-14,-7,-104,-31,-158v-13,8,-44,24,-48,-1v8,-18,38,-17,33,-46v-11,-70,5,-143,75,-147v15,-1,26,17,11,22v-69,1,-65,80,-58,147v33,22,20,98,20,151v11,-2,22,-26,33,-12v4,23,-15,41,-35,44","w":137},"|":{"d":"15,-134v0,-65,-3,-125,-7,-186v-1,-15,17,-10,23,-6v24,79,5,216,20,311v1,9,-8,15,-16,15v-20,-1,-19,-26,-18,-47v0,-29,-2,-58,-2,-87","w":58},"}":{"d":"47,-239v0,-31,-38,-20,-42,-44v21,-23,77,-3,74,35v-4,39,-18,78,-29,110v23,-5,27,25,7,31v-11,3,-19,21,-5,28v21,9,44,17,44,46v0,40,-47,89,-88,66v-9,-18,22,-16,33,-24v11,-9,28,-25,27,-45v-7,-29,-53,-22,-53,-58v6,-17,10,-21,5,-40v4,-39,27,-60,27,-105","w":104},"~":{"d":"45,-198v-12,4,-18,48,-31,22v4,-24,16,-61,40,-50v10,11,15,26,30,32v12,-6,11,-28,25,-32v6,0,6,7,7,12v-2,20,-10,41,-28,46v-21,-2,-29,-20,-43,-30","w":143},"f":{"d":"127,-155v-16,32,-65,30,-77,60r27,84v3,13,-15,21,-25,12v-19,-16,-16,-54,-29,-77v-22,5,-25,-24,-7,-28v4,-60,-34,-163,45,-162v16,-4,23,21,5,21v-39,0,-23,73,-22,114v26,-8,39,-29,68,-34v6,-1,17,3,15,10","w":103},"@":{"d":"197,-32v-56,45,-221,48,-184,-66v17,-54,51,-104,95,-132v10,-6,21,-9,31,-9v46,0,37,70,39,122v0,27,-7,49,-33,52v-31,4,-27,-56,-42,-22v-5,12,-16,24,-33,25v-45,-27,15,-97,52,-104v38,0,10,54,24,76v13,-12,8,-40,10,-63v1,-26,0,-50,-21,-55v-59,20,-91,75,-98,140v-5,45,56,52,95,40v36,-20,80,-35,107,-60v12,-11,34,8,17,20v-20,14,-36,27,-59,36xm103,-127v-8,3,-28,18,-22,29v10,-4,27,-21,22,-29","w":267},"?":{"d":"78,-1v-20,2,-24,-28,-4,-29v20,-3,29,30,4,29xm77,-119v-17,18,5,55,-34,36v-20,-48,43,-65,47,-115v-32,-1,-45,22,-69,30v-9,1,-24,-12,-14,-19v24,-18,46,-38,87,-38v61,12,1,88,-17,106","w":128},">":{"d":"66,-31v-15,16,-41,-4,-23,-17v2,-3,6,-5,9,-6r58,-84v-33,-15,-71,-24,-101,-42v-8,-10,3,-17,14,-17v35,20,79,30,118,46v14,23,-18,36,-24,56v-16,22,-32,44,-51,64","w":151},"=":{"d":"124,-99v19,-4,21,18,5,24v-37,4,-62,35,-101,26v-4,-2,-6,-7,-6,-11v27,-21,63,-32,102,-39xm78,-104v-23,4,-57,26,-72,2v21,-30,77,-29,122,-38v12,1,9,18,0,22v-17,6,-33,11,-50,14","w":147},"*":{"d":"84,-69v9,22,-3,54,-21,32r-1,-33v-10,10,-29,33,-43,15v1,-9,5,-15,11,-17v-20,6,-28,-8,-24,-22v12,-3,27,-2,40,-6v-8,-11,-39,-20,-24,-40v21,-13,23,17,39,23r5,-50v0,-9,6,-8,15,-8v11,10,2,39,3,59v16,-9,31,-24,49,-29v16,9,0,25,-10,29v18,-9,38,10,12,16v-13,3,-25,10,-39,12v12,13,30,21,38,39v1,3,0,7,-5,9v-19,-6,-30,-19,-45,-29","w":153},"&":{"d":"52,-140v-9,-12,-25,-17,-34,-31v-5,-25,56,-32,79,-21v12,7,10,27,-7,25v-11,0,-23,-3,-32,2v15,13,39,18,45,38v-8,13,-33,7,-49,12v-12,15,18,36,40,34v16,-6,18,11,9,20v-41,14,-93,-16,-88,-62v5,-13,21,-15,37,-17xm77,15v-9,0,-22,2,-21,-9v-5,-20,-9,-57,19,-43v8,9,16,44,2,52xm65,-208v-25,0,-35,-51,-12,-56v20,-4,20,18,20,38v-1,9,-1,16,-8,18","w":122},"`":{"d":"81,-227v7,14,-10,26,-21,13v-12,-9,-44,-33,-19,-44v18,1,28,21,40,31","w":87},"\u2018":{"d":"23,-145v-25,-8,-10,-48,-12,-77v5,-16,27,-10,25,7v-2,25,1,58,-13,70","w":45},"\u2019":{"d":"23,-145v-25,-8,-10,-48,-12,-77v5,-16,27,-10,25,7v-2,25,1,58,-13,70","w":45},"\u201c":{"d":"71,-143v-27,-8,-10,-59,-19,-95v-2,-7,3,-11,10,-10v25,9,14,63,17,100v-1,3,-4,4,-8,5xm30,-145v-28,-12,-11,-67,-8,-97v17,-2,20,5,20,20r-5,71v0,4,-3,6,-7,6","w":88},"\u201d":{"d":"71,-143v-27,-8,-10,-59,-19,-95v-2,-7,3,-11,10,-10v25,9,14,63,17,100v-1,3,-4,4,-8,5xm30,-145v-28,-12,-11,-67,-8,-97v17,-2,20,5,20,20r-5,71v0,4,-3,6,-7,6","w":88},"\u2026":{"d":"37,-17v3,20,-28,22,-29,4v0,-17,24,-17,29,-4xm82,-17v3,20,-28,22,-29,4v1,-16,23,-17,29,-4xm128,-17v3,20,-29,22,-30,4v1,-17,24,-17,30,-4","w":136},"\u2013":{"d":"32,-78v-10,1,-18,-13,-9,-20v29,-8,66,-7,98,-12v20,-2,19,20,3,22","w":143},"\u2014":{"d":"32,-78v-10,1,-18,-13,-9,-20v44,-10,99,-8,147,-14v20,-2,19,21,3,22","w":218},"\u2122":{"d":"198,-41v1,22,3,49,-22,39v-2,-2,-4,-5,-6,-9r-3,-192r-64,16r15,171v0,10,-4,16,-14,16v-5,-1,-14,-6,-14,-12r-17,-168v-19,4,-34,12,-54,15v-14,1,-22,-22,-6,-27r56,-18v3,-14,19,-12,28,-5v25,-3,51,-19,76,-12v10,-6,21,3,25,10r58,109r44,-143v17,-21,33,1,34,27r6,108v4,26,7,54,15,77v2,17,-22,24,-28,9v-16,-44,-14,-105,-20,-159v-12,35,-22,72,-28,113v2,20,-25,23,-30,6v-17,-29,-37,-55,-52,-86","w":363},"\u00d7":{"d":"47,-24v-22,-2,-5,-19,2,-26v25,-23,-16,-36,-25,-55v11,-21,37,2,43,13v4,-15,21,-52,31,-23r-12,38v13,14,29,24,40,40v-12,21,-36,-9,-49,-12v-11,10,-12,22,-30,25","w":156}}});

/*!
 * The following copyright notice may not be removed under any circumstances.
 * 
 * Copyright:
 * Copyright © 1990, 2002 Adobe Systems Incorporated. All Rights Reserved.  ©
 * Copyright 1989, 1990, 2002 The Monotype Corporation Plc. All Rights Reserved.
 * 
 * Trademark:
 * Rockwell is a trademark of The Monotype Corporation registered in the US Patent
 * and Trademark Office and may be registered in certain other jurisdictions.
 * 
 * Full name:
 * RockwellStd-Bold
 * 
 * Designer:
 * Unknown
 * 
 * Vendor URL:
 * http://www.adobe.com/type
 * 
 * License information:
 * http://www.adobe.com/type/legal.html
 */
Cufon.registerFont({"w":198,"face":{"font-family":"Rockwell Std","font-weight":700,"font-stretch":"normal","units-per-em":"360","panose-1":"2 6 8 3 3 4 5 2 1 3","ascent":"244","descent":"-116","x-height":"4","bbox":"-3 -262 366 79","underline-thickness":"18","underline-position":"-18","stemh":"39","stemv":"55","unicode-range":"U+0020-U+2122"},"glyphs":{" ":{"w":90,"k":{"\u201c":27,"\u2018":27,"T":27,"V":36,"W":36,"Y":45}},"!":{"d":"36,-244r55,0v3,60,-6,109,-14,159r-26,0v-8,-50,-18,-98,-15,-159xm34,0r0,-59r59,0r0,59r-59,0","w":127},"\"":{"d":"128,-121v-4,-39,-6,-79,-5,-123r39,0v1,44,-1,84,-5,123r-29,0xm42,-121v-4,-39,-6,-79,-5,-123r39,0v1,44,-1,84,-5,123r-29,0"},"#":{"d":"13,-185r52,0r14,-66r41,0r-14,66r54,0r13,-66r42,0r-14,66r27,0r0,39r-35,0r-10,47r45,0r0,39r-53,0r-14,65r-41,0r14,-65r-55,0r-13,65r-42,0r14,-65r-25,0r0,-39r34,0r10,-47r-44,0r0,-39xm98,-146r-10,47r54,0r10,-47r-54,0","w":240},"$":{"d":"108,35r-24,0r0,-31v-41,-6,-66,-27,-67,-72r43,0v-1,14,7,34,24,36r0,-75v-46,-22,-63,-41,-63,-71v0,-33,26,-58,63,-61r0,-15r24,0r0,15v43,4,67,30,67,65r-43,0v-3,-18,-10,-27,-24,-29r0,58v45,18,78,37,78,82v0,39,-32,66,-78,67r0,31xm108,-31v48,-3,44,-54,0,-65r0,65xm84,-157r0,-46v-28,6,-26,34,0,46","w":202},"%":{"d":"318,-58v0,41,-20,64,-57,64v-37,0,-58,-23,-58,-64v0,-41,21,-64,58,-64v37,0,57,23,57,64xm276,-57v0,-29,-4,-39,-16,-39v-10,0,-14,11,-14,36v0,29,3,40,15,40v12,0,15,-18,15,-37xm130,-185v0,41,-21,64,-58,64v-37,0,-57,-23,-57,-64v0,-41,20,-64,57,-64v37,0,58,23,58,64xm87,-184v0,-29,-3,-39,-15,-39v-10,0,-15,11,-15,36v0,29,4,40,16,40v12,0,14,-18,14,-37xm63,0r177,-244r31,0r-177,244r-31,0","w":333},"&":{"d":"274,-39r0,39r-72,0r-22,-27v-50,54,-169,34,-167,-44v0,-36,28,-61,68,-79v-40,-41,-14,-98,48,-98v75,0,86,81,22,105r35,44v11,-15,25,-37,30,-50r58,0r0,39r-30,0v-7,15,-19,36,-28,46r19,25r39,0xm152,-61r-46,-59v-49,13,-48,77,5,79v14,0,26,-6,41,-20xm127,-174v28,-8,31,-38,3,-42v-27,6,-24,19,-3,42","w":288},"\u2019":{"d":"34,-244r59,0v1,61,8,129,-58,123r0,-27v20,-3,29,-12,29,-37r-30,0r0,-59","w":127,"k":{"\u2019":38," ":27,"l":9,"d":36,"r":27,"t":11,"s":29}},"(":{"d":"72,-86v0,67,8,109,42,127r0,36v-55,-23,-97,-74,-97,-163v0,-89,42,-139,97,-162r0,35v-34,18,-42,60,-42,127","w":123},")":{"d":"51,-86v0,-67,-7,-109,-41,-127r0,-35v55,23,97,73,97,162v0,89,-42,140,-97,163r0,-36v34,-18,41,-60,41,-127","w":123},"*":{"d":"135,-73r-18,-25v0,-13,-4,-25,-14,-42v-10,17,-14,29,-14,42r-18,25r-35,-25r17,-25v14,-5,21,-11,36,-29v-27,-6,-34,-4,-45,0r-30,-11r14,-40r29,9v8,11,15,15,37,26v-1,-34,-17,-41,-13,-76r44,0v3,34,-10,43,-13,76v22,-11,29,-15,37,-26r29,-9r15,40r-30,11v-13,-6,-24,-4,-46,0v13,15,23,24,36,29r18,25","w":206},"+":{"d":"143,-144r76,0r0,45r-76,0r0,77r-46,0r0,-77r-76,0r0,-45r76,0r0,-77r46,0r0,77","w":240},",":{"d":"34,-59r59,0v1,61,8,129,-58,123r0,-26v20,-3,29,-13,29,-38r-30,0r0,-59","w":127,"k":{"\u201d":50,"\u2019":50}},"-":{"d":"13,-61r0,-48r98,0r0,48r-98,0","w":123},".":{"d":"34,-59r59,0r0,59r-59,0r0,-59","w":127,"k":{"\u201d":50,"\u2019":50," ":27}},"\/":{"d":"131,-244r50,0r-129,248r-51,0","w":182},"0":{"d":"15,-123v0,-81,30,-126,84,-126v54,0,84,45,84,126v0,81,-30,126,-84,126v-54,0,-84,-45,-84,-126xm99,-36v19,0,28,-23,28,-87v0,-67,-10,-86,-28,-86v-19,0,-28,27,-28,87v0,59,9,86,28,86"},"1":{"d":"41,0r0,-39r34,0r0,-166r-36,0r0,-39r90,0r0,205r32,0r0,39r-120,0"},"2":{"d":"174,-71r0,71r-158,0v-8,-107,100,-129,101,-185v0,-15,-10,-26,-23,-26v-21,0,-28,17,-30,52r-45,-2v-12,-115,154,-112,154,-20v0,72,-96,75,-109,142r71,0r0,-32r39,0"},"3":{"d":"16,-75r47,-3v1,26,8,42,32,42v19,0,32,-14,32,-36v0,-24,-14,-40,-46,-36r0,-41v45,7,54,-60,14,-60v-17,0,-26,11,-26,32r-46,-3v2,-43,30,-69,76,-69v77,0,103,93,39,120v79,24,46,132,-38,132v-51,0,-80,-26,-84,-78"},"4":{"d":"175,-36r0,36r-97,0r0,-36r26,0r0,-31r-90,0v-4,-13,-8,-24,-13,-34r106,-147r47,0r0,147r24,0r0,34r-24,0r0,31r21,0xm104,-101r-1,-85r-59,85r60,0"},"5":{"d":"13,-66r46,-5v4,25,13,35,32,35v23,0,33,-17,33,-41v0,-48,-43,-57,-61,-24r-39,-20r7,-123r137,0r0,57r-35,0r-4,-18r-63,0r-3,58v52,-36,117,2,117,67v0,38,-19,83,-85,83v-47,0,-76,-24,-82,-69"},"6":{"d":"176,-183r-42,4v-5,-16,-11,-31,-29,-31v-20,0,-36,23,-36,69v43,-36,110,-9,110,58v0,58,-28,86,-75,86v-60,0,-88,-39,-88,-123v0,-82,29,-128,91,-128v41,0,65,24,69,65xm69,-107v0,43,8,71,34,71v17,0,27,-16,27,-42v1,-40,-34,-48,-61,-29"},"7":{"d":"152,-39r0,39r-118,0r0,-39r30,0v3,-49,30,-122,62,-167r-62,0r0,34r-40,0r0,-72r153,0r0,30v-28,34,-56,121,-56,175r31,0"},"8":{"d":"58,-129v-64,-31,-41,-120,41,-120v81,0,105,88,42,120v71,28,58,132,-42,132v-99,0,-111,-105,-41,-132xm99,-145v19,0,29,-13,29,-33v0,-17,-8,-33,-29,-33v-18,0,-28,13,-28,33v0,19,11,33,28,33xm100,-35v20,0,32,-15,32,-38v0,-22,-11,-38,-32,-38v-20,0,-33,15,-33,38v0,23,13,38,33,38"},"9":{"d":"22,-62r42,-4v5,16,11,31,29,31v20,0,37,-23,37,-69v-44,34,-111,9,-111,-58v0,-58,28,-86,75,-86v60,0,89,39,89,123v0,82,-30,128,-92,128v-41,0,-65,-24,-69,-65xm130,-139v0,-43,-9,-70,-35,-70v-17,0,-26,16,-26,42v-1,41,35,48,61,28"},":":{"d":"34,-170r59,0r0,59r-59,0r0,-59xm34,-59r59,0r0,59r-59,0r0,-59","w":127,"k":{" ":27}},";":{"d":"34,-59r59,0v1,61,8,129,-58,123r0,-26v20,-3,29,-13,29,-38r-30,0r0,-59xm34,-170r59,0r0,59r-59,0r0,-59","w":127,"k":{" ":27}},"<":{"d":"21,-99r0,-42r198,-82r0,49r-135,54r135,53r0,50","w":240},"=":{"d":"21,-101r198,0r0,46r-198,0r0,-46xm21,-185r198,0r0,45r-198,0r0,-45","w":240},">":{"d":"219,-99r-198,82r0,-50r135,-53r-135,-54r0,-49r198,82r0,42","w":240},"?":{"d":"102,-85r-25,0v0,-20,-7,-46,-3,-63v27,7,54,-3,54,-31v0,-14,-10,-32,-34,-32v-19,0,-34,12,-30,36r-54,0v0,-48,35,-74,88,-74v53,0,86,28,86,72v0,40,-28,69,-76,67xm59,-59r59,0r0,59r-59,0r0,-59","w":202},"@":{"d":"155,-32v36,0,54,-55,54,-86v0,-26,-14,-41,-32,-41v-41,0,-55,57,-55,84v0,29,14,43,33,43xm192,-262v89,0,149,57,149,134v0,68,-49,128,-117,128v-16,0,-28,-5,-32,-21v-42,46,-115,11,-115,-57v0,-39,30,-112,95,-112v20,0,36,6,47,23r4,-19r46,0r-29,136v-2,9,1,14,7,14v13,0,62,-33,62,-94v0,-43,-31,-100,-120,-100v-98,0,-144,70,-144,145v0,81,53,128,149,128v46,0,89,-10,118,-46r38,0v-28,54,-81,78,-160,78v-127,0,-179,-74,-179,-160v0,-73,44,-177,181,-177","w":352},"A":{"d":"252,-41r0,41r-119,0r0,-41r30,0r-11,-42r-63,0r-14,42r33,0r0,41r-109,0r0,-41r31,0r48,-162r-33,0r0,-41r159,0r0,41r-32,0r51,162r29,0xm142,-119v-8,-24,-12,-52,-21,-74r-22,74r43,0","w":251,"k":{"v":11,"w":4,"y":11,"C":7,"G":7,"O":11,"Q":11,"T":11,"U":5,"V":16,"W":11,"Y":11}},"B":{"d":"12,-244v89,5,210,-26,212,64v0,24,-12,40,-35,50v74,28,55,130,-46,130r-131,0r0,-41r30,0r0,-162r-30,0r0,-41xm106,-41v34,4,64,-5,61,-33v-3,-34,-28,-34,-61,-33r0,66xm106,-148v28,2,56,-1,54,-28v4,-24,-25,-30,-54,-27r0,55","w":251,"k":{"U":5,",":14,".":14}},"C":{"d":"215,-158v-23,-79,-133,-52,-133,36v0,48,27,81,68,81v34,0,60,-24,69,-64r48,23v-18,66,-73,85,-121,85v-104,0,-133,-72,-133,-125v0,-104,121,-161,202,-103r0,-19r42,0r0,86r-42,0","w":281,"k":{",":14,".":14,"A":7}},"D":{"d":"140,-244v81,-6,134,51,134,122v0,63,-39,122,-117,122r-145,0r0,-41r37,0r0,-162r-37,0r0,-41r128,0xm113,-41v63,6,96,-21,95,-80v-1,-61,-32,-88,-95,-82r0,162","w":288,"k":{"V":14,"W":18,"Y":18,",":27,".":27,"A":11}},"E":{"d":"12,0r0,-41r29,0r0,-162r-29,0r0,-41r215,0r0,77r-46,0r0,-36r-76,0r0,56r61,0r0,42r-61,0r0,64r76,0r0,-37r46,0r0,78r-215,0","w":240},"F":{"d":"10,0r0,-41r35,0r0,-162r-35,0r0,-41r219,0r0,75r-47,0r0,-34r-73,0r0,56r53,0r0,42r-53,0r0,64r37,0r0,41r-136,0","w":232,"k":{",":54,".":54,"A":22,"a":36,"e":36,"o":36}},"G":{"d":"223,-158v-8,-27,-34,-47,-67,-47v-42,0,-70,32,-70,78v0,96,104,113,128,45r-43,0r0,-41r115,0v5,98,-77,126,-133,126v-91,0,-136,-57,-136,-126v0,-104,129,-159,206,-101r0,-20r42,0r0,86r-42,0","w":303,"k":{",":29,".":29}},"H":{"d":"11,0r0,-41r29,0r0,-162r-29,0r0,-41r118,0r0,41r-25,0r0,54r66,0r0,-54r-25,0r0,-41r118,0r0,41r-29,0r0,162r29,0r0,41r-118,0r0,-41r25,0r0,-67r-66,0r0,67r25,0r0,41r-118,0","w":273},"I":{"d":"8,0r0,-41r37,0r0,-162r-37,0r0,-41r138,0r0,41r-37,0r0,162r37,0r0,41r-138,0","w":153},"J":{"d":"0,71r0,-44v25,7,44,2,45,-27r0,-203r-36,0r0,-41r133,0r0,41r-33,0r0,198v2,65,-46,91,-109,76","w":146,"k":{",":18,".":18,"A":5,"a":11,"e":14,"o":14,"u":9}},"K":{"d":"7,0r0,-41r33,0r0,-162r-33,0r0,-41r127,0r0,41r-30,0r0,162r30,0r0,41r-127,0xm151,0r0,-41r29,0r-74,-88r80,-74r-29,0r0,-41r119,0r0,41r-30,0r-69,67r80,95r25,0r0,41r-131,0","w":281,"k":{"y":22,"O":11,"e":4,"o":4,"u":7}},"L":{"d":"10,0r0,-41r35,0r0,-162r-35,0r0,-41r134,0r0,41r-35,0r0,162r72,0r0,-76r48,0r0,117r-219,0","w":232,"k":{"T":9,"V":27,"W":22,"Y":27,"\u201d":14,"\u2019":14}},"M":{"d":"10,0r0,-41r32,0r0,-162r-32,0r0,-41r122,0r54,143r56,-143r124,0r0,41r-32,0r0,162r32,0r0,41r-126,0r0,-41r32,0r0,-162r-6,0r-76,203r-27,0r-76,-203r-6,0r0,162r32,0r0,41r-103,0","w":375},"N":{"d":"8,0r0,-41r32,0r0,-162r-32,0r0,-41r102,0r90,152r0,-111r-32,0r0,-41r110,0r0,41r-34,0r0,203r-55,0r-105,-180r0,139r30,0r0,41r-106,0","w":285,"k":{",":29,".":29,"A":5}},"O":{"d":"154,-248v91,0,136,61,136,126v0,63,-43,125,-136,125v-92,0,-136,-62,-136,-125v0,-65,46,-126,136,-126xm154,-204v-32,0,-68,24,-68,83v0,47,28,80,68,80v33,0,67,-26,67,-82v0,-50,-29,-81,-67,-81","w":307,"k":{"T":9,"V":27,"W":27,"Y":27,",":36,".":36,"A":22,"X":27}},"P":{"d":"139,-41r0,41r-128,0r0,-41r31,0r0,-162r-31,0r0,-41r139,0v51,0,83,34,83,77v0,56,-53,87,-128,78r0,48r34,0xm105,-130v35,2,62,-5,61,-36v-1,-33,-26,-40,-61,-37r0,73","w":240,"k":{",":58,".":58,"A":27,"a":5,"e":9,"o":9}},"Q":{"d":"243,21r-15,40v-49,4,-96,-59,-139,-16r-16,-24v10,-12,23,-18,42,-21v-134,-29,-136,-247,39,-248v92,0,136,62,136,126v1,74,-57,118,-121,125v31,11,45,23,74,18xm154,-204v-32,0,-68,24,-68,83v0,47,28,80,68,80v33,0,67,-26,67,-82v0,-50,-29,-81,-67,-81","w":307,"k":{"U":9,",":36,".":36}},"R":{"d":"263,-41r0,41r-74,0r-55,-107r-29,0r0,66r31,0r0,41r-128,0r0,-41r34,0r0,-162r-34,0r0,-41r153,0v83,-3,98,104,31,129r39,74r32,0xm105,-147v31,4,68,-6,63,-28v0,-10,-6,-28,-30,-28r-33,0r0,56","w":262,"k":{"O":9,"T":9,"U":7,"V":14,"W":14,"Y":14}},"S":{"d":"16,0r0,-83r41,0v-6,44,65,63,65,18v0,-45,-109,-38,-109,-115v1,-71,79,-85,112,-44r0,-20r41,0r0,74r-41,0v-3,-22,-17,-36,-36,-36v-14,0,-24,8,-24,20v0,40,113,31,113,117v0,83,-85,89,-121,48r0,21r-41,0","w":191,"k":{",":9,".":9}},"T":{"d":"233,-244r0,98r-43,0r0,-57r-36,0r0,162r36,0r0,41r-137,0r0,-41r37,0r0,-162r-37,0r0,57r-42,0r0,-98r222,0","w":243,"k":{"w":-7,"O":9,",":29,".":29,"A":11,"a":14,"e":29,"o":29,"-":36}},"U":{"d":"5,-203r0,-41r114,0r0,41r-21,0r0,124v0,24,7,40,31,40v21,0,34,-10,34,-38r0,-126r-20,0r0,-41r94,0r0,41r-30,0r0,137v0,57,-50,69,-85,69v-48,0,-88,-18,-88,-78r0,-128r-29,0","w":243,"k":{",":29,".":29,"A":9}},"V":{"d":"102,2r-73,-205r-29,0r0,-41r121,0r0,41r-28,0r41,122r41,-122r-27,0r0,-41r103,0r0,41r-29,0r-70,205r-50,0","w":251,"k":{"G":22,"O":27,",":45,".":45,"A":16,"a":36,"e":36,"o":36,"u":16,"i":5,"-":36,":":18,";":18}},"W":{"d":"96,2r-70,-205r-26,0r0,-41r109,0r0,41r-24,0r40,117r37,-117r-23,0r0,-41r88,0r0,41r-23,0r41,117r38,-117r-25,0r0,-41r99,0r0,41r-27,0r-68,205r-45,0r-39,-112r-37,112r-45,0","w":356,"k":{"y":18,"O":27,",":54,".":54,"A":11,"a":36,"e":36,"o":36,"u":14,"i":5,"-":36,":":22,";":22,"h":-9}},"X":{"d":"-1,0r0,-41r36,0r60,-85r-60,-77r-33,0r0,-41r125,0r0,38r-23,0r36,46r34,-46r-23,0r0,-38r109,0r0,41r-34,0r-58,80r62,82r37,0r0,41r-131,0r0,-39r25,0r-38,-51r-36,51r25,0r0,39r-113,0","w":266},"Y":{"d":"62,0r0,-41r34,0r0,-66r-67,-96r-30,0r0,-41r120,0r0,41r-23,0r38,60r35,-60r-21,0r0,-41r105,0r0,41r-31,0r-64,96r0,66r35,0r0,41r-131,0","w":251,"k":{"O":27,",":29,".":29,"A":11,"a":36,"e":45,"o":45,"u":29,"i":5,"-":45,":":27,";":27}},"Z":{"d":"18,0r0,-41r116,-162r-68,0r0,44r-42,0r0,-85r189,0r0,36r-119,167r80,0r0,-47r42,0r0,88r-198,0","w":232},"[":{"d":"40,73r0,-317r99,0r0,36r-44,0r0,245r44,0r0,36r-99,0","w":150},"\\":{"d":"51,-244r130,248r-50,0r-130,-248r50,0","w":182},"]":{"d":"111,73r-100,0r0,-36r44,0r0,-245r-44,0r0,-36r100,0r0,317","w":150},"^":{"d":"20,-104r66,-140r39,0r65,140r-50,0r-35,-86r-34,86r-51,0","w":209},"_":{"d":"-2,27r184,0r0,18r-184,0r0,-18","w":180},"\u2018":{"d":"93,-121r-59,0v-1,-62,-7,-129,59,-123r0,26v-20,3,-29,13,-29,38r29,0r0,59","w":127,"k":{"\u2018":38}},"a":{"d":"205,-39r0,39r-82,0r0,-13v-38,33,-109,11,-109,-38v0,-46,63,-71,109,-49v7,-41,-42,-52,-64,-26r-44,-8v14,-28,40,-40,83,-40v88,0,82,58,80,135r27,0xm123,-63v-22,-17,-52,-17,-56,9v4,31,36,28,56,5r0,-14","w":209},"b":{"d":"89,-244r0,93v46,-52,126,-10,122,65v-5,93,-74,110,-122,67r0,19r-84,0r0,-39r29,0r0,-166r-29,0r0,-39r84,0xm155,-86v0,-28,-12,-44,-33,-44v-21,0,-33,18,-33,46v0,27,12,44,33,44v21,0,33,-17,33,-46","w":225,"k":{"y":7,"b":7,"l":9,",":14,".":14}},"c":{"d":"186,-170r0,69r-37,0v-15,-43,-82,-37,-82,15v0,57,62,62,82,20r42,18v-29,85,-179,59,-179,-37v0,-70,80,-114,137,-71r0,-14r37,0","w":202,"k":{"l":5,",":7,".":7,"k":5}},"d":{"d":"218,-39r0,39r-81,0r0,-20v-50,53,-123,8,-123,-66v0,-73,76,-116,123,-66r0,-53r-26,0r0,-39r81,0r0,205r26,0xm138,-86v0,-26,-13,-44,-35,-44v-21,0,-33,17,-33,45v0,27,12,45,33,45v17,0,35,-13,35,-46","w":225,"k":{"v":5,"w":5,"y":7,"d":7}},"e":{"d":"150,-51r43,13v-39,70,-180,49,-180,-44v0,-53,39,-92,92,-92v51,0,92,39,88,100r-125,0v-4,38,55,62,82,23xm68,-104r71,0v-3,-22,-16,-35,-36,-35v-20,0,-32,12,-35,35","w":206,"k":{"p":7,"w":5,"y":7,",":7,".":7}},"f":{"d":"117,-39r0,39r-105,0r0,-39r23,0r0,-92r-23,0r0,-39r23,0v-3,-45,12,-79,67,-79v26,0,44,8,56,24r-41,31v-4,-13,-6,-18,-14,-18v-14,0,-14,25,-13,42r27,0r0,39r-27,0r0,92r27,0","w":127,"k":{"\u201d":-22,"\u2019":-22}},"g":{"d":"220,-170r0,39r-29,0v-6,102,31,210,-90,210v-34,0,-59,-6,-76,-19r26,-35v32,24,92,10,85,-30r0,-16v-52,51,-123,11,-123,-64v0,-74,78,-117,123,-64r0,-21r84,0xm136,-84v0,-27,-13,-44,-34,-44v-21,0,-33,17,-33,43v0,26,13,44,33,44v20,0,34,-17,34,-43","w":225,"k":{",":22,".":22,"e":7,"o":7,"g":5}},"h":{"d":"10,0r0,-39r26,0r0,-166r-26,0r0,-39r81,0r0,87v41,-35,101,-14,101,36r0,82r25,0r0,39r-80,0r0,-109v0,-30,-28,-23,-46,-10r0,80r25,0r0,39r-106,0","w":225,"k":{"y":14}},"i":{"d":"15,-131r0,-39r80,0r0,131r25,0r0,39r-105,0r0,-39r25,0r0,-92r-25,0xm68,-248v17,0,30,12,30,29v0,17,-13,30,-30,30v-17,0,-29,-13,-29,-30v0,-17,12,-29,29,-29","w":127},"j":{"d":"14,-131r0,-39r81,0r0,175v2,58,-35,73,-98,70r0,-44v24,1,44,0,43,-26r0,-136r-26,0xm66,-248v17,0,30,12,30,29v0,17,-13,30,-30,30v-17,0,-30,-13,-30,-30v0,-17,13,-29,30,-29","w":127},"k":{"d":"13,0r0,-38r26,0r0,-167r-26,0r0,-39r81,0r1,154r58,-46r-38,0r0,-34r106,0r0,34r-19,0r-49,43r45,55r23,0r0,38r-52,0r-75,-90r0,52r21,0r0,38r-102,0","w":232,"k":{"e":11,"o":14}},"l":{"d":"13,0r0,-39r26,0r0,-166r-26,0r0,-39r81,0r0,205r25,0r0,39r-106,0","w":127,"k":{"w":5,"y":5}},"m":{"d":"7,-131r0,-39r87,0r0,14v36,-24,83,-23,106,7v44,-34,125,-42,125,32r0,78r34,0r0,39r-89,0r0,-99v0,-38,-36,-29,-60,-16r0,76r30,0r0,39r-86,0r0,-99v0,-38,-34,-29,-60,-16r0,76r30,0r0,39r-117,0r0,-39r32,0r0,-92r-32,0","w":356,"k":{"y":13}},"n":{"d":"13,-131r0,-39r81,0r0,16v41,-30,101,-32,101,39r0,76r25,0r0,39r-80,0r0,-108v-1,-30,-30,-19,-46,-8r0,77r23,0r0,39r-104,0r0,-39r26,0r0,-92r-26,0","w":225,"k":{"v":5,"y":13}},"o":{"d":"193,-85v0,54,-37,89,-90,89v-50,0,-89,-32,-89,-89v0,-60,43,-89,89,-89v50,0,90,32,90,89xm137,-85v0,-30,-12,-47,-34,-47v-22,0,-34,17,-34,48v0,29,13,46,34,46v22,0,34,-17,34,-47","w":206,"k":{"v":5,"w":5,"y":9,",":14,".":14,"x":9}},"p":{"d":"122,37r0,39r-116,0r0,-39r29,0r0,-168r-29,0r0,-39r84,0r0,21v46,-55,122,-8,122,65v0,75,-73,116,-122,67r0,54r32,0xm156,-84v0,-27,-13,-44,-34,-44v-21,0,-32,16,-32,44v0,28,12,46,33,46v21,0,33,-17,33,-46","w":225,"k":{"y":7,",":14,".":14}},"q":{"d":"103,37r32,0r0,-54v-49,49,-122,8,-122,-67v0,-73,76,-120,122,-65r0,-21r84,0r0,39r-29,0r0,168r29,0r0,39r-116,0r0,-39xm69,-84v0,29,12,46,33,46v21,0,33,-18,33,-47v0,-27,-12,-43,-32,-43v-21,0,-34,17,-34,44","w":225},"r":{"d":"130,-39r0,39r-120,0r0,-39r31,0r0,-92r-28,0r0,-39r78,0r0,43v12,-32,33,-48,68,-46r0,52v-55,-2,-66,33,-63,82r34,0","w":161,"k":{"p":-18,"v":-27,"y":-22,",":14,".":14,"u":-20,"i":-9,"m":-18,"n":-18,"r":-11,"t":-16}},"s":{"d":"126,-49v2,-28,-110,-7,-112,-74v-2,-44,64,-62,106,-42r0,-5r39,0r0,49r-39,0v-3,-12,-15,-18,-37,-18v-14,0,-23,5,-23,13v0,24,111,1,111,72v0,33,-23,57,-67,57v-24,0,-36,-4,-44,-12r0,9r-39,0r0,-59r39,0v-4,29,63,38,66,10","w":183,"k":{",":11,".":11}},"t":{"d":"7,-131r0,-39r21,0r0,-27r56,-39r0,66r30,0r0,39r-30,0r0,74v-2,23,15,18,30,14r0,37v-36,15,-86,15,-86,-32r0,-93r-21,0","w":123},"u":{"d":"212,-39r0,39r-81,0r0,-14v-39,31,-101,20,-101,-36r0,-81r-25,0r0,-39r80,0r0,106v-1,33,29,23,46,10r0,-77r-23,0r0,-39r78,0r0,131r26,0","w":225},"v":{"d":"81,3r-58,-134r-24,0r0,-39r100,0r0,39r-18,0r27,77r31,-77r-17,0r0,-39r86,0r0,39r-25,0r-56,134r-46,0","w":206,"k":{",":36,".":36,"a":5,"e":9,"o":7}},"w":{"d":"66,3r-44,-134r-22,0r0,-39r93,0r0,39r-19,0r21,63r35,-102r45,0r35,102r20,-63r-20,0r0,-39r82,0r0,39r-21,0r-44,134r-47,0r-33,-101r-33,101r-48,0","w":292,"k":{",":36,".":36,"a":5,"e":9,"o":9,"h":9}},"x":{"d":"8,0r0,-39r25,0r36,-44r-36,-48r-25,0r0,-39r65,0r31,47r34,-47r51,0r0,39r-23,0r-34,41r40,51r23,0r0,39r-66,0r-33,-48r-35,48r-53,0","w":202,"k":{"e":9}},"y":{"d":"44,76r0,-39r33,0r11,-30r-62,-138r-25,0r0,-39r99,0r0,39r-16,0r28,76r30,-76r-18,0r0,-39r86,0r0,39r-25,0r-81,207r-60,0","w":213,"k":{",":50,".":50,"a":7,"e":14,"o":9}},"z":{"d":"13,0r0,-35r100,-100r-55,0r0,26r-37,0r0,-61r156,0r0,35r-99,100r64,0r0,-28r35,0r0,63r-164,0","w":191,"k":{"e":7,"o":7}},"{":{"d":"10,-104v38,2,42,-33,39,-73v-3,-42,19,-72,82,-67r0,41v-37,0,-37,1,-37,49v0,40,-9,55,-32,70v23,15,32,30,32,70v0,48,0,49,37,49r0,42v-73,4,-82,-29,-82,-90v0,-33,-9,-51,-39,-51r0,-40","w":138},"|":{"d":"87,-244r46,0r0,321r-46,0r0,-321","w":219},"}":{"d":"128,-64v-38,-2,-40,34,-38,73v3,42,-19,73,-82,68r0,-42v37,0,37,-1,37,-49v0,-40,9,-55,32,-70v-23,-15,-32,-30,-32,-70v0,-48,0,-49,-37,-49r0,-41v72,-3,82,29,82,89v0,33,8,51,38,51r0,40","w":138},"~":{"d":"12,-91r0,-46v52,-67,139,42,186,-25r0,47v-13,12,-32,24,-51,24v-51,0,-97,-51,-135,0","w":209},"'":{"d":"36,-121v-4,-39,-6,-79,-5,-123r39,0v1,44,-1,84,-5,123r-29,0","w":101},"\u201c":{"d":"181,-121r-59,0v-1,-62,-7,-129,59,-123r0,26v-21,3,-29,14,-29,38r29,0r0,59xm92,-121r-59,0v-1,-61,-8,-129,58,-123r0,26v-21,3,-29,13,-29,38r30,0r0,59","w":213},"\u2013":{"d":"-2,-112r184,0r0,44r-184,0r0,-44","w":180},"\u201d":{"d":"122,-244r59,0v1,62,7,129,-59,123r0,-27v20,-3,30,-12,30,-37r-30,0r0,-59xm32,-244r59,0v1,61,8,129,-58,123r0,-27v20,-3,29,-12,29,-37r-30,0r0,-59","w":213,"k":{" ":27}},"\u2026":{"d":"150,-59r60,0r0,59r-60,0r0,-59xm270,-59r59,0r0,59r-59,0r0,-59xm31,-59r59,0r0,59r-59,0r0,-59","w":360},"`":{"d":"96,-192r-28,0r-65,-56r65,0","w":119},"\u2014":{"d":"-2,-112r364,0r0,44r-364,0r0,-44","w":360},"\u2122":{"d":"71,-101r0,-119r-45,0r0,-24r117,0r0,24r-43,0r0,119r-29,0xm160,-101r0,-143r46,0r26,99r26,-99r46,0r0,143r-28,0r-1,-114r-30,114r-27,0r-30,-114r0,114r-28,0","w":360},"\u00d7":{"d":"183,-26r-63,-62r-62,62r-32,-32r62,-62r-63,-62r33,-33r62,63r63,-63r32,33r-62,62r62,62","w":240},"\u00a0":{"w":90,"k":{"\u201c":27,"\u2018":27,"T":27,"V":36,"W":36,"Y":45}}}});


eval(function(p,a,c,k,e,d){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('(9($){$.1S.y=9(o){q 4.1h(9(){3W $t(4,o)})};8 1I={13:B,2g:1,2h:1,h:7,1e:3,S:7,1l:B,25:\'3V\',2L:\'3U\',1y:0,A:7,O:B,1E:7,2e:7,2E:7,2D:7,2C:7,2B:7,2A:7,2z:7,2y:7,2j:7,2l:\'<P></P>\',2m:\'<P></P>\',2J:\'2i\',2H:\'2i\',22:7,21:7};$.y=9(e,o){4.5=$.1f({},1I,o||{});4.U=B;4.C=7;4.G=7;4.g=7;4.Z=7;4.Y=7;4.D=!4.5.13?\'1V\':\'2P\';4.F=!4.5.13?\'2N\':\'2M\';8 1v=\'\',1w=e.K.1w(\' \');1p(8 i=0;i<1w.N;i++){6(1w[i].32(\'y-1v\')!=-1){$(e).1A(1w[i]);8 1v=1w[i];1C}}6(e.34==\'3T\'||e.34==\'3S\'){4.g=$(e);4.C=4.g.1o();6(4.C.1D(\'y-G\')){6(!4.C.1o().1D(\'y-C\'))4.C=4.C.A(\'<P></P>\');4.C=4.C.1o()}10 6(!4.C.1D(\'y-C\'))4.C=4.g.A(\'<P></P>\').1o()}10{4.C=$(e);4.g=$(e).2S(\'>2k,>33,P>2k,P>33\')}6(1v!=\'\'&&4.C.1o()[0].K.32(\'y-1v\')==-1)4.C.A(\'<P 3R=" \'+1v+\'"></P>\');4.G=4.g.1o();6(!4.G.N||!4.G.1D(\'y-G\'))4.G=4.g.A(\'<P></P>\').1o();4.Y=$(\'.y-1c\',4.C);6(4.Y.h()==0&&4.5.2m!=7)4.Y=4.G.1P(4.5.2m).1c();4.Y.L(4.K(\'y-1c\'));4.Z=$(\'.y-1i\',4.C);6(4.Z.h()==0&&4.5.2l!=7)4.Z=4.G.1P(4.5.2l).1c();4.Z.L(4.K(\'y-1i\'));4.G.L(4.K(\'y-G\'));4.g.L(4.K(\'y-g\'));4.C.L(4.K(\'y-C\'));8 1t=4.5.S!=7?1g.2c(4.14()/4.5.S):7;8 19=4.g.3Q(\'19\');8 k=4;6(19.h()>0){8 D=0,i=4.5.2h;19.1h(9(){k.1X(4,i++);D+=k.V(4,1t)});4.g.r(4.D,D+\'W\');6(!o||o.h===H)4.5.h=19.h()}6(4.5.1l===1d){4.5.1l="3P"}6(4.5.O&&4.5.h>0){8 31=($.1Y(4.5.O))?4.5.O(4):1d;6(31){8 O=$("<2k>").L("y-O");1p(8 i=0;i<4.5.h;i++){8 30=9(j){8 k=4;q 9(3O){k.1e(j);q B}};8 1u=($.1Y(4.5.2j))?4.5.2j(4,i+1):i+1;8 2Z=$("<a>").L("O-18").1J("3N","#").1u(1u).2i(30.3M(4,i+1));O.2d($("<19>").1u(2Z))}4.O=O;4.C.2d($("<P>").L("y-O-C").1u(O))}}4.C.r(\'1H\',\'1G\');4.Z.r(\'1H\',\'1G\');4.Y.r(\'1H\',\'1G\');4.2I=9(){k.1i()};4.2G=9(){k.1c()};4.2f=9(){k.2V()};6(4.5.1E!=7)4.5.1E(4,\'2F\');6($.2p.2o){4.1s(B,B);$(2Y).1M(\'3L\',9(){k.1R()})}10 4.1R()};8 $t=$.y;$t.1S=$t.3K={y:\'0.2.3\'};$t.1S.1f=$t.1f=$.1f;$t.1S.1f({1R:9(){4.u=7;4.z=7;4.16=7;4.1b=7;4.1m=B;4.1j=7;4.R=7;4.17=B;6(4.U)q;4.g.r(4.F,4.I(4.5.2h)+\'W\');8 p=4.I(4.5.2g);4.16=4.1b=7;4.1k(p,B);4.2a(4.5.2g);$(2Y).23(\'2X\',4.2f).1M(\'2X\',4.2f)},2W:9(){4.g.2T();4.g.r(4.F,\'3J\');4.g.r(4.D,\'3I\');6(4.5.1E!=7)4.5.1E(4,\'2W\');4.1R()},2V:9(){6(4.R!=7&&4.17)4.g.r(4.F,$t.J(4.g.r(4.F))+4.R);4.R=7;4.17=B;6(4.5.2e!=7)4.5.2e(4);6(4.5.S!=7){8 k=4;8 1t=1g.2c(4.14()/4.5.S),D=0,F=0;$(\'19\',4.g).1h(9(i){D+=k.V(4,1t);6(i+1<k.u)F=D});4.g.r(4.D,D+\'W\');4.g.r(4.F,-F+\'W\')}4.1e(4.u,B)},3H:9(){4.U=1d;4.1s()},3G:9(){4.U=B;4.1s()},h:9(s){6(s!=H){4.5.h=s;6(!4.U)4.1s()}q 4.5.h},3F:9(i,15){6(15==H||!15)15=i;6(4.5.h!==7&&15>4.5.h)15=4.5.h;1p(8 j=i;j<=15;j++){8 e=4.M(j);6(!e.N||e.1D(\'y-18-1Q\'))q B}q 1d},M:9(i){q $(\'.y-18-\'+i,4.g)},2U:9(i,s){8 e=4.M(i),11=0,2U=0;6(e.N==0){8 c,e=4.1K(i),j=$t.J(i);1B(c=4.M(--j)){6(j<=0||c.N){j<=0?4.g.2Q(e):c.29(e);1C}}}10 11=4.V(e);e.1A(4.K(\'y-18-1Q\'));1Z s==\'3E\'?e.1u(s):e.2T().2d(s);8 1t=4.5.S!=7?1g.2c(4.14()/4.5.S):7;8 D=4.V(e,1t)-11;6(i>0&&i<4.u)4.g.r(4.F,$t.J(4.g.r(4.F))-D+\'W\');4.g.r(4.D,$t.J(4.g.r(4.D))+D+\'W\');q e},28:9(i){8 e=4.M(i);6(!e.N||(i>=4.u&&i<=4.z))q;8 d=4.V(e);6(i<4.u)4.g.r(4.F,$t.J(4.g.r(4.F))+d+\'W\');e.28();4.g.r(4.D,$t.J(4.g.r(4.D))-d+\'W\')},1i:9(){4.1N();6(4.R!=7&&!4.17)4.2b(B);10 4.1e(((4.5.A==\'27\'||4.5.A==\'z\')&&4.5.h!=7&&4.z==4.5.h)?1:4.u+4.5.1e)},1c:9(){4.1N();6(4.R!=7&&4.17)4.2b(1d);10 4.1e(((4.5.A==\'27\'||4.5.A==\'u\')&&4.5.h!=7&&4.u==1)?4.5.h:4.u-4.5.1e)},2b:9(b){6(4.U||4.1m||!4.R)q;8 I=$t.J(4.g.r(4.F));!b?I-=4.R:I+=4.R;4.17=!b;4.16=4.u;4.1b=4.z;4.1k(I)},1e:9(i,a){6(4.U||4.1m)q;4.1k(4.I(i),a);4.2a(i)},2a:9(i){6(4.O!=H){i=1g.3D(4.5.h,1g.3C(1,i));4.O.2S(".O-18").1A("2R").3B(i-1).L("2R")}},I:9(i){6(4.U||4.1m)q;6(4.5.A!=\'1n\')i=i<1?1:(4.5.h&&i>4.5.h?4.5.h:i);8 1a=4.u>i;8 I=$t.J(4.g.r(4.F));8 f=4.5.A!=\'1n\'&&4.u<=1?1:4.u;8 c=1a?4.M(f):4.M(4.z);8 j=1a?f:f-1;8 e=7,l=0,p=B,d=0;1B(1a?--j>=i:++j<i){e=4.M(j);p=!e.N;6(e.N==0){e=4.1K(j).L(4.K(\'y-18-1Q\'));c[1a?\'1P\':\'29\'](e)}c=e;d=4.V(e);6(p)l+=d;6(4.u!=7&&(4.5.A==\'1n\'||(j>=1&&(4.5.h==7||j<=4.5.h))))I=1a?I+d:I-d}8 14=4.14();8 1O=[];8 S=0,j=i,v=0;8 c=4.M(i-1);1B(++S){e=4.M(j);p=!e.N;6(e.N==0){e=4.1K(j).L(4.K(\'y-18-1Q\'));c.N==0?4.g.2Q(e):c[1a?\'1P\':\'29\'](e)}c=e;8 d=4.V(e);6(d==0){3A(\'3z: 3y 1V/2P 3x 1p 3w. 3v 3u 3t 3s 3r 3q. 3p...\');q 0}6(4.5.A!=\'1n\'&&4.5.h!==7&&j>4.5.h)1O.3o(e);10 6(p)l+=d;v+=d;6(v>=14)1C;j++}1p(8 x=0;x<1O.N;x++)1O[x].28();6(l>0){4.g.r(4.D,4.V(4.g)+l+\'W\');6(1a){I-=l;4.g.r(4.F,$t.J(4.g.r(4.F))-l+\'W\')}}8 z=i+S-1;6(4.5.A!=\'1n\'&&4.5.h&&z>4.5.h)z=4.5.h;6(j>z){S=0,j=z,v=0;1B(++S){8 e=4.M(j--);6(!e.N)1C;v+=4.V(e);6(v>=14)1C}}8 u=z-S+1;6(4.5.A!=\'1n\'&&u<1)u=1;6(4.17&&1a){I+=4.R;4.17=B}4.R=7;6(4.5.A!=\'1n\'&&z==4.5.h&&(z-S+1)>=1){8 m=$t.12(4.M(z),!4.5.13?\'1x\':\'1W\');6((v-m)>14)4.R=v-14-m}1B(i-->u)I+=4.V(4.M(i));4.16=4.u;4.1b=4.z;4.u=u;4.z=z;q I},1k:9(p,a){6(4.U||4.1m)q;4.1m=1d;8 k=4;8 24=9(){k.1m=B;6(p==0)k.g.r(k.F,0);6(k.5.A==\'27\'||k.5.A==\'z\'||k.5.h==7||k.z<k.5.h)k.2K();k.1s();k.20(\'2x\')};8 26=9(){k.g.r(k.F,p+\'W\');24();6(k.5.1l){k.g.1k({2O:1},k.5.1l)}};4.20(\'3n\');6(4.5.1l&&a!==B){4.g.1k({2O:0},4.5.1l,7,26)}10 6(!4.5.25||a==B){26()}10{8 o=!4.5.13?{\'2N\':p}:{\'2M\':p};4.g.1k(o,4.5.25,4.5.2L,24)}},2K:9(s){6(s!=H)4.5.1y=s;6(4.5.1y==0)q 4.1N();6(4.1j!=7)q;8 k=4;4.1j=3m(9(){k.1i()},4.5.1y*3l)},1N:9(){6(4.1j==7)q;3k(4.1j);4.1j=7},3j:9(){q!!4.1j},1s:9(n,p){6(n==H||n==7){8 n=!4.U&&4.5.h!==0&&((4.5.A&&4.5.A!=\'u\')||4.5.h==7||4.z<4.5.h);6(!4.U&&(!4.5.A||4.5.A==\'u\')&&4.5.h!=7&&4.z>=4.5.h)n=4.R!=7&&!4.17}6(p==H||p==7){8 p=!4.U&&4.5.h!==0&&((4.5.A&&4.5.A!=\'z\')||4.u>1);6(!4.U&&(!4.5.A||4.5.A==\'z\')&&4.5.h!=7&&4.u==1)p=4.R!=7&&4.17}8 k=4;4.Z[n?\'1M\':\'23\'](4.5.2J,4.2I)[n?\'1A\':\'L\'](4.K(\'y-1i-1L\')).1J(\'1L\',n?B:1d);4.Y[p?\'1M\':\'23\'](4.5.2H,4.2G)[p?\'1A\':\'L\'](4.K(\'y-1c-1L\')).1J(\'1L\',p?B:1d);6(4.Z.N>0&&(4.Z[0].1r==H||4.Z[0].1r!=n)&&4.5.22!=7){4.Z.1h(9(){k.5.22(k,4,n)});4.Z[0].1r=n}6(4.Y.N>0&&(4.Y[0].1r==H||4.Y[0].1r!=p)&&4.5.21!=7){4.Y.1h(9(){k.5.21(k,4,p)});4.Y[0].1r=p}},20:9(Q){8 X=4.16==7?\'2F\':(4.16<4.u?\'1i\':\'1c\');4.T(\'2E\',Q,X);6(4.16!==4.u){4.T(\'2D\',Q,X,4.u);4.T(\'2C\',Q,X,4.16)}6(4.1b!==4.z){4.T(\'2B\',Q,X,4.z);4.T(\'2A\',Q,X,4.1b)}4.T(\'2z\',Q,X,4.u,4.z,4.16,4.1b);4.T(\'2y\',Q,X,4.16,4.1b,4.u,4.z)},T:9(1q,Q,X,1z,15,2v,2u){6(4.5[1q]==H||(1Z 4.5[1q]!=\'2w\'&&Q!=\'2x\'))q;8 T=1Z 4.5[1q]==\'2w\'?4.5[1q][Q]:4.5[1q];6(!$.1Y(T))q;8 k=4;6(1z===H)T(k,X,Q);10 6(15===H)4.M(1z).1h(9(){T(k,4,1z,X,Q)});10{1p(8 i=1z;i<=15;i++)6(i!==7&&!(i>=2v&&i<=2u))4.M(i).1h(9(){T(k,4,i,X,Q)})}},1K:9(i){q 4.1X(\'<19></19>\',i)},1X:9(e,i){8 $e=$(e).L(4.K(\'y-18\')).L(4.K(\'y-18-\'+i));$e.1J(\'3i\',i);q $e},K:9(c){q c+\' \'+c+(!4.5.13?\'-3h\':\'-13\')},V:9(e,d){8 E=e.2q!=H?e[0]:e;8 11=!4.5.13?E.1F+$t.12(E,\'2t\')+$t.12(E,\'1x\'):E.2r+$t.12(E,\'2s\')+$t.12(E,\'1W\');6(d==H||11==d)q 11;8 w=!4.5.13?d-$t.12(E,\'2t\')-$t.12(E,\'1x\'):d-$t.12(E,\'2s\')-$t.12(E,\'1W\');$(E).r(4.D,w+\'W\');q 4.V(E)},14:9(){q!4.5.13?4.G[0].1F-$t.J(4.G.r(\'3g\'))-$t.J(4.G.r(\'3f\')):4.G[0].2r-$t.J(4.G.r(\'3e\'))-$t.J(4.G.r(\'3d\'))},3c:9(i,s){6(s==H)s=4.5.h;q 1g.3b((((i-1)/ s) - 1g.3a((i-1) /s))*s)+1}});$t.1f({1I:9(d){q $.1f(1I,d||{})},12:9(e,p){6(!e)q 0;8 E=e.2q!=H?e[0]:e;6(p==\'1x\'&&$.2p.2o){8 11={\'1H\':\'1G\',\'39\':\'38\',\'1V\':\'1y\'},1T,1U;$.2n(E,11,9(){1T=E.1F});11[\'1x\']=0;$.2n(E,11,9(){1U=E.1F});q 1U-1T}q $t.J($.r(E,p))},J:9(v){v=37(v);q 36(v)?0:v}})})(35);',62,245,'||||this|options|if|null|var|function|||||||list|size|||self||||||return|css||jc|first||||jcarousel|last|wrap|false|container|wh|el|lt|clip|undefined|pos|intval|className|addClass|get|length|pager|div|evt|tail|visible|callback|locked|dimension|px|state|buttonPrev|buttonNext|else|old|margin|vertical|clipping|i2|prevFirst|inTail|item|li|back|prevLast|prev|true|scroll|extend|Math|each|next|timer|animate|fade|animating|circular|parent|for|cb|jcarouselstate|buttons|di|html|skin|split|marginRight|auto|i1|removeClass|while|break|hasClass|initCallback|offsetWidth|block|display|defaults|attr|create|disabled|bind|stopAuto|cache|before|placeholder|setup|fn|oWidth|oWidth2|width|marginBottom|format|isFunction|typeof|notify|buttonPrevCallback|buttonNextCallback|unbind|scrolled|animation|immediate|both|remove|after|highlightPagerItem|scrollTail|ceil|append|reloadCallback|funcResize|start|offset|click|createPagerItemCallback|ul|buttonNextHTML|buttonPrevHTML|swap|safari|browser|jquery|offsetHeight|marginTop|marginLeft|i4|i3|object|onAfterAnimation|itemVisibleOutCallback|itemVisibleInCallback|itemLastOutCallback|itemLastInCallback|itemFirstOutCallback|itemFirstInCallback|itemLoadCallback|init|funcPrev|buttonPrevEvent|funcNext|buttonNextEvent|startAuto|easing|top|left|opacity|height|prepend|selected|find|empty|add|reload|reset|resize|window|pager_item|generator|build_pager|indexOf|ol|nodeName|jQuery|isNaN|parseInt|none|float|floor|round|index|borderBottomWidth|borderTopWidth|borderRightWidth|borderLeftWidth|horizontal|jcarouselindex|isAuto|clearTimeout|1000|setTimeout|onBeforeAnimation|push|Aborting|loop|infinite|an|cause|will|This|items|set|No|jCarousel|alert|eq|max|min|string|has|unlock|lock|10px|0px|prototype|load|call|href|ev|fast|children|class|OL|UL|swing|normal|new'.split('|')))

/*!
 * jQuery Cycle Plugin (with Transition Definitions)
 * Examples and documentation at: http://jquery.malsup.com/cycle/
 * Copyright (c) 2007-2009 M. Alsup
 * Version: 2.65 (07-APR-2009)
 * Dual licensed under the MIT and GPL licenses:
 * http://www.opensource.org/licenses/mit-license.php
 * http://www.gnu.org/licenses/gpl.html
 * Requires: jQuery v1.2.6 or later
 *
 * Originally based on the work of:
 *	1) Matt Oakes
 *	2) Torsten Baldes (http://medienfreunde.com/lab/innerfade/)
 *	3) Benjamin Sterling (http://www.benjaminsterling.com/experiments/jqShuffle/)
 */
;(function($) {

var ver = '2.65';

// if $.support is not defined (pre jQuery 1.3) add what I need
if ($.support == undefined) {
	$.support = {
		opacity: !($.browser.msie)
	};
}

function log() {
	if (window.console && window.console.log)
		window.console.log('[cycle] ' + Array.prototype.join.call(arguments,' '));
	//$('body').append('<div>'+Array.prototype.join.call(arguments,' ')+'</div>');
};

// the options arg can be...
//   a number  - indicates an immediate transition should occur to the given slide index
//   a string  - 'stop', 'pause', 'resume', or the name of a transition effect (ie, 'fade', 'zoom', etc)
//   an object - properties to control the slideshow
//
// the arg2 arg can be...
//   the name of an fx (only used in conjunction with a numeric value for 'options')
//   the value true (only used in conjunction with a options == 'resume') and indicates
//     that the resume should occur immediately (not wait for next timeout)

$.fn.cycle = function(options, arg2) {
	var o = { s: this.selector, c: this.context };

    // in 1.3+ we can fix mistakes with the ready state
	if (this.length == 0 && options != 'stop') {
        if (!$.isReady && o.s) {
            log('DOM not ready, queuing slideshow')
            $(function() {
                $(o.s,o.c).cycle(options,arg2);
            });
            return this;
        }
		// is your DOM ready?  http://docs.jquery.com/Tutorials:Introducing_$(document).ready()
		log('terminating; zero elements found by selector' + ($.isReady ? '' : ' (DOM not ready)'));
		return this;
	}

    // iterate the matched nodeset
	return this.each(function() {
        options = handleArguments(this, options, arg2);
        if (options === false)
            return;

		// stop existing slideshow for this container (if there is one)
		if (this.cycleTimeout)
            clearTimeout(this.cycleTimeout);
		this.cycleTimeout = this.cyclePause = 0;

		var $cont = $(this);
		var $slides = options.slideExpr ? $(options.slideExpr, this) : $cont.children();
		var els = $slides.get();
		if (els.length < 2) {
			log('terminating; too few slides: ' + els.length);
			return;
		}

        var opts = buildOptions($cont, $slides, els, options, o);
        if (opts === false)
            return;

        // if it's an auto slideshow, kick it off
		if (opts.timeout || opts.continuous)
			this.cycleTimeout = setTimeout(function(){go(els,opts,0,!opts.rev)},
				opts.continuous ? 10 : opts.timeout + (opts.delay||0));
	});
};

// process the args that were passed to the plugin fn
function handleArguments(cont, options, arg2) {
	if (cont.cycleStop == undefined)
		cont.cycleStop = 0;
	if (options === undefined || options === null)
		options = {};
	if (options.constructor == String) {
		switch(options) {
		case 'stop':
			cont.cycleStop++; // callbacks look for change
			if (cont.cycleTimeout)
                clearTimeout(cont.cycleTimeout);
			cont.cycleTimeout = 0;
			$(cont).removeData('cycle.opts');
			return false;
		case 'pause':
			cont.cyclePause = 1;
			return false;
		case 'resume':
			cont.cyclePause = 0;
			if (arg2 === true) { // resume now!
				options = $(cont).data('cycle.opts');
				if (!options) {
					log('options not found, can not resume');
					return false;
				}
				if (cont.cycleTimeout) {
					clearTimeout(cont.cycleTimeout);
					cont.cycleTimeout = 0;
				}
				go(options.elements, options, 1, 1);
			}
			return false;
		default:
			options = { fx: options };
		};
	}
	else if (options.constructor == Number) {
		// go to the requested slide
		var num = options;
		options = $(cont).data('cycle.opts');
		if (!options) {
			log('options not found, can not advance slide');
			return false;
		}
		if (num < 0 || num >= options.elements.length) {
			log('invalid slide index: ' + num);
			return false;
		}
		options.nextSlide = num;
		if (cont.cycleTimeout) {
			clearTimeout(cont.cycleTimeout);
			cont.cycleTimeout = 0;
		}
        if (typeof arg2 == 'string')
            options.oneTimeFx = arg2;
		go(options.elements, options, 1, num >= options.currSlide);
		return false;
	}
    return options;
};

function removeFilter(el, opts) {
	if (!$.support.opacity && opts.cleartype && el.style.filter) {
		try { el.style.removeAttribute('filter'); }
		catch(smother) {} // handle old opera versions
	}
};

// one-time initialization
function buildOptions($cont, $slides, els, options, o) {
	// support metadata plugin (v1.0 and v2.0)
	var opts = $.extend({}, $.fn.cycle.defaults, options || {}, $.metadata ? $cont.metadata() : $.meta ? $cont.data() : {});
	if (opts.autostop)
		opts.countdown = opts.autostopCount || els.length;

    var cont = $cont[0];
	$cont.data('cycle.opts', opts);
	opts.$cont = $cont;
	opts.stopCount = cont.cycleStop;
	opts.elements = els;
	opts.before = opts.before ? [opts.before] : [];
	opts.after = opts.after ? [opts.after] : [];
	opts.after.unshift(function(){ opts.busy=0; });

    // push some after callbacks
	if (!$.support.opacity && opts.cleartype)
		opts.after.push(function() { removeFilter(this, opts); });
	if (opts.continuous)
		opts.after.push(function() { go(els,opts,0,!opts.rev); });

    saveOriginalOpts(opts);

	// clearType corrections
	if (!$.support.opacity && opts.cleartype && !opts.cleartypeNoBg)
		clearTypeFix($slides);

    // container requires non-static position so that slides can be position within
	if ($cont.css('position') == 'static')
		$cont.css('position', 'relative');
	if (opts.width)
		$cont.width(opts.width);
	if (opts.height && opts.height != 'auto')
		$cont.height(opts.height);

	if (opts.startingSlide)
        opts.startingSlide = parseInt(opts.startingSlide);

    // if random, mix up the slide array
	if (opts.random) {
		opts.randomMap = [];
		for (var i = 0; i < els.length; i++)
			opts.randomMap.push(i);
		opts.randomMap.sort(function(a,b) {return Math.random() - 0.5;});
		opts.randomIndex = 0;
		opts.startingSlide = opts.randomMap[0];
	}
	else if (opts.startingSlide >= els.length)
		opts.startingSlide = 0; // catch bogus input
	opts.currSlide = opts.startingSlide = opts.startingSlide || 0;
	var first = opts.startingSlide;

    // set position and zIndex on all the slides
	$slides.css({position: 'absolute', top:0, left:0}).hide().each(function(i) {
		var z = first ? i >= first ? els.length - (i-first) : first-i : els.length-i;
		$(this).css('z-index', z)
	});

    // make sure first slide is visible
	$(els[first]).css('opacity',1).show(); // opacity bit needed to handle restart use case
	removeFilter(els[first], opts);

    // stretch slides
	if (opts.fit && opts.width)
		$slides.width(opts.width);
	if (opts.fit && opts.height && opts.height != 'auto')
		$slides.height(opts.height);

    // stretch container
	var reshape = opts.containerResize && !$cont.innerHeight();
	if (reshape) { // do this only if container has no size http://tinyurl.com/da2oa9
		var maxw = 0, maxh = 0;
		for(var i=0; i < els.length; i++) {
			var $e = $(els[i]), e = $e[0], w = $e.outerWidth(), h = $e.outerHeight();
            if (!w) w = e.offsetWidth;
            if (!h) h = e.offsetHeight;
			maxw = w > maxw ? w : maxw;
			maxh = h > maxh ? h : maxh;
		}
        if (maxw > 0 && maxh > 0)
		    $cont.css({width:maxw+'px',height:maxh+'px'});
	}

	if (opts.pause)
		$cont.hover(function(){this.cyclePause++;},function(){this.cyclePause--;});

    if (supportMultiTransitions(opts) === false)
		return false;

	// run transition init fn
	if (!opts.multiFx) {
		var init = $.fn.cycle.transitions[opts.fx];
		if ($.isFunction(init))
			init($cont, $slides, opts);
		else if (opts.fx != 'custom' && !opts.multiFx) {
			log('unknown transition: ' + opts.fx,'; slideshow terminating');
			return false;
		}
	}

	// apparently a lot of people use image slideshows without height/width attributes on the images.
	// Cycle 2.50+ requires the sizing info for every slide; this block tries to deal with that.
	var requeue = false;
	options.requeueAttempts = options.requeueAttempts || 0;
	$slides.each(function() {
        // try to get height/width of each slide
		var $el = $(this);
	    this.cycleH = (opts.fit && opts.height) ? opts.height : $el.height();
		this.cycleW = (opts.fit && opts.width) ? opts.width : $el.width();

		if ( $el.is('img') ) {
			// sigh..  sniffing, hacking, shrugging...
			var loadingIE    = ($.browser.msie  && this.cycleW == 28 && this.cycleH == 30 && !this.complete);
			var loadingOp    = ($.browser.opera && this.cycleW == 42 && this.cycleH == 19 && !this.complete);
			var loadingOther = (this.cycleH == 0 && this.cycleW == 0 && !this.complete);

			// don't requeue for images that are still loading but have a valid size
			if (loadingIE || loadingOp || loadingOther) {
				if (o.s && opts.requeueOnImageNotLoaded && ++options.requeueAttempts < 100) { // track retry count so we don't loop forever
					log(options.requeueAttempts,' - img slide not loaded, requeuing slideshow: ', this.src, this.cycleW, this.cycleH);
					setTimeout(function() {$(o.s,o.c).cycle(options)}, opts.requeueTimeout);
					requeue = true;
					return false; // break each loop
				}
				else {
					log('could not determine size of image: '+this.src, this.cycleW, this.cycleH);
				}
			}
		}
		return true;
	});

	if (requeue)
		return false;

	opts.cssBefore = opts.cssBefore || {};
	opts.animIn = opts.animIn || {};
	opts.animOut = opts.animOut || {};

	$slides.not(':eq('+first+')').css(opts.cssBefore);
	if (opts.cssFirst)
		$($slides[first]).css(opts.cssFirst);

	if (opts.timeout) {
		opts.timeout = parseInt(opts.timeout);
		// ensure that timeout and speed settings are sane
		if (opts.speed.constructor == String)
			opts.speed = $.fx.speeds[opts.speed] || parseInt(opts.speed);
		if (!opts.sync)
			opts.speed = opts.speed / 2;
		while((opts.timeout - opts.speed) < 250) // sanitize timeout
			opts.timeout += opts.speed;
	}
	if (opts.easing)
		opts.easeIn = opts.easeOut = opts.easing;
	if (!opts.speedIn)
		opts.speedIn = opts.speed;
	if (!opts.speedOut)
		opts.speedOut = opts.speed;

	opts.slideCount = els.length;
	opts.currSlide = opts.lastSlide = first;
	if (opts.random) {
		opts.nextSlide = opts.currSlide;
		if (++opts.randomIndex == els.length)
			opts.randomIndex = 0;
		opts.nextSlide = opts.randomMap[opts.randomIndex];
	}
	else
		opts.nextSlide = opts.startingSlide >= (els.length-1) ? 0 : opts.startingSlide+1;

	// fire artificial events
	var e0 = $slides[first];
	if (opts.before.length)
		opts.before[0].apply(e0, [e0, e0, opts, true]);
	if (opts.after.length > 1)
		opts.after[1].apply(e0, [e0, e0, opts, true]);

	if (opts.next)
		$(opts.next).click(function(){return advance(opts,opts.rev?-1:1)});
	if (opts.prev)
		$(opts.prev).click(function(){return advance(opts,opts.rev?1:-1)});
	if (opts.pager)
		buildPager(els,opts);

    exposeAddSlide(opts, els);

    return opts;
};

// save off original opts so we can restore after clearing state
function saveOriginalOpts(opts) {
    opts.original = { before: [], after: [] };
    opts.original.cssBefore = $.extend({}, opts.cssBefore);
    opts.original.cssAfter  = $.extend({}, opts.cssAfter);
    opts.original.animIn    = $.extend({}, opts.animIn);
    opts.original.animOut   = $.extend({}, opts.animOut);
	$.each(opts.before, function() { opts.original.before.push(this); });
	$.each(opts.after,  function() { opts.original.after.push(this); });
};

function supportMultiTransitions(opts) {
    var txs = $.fn.cycle.transitions;
	// look for multiple effects
	if (opts.fx.indexOf(',') > 0) {
		opts.multiFx = true;
		opts.fxs = opts.fx.replace(/\s*/g,'').split(',');
		// discard any bogus effect names
		for (var i=0; i < opts.fxs.length; i++) {
			var fx = opts.fxs[i];
			var tx = txs[fx];
			if (!tx || !txs.hasOwnProperty(fx) || !$.isFunction(tx)) {
				log('discarding unknown transition: ',fx);
				opts.fxs.splice(i,1);
				i--;
			}
		}
		// if we have an empty list then we threw everything away!
		if (!opts.fxs.length) {
			log('No valid transitions named; slideshow terminating.');
			return false;
		}
	}
	else if (opts.fx == 'all') {  // auto-gen the list of transitions
		opts.multiFx = true;
		opts.fxs = [];
		for (p in txs) {
			var tx = txs[p];
			if (txs.hasOwnProperty(p) && $.isFunction(tx))
				opts.fxs.push(p);
		}
	}
	if (opts.multiFx && opts.randomizeEffects) {
		// munge the fxs array to make effect selection random
		var r1 = Math.floor(Math.random() * 20) + 30;
		for (var i = 0; i < r1; i++) {
			var r2 = Math.floor(Math.random() * opts.fxs.length);
			opts.fxs.push(opts.fxs.splice(r2,1)[0]);
		}
		log('randomized fx sequence: ',opts.fxs);
	}
	return true;
};

// provide a mechanism for adding slides after the slideshow has started
function exposeAddSlide(opts, els) {
	opts.addSlide = function(newSlide, prepend) {
		var $s = $(newSlide), s = $s[0];
		if (!opts.autostopCount)
			opts.countdown++;
		els[prepend?'unshift':'push'](s);
		if (opts.els)
			opts.els[prepend?'unshift':'push'](s); // shuffle needs this
		opts.slideCount = els.length;

		$s.css('position','absolute');
		$s[prepend?'prependTo':'appendTo'](opts.$cont);

		if (prepend) {
			opts.currSlide++;
			opts.nextSlide++;
		}

		if (!$.support.opacity && opts.cleartype && !opts.cleartypeNoBg)
			clearTypeFix($s);

		if (opts.fit && opts.width)
			$s.width(opts.width);
		if (opts.fit && opts.height && opts.height != 'auto')
			$slides.height(opts.height);
		s.cycleH = (opts.fit && opts.height) ? opts.height : $s.height();
		s.cycleW = (opts.fit && opts.width) ? opts.width : $s.width();

		$s.css(opts.cssBefore);

		if (opts.pager)
			$.fn.cycle.createPagerAnchor(els.length-1, s, $(opts.pager), els, opts);

		if ($.isFunction(opts.onAddSlide))
			opts.onAddSlide($s);
		else
			$s.hide(); // default behavior
	};
}

// reset internal state; we do this on every pass in order to support multiple effects
$.fn.cycle.resetState = function(opts, fx) {
    fx = fx || opts.fx;
	opts.before = []; opts.after = [];
	opts.cssBefore = $.extend({}, opts.original.cssBefore);
	opts.cssAfter  = $.extend({}, opts.original.cssAfter);
	opts.animIn    = $.extend({}, opts.original.animIn);
	opts.animOut   = $.extend({}, opts.original.animOut);
	opts.fxFn = null;
	$.each(opts.original.before, function() { opts.before.push(this); });
	$.each(opts.original.after,  function() { opts.after.push(this); });

	// re-init
	var init = $.fn.cycle.transitions[fx];
	if ($.isFunction(init))
		init(opts.$cont, $(opts.elements), opts);
};

// this is the main engine fn, it handles the timeouts, callbacks and slide index mgmt
function go(els, opts, manual, fwd) {
    // opts.busy is true if we're in the middle of an animation
	if (manual && opts.busy && opts.manualTrump) {
        // let manual transitions requests trump active ones
		$(els).stop(true,true);
		opts.busy = false;
	}
    // don't begin another timeout-based transition if there is one active
	if (opts.busy)
        return;

	var p = opts.$cont[0], curr = els[opts.currSlide], next = els[opts.nextSlide];

    // stop cycling if we have an outstanding stop request
	if (p.cycleStop != opts.stopCount || p.cycleTimeout === 0 && !manual)
		return;

    // check to see if we should stop cycling based on autostop options
	if (!manual && !p.cyclePause &&
		((opts.autostop && (--opts.countdown <= 0)) ||
		(opts.nowrap && !opts.random && opts.nextSlide < opts.currSlide))) {
		if (opts.end)
			opts.end(opts);
		return;
	}

    // if slideshow is paused, only transition on a manual trigger
	if (manual || !p.cyclePause) {
        var fx = opts.fx;
		// keep trying to get the slide size if we don't have it yet
		curr.cycleH = curr.cycleH || $(curr).height();
		curr.cycleW = curr.cycleW || $(curr).width();
		next.cycleH = next.cycleH || $(next).height();
		next.cycleW = next.cycleW || $(next).width();

		// support multiple transition types
		if (opts.multiFx) {
			if (opts.lastFx == undefined || ++opts.lastFx >= opts.fxs.length)
				opts.lastFx = 0;
			fx = opts.fxs[opts.lastFx];
			opts.currFx = fx;
		}

        // one-time fx overrides apply to:  $('div').cycle(3,'zoom');
        if (opts.oneTimeFx) {
            fx = opts.oneTimeFx;
            opts.oneTimeFx = null;
        }

        $.fn.cycle.resetState(opts, fx);

        // run the before callbacks
		if (opts.before.length)
			$.each(opts.before, function(i,o) {
				if (p.cycleStop != opts.stopCount) return;
				o.apply(next, [curr, next, opts, fwd]);
			});

        // stage the after callacks
		var after = function() {
			$.each(opts.after, function(i,o) {
				if (p.cycleStop != opts.stopCount) return;
				o.apply(next, [curr, next, opts, fwd]);
			});
		};

		if (opts.nextSlide != opts.currSlide) {
            // get ready to perform the transition
			opts.busy = 1;
			if (opts.fxFn) // fx function provided?
				opts.fxFn(curr, next, opts, after, fwd);
			else if ($.isFunction($.fn.cycle[opts.fx])) // fx plugin ?
				$.fn.cycle[opts.fx](curr, next, opts, after);
			else
				$.fn.cycle.custom(curr, next, opts, after, manual && opts.fastOnEvent);
		}

        // calculate the next slide
		opts.lastSlide = opts.currSlide;
		if (opts.random) {
			opts.currSlide = opts.nextSlide;
			if (++opts.randomIndex == els.length)
				opts.randomIndex = 0;
			opts.nextSlide = opts.randomMap[opts.randomIndex];
		}
		else { // sequence
			var roll = (opts.nextSlide + 1) == els.length;
			opts.nextSlide = roll ? 0 : opts.nextSlide+1;
			opts.currSlide = roll ? els.length-1 : opts.nextSlide-1;
		}

		if (opts.pager)
			$.fn.cycle.updateActivePagerLink(opts.pager, opts.currSlide);
	}

    // stage the next transtion
    var ms = 0;
	if (opts.timeout && !opts.continuous)
        ms = getTimeout(curr, next, opts, fwd);
    else if (opts.continuous && p.cyclePause) // continuous shows work off an after callback, not this timer logic
        ms = 10;
    if (ms > 0)
        p.cycleTimeout = setTimeout(function(){ go(els, opts, 0, !opts.rev) }, ms);
};

// invoked after transition
$.fn.cycle.updateActivePagerLink = function(pager, currSlide) {
	$(pager).find('a').removeClass('activeSlide').filter('a:eq('+currSlide+')').addClass('activeSlide');
};

// calculate timeout value for current transition
function getTimeout(curr, next, opts, fwd) {
	if (opts.timeoutFn) {
        // call user provided calc fn
		var t = opts.timeoutFn(curr,next,opts,fwd);
		if (t !== false)
			return t;
	}
	return opts.timeout;
};

// expose next/prev function, caller must pass in state
$.fn.cycle.next = function(opts) { advance(opts, opts.rev?-1:1); };
$.fn.cycle.prev = function(opts) { advance(opts, opts.rev?1:-1);};

// advance slide forward or back
function advance(opts, val) {
    var els = opts.elements;
	var p = opts.$cont[0], timeout = p.cycleTimeout;
	if (timeout) {
		clearTimeout(timeout);
		p.cycleTimeout = 0;
	}
	if (opts.random && val < 0) {
		// move back to the previously display slide
		opts.randomIndex--;
		if (--opts.randomIndex == -2)
			opts.randomIndex = els.length-2;
		else if (opts.randomIndex == -1)
			opts.randomIndex = els.length-1;
		opts.nextSlide = opts.randomMap[opts.randomIndex];
	}
	else if (opts.random) {
		if (++opts.randomIndex == els.length)
			opts.randomIndex = 0;
		opts.nextSlide = opts.randomMap[opts.randomIndex];
	}
	else {
		opts.nextSlide = opts.currSlide + val;
		if (opts.nextSlide < 0) {
			if (opts.nowrap) return false;
			opts.nextSlide = els.length - 1;
		}
		else if (opts.nextSlide >= els.length) {
			if (opts.nowrap) return false;
			opts.nextSlide = 0;
		}
	}

	if ($.isFunction(opts.prevNextClick))
		opts.prevNextClick(val > 0, opts.nextSlide, els[opts.nextSlide]);
	go(els, opts, 1, val>=0);
	return false;
};

function buildPager(els, opts) {
	var $p = $(opts.pager);
	$.each(els, function(i,o) {
		$.fn.cycle.createPagerAnchor(i,o,$p,els,opts);
	});
   $.fn.cycle.updateActivePagerLink(opts.pager, opts.startingSlide);
};

$.fn.cycle.createPagerAnchor = function(i, el, $p, els, opts) {
	var a = ($.isFunction(opts.pagerAnchorBuilder))
		? opts.pagerAnchorBuilder(i,el)
		: '<a href="#">'+(i+1)+'</a>';
	if (!a)
		return;
	var $a = $(a);
	// don't reparent if anchor is in the dom
	if ($a.parents('body').length == 0) {
		var arr = [];
		if ($p.length > 1) {
			$p.each(function() {
				var $clone = $a.clone(true);
				$(this).append($clone);
				arr.push($clone);
			});
			$a = $(arr);
		}
		else {
			$a.appendTo($p);
		}
	}

	$a.bind(opts.pagerEvent, function() {
		opts.nextSlide = i;
		var p = opts.$cont[0], timeout = p.cycleTimeout;
		if (timeout) {
			clearTimeout(timeout);
			p.cycleTimeout = 0;
		}
		if ($.isFunction(opts.pagerClick))
			opts.pagerClick(opts.nextSlide, els[opts.nextSlide]);
		go(els,opts,1,opts.currSlide < i); // trigger the trans
		return false;
	});
	if (opts.pauseOnPagerHover)
		$a.hover(function() { opts.$cont[0].cyclePause++; }, function() { opts.$cont[0].cyclePause--; } );
};

// helper fn to calculate the number of slides between the current and the next
$.fn.cycle.hopsFromLast = function(opts, fwd) {
	var hops, l = opts.lastSlide, c = opts.currSlide;
	if (fwd)
		hops = c > l ? c - l : opts.slideCount - l;
	else
		hops = c < l ? l - c : l + opts.slideCount - c;
	return hops;
};

// fix clearType problems in ie6 by setting an explicit bg color
// (otherwise text slides look horrible during a fade transition)
function clearTypeFix($slides) {
	function hex(s) {
		s = parseInt(s).toString(16);
		return s.length < 2 ? '0'+s : s;
	};
	function getBg(e) {
		for ( ; e && e.nodeName.toLowerCase() != 'html'; e = e.parentNode) {
			var v = $.css(e,'background-color');
			if (v.indexOf('rgb') >= 0 ) {
				var rgb = v.match(/\d+/g);
				return '#'+ hex(rgb[0]) + hex(rgb[1]) + hex(rgb[2]);
			}
			if (v && v != 'transparent')
				return v;
		}
		return '#ffffff';
	};
	$slides.each(function() { $(this).css('background-color', getBg(this)); });
};

// reset common props before the next transition
$.fn.cycle.commonReset = function(curr,next,opts,w,h,rev) {
	$(opts.elements).not(curr).hide();
	opts.cssBefore.opacity = 1;
	opts.cssBefore.display = 'block';
	if (w !== false && next.cycleW > 0)
		opts.cssBefore.width = next.cycleW;
	if (h !== false && next.cycleH > 0)
		opts.cssBefore.height = next.cycleH;
	opts.cssAfter = opts.cssAfter || {};
	opts.cssAfter.display = 'none';
	$(curr).css('zIndex',opts.slideCount + (rev === true ? 1 : 0));
	$(next).css('zIndex',opts.slideCount + (rev === true ? 0 : 1));
};

// the actual fn for effecting a transition
$.fn.cycle.custom = function(curr, next, opts, cb, speedOverride) {
	var $l = $(curr), $n = $(next);
	var speedIn = opts.speedIn, speedOut = opts.speedOut, easeIn = opts.easeIn, easeOut = opts.easeOut;
	$n.css(opts.cssBefore);
	if (speedOverride) {
		if (typeof speedOverride == 'number')
			speedIn = speedOut = speedOverride;
		else
			speedIn = speedOut = 1;
		easeIn = easeOut = null;
	}
	var fn = function() {$n.animate(opts.animIn, speedIn, easeIn, cb)};
	$l.animate(opts.animOut, speedOut, easeOut, function() {
		if (opts.cssAfter) $l.css(opts.cssAfter);
		if (!opts.sync) fn();
	});
	if (opts.sync) fn();
};

// transition definitions - only fade is defined here, transition pack defines the rest
$.fn.cycle.transitions = {
	fade: function($cont, $slides, opts) {
		$slides.not(':eq('+opts.currSlide+')').css('opacity',0);
		opts.before.push(function(curr,next,opts) {
			$.fn.cycle.commonReset(curr,next,opts);
			opts.cssBefore.opacity = 0;
		});
		opts.animIn	   = { opacity: 1 };
		opts.animOut   = { opacity: 0 };
		opts.cssBefore = { top: 0, left: 0 };
	}
};

$.fn.cycle.ver = function() { return ver; };

// override these globally if you like (they are all optional)
$.fn.cycle.defaults = {
	fx:			  'fade', // name of transition effect (or comma separated names, ex: fade,scrollUp,shuffle)
	timeout:	   4000,  // milliseconds between slide transitions (0 to disable auto advance)
	timeoutFn:     null,  // callback for determining per-slide timeout value:  function(currSlideElement, nextSlideElement, options, forwardFlag)
	continuous:	   0,	  // true to start next transition immediately after current one completes
	speed:		   1000,  // speed of the transition (any valid fx speed value)
	speedIn:	   null,  // speed of the 'in' transition
	speedOut:	   null,  // speed of the 'out' transition
	next:		   null,  // selector for element to use as click trigger for next slide
	prev:		   null,  // selector for element to use as click trigger for previous slide
	prevNextClick: null,  // callback fn for prev/next clicks:	function(isNext, zeroBasedSlideIndex, slideElement)
	pager:		   null,  // selector for element to use as pager container
	pagerClick:	   null,  // callback fn for pager clicks:	function(zeroBasedSlideIndex, slideElement)
	pagerEvent:	  'click', // name of event which drives the pager navigation
	pagerAnchorBuilder: null, // callback fn for building anchor links:  function(index, DOMelement)
	before:		   null,  // transition callback (scope set to element to be shown):     function(currSlideElement, nextSlideElement, options, forwardFlag)
	after:		   null,  // transition callback (scope set to element that was shown):  function(currSlideElement, nextSlideElement, options, forwardFlag)
	end:		   null,  // callback invoked when the slideshow terminates (use with autostop or nowrap options): function(options)
	easing:		   null,  // easing method for both in and out transitions
	easeIn:		   null,  // easing for "in" transition
	easeOut:	   null,  // easing for "out" transition
	shuffle:	   null,  // coords for shuffle animation, ex: { top:15, left: 200 }
	animIn:		   null,  // properties that define how the slide animates in
	animOut:	   null,  // properties that define how the slide animates out
	cssBefore:	   null,  // properties that define the initial state of the slide before transitioning in
	cssAfter:	   null,  // properties that defined the state of the slide after transitioning out
	fxFn:		   null,  // function used to control the transition: function(currSlideElement, nextSlideElement, options, afterCalback, forwardFlag)
	height:		  'auto', // container height
	startingSlide: 0,	  // zero-based index of the first slide to be displayed
	sync:		   1,	  // true if in/out transitions should occur simultaneously
	random:		   0,	  // true for random, false for sequence (not applicable to shuffle fx)
	fit:		   0,	  // force slides to fit container
	containerResize: 1,	  // resize container to fit largest slide
	pause:		   0,	  // true to enable "pause on hover"
	pauseOnPagerHover: 0, // true to pause when hovering over pager link
	autostop:	   0,	  // true to end slideshow after X transitions (where X == slide count)
	autostopCount: 0,	  // number of transitions (optionally used with autostop to define X)
	delay:		   0,	  // additional delay (in ms) for first transition (hint: can be negative)
	slideExpr:	   null,  // expression for selecting slides (if something other than all children is required)
	cleartype:	   !$.support.opacity,  // true if clearType corrections should be applied (for IE)
	nowrap:		   0,	  // true to prevent slideshow from wrapping
	fastOnEvent:   0,	  // force fast transitions when triggered manually (via pager or prev/next); value == time in ms
	randomizeEffects: 1,  // valid when multiple effects are used; true to make the effect sequence random
	rev:           0,     // causes animations to transition in reverse
	manualTrump:   true,  // causes manual transition to stop an active transition instead of being ignored
	requeueOnImageNotLoaded: true, // requeue the slideshow if any image slides are not yet loaded
	requeueTimeout: 250   // ms delay for requeue
};

})(jQuery);


/*!
 * jQuery Cycle Plugin Transition Definitions
 * This script is a plugin for the jQuery Cycle Plugin
 * Examples and documentation at: http://malsup.com/jquery/cycle/
 * Copyright (c) 2007-2008 M. Alsup
 * Version:	 2.52
 * Dual licensed under the MIT and GPL licenses:
 * http://www.opensource.org/licenses/mit-license.php
 * http://www.gnu.org/licenses/gpl.html
 */
(function($) {

//
// These functions define one-time slide initialization for the named
// transitions. To save file size feel free to remove any of these that you
// don't need.
//

// scrollUp/Down/Left/Right
$.fn.cycle.transitions.scrollUp = function($cont, $slides, opts) {
	$cont.css('overflow','hidden');
	opts.before.push($.fn.cycle.commonReset);
	var h = $cont.height();
	opts.cssBefore ={ top: h, left: 0 };
	opts.cssFirst = { top: 0 };
	opts.animIn	  = { top: 0 };
	opts.animOut  = { top: -h };
};
$.fn.cycle.transitions.scrollDown = function($cont, $slides, opts) {
	$cont.css('overflow','hidden');
	opts.before.push($.fn.cycle.commonReset);
	var h = $cont.height();
	opts.cssFirst = { top: 0 };
	opts.cssBefore= { top: -h, left: 0 };
	opts.animIn	  = { top: 0 };
	opts.animOut  = { top: h };
};
$.fn.cycle.transitions.scrollLeft = function($cont, $slides, opts) {
	$cont.css('overflow','hidden');
	opts.before.push($.fn.cycle.commonReset);
	var w = $cont.width();
	opts.cssFirst = { left: 0 };
	opts.cssBefore= { left: w, top: 0 };
	opts.animIn	  = { left: 0 };
	opts.animOut  = { left: 0-w };
};
$.fn.cycle.transitions.scrollRight = function($cont, $slides, opts) {
	$cont.css('overflow','hidden');
	opts.before.push($.fn.cycle.commonReset);
	var w = $cont.width();
	opts.cssFirst = { left: 0 };
	opts.cssBefore= { left: -w, top: 0 };
	opts.animIn	  = { left: 0 };
	opts.animOut  = { left: w };
};
$.fn.cycle.transitions.scrollHorz = function($cont, $slides, opts) {
	$cont.css('overflow','hidden').width();
	opts.before.push(function(curr, next, opts, fwd) {
		$.fn.cycle.commonReset(curr,next,opts);
		opts.cssBefore.left = fwd ? (next.cycleW-1) : (1-next.cycleW);
		opts.animOut.left = fwd ? -curr.cycleW : curr.cycleW;
	});
	opts.cssFirst = { left: 0 };
	opts.cssBefore= { top: 0 };
	opts.animIn   = { left: 0 };
	opts.animOut  = { top: 0 };
};
$.fn.cycle.transitions.scrollVert = function($cont, $slides, opts) {
	$cont.css('overflow','hidden');
	opts.before.push(function(curr, next, opts, fwd) {
		$.fn.cycle.commonReset(curr,next,opts);
		opts.cssBefore.top = fwd ? (1-next.cycleH) : (next.cycleH-1);
		opts.animOut.top = fwd ? curr.cycleH : -curr.cycleH;
	});
	opts.cssFirst = { top: 0 };
	opts.cssBefore= { left: 0 };
	opts.animIn   = { top: 0 };
	opts.animOut  = { left: 0 };
};

// slideX/slideY
$.fn.cycle.transitions.slideX = function($cont, $slides, opts) {
	opts.before.push(function(curr, next, opts) {
		$(opts.elements).not(curr).hide();
		$.fn.cycle.commonReset(curr,next,opts,false,true);
		opts.animIn.width = next.cycleW;
	});
	opts.cssBefore = { left: 0, top: 0, width: 0 };
	opts.animIn	 = { width: 'show' };
	opts.animOut = { width: 0 };
};
$.fn.cycle.transitions.slideY = function($cont, $slides, opts) {
	opts.before.push(function(curr, next, opts) {
		$(opts.elements).not(curr).hide();
		$.fn.cycle.commonReset(curr,next,opts,true,false);
		opts.animIn.height = next.cycleH;
	});
	opts.cssBefore = { left: 0, top: 0, height: 0 };
	opts.animIn	 = { height: 'show' };
	opts.animOut = { height: 0 };
};

// shuffle
$.fn.cycle.transitions.shuffle = function($cont, $slides, opts) {
	var w = $cont.css('overflow', 'visible').width();
	$slides.css({left: 0, top: 0});
	opts.before.push(function(curr,next,opts) {
		$.fn.cycle.commonReset(curr,next,opts,true,true,true);
	});
	opts.speed = opts.speed / 2; // shuffle has 2 transitions
	opts.random = 0;
	opts.shuffle = opts.shuffle || {left:-w, top:15};
	opts.els = [];
	for (var i=0; i < $slides.length; i++)
		opts.els.push($slides[i]);

	for (var i=0; i < opts.currSlide; i++)
		opts.els.push(opts.els.shift());

	// custom transition fn (hat tip to Benjamin Sterling for this bit of sweetness!)
	opts.fxFn = function(curr, next, opts, cb, fwd) {
		var $el = fwd ? $(curr) : $(next);
		$(next).css(opts.cssBefore);
		var count = opts.slideCount;
		$el.animate(opts.shuffle, opts.speedIn, opts.easeIn, function() {
			var hops = $.fn.cycle.hopsFromLast(opts, fwd);
			for (var k=0; k < hops; k++)
				fwd ? opts.els.push(opts.els.shift()) : opts.els.unshift(opts.els.pop());
			if (fwd)
				for (var i=0, len=opts.els.length; i < len; i++)
					$(opts.els[i]).css('z-index', len-i+count);
			else {
				var z = $(curr).css('z-index');
				$el.css('z-index', parseInt(z)+1+count);
			}
			$el.animate({left:0, top:0}, opts.speedOut, opts.easeOut, function() {
				$(fwd ? this : curr).hide();
				if (cb) cb();
			});
		});
	};
	opts.cssBefore = { display: 'block', opacity: 1, top: 0, left: 0 };
};

// turnUp/Down/Left/Right
$.fn.cycle.transitions.turnUp = function($cont, $slides, opts) {
	opts.before.push(function(curr, next, opts) {
		$.fn.cycle.commonReset(curr,next,opts,true,false);
		opts.cssBefore.top = next.cycleH;
		opts.animIn.height = next.cycleH;
	});
	opts.cssFirst  = { top: 0 };
	opts.cssBefore = { left: 0, height: 0 };
	opts.animIn	   = { top: 0 };
	opts.animOut   = { height: 0 };
};
$.fn.cycle.transitions.turnDown = function($cont, $slides, opts) {
	opts.before.push(function(curr, next, opts) {
		$.fn.cycle.commonReset(curr,next,opts,true,false);
		opts.animIn.height = next.cycleH;
		opts.animOut.top   = curr.cycleH;
	});
	opts.cssFirst  = { top: 0 };
	opts.cssBefore = { left: 0, top: 0, height: 0 };
	opts.animOut   = { height: 0 };
};
$.fn.cycle.transitions.turnLeft = function($cont, $slides, opts) {
	opts.before.push(function(curr, next, opts) {
		$.fn.cycle.commonReset(curr,next,opts,false,true);
		opts.cssBefore.left = next.cycleW;
		opts.animIn.width = next.cycleW;
	});
	opts.cssBefore = { top: 0, width: 0  };
	opts.animIn	   = { left: 0 };
	opts.animOut   = { width: 0 };
};
$.fn.cycle.transitions.turnRight = function($cont, $slides, opts) {
	opts.before.push(function(curr, next, opts) {
		$.fn.cycle.commonReset(curr,next,opts,false,true);
		opts.animIn.width = next.cycleW;
		opts.animOut.left = curr.cycleW;
	});
	opts.cssBefore = { top: 0, left: 0, width: 0 };
	opts.animIn	   = { left: 0 };
	opts.animOut   = { width: 0 };
};

// zoom
$.fn.cycle.transitions.zoom = function($cont, $slides, opts) {
	opts.before.push(function(curr, next, opts) {
		$.fn.cycle.commonReset(curr,next,opts,false,false,true);
		opts.cssBefore.top = next.cycleH/2;
		opts.cssBefore.left = next.cycleW/2;
		opts.animIn	   = { top: 0, left: 0, width: next.cycleW, height: next.cycleH };
		opts.animOut   = { width: 0, height: 0, top: curr.cycleH/2, left: curr.cycleW/2 };
	});
	opts.cssFirst = { top:0, left: 0 };
	opts.cssBefore = { width: 0, height: 0 };
};

// fadeZoom
$.fn.cycle.transitions.fadeZoom = function($cont, $slides, opts) {
	opts.before.push(function(curr, next, opts) {
		$.fn.cycle.commonReset(curr,next,opts,false,false);
		opts.cssBefore.left = next.cycleW/2;
		opts.cssBefore.top = next.cycleH/2;
		opts.animIn	= { top: 0, left: 0, width: next.cycleW, height: next.cycleH };
	});
	opts.cssBefore = { width: 0, height: 0 };
	opts.animOut  = { opacity: 0 };
};

// blindX
$.fn.cycle.transitions.blindX = function($cont, $slides, opts) {
	var w = $cont.css('overflow','hidden').width();
	opts.before.push(function(curr, next, opts) {
		$.fn.cycle.commonReset(curr,next,opts);
		opts.animIn.width = next.cycleW;
		opts.animOut.left   = curr.cycleW;
	});
	opts.cssBefore = { left: w, top: 0 };
	opts.animIn = { left: 0 };
	opts.animOut  = { left: w };
};
// blindY
$.fn.cycle.transitions.blindY = function($cont, $slides, opts) {
	var h = $cont.css('overflow','hidden').height();
	opts.before.push(function(curr, next, opts) {
		$.fn.cycle.commonReset(curr,next,opts);
		opts.animIn.height = next.cycleH;
		opts.animOut.top   = curr.cycleH;
	});
	opts.cssBefore = { top: h, left: 0 };
	opts.animIn = { top: 0 };
	opts.animOut  = { top: h };
};
// blindZ
$.fn.cycle.transitions.blindZ = function($cont, $slides, opts) {
	var h = $cont.css('overflow','hidden').height();
	var w = $cont.width();
	opts.before.push(function(curr, next, opts) {
		$.fn.cycle.commonReset(curr,next,opts);
		opts.animIn.height = next.cycleH;
		opts.animOut.top   = curr.cycleH;
	});
	opts.cssBefore = { top: h, left: w };
	opts.animIn = { top: 0, left: 0 };
	opts.animOut  = { top: h, left: w };
};

// growX - grow horizontally from centered 0 width
$.fn.cycle.transitions.growX = function($cont, $slides, opts) {
	opts.before.push(function(curr, next, opts) {
		$.fn.cycle.commonReset(curr,next,opts,false,true);
		opts.cssBefore.left = this.cycleW/2;
		opts.animIn = { left: 0, width: this.cycleW };
		opts.animOut = { left: 0 };
	});
	opts.cssBefore = { width: 0, top: 0 };
};
// growY - grow vertically from centered 0 height
$.fn.cycle.transitions.growY = function($cont, $slides, opts) {
	opts.before.push(function(curr, next, opts) {
		$.fn.cycle.commonReset(curr,next,opts,true,false);
		opts.cssBefore.top = this.cycleH/2;
		opts.animIn = { top: 0, height: this.cycleH };
		opts.animOut = { top: 0 };
	});
	opts.cssBefore = { height: 0, left: 0 };
};

// curtainX - squeeze in both edges horizontally
$.fn.cycle.transitions.curtainX = function($cont, $slides, opts) {
	opts.before.push(function(curr, next, opts) {
		$.fn.cycle.commonReset(curr,next,opts,false,true,true);
		opts.cssBefore.left = next.cycleW/2;
		opts.animIn = { left: 0, width: this.cycleW };
		opts.animOut = { left: curr.cycleW/2, width: 0 };
	});
	opts.cssBefore = { top: 0, width: 0 };
};
// curtainY - squeeze in both edges vertically
$.fn.cycle.transitions.curtainY = function($cont, $slides, opts) {
	opts.before.push(function(curr, next, opts) {
		$.fn.cycle.commonReset(curr,next,opts,true,false,true);
		opts.cssBefore.top = next.cycleH/2;
		opts.animIn = { top: 0, height: next.cycleH };
		opts.animOut = { top: curr.cycleH/2, height: 0 };
	});
	opts.cssBefore = { left: 0, height: 0 };
};

// cover - curr slide covered by next slide
$.fn.cycle.transitions.cover = function($cont, $slides, opts) {
	var d = opts.direction || 'left';
	var w = $cont.css('overflow','hidden').width();
	var h = $cont.height();
	opts.before.push(function(curr, next, opts) {
		$.fn.cycle.commonReset(curr,next,opts);
		if (d == 'right')
			opts.cssBefore.left = -w;
		else if (d == 'up')
			opts.cssBefore.top = h;
		else if (d == 'down')
			opts.cssBefore.top = -h;
		else
			opts.cssBefore.left = w;
	});
	opts.animIn = { left: 0, top: 0};
	opts.animOut = { opacity: 1 };
	opts.cssBefore = { top: 0, left: 0 };
};

// uncover - curr slide moves off next slide
$.fn.cycle.transitions.uncover = function($cont, $slides, opts) {
	var d = opts.direction || 'left';
	var w = $cont.css('overflow','hidden').width();
	var h = $cont.height();
	opts.before.push(function(curr, next, opts) {
		$.fn.cycle.commonReset(curr,next,opts,true,true,true);
		if (d == 'right')
			opts.animOut.left = w;
		else if (d == 'up')
			opts.animOut.top = -h;
		else if (d == 'down')
			opts.animOut.top = h;
		else
			opts.animOut.left = -w;
	});
	opts.animIn = { left: 0, top: 0 };
	opts.animOut = { opacity: 1 };
	opts.cssBefore = { top: 0, left: 0 };
};

// toss - move top slide and fade away
$.fn.cycle.transitions.toss = function($cont, $slides, opts) {
	var w = $cont.css('overflow','visible').width();
	var h = $cont.height();
	opts.before.push(function(curr, next, opts) {
		$.fn.cycle.commonReset(curr,next,opts,true,true,true);
		// provide default toss settings if animOut not provided
		if (!opts.animOut.left && !opts.animOut.top)
			opts.animOut = { left: w*2, top: -h/2, opacity: 0 };
		else
			opts.animOut.opacity = 0;
	});
	opts.cssBefore = { left: 0, top: 0 };
	opts.animIn = { left: 0 };
};

// wipe - clip animation
$.fn.cycle.transitions.wipe = function($cont, $slides, opts) {
	var w = $cont.css('overflow','hidden').width();
	var h = $cont.height();
	opts.cssBefore = opts.cssBefore || {};
	var clip;
	if (opts.clip) {
		if (/l2r/.test(opts.clip))
			clip = 'rect(0px 0px '+h+'px 0px)';
		else if (/r2l/.test(opts.clip))
			clip = 'rect(0px '+w+'px '+h+'px '+w+'px)';
		else if (/t2b/.test(opts.clip))
			clip = 'rect(0px '+w+'px 0px 0px)';
		else if (/b2t/.test(opts.clip))
			clip = 'rect('+h+'px '+w+'px '+h+'px 0px)';
		else if (/zoom/.test(opts.clip)) {
			var t = parseInt(h/2);
			var l = parseInt(w/2);
			clip = 'rect('+t+'px '+l+'px '+t+'px '+l+'px)';
		}
	}

	opts.cssBefore.clip = opts.cssBefore.clip || clip || 'rect(0px 0px 0px 0px)';

	var d = opts.cssBefore.clip.match(/(\d+)/g);
	var t = parseInt(d[0]), r = parseInt(d[1]), b = parseInt(d[2]), l = parseInt(d[3]);

	opts.before.push(function(curr, next, opts) {
		if (curr == next) return;
		var $curr = $(curr), $next = $(next);
		$.fn.cycle.commonReset(curr,next,opts,true,true,false);
    	opts.cssAfter.display = 'block';

		var step = 1, count = parseInt((opts.speedIn / 13)) - 1;
		(function f() {
			var tt = t ? t - parseInt(step * (t/count)) : 0;
			var ll = l ? l - parseInt(step * (l/count)) : 0;
			var bb = b < h ? b + parseInt(step * ((h-b)/count || 1)) : h;
			var rr = r < w ? r + parseInt(step * ((w-r)/count || 1)) : w;
			$next.css({ clip: 'rect('+tt+'px '+rr+'px '+bb+'px '+ll+'px)' });
			(step++ <= count) ? setTimeout(f, 13) : $curr.css('display', 'none');
		})();
	});
	opts.cssBefore = { display: 'block', opacity: 1, top: 0, left: 0 };
	opts.animIn	   = { left: 0 };
	opts.animOut   = { left: 0 };
};

})(jQuery);


/*!
 * jQuery Cycle Plugin (with Transition Definitions)
 * Examples and documentation at: http://jquery.malsup.com/cycle/
 * Copyright (c) 2007-2009 M. Alsup
 * Version: 2.65 (07-APR-2009)
 * Dual licensed under the MIT and GPL licenses:
 * http://www.opensource.org/licenses/mit-license.php
 * http://www.gnu.org/licenses/gpl.html
 * Requires: jQuery v1.2.6 or later
 *
 * Originally based on the work of:
 *	1) Matt Oakes
 *	2) Torsten Baldes (http://medienfreunde.com/lab/innerfade/)
 *	3) Benjamin Sterling (http://www.benjaminsterling.com/experiments/jqShuffle/)
 */
;(function($) {

var ver = '2.65';

// if $.support is not defined (pre jQuery 1.3) add what I need
if ($.support == undefined) {
	$.support = {
		opacity: !($.browser.msie)
	};
}

function log() {
	if (window.console && window.console.log)
		window.console.log('[cycle] ' + Array.prototype.join.call(arguments,' '));
	//$('body').append('<div>'+Array.prototype.join.call(arguments,' ')+'</div>');
};

// the options arg can be...
//   a number  - indicates an immediate transition should occur to the given slide index
//   a string  - 'stop', 'pause', 'resume', or the name of a transition effect (ie, 'fade', 'zoom', etc)
//   an object - properties to control the slideshow
//
// the arg2 arg can be...
//   the name of an fx (only used in conjunction with a numeric value for 'options')
//   the value true (only used in conjunction with a options == 'resume') and indicates
//     that the resume should occur immediately (not wait for next timeout)

$.fn.cycle = function(options, arg2) {
	var o = { s: this.selector, c: this.context };

    // in 1.3+ we can fix mistakes with the ready state
	if (this.length == 0 && options != 'stop') {
        if (!$.isReady && o.s) {
            log('DOM not ready, queuing slideshow')
            $(function() {
                $(o.s,o.c).cycle(options,arg2);
            });
            return this;
        }
		// is your DOM ready?  http://docs.jquery.com/Tutorials:Introducing_$(document).ready()
		log('terminating; zero elements found by selector' + ($.isReady ? '' : ' (DOM not ready)'));
		return this;
	}

    // iterate the matched nodeset
	return this.each(function() {
        options = handleArguments(this, options, arg2);
        if (options === false)
            return;

		// stop existing slideshow for this container (if there is one)
		if (this.cycleTimeout)
            clearTimeout(this.cycleTimeout);
		this.cycleTimeout = this.cyclePause = 0;

		var $cont = $(this);
		var $slides = options.slideExpr ? $(options.slideExpr, this) : $cont.children();
		var els = $slides.get();
		if (els.length < 2) {
			log('terminating; too few slides: ' + els.length);
			return;
		}

        var opts = buildOptions($cont, $slides, els, options, o);
        if (opts === false)
            return;

        // if it's an auto slideshow, kick it off
		if (opts.timeout || opts.continuous)
			this.cycleTimeout = setTimeout(function(){go(els,opts,0,!opts.rev)},
				opts.continuous ? 10 : opts.timeout + (opts.delay||0));
	});
};

// process the args that were passed to the plugin fn
function handleArguments(cont, options, arg2) {
	if (cont.cycleStop == undefined)
		cont.cycleStop = 0;
	if (options === undefined || options === null)
		options = {};
	if (options.constructor == String) {
		switch(options) {
		case 'stop':
			cont.cycleStop++; // callbacks look for change
			if (cont.cycleTimeout)
                clearTimeout(cont.cycleTimeout);
			cont.cycleTimeout = 0;
			$(cont).removeData('cycle.opts');
			return false;
		case 'pause':
			cont.cyclePause = 1;
			return false;
		case 'resume':
			cont.cyclePause = 0;
			if (arg2 === true) { // resume now!
				options = $(cont).data('cycle.opts');
				if (!options) {
					log('options not found, can not resume');
					return false;
				}
				if (cont.cycleTimeout) {
					clearTimeout(cont.cycleTimeout);
					cont.cycleTimeout = 0;
				}
				go(options.elements, options, 1, 1);
			}
			return false;
		default:
			options = { fx: options };
		};
	}
	else if (options.constructor == Number) {
		// go to the requested slide
		var num = options;
		options = $(cont).data('cycle.opts');
		if (!options) {
			log('options not found, can not advance slide');
			return false;
		}
		if (num < 0 || num >= options.elements.length) {
			log('invalid slide index: ' + num);
			return false;
		}
		options.nextSlide = num;
		if (cont.cycleTimeout) {
			clearTimeout(cont.cycleTimeout);
			cont.cycleTimeout = 0;
		}
        if (typeof arg2 == 'string')
            options.oneTimeFx = arg2;
		go(options.elements, options, 1, num >= options.currSlide);
		return false;
	}
    return options;
};

function removeFilter(el, opts) {
	if (!$.support.opacity && opts.cleartype && el.style.filter) {
		try { el.style.removeAttribute('filter'); }
		catch(smother) {} // handle old opera versions
	}
};

// one-time initialization
function buildOptions($cont, $slides, els, options, o) {
	// support metadata plugin (v1.0 and v2.0)
	var opts = $.extend({}, $.fn.cycle.defaults, options || {}, $.metadata ? $cont.metadata() : $.meta ? $cont.data() : {});
	if (opts.autostop)
		opts.countdown = opts.autostopCount || els.length;

    var cont = $cont[0];
	$cont.data('cycle.opts', opts);
	opts.$cont = $cont;
	opts.stopCount = cont.cycleStop;
	opts.elements = els;
	opts.before = opts.before ? [opts.before] : [];
	opts.after = opts.after ? [opts.after] : [];
	opts.after.unshift(function(){ opts.busy=0; });

    // push some after callbacks
	if (!$.support.opacity && opts.cleartype)
		opts.after.push(function() { removeFilter(this, opts); });
	if (opts.continuous)
		opts.after.push(function() { go(els,opts,0,!opts.rev); });

    saveOriginalOpts(opts);

	// clearType corrections
	if (!$.support.opacity && opts.cleartype && !opts.cleartypeNoBg)
		clearTypeFix($slides);

    // container requires non-static position so that slides can be position within
	if ($cont.css('position') == 'static')
		$cont.css('position', 'relative');
	if (opts.width)
		$cont.width(opts.width);
	if (opts.height && opts.height != 'auto')
		$cont.height(opts.height);

	if (opts.startingSlide)
        opts.startingSlide = parseInt(opts.startingSlide);

    // if random, mix up the slide array
	if (opts.random) {
		opts.randomMap = [];
		for (var i = 0; i < els.length; i++)
			opts.randomMap.push(i);
		opts.randomMap.sort(function(a,b) {return Math.random() - 0.5;});
		opts.randomIndex = 0;
		opts.startingSlide = opts.randomMap[0];
	}
	else if (opts.startingSlide >= els.length)
		opts.startingSlide = 0; // catch bogus input
	opts.currSlide = opts.startingSlide = opts.startingSlide || 0;
	var first = opts.startingSlide;

    // set position and zIndex on all the slides
	$slides.css({position: 'absolute', top:0, left:0}).hide().each(function(i) {
		var z = first ? i >= first ? els.length - (i-first) : first-i : els.length-i;
		$(this).css('z-index', z)
	});

    // make sure first slide is visible
	$(els[first]).css('opacity',1).show(); // opacity bit needed to handle restart use case
	removeFilter(els[first], opts);

    // stretch slides
	if (opts.fit && opts.width)
		$slides.width(opts.width);
	if (opts.fit && opts.height && opts.height != 'auto')
		$slides.height(opts.height);

    // stretch container
	var reshape = opts.containerResize && !$cont.innerHeight();
	if (reshape) { // do this only if container has no size http://tinyurl.com/da2oa9
		var maxw = 0, maxh = 0;
		for(var i=0; i < els.length; i++) {
			var $e = $(els[i]), e = $e[0], w = $e.outerWidth(), h = $e.outerHeight();
            if (!w) w = e.offsetWidth;
            if (!h) h = e.offsetHeight;
			maxw = w > maxw ? w : maxw;
			maxh = h > maxh ? h : maxh;
		}
        if (maxw > 0 && maxh > 0)
		    $cont.css({width:maxw+'px',height:maxh+'px'});
	}

	if (opts.pause)
		$cont.hover(function(){this.cyclePause++;},function(){this.cyclePause--;});

    if (supportMultiTransitions(opts) === false)
		return false;

	// run transition init fn
	if (!opts.multiFx) {
		var init = $.fn.cycle.transitions[opts.fx];
		if ($.isFunction(init))
			init($cont, $slides, opts);
		else if (opts.fx != 'custom' && !opts.multiFx) {
			log('unknown transition: ' + opts.fx,'; slideshow terminating');
			return false;
		}
	}

	// apparently a lot of people use image slideshows without height/width attributes on the images.
	// Cycle 2.50+ requires the sizing info for every slide; this block tries to deal with that.
	var requeue = false;
	options.requeueAttempts = options.requeueAttempts || 0;
	$slides.each(function() {
        // try to get height/width of each slide
		var $el = $(this);
	    this.cycleH = (opts.fit && opts.height) ? opts.height : $el.height();
		this.cycleW = (opts.fit && opts.width) ? opts.width : $el.width();

		if ( $el.is('img') ) {
			// sigh..  sniffing, hacking, shrugging...
			var loadingIE    = ($.browser.msie  && this.cycleW == 28 && this.cycleH == 30 && !this.complete);
			var loadingOp    = ($.browser.opera && this.cycleW == 42 && this.cycleH == 19 && !this.complete);
			var loadingOther = (this.cycleH == 0 && this.cycleW == 0 && !this.complete);

			// don't requeue for images that are still loading but have a valid size
			if (loadingIE || loadingOp || loadingOther) {
				if (o.s && opts.requeueOnImageNotLoaded && ++options.requeueAttempts < 100) { // track retry count so we don't loop forever
					log(options.requeueAttempts,' - img slide not loaded, requeuing slideshow: ', this.src, this.cycleW, this.cycleH);
					setTimeout(function() {$(o.s,o.c).cycle(options)}, opts.requeueTimeout);
					requeue = true;
					return false; // break each loop
				}
				else {
					log('could not determine size of image: '+this.src, this.cycleW, this.cycleH);
				}
			}
		}
		return true;
	});

	if (requeue)
		return false;

	opts.cssBefore = opts.cssBefore || {};
	opts.animIn = opts.animIn || {};
	opts.animOut = opts.animOut || {};

	$slides.not(':eq('+first+')').css(opts.cssBefore);
	if (opts.cssFirst)
		$($slides[first]).css(opts.cssFirst);

	if (opts.timeout) {
		opts.timeout = parseInt(opts.timeout);
		// ensure that timeout and speed settings are sane
		if (opts.speed.constructor == String)
			opts.speed = $.fx.speeds[opts.speed] || parseInt(opts.speed);
		if (!opts.sync)
			opts.speed = opts.speed / 2;
		while((opts.timeout - opts.speed) < 250) // sanitize timeout
			opts.timeout += opts.speed;
	}
	if (opts.easing)
		opts.easeIn = opts.easeOut = opts.easing;
	if (!opts.speedIn)
		opts.speedIn = opts.speed;
	if (!opts.speedOut)
		opts.speedOut = opts.speed;

	opts.slideCount = els.length;
	opts.currSlide = opts.lastSlide = first;
	if (opts.random) {
		opts.nextSlide = opts.currSlide;
		if (++opts.randomIndex == els.length)
			opts.randomIndex = 0;
		opts.nextSlide = opts.randomMap[opts.randomIndex];
	}
	else
		opts.nextSlide = opts.startingSlide >= (els.length-1) ? 0 : opts.startingSlide+1;

	// fire artificial events
	var e0 = $slides[first];
	if (opts.before.length)
		opts.before[0].apply(e0, [e0, e0, opts, true]);
	if (opts.after.length > 1)
		opts.after[1].apply(e0, [e0, e0, opts, true]);

	if (opts.next)
		$(opts.next).click(function(){return advance(opts,opts.rev?-1:1)});
	if (opts.prev)
		$(opts.prev).click(function(){return advance(opts,opts.rev?1:-1)});
	if (opts.pager)
		buildPager(els,opts);

    exposeAddSlide(opts, els);

    return opts;
};

// save off original opts so we can restore after clearing state
function saveOriginalOpts(opts) {
    opts.original = { before: [], after: [] };
    opts.original.cssBefore = $.extend({}, opts.cssBefore);
    opts.original.cssAfter  = $.extend({}, opts.cssAfter);
    opts.original.animIn    = $.extend({}, opts.animIn);
    opts.original.animOut   = $.extend({}, opts.animOut);
	$.each(opts.before, function() { opts.original.before.push(this); });
	$.each(opts.after,  function() { opts.original.after.push(this); });
};

function supportMultiTransitions(opts) {
    var txs = $.fn.cycle.transitions;
	// look for multiple effects
	if (opts.fx.indexOf(',') > 0) {
		opts.multiFx = true;
		opts.fxs = opts.fx.replace(/\s*/g,'').split(',');
		// discard any bogus effect names
		for (var i=0; i < opts.fxs.length; i++) {
			var fx = opts.fxs[i];
			var tx = txs[fx];
			if (!tx || !txs.hasOwnProperty(fx) || !$.isFunction(tx)) {
				log('discarding unknown transition: ',fx);
				opts.fxs.splice(i,1);
				i--;
			}
		}
		// if we have an empty list then we threw everything away!
		if (!opts.fxs.length) {
			log('No valid transitions named; slideshow terminating.');
			return false;
		}
	}
	else if (opts.fx == 'all') {  // auto-gen the list of transitions
		opts.multiFx = true;
		opts.fxs = [];
		for (p in txs) {
			var tx = txs[p];
			if (txs.hasOwnProperty(p) && $.isFunction(tx))
				opts.fxs.push(p);
		}
	}
	if (opts.multiFx && opts.randomizeEffects) {
		// munge the fxs array to make effect selection random
		var r1 = Math.floor(Math.random() * 20) + 30;
		for (var i = 0; i < r1; i++) {
			var r2 = Math.floor(Math.random() * opts.fxs.length);
			opts.fxs.push(opts.fxs.splice(r2,1)[0]);
		}
		log('randomized fx sequence: ',opts.fxs);
	}
	return true;
};

// provide a mechanism for adding slides after the slideshow has started
function exposeAddSlide(opts, els) {
	opts.addSlide = function(newSlide, prepend) {
		var $s = $(newSlide), s = $s[0];
		if (!opts.autostopCount)
			opts.countdown++;
		els[prepend?'unshift':'push'](s);
		if (opts.els)
			opts.els[prepend?'unshift':'push'](s); // shuffle needs this
		opts.slideCount = els.length;

		$s.css('position','absolute');
		$s[prepend?'prependTo':'appendTo'](opts.$cont);

		if (prepend) {
			opts.currSlide++;
			opts.nextSlide++;
		}

		if (!$.support.opacity && opts.cleartype && !opts.cleartypeNoBg)
			clearTypeFix($s);

		if (opts.fit && opts.width)
			$s.width(opts.width);
		if (opts.fit && opts.height && opts.height != 'auto')
			$slides.height(opts.height);
		s.cycleH = (opts.fit && opts.height) ? opts.height : $s.height();
		s.cycleW = (opts.fit && opts.width) ? opts.width : $s.width();

		$s.css(opts.cssBefore);

		if (opts.pager)
			$.fn.cycle.createPagerAnchor(els.length-1, s, $(opts.pager), els, opts);

		if ($.isFunction(opts.onAddSlide))
			opts.onAddSlide($s);
		else
			$s.hide(); // default behavior
	};
}

// reset internal state; we do this on every pass in order to support multiple effects
$.fn.cycle.resetState = function(opts, fx) {
    fx = fx || opts.fx;
	opts.before = []; opts.after = [];
	opts.cssBefore = $.extend({}, opts.original.cssBefore);
	opts.cssAfter  = $.extend({}, opts.original.cssAfter);
	opts.animIn    = $.extend({}, opts.original.animIn);
	opts.animOut   = $.extend({}, opts.original.animOut);
	opts.fxFn = null;
	$.each(opts.original.before, function() { opts.before.push(this); });
	$.each(opts.original.after,  function() { opts.after.push(this); });

	// re-init
	var init = $.fn.cycle.transitions[fx];
	if ($.isFunction(init))
		init(opts.$cont, $(opts.elements), opts);
};

// this is the main engine fn, it handles the timeouts, callbacks and slide index mgmt
function go(els, opts, manual, fwd) {
    // opts.busy is true if we're in the middle of an animation
	if (manual && opts.busy && opts.manualTrump) {
        // let manual transitions requests trump active ones
		$(els).stop(true,true);
		opts.busy = false;
	}
    // don't begin another timeout-based transition if there is one active
	if (opts.busy)
        return;

	var p = opts.$cont[0], curr = els[opts.currSlide], next = els[opts.nextSlide];

    // stop cycling if we have an outstanding stop request
	if (p.cycleStop != opts.stopCount || p.cycleTimeout === 0 && !manual)
		return;

    // check to see if we should stop cycling based on autostop options
	if (!manual && !p.cyclePause &&
		((opts.autostop && (--opts.countdown <= 0)) ||
		(opts.nowrap && !opts.random && opts.nextSlide < opts.currSlide))) {
		if (opts.end)
			opts.end(opts);
		return;
	}

    // if slideshow is paused, only transition on a manual trigger
	if (manual || !p.cyclePause) {
        var fx = opts.fx;
		// keep trying to get the slide size if we don't have it yet
		curr.cycleH = curr.cycleH || $(curr).height();
		curr.cycleW = curr.cycleW || $(curr).width();
		next.cycleH = next.cycleH || $(next).height();
		next.cycleW = next.cycleW || $(next).width();

		// support multiple transition types
		if (opts.multiFx) {
			if (opts.lastFx == undefined || ++opts.lastFx >= opts.fxs.length)
				opts.lastFx = 0;
			fx = opts.fxs[opts.lastFx];
			opts.currFx = fx;
		}

        // one-time fx overrides apply to:  $('div').cycle(3,'zoom');
        if (opts.oneTimeFx) {
            fx = opts.oneTimeFx;
            opts.oneTimeFx = null;
        }

        $.fn.cycle.resetState(opts, fx);

        // run the before callbacks
		if (opts.before.length)
			$.each(opts.before, function(i,o) {
				if (p.cycleStop != opts.stopCount) return;
				o.apply(next, [curr, next, opts, fwd]);
			});

        // stage the after callacks
		var after = function() {
			$.each(opts.after, function(i,o) {
				if (p.cycleStop != opts.stopCount) return;
				o.apply(next, [curr, next, opts, fwd]);
			});
		};

		if (opts.nextSlide != opts.currSlide) {
            // get ready to perform the transition
			opts.busy = 1;
			if (opts.fxFn) // fx function provided?
				opts.fxFn(curr, next, opts, after, fwd);
			else if ($.isFunction($.fn.cycle[opts.fx])) // fx plugin ?
				$.fn.cycle[opts.fx](curr, next, opts, after);
			else
				$.fn.cycle.custom(curr, next, opts, after, manual && opts.fastOnEvent);
		}

        // calculate the next slide
		opts.lastSlide = opts.currSlide;
		if (opts.random) {
			opts.currSlide = opts.nextSlide;
			if (++opts.randomIndex == els.length)
				opts.randomIndex = 0;
			opts.nextSlide = opts.randomMap[opts.randomIndex];
		}
		else { // sequence
			var roll = (opts.nextSlide + 1) == els.length;
			opts.nextSlide = roll ? 0 : opts.nextSlide+1;
			opts.currSlide = roll ? els.length-1 : opts.nextSlide-1;
		}

		if (opts.pager)
			$.fn.cycle.updateActivePagerLink(opts.pager, opts.currSlide);
	}

    // stage the next transtion
    var ms = 0;
	if (opts.timeout && !opts.continuous)
        ms = getTimeout(curr, next, opts, fwd);
    else if (opts.continuous && p.cyclePause) // continuous shows work off an after callback, not this timer logic
        ms = 10;
    if (ms > 0)
        p.cycleTimeout = setTimeout(function(){ go(els, opts, 0, !opts.rev) }, ms);
};

// invoked after transition
$.fn.cycle.updateActivePagerLink = function(pager, currSlide) {
	$(pager).find('a').removeClass('activeSlide').filter('a:eq('+currSlide+')').addClass('activeSlide');
};

// calculate timeout value for current transition
function getTimeout(curr, next, opts, fwd) {
	if (opts.timeoutFn) {
        // call user provided calc fn
		var t = opts.timeoutFn(curr,next,opts,fwd);
		if (t !== false)
			return t;
	}
	return opts.timeout;
};

// expose next/prev function, caller must pass in state
$.fn.cycle.next = function(opts) { advance(opts, opts.rev?-1:1); };
$.fn.cycle.prev = function(opts) { advance(opts, opts.rev?1:-1);};

// advance slide forward or back
function advance(opts, val) {
    var els = opts.elements;
	var p = opts.$cont[0], timeout = p.cycleTimeout;
	if (timeout) {
		clearTimeout(timeout);
		p.cycleTimeout = 0;
	}
	if (opts.random && val < 0) {
		// move back to the previously display slide
		opts.randomIndex--;
		if (--opts.randomIndex == -2)
			opts.randomIndex = els.length-2;
		else if (opts.randomIndex == -1)
			opts.randomIndex = els.length-1;
		opts.nextSlide = opts.randomMap[opts.randomIndex];
	}
	else if (opts.random) {
		if (++opts.randomIndex == els.length)
			opts.randomIndex = 0;
		opts.nextSlide = opts.randomMap[opts.randomIndex];
	}
	else {
		opts.nextSlide = opts.currSlide + val;
		if (opts.nextSlide < 0) {
			if (opts.nowrap) return false;
			opts.nextSlide = els.length - 1;
		}
		else if (opts.nextSlide >= els.length) {
			if (opts.nowrap) return false;
			opts.nextSlide = 0;
		}
	}

	if ($.isFunction(opts.prevNextClick))
		opts.prevNextClick(val > 0, opts.nextSlide, els[opts.nextSlide]);
	go(els, opts, 1, val>=0);
	return false;
};

function buildPager(els, opts) {
	var $p = $(opts.pager);
	$.each(els, function(i,o) {
		$.fn.cycle.createPagerAnchor(i,o,$p,els,opts);
	});
   $.fn.cycle.updateActivePagerLink(opts.pager, opts.startingSlide);
};

$.fn.cycle.createPagerAnchor = function(i, el, $p, els, opts) {
	var a = ($.isFunction(opts.pagerAnchorBuilder))
		? opts.pagerAnchorBuilder(i,el)
		: '<a href="#">'+(i+1)+'</a>';
	if (!a)
		return;
	var $a = $(a);
	// don't reparent if anchor is in the dom
	if ($a.parents('body').length == 0) {
		var arr = [];
		if ($p.length > 1) {
			$p.each(function() {
				var $clone = $a.clone(true);
				$(this).append($clone);
				arr.push($clone);
			});
			$a = $(arr);
		}
		else {
			$a.appendTo($p);
		}
	}

	$a.bind(opts.pagerEvent, function() {
		opts.nextSlide = i;
		var p = opts.$cont[0], timeout = p.cycleTimeout;
		if (timeout) {
			clearTimeout(timeout);
			p.cycleTimeout = 0;
		}
		if ($.isFunction(opts.pagerClick))
			opts.pagerClick(opts.nextSlide, els[opts.nextSlide]);
		go(els,opts,1,opts.currSlide < i); // trigger the trans
		return false;
	});
	if (opts.pauseOnPagerHover)
		$a.hover(function() { opts.$cont[0].cyclePause++; }, function() { opts.$cont[0].cyclePause--; } );
};

// helper fn to calculate the number of slides between the current and the next
$.fn.cycle.hopsFromLast = function(opts, fwd) {
	var hops, l = opts.lastSlide, c = opts.currSlide;
	if (fwd)
		hops = c > l ? c - l : opts.slideCount - l;
	else
		hops = c < l ? l - c : l + opts.slideCount - c;
	return hops;
};

// fix clearType problems in ie6 by setting an explicit bg color
// (otherwise text slides look horrible during a fade transition)
function clearTypeFix($slides) {
	function hex(s) {
		s = parseInt(s).toString(16);
		return s.length < 2 ? '0'+s : s;
	};
	function getBg(e) {
		for ( ; e && e.nodeName.toLowerCase() != 'html'; e = e.parentNode) {
			var v = $.css(e,'background-color');
			if (v.indexOf('rgb') >= 0 ) {
				var rgb = v.match(/\d+/g);
				return '#'+ hex(rgb[0]) + hex(rgb[1]) + hex(rgb[2]);
			}
			if (v && v != 'transparent')
				return v;
		}
		return '#ffffff';
	};
	$slides.each(function() { $(this).css('background-color', getBg(this)); });
};

// reset common props before the next transition
$.fn.cycle.commonReset = function(curr,next,opts,w,h,rev) {
	$(opts.elements).not(curr).hide();
	opts.cssBefore.opacity = 1;
	opts.cssBefore.display = 'block';
	if (w !== false && next.cycleW > 0)
		opts.cssBefore.width = next.cycleW;
	if (h !== false && next.cycleH > 0)
		opts.cssBefore.height = next.cycleH;
	opts.cssAfter = opts.cssAfter || {};
	opts.cssAfter.display = 'none';
	$(curr).css('zIndex',opts.slideCount + (rev === true ? 1 : 0));
	$(next).css('zIndex',opts.slideCount + (rev === true ? 0 : 1));
};

// the actual fn for effecting a transition
$.fn.cycle.custom = function(curr, next, opts, cb, speedOverride) {
	var $l = $(curr), $n = $(next);
	var speedIn = opts.speedIn, speedOut = opts.speedOut, easeIn = opts.easeIn, easeOut = opts.easeOut;
	$n.css(opts.cssBefore);
	if (speedOverride) {
		if (typeof speedOverride == 'number')
			speedIn = speedOut = speedOverride;
		else
			speedIn = speedOut = 1;
		easeIn = easeOut = null;
	}
	var fn = function() {$n.animate(opts.animIn, speedIn, easeIn, cb)};
	$l.animate(opts.animOut, speedOut, easeOut, function() {
		if (opts.cssAfter) $l.css(opts.cssAfter);
		if (!opts.sync) fn();
	});
	if (opts.sync) fn();
};

// transition definitions - only fade is defined here, transition pack defines the rest
$.fn.cycle.transitions = {
	fade: function($cont, $slides, opts) {
		$slides.not(':eq('+opts.currSlide+')').css('opacity',0);
		opts.before.push(function(curr,next,opts) {
			$.fn.cycle.commonReset(curr,next,opts);
			opts.cssBefore.opacity = 0;
		});
		opts.animIn	   = { opacity: 1 };
		opts.animOut   = { opacity: 0 };
		opts.cssBefore = { top: 0, left: 0 };
	}
};

$.fn.cycle.ver = function() { return ver; };

// override these globally if you like (they are all optional)
$.fn.cycle.defaults = {
	fx:			  'fade', // name of transition effect (or comma separated names, ex: fade,scrollUp,shuffle)
	timeout:	   4000,  // milliseconds between slide transitions (0 to disable auto advance)
	timeoutFn:     null,  // callback for determining per-slide timeout value:  function(currSlideElement, nextSlideElement, options, forwardFlag)
	continuous:	   0,	  // true to start next transition immediately after current one completes
	speed:		   1000,  // speed of the transition (any valid fx speed value)
	speedIn:	   null,  // speed of the 'in' transition
	speedOut:	   null,  // speed of the 'out' transition
	next:		   null,  // selector for element to use as click trigger for next slide
	prev:		   null,  // selector for element to use as click trigger for previous slide
	prevNextClick: null,  // callback fn for prev/next clicks:	function(isNext, zeroBasedSlideIndex, slideElement)
	pager:		   null,  // selector for element to use as pager container
	pagerClick:	   null,  // callback fn for pager clicks:	function(zeroBasedSlideIndex, slideElement)
	pagerEvent:	  'click', // name of event which drives the pager navigation
	pagerAnchorBuilder: null, // callback fn for building anchor links:  function(index, DOMelement)
	before:		   null,  // transition callback (scope set to element to be shown):     function(currSlideElement, nextSlideElement, options, forwardFlag)
	after:		   null,  // transition callback (scope set to element that was shown):  function(currSlideElement, nextSlideElement, options, forwardFlag)
	end:		   null,  // callback invoked when the slideshow terminates (use with autostop or nowrap options): function(options)
	easing:		   null,  // easing method for both in and out transitions
	easeIn:		   null,  // easing for "in" transition
	easeOut:	   null,  // easing for "out" transition
	shuffle:	   null,  // coords for shuffle animation, ex: { top:15, left: 200 }
	animIn:		   null,  // properties that define how the slide animates in
	animOut:	   null,  // properties that define how the slide animates out
	cssBefore:	   null,  // properties that define the initial state of the slide before transitioning in
	cssAfter:	   null,  // properties that defined the state of the slide after transitioning out
	fxFn:		   null,  // function used to control the transition: function(currSlideElement, nextSlideElement, options, afterCalback, forwardFlag)
	height:		  'auto', // container height
	startingSlide: 0,	  // zero-based index of the first slide to be displayed
	sync:		   1,	  // true if in/out transitions should occur simultaneously
	random:		   0,	  // true for random, false for sequence (not applicable to shuffle fx)
	fit:		   0,	  // force slides to fit container
	containerResize: 1,	  // resize container to fit largest slide
	pause:		   0,	  // true to enable "pause on hover"
	pauseOnPagerHover: 0, // true to pause when hovering over pager link
	autostop:	   0,	  // true to end slideshow after X transitions (where X == slide count)
	autostopCount: 0,	  // number of transitions (optionally used with autostop to define X)
	delay:		   0,	  // additional delay (in ms) for first transition (hint: can be negative)
	slideExpr:	   null,  // expression for selecting slides (if something other than all children is required)
	cleartype:	   !$.support.opacity,  // true if clearType corrections should be applied (for IE)
	nowrap:		   0,	  // true to prevent slideshow from wrapping
	fastOnEvent:   0,	  // force fast transitions when triggered manually (via pager or prev/next); value == time in ms
	randomizeEffects: 1,  // valid when multiple effects are used; true to make the effect sequence random
	rev:           0,     // causes animations to transition in reverse
	manualTrump:   true,  // causes manual transition to stop an active transition instead of being ignored
	requeueOnImageNotLoaded: true, // requeue the slideshow if any image slides are not yet loaded
	requeueTimeout: 250   // ms delay for requeue
};

})(jQuery);


/*!
 * jQuery Cycle Plugin Transition Definitions
 * This script is a plugin for the jQuery Cycle Plugin
 * Examples and documentation at: http://malsup.com/jquery/cycle/
 * Copyright (c) 2007-2008 M. Alsup
 * Version:	 2.52
 * Dual licensed under the MIT and GPL licenses:
 * http://www.opensource.org/licenses/mit-license.php
 * http://www.gnu.org/licenses/gpl.html
 */
(function($) {

//
// These functions define one-time slide initialization for the named
// transitions. To save file size feel free to remove any of these that you
// don't need.
//

// scrollUp/Down/Left/Right
$.fn.cycle.transitions.scrollUp = function($cont, $slides, opts) {
	$cont.css('overflow','hidden');
	opts.before.push($.fn.cycle.commonReset);
	var h = $cont.height();
	opts.cssBefore ={ top: h, left: 0 };
	opts.cssFirst = { top: 0 };
	opts.animIn	  = { top: 0 };
	opts.animOut  = { top: -h };
};
$.fn.cycle.transitions.scrollDown = function($cont, $slides, opts) {
	$cont.css('overflow','hidden');
	opts.before.push($.fn.cycle.commonReset);
	var h = $cont.height();
	opts.cssFirst = { top: 0 };
	opts.cssBefore= { top: -h, left: 0 };
	opts.animIn	  = { top: 0 };
	opts.animOut  = { top: h };
};
$.fn.cycle.transitions.scrollLeft = function($cont, $slides, opts) {
	$cont.css('overflow','hidden');
	opts.before.push($.fn.cycle.commonReset);
	var w = $cont.width();
	opts.cssFirst = { left: 0 };
	opts.cssBefore= { left: w, top: 0 };
	opts.animIn	  = { left: 0 };
	opts.animOut  = { left: 0-w };
};
$.fn.cycle.transitions.scrollRight = function($cont, $slides, opts) {
	$cont.css('overflow','hidden');
	opts.before.push($.fn.cycle.commonReset);
	var w = $cont.width();
	opts.cssFirst = { left: 0 };
	opts.cssBefore= { left: -w, top: 0 };
	opts.animIn	  = { left: 0 };
	opts.animOut  = { left: w };
};
$.fn.cycle.transitions.scrollHorz = function($cont, $slides, opts) {
	$cont.css('overflow','hidden').width();
	opts.before.push(function(curr, next, opts, fwd) {
		$.fn.cycle.commonReset(curr,next,opts);
		opts.cssBefore.left = fwd ? (next.cycleW-1) : (1-next.cycleW);
		opts.animOut.left = fwd ? -curr.cycleW : curr.cycleW;
	});
	opts.cssFirst = { left: 0 };
	opts.cssBefore= { top: 0 };
	opts.animIn   = { left: 0 };
	opts.animOut  = { top: 0 };
};
$.fn.cycle.transitions.scrollVert = function($cont, $slides, opts) {
	$cont.css('overflow','hidden');
	opts.before.push(function(curr, next, opts, fwd) {
		$.fn.cycle.commonReset(curr,next,opts);
		opts.cssBefore.top = fwd ? (1-next.cycleH) : (next.cycleH-1);
		opts.animOut.top = fwd ? curr.cycleH : -curr.cycleH;
	});
	opts.cssFirst = { top: 0 };
	opts.cssBefore= { left: 0 };
	opts.animIn   = { top: 0 };
	opts.animOut  = { left: 0 };
};

// slideX/slideY
$.fn.cycle.transitions.slideX = function($cont, $slides, opts) {
	opts.before.push(function(curr, next, opts) {
		$(opts.elements).not(curr).hide();
		$.fn.cycle.commonReset(curr,next,opts,false,true);
		opts.animIn.width = next.cycleW;
	});
	opts.cssBefore = { left: 0, top: 0, width: 0 };
	opts.animIn	 = { width: 'show' };
	opts.animOut = { width: 0 };
};
$.fn.cycle.transitions.slideY = function($cont, $slides, opts) {
	opts.before.push(function(curr, next, opts) {
		$(opts.elements).not(curr).hide();
		$.fn.cycle.commonReset(curr,next,opts,true,false);
		opts.animIn.height = next.cycleH;
	});
	opts.cssBefore = { left: 0, top: 0, height: 0 };
	opts.animIn	 = { height: 'show' };
	opts.animOut = { height: 0 };
};

// shuffle
$.fn.cycle.transitions.shuffle = function($cont, $slides, opts) {
	var w = $cont.css('overflow', 'visible').width();
	$slides.css({left: 0, top: 0});
	opts.before.push(function(curr,next,opts) {
		$.fn.cycle.commonReset(curr,next,opts,true,true,true);
	});
	opts.speed = opts.speed / 2; // shuffle has 2 transitions
	opts.random = 0;
	opts.shuffle = opts.shuffle || {left:-w, top:15};
	opts.els = [];
	for (var i=0; i < $slides.length; i++)
		opts.els.push($slides[i]);

	for (var i=0; i < opts.currSlide; i++)
		opts.els.push(opts.els.shift());

	// custom transition fn (hat tip to Benjamin Sterling for this bit of sweetness!)
	opts.fxFn = function(curr, next, opts, cb, fwd) {
		var $el = fwd ? $(curr) : $(next);
		$(next).css(opts.cssBefore);
		var count = opts.slideCount;
		$el.animate(opts.shuffle, opts.speedIn, opts.easeIn, function() {
			var hops = $.fn.cycle.hopsFromLast(opts, fwd);
			for (var k=0; k < hops; k++)
				fwd ? opts.els.push(opts.els.shift()) : opts.els.unshift(opts.els.pop());
			if (fwd)
				for (var i=0, len=opts.els.length; i < len; i++)
					$(opts.els[i]).css('z-index', len-i+count);
			else {
				var z = $(curr).css('z-index');
				$el.css('z-index', parseInt(z)+1+count);
			}
			$el.animate({left:0, top:0}, opts.speedOut, opts.easeOut, function() {
				$(fwd ? this : curr).hide();
				if (cb) cb();
			});
		});
	};
	opts.cssBefore = { display: 'block', opacity: 1, top: 0, left: 0 };
};

// turnUp/Down/Left/Right
$.fn.cycle.transitions.turnUp = function($cont, $slides, opts) {
	opts.before.push(function(curr, next, opts) {
		$.fn.cycle.commonReset(curr,next,opts,true,false);
		opts.cssBefore.top = next.cycleH;
		opts.animIn.height = next.cycleH;
	});
	opts.cssFirst  = { top: 0 };
	opts.cssBefore = { left: 0, height: 0 };
	opts.animIn	   = { top: 0 };
	opts.animOut   = { height: 0 };
};
$.fn.cycle.transitions.turnDown = function($cont, $slides, opts) {
	opts.before.push(function(curr, next, opts) {
		$.fn.cycle.commonReset(curr,next,opts,true,false);
		opts.animIn.height = next.cycleH;
		opts.animOut.top   = curr.cycleH;
	});
	opts.cssFirst  = { top: 0 };
	opts.cssBefore = { left: 0, top: 0, height: 0 };
	opts.animOut   = { height: 0 };
};
$.fn.cycle.transitions.turnLeft = function($cont, $slides, opts) {
	opts.before.push(function(curr, next, opts) {
		$.fn.cycle.commonReset(curr,next,opts,false,true);
		opts.cssBefore.left = next.cycleW;
		opts.animIn.width = next.cycleW;
	});
	opts.cssBefore = { top: 0, width: 0  };
	opts.animIn	   = { left: 0 };
	opts.animOut   = { width: 0 };
};
$.fn.cycle.transitions.turnRight = function($cont, $slides, opts) {
	opts.before.push(function(curr, next, opts) {
		$.fn.cycle.commonReset(curr,next,opts,false,true);
		opts.animIn.width = next.cycleW;
		opts.animOut.left = curr.cycleW;
	});
	opts.cssBefore = { top: 0, left: 0, width: 0 };
	opts.animIn	   = { left: 0 };
	opts.animOut   = { width: 0 };
};

// zoom
$.fn.cycle.transitions.zoom = function($cont, $slides, opts) {
	opts.before.push(function(curr, next, opts) {
		$.fn.cycle.commonReset(curr,next,opts,false,false,true);
		opts.cssBefore.top = next.cycleH/2;
		opts.cssBefore.left = next.cycleW/2;
		opts.animIn	   = { top: 0, left: 0, width: next.cycleW, height: next.cycleH };
		opts.animOut   = { width: 0, height: 0, top: curr.cycleH/2, left: curr.cycleW/2 };
	});
	opts.cssFirst = { top:0, left: 0 };
	opts.cssBefore = { width: 0, height: 0 };
};

// fadeZoom
$.fn.cycle.transitions.fadeZoom = function($cont, $slides, opts) {
	opts.before.push(function(curr, next, opts) {
		$.fn.cycle.commonReset(curr,next,opts,false,false);
		opts.cssBefore.left = next.cycleW/2;
		opts.cssBefore.top = next.cycleH/2;
		opts.animIn	= { top: 0, left: 0, width: next.cycleW, height: next.cycleH };
	});
	opts.cssBefore = { width: 0, height: 0 };
	opts.animOut  = { opacity: 0 };
};

// blindX
$.fn.cycle.transitions.blindX = function($cont, $slides, opts) {
	var w = $cont.css('overflow','hidden').width();
	opts.before.push(function(curr, next, opts) {
		$.fn.cycle.commonReset(curr,next,opts);
		opts.animIn.width = next.cycleW;
		opts.animOut.left   = curr.cycleW;
	});
	opts.cssBefore = { left: w, top: 0 };
	opts.animIn = { left: 0 };
	opts.animOut  = { left: w };
};
// blindY
$.fn.cycle.transitions.blindY = function($cont, $slides, opts) {
	var h = $cont.css('overflow','hidden').height();
	opts.before.push(function(curr, next, opts) {
		$.fn.cycle.commonReset(curr,next,opts);
		opts.animIn.height = next.cycleH;
		opts.animOut.top   = curr.cycleH;
	});
	opts.cssBefore = { top: h, left: 0 };
	opts.animIn = { top: 0 };
	opts.animOut  = { top: h };
};
// blindZ
$.fn.cycle.transitions.blindZ = function($cont, $slides, opts) {
	var h = $cont.css('overflow','hidden').height();
	var w = $cont.width();
	opts.before.push(function(curr, next, opts) {
		$.fn.cycle.commonReset(curr,next,opts);
		opts.animIn.height = next.cycleH;
		opts.animOut.top   = curr.cycleH;
	});
	opts.cssBefore = { top: h, left: w };
	opts.animIn = { top: 0, left: 0 };
	opts.animOut  = { top: h, left: w };
};

// growX - grow horizontally from centered 0 width
$.fn.cycle.transitions.growX = function($cont, $slides, opts) {
	opts.before.push(function(curr, next, opts) {
		$.fn.cycle.commonReset(curr,next,opts,false,true);
		opts.cssBefore.left = this.cycleW/2;
		opts.animIn = { left: 0, width: this.cycleW };
		opts.animOut = { left: 0 };
	});
	opts.cssBefore = { width: 0, top: 0 };
};
// growY - grow vertically from centered 0 height
$.fn.cycle.transitions.growY = function($cont, $slides, opts) {
	opts.before.push(function(curr, next, opts) {
		$.fn.cycle.commonReset(curr,next,opts,true,false);
		opts.cssBefore.top = this.cycleH/2;
		opts.animIn = { top: 0, height: this.cycleH };
		opts.animOut = { top: 0 };
	});
	opts.cssBefore = { height: 0, left: 0 };
};

// curtainX - squeeze in both edges horizontally
$.fn.cycle.transitions.curtainX = function($cont, $slides, opts) {
	opts.before.push(function(curr, next, opts) {
		$.fn.cycle.commonReset(curr,next,opts,false,true,true);
		opts.cssBefore.left = next.cycleW/2;
		opts.animIn = { left: 0, width: this.cycleW };
		opts.animOut = { left: curr.cycleW/2, width: 0 };
	});
	opts.cssBefore = { top: 0, width: 0 };
};
// curtainY - squeeze in both edges vertically
$.fn.cycle.transitions.curtainY = function($cont, $slides, opts) {
	opts.before.push(function(curr, next, opts) {
		$.fn.cycle.commonReset(curr,next,opts,true,false,true);
		opts.cssBefore.top = next.cycleH/2;
		opts.animIn = { top: 0, height: next.cycleH };
		opts.animOut = { top: curr.cycleH/2, height: 0 };
	});
	opts.cssBefore = { left: 0, height: 0 };
};

// cover - curr slide covered by next slide
$.fn.cycle.transitions.cover = function($cont, $slides, opts) {
	var d = opts.direction || 'left';
	var w = $cont.css('overflow','hidden').width();
	var h = $cont.height();
	opts.before.push(function(curr, next, opts) {
		$.fn.cycle.commonReset(curr,next,opts);
		if (d == 'right')
			opts.cssBefore.left = -w;
		else if (d == 'up')
			opts.cssBefore.top = h;
		else if (d == 'down')
			opts.cssBefore.top = -h;
		else
			opts.cssBefore.left = w;
	});
	opts.animIn = { left: 0, top: 0};
	opts.animOut = { opacity: 1 };
	opts.cssBefore = { top: 0, left: 0 };
};

// uncover - curr slide moves off next slide
$.fn.cycle.transitions.uncover = function($cont, $slides, opts) {
	var d = opts.direction || 'left';
	var w = $cont.css('overflow','hidden').width();
	var h = $cont.height();
	opts.before.push(function(curr, next, opts) {
		$.fn.cycle.commonReset(curr,next,opts,true,true,true);
		if (d == 'right')
			opts.animOut.left = w;
		else if (d == 'up')
			opts.animOut.top = -h;
		else if (d == 'down')
			opts.animOut.top = h;
		else
			opts.animOut.left = -w;
	});
	opts.animIn = { left: 0, top: 0 };
	opts.animOut = { opacity: 1 };
	opts.cssBefore = { top: 0, left: 0 };
};

// toss - move top slide and fade away
$.fn.cycle.transitions.toss = function($cont, $slides, opts) {
	var w = $cont.css('overflow','visible').width();
	var h = $cont.height();
	opts.before.push(function(curr, next, opts) {
		$.fn.cycle.commonReset(curr,next,opts,true,true,true);
		// provide default toss settings if animOut not provided
		if (!opts.animOut.left && !opts.animOut.top)
			opts.animOut = { left: w*2, top: -h/2, opacity: 0 };
		else
			opts.animOut.opacity = 0;
	});
	opts.cssBefore = { left: 0, top: 0 };
	opts.animIn = { left: 0 };
};

// wipe - clip animation
$.fn.cycle.transitions.wipe = function($cont, $slides, opts) {
	var w = $cont.css('overflow','hidden').width();
	var h = $cont.height();
	opts.cssBefore = opts.cssBefore || {};
	var clip;
	if (opts.clip) {
		if (/l2r/.test(opts.clip))
			clip = 'rect(0px 0px '+h+'px 0px)';
		else if (/r2l/.test(opts.clip))
			clip = 'rect(0px '+w+'px '+h+'px '+w+'px)';
		else if (/t2b/.test(opts.clip))
			clip = 'rect(0px '+w+'px 0px 0px)';
		else if (/b2t/.test(opts.clip))
			clip = 'rect('+h+'px '+w+'px '+h+'px 0px)';
		else if (/zoom/.test(opts.clip)) {
			var t = parseInt(h/2);
			var l = parseInt(w/2);
			clip = 'rect('+t+'px '+l+'px '+t+'px '+l+'px)';
		}
	}

	opts.cssBefore.clip = opts.cssBefore.clip || clip || 'rect(0px 0px 0px 0px)';

	var d = opts.cssBefore.clip.match(/(\d+)/g);
	var t = parseInt(d[0]), r = parseInt(d[1]), b = parseInt(d[2]), l = parseInt(d[3]);

	opts.before.push(function(curr, next, opts) {
		if (curr == next) return;
		var $curr = $(curr), $next = $(next);
		$.fn.cycle.commonReset(curr,next,opts,true,true,false);
    	opts.cssAfter.display = 'block';

		var step = 1, count = parseInt((opts.speedIn / 13)) - 1;
		(function f() {
			var tt = t ? t - parseInt(step * (t/count)) : 0;
			var ll = l ? l - parseInt(step * (l/count)) : 0;
			var bb = b < h ? b + parseInt(step * ((h-b)/count || 1)) : h;
			var rr = r < w ? r + parseInt(step * ((w-r)/count || 1)) : w;
			$next.css({ clip: 'rect('+tt+'px '+rr+'px '+bb+'px '+ll+'px)' });
			(step++ <= count) ? setTimeout(f, 13) : $curr.css('display', 'none');
		})();
	});
	opts.cssBefore = { display: 'block', opacity: 1, top: 0, left: 0 };
	opts.animIn	   = { left: 0 };
	opts.animOut   = { left: 0 };
};

})(jQuery);



//nclud custom transition
$.fn.cycle.transitions.nclud = function($cont, $slides, opts){
    $slides.css({left: 0, top: 0});
    $cont.css('overflow','visible');
    opts.speedIn = opts.speedIn || opts.speed;
    opts.speedOut = opts.speedOut || opts.speed;
    opts.easeIn = opts.easeIn || 'swing';
    opts.easeOut = opts.easeIn || 'swing'; 
    opts.drop = opts.drop || '0px';
    opts.inDelay = opts.inDelay || 200;
    opts.els = [];
    for (var i=0; i < $slides.length; i++)
        opts.els.push($slides[i]);

    for (var i=0; i < opts.startingSlide; i++)
        opts.els.push(opts.els.shift());
    
    opts.fxFn = function(curr, next, opts){
        $(curr).find('.samples li').each(function(idx, el){
            setTimeout(function(){
                $(el).animate({
                    opacity:0,
                    top:opts.drop+'px'
                    }, opts.speedOut, opts.easeOut);
                    if(idx==2){
                        setTimeout(function(){
                            $(next).find('.samples li').css({opacity:0, top:opts.drop+'px'});
                            $(curr).fadeOut(opts.speed);
                            $(next).fadeIn(opts.speed);
                            setTimeout(function(){
                                $(next).find('.samples li').each(function(idx, el){
                                    setTimeout(function(){
                                        $(el).animate({
                                            opacity:1,
                                            top:'0px'
                                            }, opts.speedIn, opts.easeIn);
                                    }, (100+((opts.speed/3)*idx)));
                                });
                            }, opts.speed);

                        }, opts.inDelay);
                    }
            }, (100+(opts.speed/3)*(2-idx)));
        });
        opts.busy=0;
    }
    opts.onAddSlide = function($s) { $s.hide(); };
};


/*
 * jquery.tools 1.1.1 - The missing UI library for the Web
 * 
 * [tools.overlay-1.1.1, tools.expose-1.0.5]
 * 
 * Copyright (c) 2009 Tero Piirainen
 * http://flowplayer.org/tools/
 *
 * Dual licensed under MIT and GPL 2+ licenses
 * http://www.opensource.org/licenses
 * 
 * -----
 * 
 * File generated: Fri Sep 18 14:02:22 GMT+00:00 2009
 */
(function(c){c.tools=c.tools||{};c.tools.overlay={version:"1.1.1",addEffect:function(e,f,g){b[e]=[f,g]},conf:{top:"10%",left:"center",absolute:false,speed:"normal",closeSpeed:"fast",effect:"default",close:null,oneInstance:true,closeOnClick:true,closeOnEsc:true,api:false,expose:null,target:null}};var b={};c.tools.overlay.addEffect("default",function(e){this.getOverlay().fadeIn(this.getConf().speed,e)},function(e){this.getOverlay().fadeOut(this.getConf().closeSpeed,e)});var d=[];function a(h,m){var p=this,n=c(this),o=c(window),k,j,i,f=m.expose&&c.tools.expose.version;var g=m.target||h.attr("rel");j=g?c(g):null||h;if(h&&h.index(j)==-1){h.click(function(q){p.load();return q.preventDefault()})}c.each(m,function(e,q){if(c.isFunction(q)){n.bind(e,q)}});c.extend(p,{load:function(){if(p.isOpened()){return p}if(m.oneInstance){c.each(d,function(){this.close()})}var u=c.Event("onBeforeLoad");n.trigger(u);if(u.isDefaultPrevented()){return p}i=true;if(f){j.expose().load()}var t=m.top;var s=m.left;var q=j.outerWidth({margin:true});var r=j.outerHeight({margin:true});if(typeof t=="string"){t=t=="center"?Math.max((o.height()-r)/2,0):parseInt(t,10)/100*o.height()}if(s=="center"){s=Math.max((o.width()-q)/2,0)}if(!m.absolute){t+=o.scrollTop();s+=o.scrollLeft()}j.css({top:t,left:s,position:"absolute"});b[m.effect][0].call(p,function(){if(i){n.trigger("onLoad")}});if(m.closeOnClick){c(document).bind("click.overlay",function(e){if(!p.isOpened()){return}var v=c(e.target);if(v.parents(j).length>1){return}c.each(d,function(){this.close()})})}if(m.closeOnEsc){c(document).unbind("keydown.overlay").bind("keydown.overlay",function(e){if(e.keyCode==27){c.each(d,function(){this.close()})}})}return p},close:function(){if(!p.isOpened()){return p}var r=c.Event("onBeforeClose");n.trigger(r);if(r.isDefaultPrevented()){return}i=false;b[m.effect][1].call(p,function(){n.trigger("onClose")});var q=true;c.each(d,function(){if(this.isOpened()){q=false}});if(q){c(document).unbind("click.overlay").unbind("keydown.overlay")}return p},getContent:function(){return j},getOverlay:function(){return j},getTrigger:function(){return h},getClosers:function(){return k},isOpened:function(){return i},getConf:function(){return m},bind:function(e,q){n.bind(e,q);return p},onBeforeLoad:function(e){return this.bind("onBeforeLoad",e)},onLoad:function(e){return this.bind("onLoad",e)},onBeforeClose:function(e){return this.bind("onBeforeClose",e)},onClose:function(e){return this.bind("onClose",e)},unbind:function(e){n.unbind(e);return p}});if(f){if(typeof m.expose=="string"){m.expose={color:m.expose}}c.extend(m.expose,{api:true,closeOnClick:m.closeOnClick,closeOnEsc:false});var l=j.expose(m.expose);l.onBeforeClose(function(){p.close()});p.onClose(function(){l.close()})}k=j.find(m.close||".close");if(!k.length&&!m.close){k=c('<div class="close"></div>');j.prepend(k)}k.click(function(){p.close()})}c.fn.overlay=function(e){var f=this.eq(typeof e=="number"?e:0).data("overlay");if(f){return f}if(c.isFunction(e)){e={onBeforeLoad:e}}var g=c.extend({},c.tools.overlay.conf);e=c.extend(true,g,e);this.each(function(){f=new a(c(this),e);d.push(f);c(this).data("overlay",f)});return e.api?f:this}})(jQuery);
(function(b){b.tools=b.tools||{};b.tools.expose={version:"1.0.5",conf:{maskId:null,loadSpeed:"slow",closeSpeed:"fast",closeOnClick:true,closeOnEsc:true,zIndex:9998,opacity:0.8,color:"#456",api:false}};function a(){if(b.browser.msie){var f=b(document).height(),e=b(window).height();return[window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth,f-e<20?e:f]}return[b(window).width(),b(document).height()]}function c(h,g){var e=this,j=b(this),d=null,f=false,i=0;b.each(g,function(k,l){if(b.isFunction(l)){j.bind(k,l)}});b(window).resize(function(){e.fit()});b.extend(this,{getMask:function(){return d},getExposed:function(){return h},getConf:function(){return g},isLoaded:function(){return f},load:function(){if(f){return e}i=h.eq(0).css("zIndex");if(g.maskId){d=b("#"+g.maskId)}if(!d||!d.length){var l=a();d=b("<div/>").css({position:"absolute",top:0,left:0,width:l[0],height:l[1],display:"none",opacity:0,zIndex:g.zIndex});if(g.maskId){d.attr("id",g.maskId)}b("body").append(d);var k=d.css("backgroundColor");if(!k||k=="transparent"||k=="rgba(0, 0, 0, 0)"){d.css("backgroundColor",g.color)}if(g.closeOnEsc){b(document).bind("keydown.unexpose",function(o){if(o.keyCode==27){e.close()}})}if(g.closeOnClick){d.bind("click.unexpose",function(){e.close()})}}var n=b.Event("onBeforeLoad");j.trigger(n);if(n.isDefaultPrevented()){return e}b.each(h,function(){var o=b(this);if(!/relative|absolute|fixed/i.test(o.css("position"))){o.css("position","relative")}});h.css({zIndex:Math.max(g.zIndex+1,i=="auto"?0:i)});var m=d.height();if(!this.isLoaded()){d.css({opacity:0,display:"block"}).fadeTo(g.loadSpeed,g.opacity,function(){if(d.height()!=m){d.css("height",m)}j.trigger("onLoad")})}f=true;return e},close:function(){if(!f){return e}var k=b.Event("onBeforeClose");j.trigger(k);if(k.isDefaultPrevented()){return e}d.fadeOut(g.closeSpeed,function(){j.trigger("onClose");h.css({zIndex:b.browser.msie?i:null})});f=false;return e},fit:function(){if(d){var k=a();d.css({width:k[0],height:k[1]})}},bind:function(k,l){j.bind(k,l);return e},onBeforeLoad:function(k){return this.bind("onBeforeLoad",k)},onLoad:function(k){return this.bind("onLoad",k)},onBeforeClose:function(k){return this.bind("onBeforeClose",k)},onClose:function(k){return this.bind("onClose",k)},unbind:function(k){j.unbind(k);return e}})}b.fn.expose=function(d){var e=this.eq(typeof d=="number"?d:0).data("expose");if(e){return e}if(typeof d=="string"){d={color:d}}var f=b.extend({},b.tools.expose.conf);d=b.extend(f,d);this.each(function(){e=new c(b(this),d);b(this).data("expose",e)});return d.api?e:this}})(jQuery);

$(document).ready(function() {
	$("#latest").jcarousel({
    	scroll: 2,
		visible: 2,
		pager: function (carousel){
      		return carousel.list.children("li").size() > 1;
    	}
	});
	$("#members").jcarousel({
    	scroll: 3,
		visible: 3,
		pager: function (carousel){
      		return carousel.list.children("li").size() > 1;
    	}
  	});
	$("#active-brands").jcarousel({
    	scroll: 4,
		visible: 4,
		pager: function (carousel){
      		return carousel.list.children("li").size() > 1;
    	}
	});
	$("#past-brands").jcarousel({
    	scroll:7,
		visible: 7,
		pager: function (carousel){
      		return carousel.list.children("li").size() > 1;
    	}
  	});
	
	$('div#latest .jcarousel-next').click(function() {
		$('div#projects div.jcarousel-pager-container li').removeClass('current');
		window.setTimeout(function(){$("div#projects div.jcarousel-pager-container li a.selected").parent().addClass('current').next().addClass('current');}, 100);
	});
	$('div#latest .jcarousel-prev ').click(function() {
		$('div#latest div.jcarousel-pager-container li').removeClass('current');
		window.setTimeout(function(){$("div#projects div.jcarousel-pager-container li a.selected").parent().addClass('current').next().addClass('current');}, 100);
	});
	$('div#latest div.jcarousel-pager-container li a').click(function() {
		$('div#latest div.jcarousel-pager-container li').removeClass('current');
		window.setTimeout(function(){$("div#projects div.jcarousel-pager-container li a.selected").parent().addClass('current').next().addClass('current');}, 100);
	});
	$('div#members .jcarousel-next').click(function() {
		$('div#members div.jcarousel-pager-container li').removeClass('current');
		window.setTimeout(function(){$("div#projects div.jcarousel-pager-container li a.selected").parent().addClass('current').next().addClass('current').next().addClass('current');}, 100);
	});
	$('div#members .jcarousel-prev ').click(function() {
		$('div#members div.jcarousel-pager-container li').removeClass('current');
		window.setTimeout(function(){$("div#projects div.jcarousel-pager-container li a.selected").parent().addClass('current').next().addClass('current').next().addClass('current');}, 100);
	});
	$('div#active-brands div.jcarousel-pager-container li a').click(function() {
		$('div#active-brands div.jcarousel-pager-container li').removeClass('current');
		window.setTimeout(function(){$("div#active-brands div.jcarousel-pager-container li a.selected").parent().addClass('current').next().addClass('current').next().addClass('current').next().addClass('current');}, 100);
	});
	$('div#active-brands .jcarousel-prev ').click(function() {
		$('div#active-brands div.jcarousel-pager-container li').removeClass('current');
		window.setTimeout(function(){$("div#active-brands div.jcarousel-pager-container li a.selected").parent().addClass('current').next().addClass('current').next().addClass('current').next().addClass('current');}, 100);
	});
	$('div#active-brands .jcarousel-next').click(function() {
		$('div#active-brands div.jcarousel-pager-container li').removeClass('current');
		window.setTimeout(function(){$("div#active-brands div.jcarousel-pager-container li a.selected").parent().addClass('current').next().addClass('current').next().addClass('current').next().addClass('current');}, 100);
	});

	$('div#past-brands div.jcarousel-pager-container li a').click(function() {
		$('div#past-brands div.jcarousel-pager-container li').removeClass('current');
		window.setTimeout(function(){$("div#past-brands div.jcarousel-pager-container li a.selected").parent().addClass('current').next().addClass('current').next().addClass('current').next().addClass('current').next().addClass('current').next().addClass('current').next().addClass('current');}, 100);
	});
	$('div#past-brands .jcarousel-prev ').click(function() {
		$('div#past-brands div.jcarousel-pager-container li').removeClass('current');
		window.setTimeout(function(){$("div#past-brands div.jcarousel-pager-container li a.selected").parent().addClass('current').next().addClass('current').next().addClass('current').next().addClass('current').next().addClass('current').next().addClass('current').next().addClass('current');}, 100);
	});
	$('div#past-brands .jcarousel-next').click(function() {
		$('div#past-brands div.jcarousel-pager-container li').removeClass('current');
		window.setTimeout(function(){$("div#past-brands div.jcarousel-pager-container li a.selected").parent().addClass('current').next().addClass('current').next().addClass('current').next().addClass('current').next().addClass('current').next().addClass('current').next().addClass('current');}, 100);
	});

});
$(window).load(function() {
   $('div#latest ul.jcarousel-pager li a.selected').parent().addClass('current').next().addClass('current');
   $('div#members ul.jcarousel-pager li a.selected').parent().addClass('current').next().addClass('current').next().addClass('current');
   $('div#active-brands ul.jcarousel-pager li a.selected').parent().addClass('current').next().addClass('current').next().addClass('current').next().addClass('current');
    $('div#past-brands ul.jcarousel-pager li a.selected').parent().addClass('current').next().addClass('current').next().addClass('current').next().addClass('current').next().addClass('current').next().addClass('current').next().addClass('current');
});

/*
 * jCal calendar multi-day and multi-month datepicker plugin for jQuery
 *	version 0.3.6
 * Author: Jim Palmer
 * Released under MIT license.
 */
(function($){$.fn.jCal=function(opt){$.jCal(this,opt);};$.jCal=function(target,opt){opt=$.extend({day:new Date(),days:1,showMonths:1,monthSelect:false,dCheck:function(day){return true;},callback:function(day,days){return true;},selectedBG:'rgb(0, 143, 214)',defaultBG:'rgb(255, 255, 255)',dayOffset:0,forceWeek:false,dow:['S','M','T','W','T','F','S'],ml:['January','February','March','April','May','June','July','August','September','October','November','December'],ms:['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'],_target:target},opt);opt.day=new Date(opt.day.getFullYear(),opt.day.getMonth(),1);if(!$(opt._target).data('days'))$(opt._target).data('days',opt.days);$(target).stop().empty();for(var sm=0;sm<opt.showMonths;sm++)$(target).append('<div class="jCalMo"></div>');opt.cID='c'+$('.jCalMo').length;$('.jCalMo',target).each(function(ind){drawCalControl($(this),$.extend({},opt,{'ind':ind,'day':new Date(new Date(opt.day.getTime()).setMonth(new Date(opt.day.getTime()).getMonth()+ind))}));drawCal($(this),$.extend({},opt,{'ind':ind,'day':new Date(new Date(opt.day.getTime()).setMonth(new Date(opt.day.getTime()).getMonth()+ind))}));});if($(opt._target).data('day')&&$(opt._target).data('days'))reSelectDates(target,$(opt._target).data('day'),$(opt._target).data('days'),opt);};function drawCalControl(target,opt){$(target).append('<div class="jCal">'+((opt.ind==0)?'<div class="left" />':'')+'<div class="month">'+'<span class="monthYear">'+opt.day.getFullYear()+'</span>'+'<span class="monthName">'+opt.ml[opt.day.getMonth()]+'</span>'+'</div>'+((opt.ind==(opt.showMonths-1))?'<div class="right" />':'')+'</div>');if(opt.monthSelect)$(target).find('.jCal .monthName, .jCal .monthYear').bind('mouseover',$.extend({},opt),function(e){$(this).removeClass('monthYearHover').removeClass('monthNameHover');if($('.jCalMask',e.data._target).length==0)$(this).addClass($(this).attr('class')+'Hover');}).bind('mouseout',function(){$(this).removeClass('monthYearHover').removeClass('monthNameHover');}).bind('click',$.extend({},opt),function(e){$('.jCalMo .monthSelector, .jCalMo .monthSelectorShadow').remove();var monthName=$(this).hasClass('monthName'),pad=Math.max(parseInt($(this).css('padding-left')),parseInt($(this).css('padding-left')))||2,calcTop=(($(this).offset()).top-((monthName?e.data.day.getMonth():2)*($(this).height()+0)));calcTop=calcTop>0?calcTop:0;var topDiff=($(this).offset()).top-calcTop;$('<div class="monthSelectorShadow" style="'+'top:'+$(e.data._target).offset().top+'px; '+'left:'+$(e.data._target).offset().left+'px; '+'width:'+($(e.data._target).width()+(parseInt($(e.data._target).css('paddingLeft'))||0)+(parseInt($(e.data._target).css('paddingRight'))||0))+'px; '+'height:'+($(e.data._target).height()+(parseInt($(e.data._target).css('paddingTop'))||0)+(parseInt($(e.data._target).css('paddingBottom'))||0))+'px;">'+'</div>').css('opacity',0.01).appendTo($(this).parent());$('<div class="monthSelector" style="'+'top:'+calcTop+'px; '+'left:'+(($(this).offset()).left)+'px; '+'width:'+($(this).width()+(pad*2))+'px;">'+'</div>').css('opacity',0).appendTo($(this).parent());for(var di=(monthName?0:-2),dd=(monthName?12:3);di<dd;di++)$(this).clone().removeClass('monthYearHover').removeClass('monthNameHover').addClass('monthSelect').attr('id',monthName?(di+1)+'_1_'+e.data.day.getFullYear():(e.data.day.getMonth()+1)+'_1_'+(e.data.day.getFullYear()+di)).html(monthName?e.data.ml[di]:(e.data.day.getFullYear()+di)).css('top',($(this).height()*di)).appendTo($(this).parent().find('.monthSelector'));var moSel=$(this).parent().find('.monthSelector').get(0),diffOff=$(moSel).height()-($(moSel).height()-topDiff);$(moSel).css('clip','rect('+diffOff+'px '+($(this).width()+(pad*2))+'px '+diffOff+'px 0px)').animate({'opacity':.92,'clip':'rect(0px '+($(this).width()+(pad*2))+'px '+$(moSel).height()+'px 0px)'},'fast',function(){$(this).parent().find('.monthSelectorShadow').bind('mouseover click',function(){$(this).parent().find('.monthSelector').remove();$(this).remove();});}).parent().find('.monthSelectorShadow').animate({'opacity':.1},'fast');$('.jCalMo .monthSelect',e.data._target).bind('mouseover mouseout click',$.extend({},e.data),function(e){if(e.type=='click')$(e.data._target).jCal($.extend(e.data,{day:new Date($(this).attr('id').replace(/_/g,'/'))}));else
$(this).toggleClass('monthSelectHover');});});$(target).find('.jCal .left').bind('click',$.extend({},opt),function(e){if($('.jCalMask',e.data._target).length>0)return false;var mD={w:0,h:0};$('.jCalMo',e.data._target).each(function(){mD.w+=$(this).width()+parseInt($(this).css('padding-left'))+parseInt($(this).css('padding-right'));var cH=$(this).height()+parseInt($(this).css('padding-top'))+parseInt($(this).css('padding-bottom'));mD.h=((cH>mD.h)?cH:mD.h);});$(e.data._target).prepend('<div class="jCalMo"></div>');e.data.day=new Date($('div[id*='+e.data.cID+'d_]:first',e.data._target).attr('id').replace(e.data.cID+'d_','').replace(/_/g,'/'));e.data.day.setDate(1);e.data.day.setMonth(e.data.day.getMonth()-1);drawCalControl($('.jCalMo:first',e.data._target),e.data);drawCal($('.jCalMo:first',e.data._target),e.data);if(e.data.showMonths>1){$('.right',e.data._target).clone(true).appendTo($('.jCalMo:eq(1) .jCal',e.data._target));$('.left:last, .right:last',e.data._target).remove();}$(e.data._target).append('<div class="jCalSpace" style="width:'+mD.w+'px; height:'+mD.h+'px;"></div>');$('.jCalMo',e.data._target).wrapAll('<div class="jCalMask" style="clip:rect(0px '+mD.w+'px '+mD.h+'px 0px); width:'+(mD.w+(mD.w/e.data.showMonths))+'px; height:'+mD.h+'px;">'+'<div class="jCalMove"></div>'+'</div>');$('.jCalMove',e.data._target).css('margin-left',((mD.w/e.data.showMonths)*-1)+'px').css('opacity',0.5).animate({marginLeft:'0px'},'fast',function(){$(this).children('.jCalMo:not(:last)').appendTo($(e.data._target));$('.jCalSpace, .jCalMask',e.data._target).empty().remove();if($(e.data._target).data('day'))reSelectDates(e.data._target,$(e.data._target).data('day'),$(e.data._target).data('days'),e.data);});});$(target).find('.jCal .right').bind('click',$.extend({},opt),function(e){if($('.jCalMask',e.data._target).length>0)return false;var mD={w:0,h:0};$('.jCalMo',e.data._target).each(function(){mD.w+=$(this).width()+parseInt($(this).css('padding-left'))+parseInt($(this).css('padding-right'));var cH=$(this).height()+parseInt($(this).css('padding-top'))+parseInt($(this).css('padding-bottom'));mD.h=((cH>mD.h)?cH:mD.h);});$(e.data._target).append('<div class="jCalMo"></div>');e.data.day=new Date($('div[id^='+e.data.cID+'d_]:last',e.data._target).attr('id').replace(e.data.cID+'d_','').replace(/_/g,'/'));e.data.day.setDate(1);e.data.day.setMonth(e.data.day.getMonth()+1);drawCalControl($('.jCalMo:last',e.data._target),e.data);drawCal($('.jCalMo:last',e.data._target),e.data);if(e.data.showMonths>1){$('.left',e.data._target).clone(true).prependTo($('.jCalMo:eq(1) .jCal',e.data._target));$('.left:first, .right:first',e.data._target).remove();}$(e.data._target).append('<div class="jCalSpace" style="width:'+mD.w+'px; height:'+mD.h+'px;"></div>');$('.jCalMo',e.data._target).wrapAll('<div class="jCalMask" style="clip:rect(0px '+mD.w+'px '+mD.h+'px 0px); width:'+(mD.w+(mD.w/e.data.showMonths))+'px; height:'+mD.h+'px;">'+'<div class="jCalMove"></div>'+'</div>');$('.jCalMove',e.data._target).css('opacity',0.5).animate({marginLeft:((mD.w/e.data.showMonths)*-1)+'px'},'fast',function(){$(this).children('.jCalMo:not(:first)').appendTo($(e.data._target));$('.jCalSpace, .jCalMask',e.data._target).empty().remove();if($(e.data._target).data('day'))reSelectDates(e.data._target,$(e.data._target).data('day'),$(e.data._target).data('days'),e.data);$(this).children('.jCalMo:not(:first)').removeClass('');});});$('.jCal',target).each(function(){var width=$(this).parent().width()-($('.left',this).width()||0)-($('.right',this).width()||0);$('.month',this).css('width',width).find('.monthName, .monthYear').css('width',((width/2)-4));});$(window).load(function(){$('.jCal',target).each(function(){var width=$(this).parent().width()-($('.left',this).width()||0)-($('.right',this).width()||0);$('.month',this).css('width',width).find('.monthName, .monthYear').css('width',((width/2)-4));});});};function reSelectDates(target,day,days,opt){var fDay=new Date(day.getTime());var sDay=new Date(day.getTime());for(var fC=false,di=0,dC=days;di<dC;di++){var dF=$(target).find('div[id*=d_'+(sDay.getMonth()+1)+'_'+sDay.getDate()+'_'+sDay.getFullYear()+']');if(dF.length>0){dF.stop().addClass('selectedDay');fC=true;}sDay.setDate(sDay.getDate()+1);}if(fC&&typeof opt.callback=='function')opt.callback(day,days);};function drawCal(target,opt){for(var ds=0,length=opt.dow.length;ds<length;ds++)$(target).append('<div class="dow">'+opt.dow[ds]+'</div>');var fd=new Date(new Date(opt.day.getTime()).setDate(1));var ldlm=new Date(new Date(fd.getTime()).setDate(0));var ld=new Date(new Date(new Date(fd.getTime()).setMonth(fd.getMonth()+1)).setDate(0));var copt={fd:fd.getDay(),lld:ldlm.getDate(),ld:ld.getDate()};var offsetDayStart=((copt.fd<opt.dayOffset)?(opt.dayOffset-7):1);var offsetDayEnd=((ld.getDay()<opt.dayOffset)?(7-ld.getDay()):ld.getDay());for(var d=offsetDayStart,dE=(copt.fd+copt.ld+(7-offsetDayEnd));d<dE;d++)$(target).append(((d<=(copt.fd-opt.dayOffset))?'<div id="'+opt.cID+'d'+d+'" class="pday">'+(copt.lld-((copt.fd-opt.dayOffset)-d))+'</div>':((d>((copt.fd-opt.dayOffset)+copt.ld))?'<div id="'+opt.cID+'d'+d+'" class="aday">'+(d-((copt.fd-opt.dayOffset)+copt.ld))+'</div>':'<div id="'+opt.cID+'d_'+(fd.getMonth()+1)+'_'+(d-(copt.fd-opt.dayOffset))+'_'+fd.getFullYear()+'" class="'+((opt.dCheck(new Date((new Date(fd.getTime())).setDate(d-(copt.fd-opt.dayOffset)))))?'day':'invday')+'">'+(d-(copt.fd-opt.dayOffset))+'</div>')));$(target).find('div[id^='+opt.cID+'d]:first, div[id^='+opt.cID+'d]:nth-child(7n+2)').before('<br style="clear:both; font-size:0.1em;" />');$(target).find('div[id^='+opt.cID+'d_]:not(.invday)').bind("mouseover mouseout click",$.extend({},opt),function(e){if($('.jCalMask',e.data._target).length>0)return false;var osDate=new Date($(this).attr('id').replace(/c[0-9]{1,}d_([0-9]{1,2})_([0-9]{1,2})_([0-9]{4})/,'$1/$2/$3'));if(e.data.forceWeek)osDate.setDate(osDate.getDate()+(e.data.dayOffset-osDate.getDay()));var sDate=new Date(osDate.getTime());if(e.type=='click')$('div[id*=d_]',e.data._target).stop().removeClass('selectedDay').removeClass('overDay').css('backgroundColor','');for(var di=0,ds=$(e.data._target).data('days');di<ds;di++){var currDay=$(e.data._target).find('#'+e.data.cID+'d_'+(sDate.getMonth()+1)+'_'+sDate.getDate()+'_'+sDate.getFullYear());if(currDay.length==0||$(currDay).hasClass('invday'))break;if(e.type=='mouseover')$(currDay).addClass('overDay');else if(e.type=='mouseout')$(currDay).stop().removeClass('overDay').css('backgroundColor','');else if(e.type=='click')$(currDay).stop().addClass('selectedDay');sDate.setDate(sDate.getDate()+1);}if(e.type=='click'){e.data.day=osDate;e.data.callback(osDate,di);$(e.data._target).data('day',e.data.day).data('days',di);}});};})(jQuery);

(function(a){calendar={subscribeProject:function(b,c){a.ajax({url:"/dev/subscribeProject.json",data:{projectId:b},success:function(){var d=a('a[calendar-item-id="calendar-'+b+'"]:not(.close)');d.html("Added");d.css({"background-color":"#666"});c()}});return false},unsubscribeProject:function(b){common.setLoading("list-wrap-"+b);a.ajax({url:"/dev/unsubscribeProject.json",data:{projectId:b},success:function(c){if(c.success){common.refreshPage(false,300)}}});return false},changeNotifications:function(c,b){a.ajax({url:"/dev/changeSubscriptionNotification.json",data:{projectId:c,notifications:b},success:function(d){if(d.success){common.showMessage(b?"Notifications are On":"Notifications are Off");a("#notification-"+c+"-"+(b?"on":"off")).show();a("#notification-"+c+"-"+(b?"off":"on")).hide()}}});return false},showSubscriptionPopup:function(){var b=a('div[calendar-item-id="'+calendar.eventId+'"]:not(.date)');if(b.length){b.show()}else{a.ajax({url:"/dev/project-subscriptions.html",data:{projectId:calendar.projectId},cache:false,success:function(c){calendar.element.parent().append(c);calendar.element.parent().find("a.close[calendar-item-id]").click(function(g){g=g||window.event;var f=g.target||g.srcElement;var d=a(f).attr("calendar-item-id");a('div[calendar-item-id="'+d+'"]:not(.date)').remove();return false});a('div[calendar-item-id="'+calendar.eventId+'"]:not(.date)').show()}})}return false}};a(document).ready(function(){if(calendar.initialized){return}calendar.initialized=1;a("a[event-id]:not(.close)").each(function(b,d){var c=a(d).attr("event-id");a(d).click(function(){a("div[event-id]").hide();a('div[event-id="'+c+'"]').show();return false})});a("a.close[event-id]").click(function(d){d=d||window.event;var c=d.target||d.srcElement;var b=a(c).attr("event-id");a('div[event-id="'+b+'"]').hide();return false});a("a[calendar-item-id]:not(.close),div.date[calendar-item-id]").each(function(c,f){var d=a(f).attr("calendar-item-id");a(f).css({cursor:"pointer"});var b=a(f).attr("calendar-item-subscribe");a(f).click(function(){a("div[calendar-item-id]:not(.date)").hide();calendar.projectId=d.substring(d.indexOf("-")+1);calendar.element=a(f);calendar.eventId=d;if(b){calendar.subscribeProject(calendar.projectId,calendar.showSubscriptionPopup)}else{calendar.showSubscriptionPopup()}return false})})})})(jQuery);


(function($){$.fn.editable=function(target,options){if('disable'==target){$(this).data('disabled.editable',true);return;}
if('enable'==target){$(this).data('disabled.editable',false);return;}
if('destroy'==target){$(this).unbind($(this).data('event.editable')).removeData('disabled.editable').removeData('event.editable');return;}
var settings=$.extend({},$.fn.editable.defaults,{target:target},options);var plugin=$.editable.types[settings.type].plugin||function(){};var submit=$.editable.types[settings.type].submit||function(){};var buttons=$.editable.types[settings.type].buttons||$.editable.types['defaults'].buttons;var content=$.editable.types[settings.type].content||$.editable.types['defaults'].content;var element=$.editable.types[settings.type].element||$.editable.types['defaults'].element;var reset=$.editable.types[settings.type].reset||$.editable.types['defaults'].reset;var callback=settings.callback||function(){};var onedit=settings.onedit||function(){};var onsubmit=settings.onsubmit||function(){};var onreset=settings.onreset||function(){};var onerror=settings.onerror||reset;if(settings.tooltip){$(this).attr('title',settings.tooltip);}
settings.autowidth='auto'==settings.width;settings.autoheight='auto'==settings.height;return this.each(function(){var self=this;var savedwidth=$(self).width();var savedheight=$(self).height();$(this).data('event.editable',settings.event);if(!$.trim($(this).html())){$(this).html(settings.placeholder);}
$(this).bind(settings.event,function(e){if(true===$(this).data('disabled.editable')){return;}
if(self.editing){return;}
if(false===onedit.apply(this,[settings,self])){return;}
e.preventDefault();e.stopPropagation();if(settings.tooltip){$(self).removeAttr('title');}
if(0==$(self).width()){settings.width=savedwidth;settings.height=savedheight;}else{if(settings.width!='none'){settings.width=settings.autowidth?$(self).width():settings.width;}
if(settings.height!='none'){settings.height=settings.autoheight?$(self).height():settings.height;}}
if($(this).html().toLowerCase().replace(/(;|")/g,'')==settings.placeholder.toLowerCase().replace(/(;|")/g,'')){$(this).html('');}
self.editing=true;self.revert=$(self).html();$(self).html('');var form=$('<form />');if(settings.cssclass){if('inherit'==settings.cssclass){form.attr('class',$(self).attr('class'));}else{form.attr('class',settings.cssclass);}}
if(settings.style){if('inherit'==settings.style){form.attr('style',$(self).attr('style'));form.css('display',$(self).css('display'));}else{form.attr('style',settings.style);}}
var input=element.apply(form,[settings,self]);var input_content;if(settings.loadurl){var t=setTimeout(function(){input.disabled=true;content.apply(form,[settings.loadtext,settings,self]);},100);var loaddata={};loaddata[settings.id]=self.id;if($.isFunction(settings.loaddata)){$.extend(loaddata,settings.loaddata.apply(self,[self.revert,settings]));}else{$.extend(loaddata,settings.loaddata);}
$.ajax({type:settings.loadtype,url:settings.loadurl,data:loaddata,async:false,success:function(result){window.clearTimeout(t);input_content=result;input.disabled=false;}});}else if(settings.data){input_content=settings.data;if($.isFunction(settings.data)){input_content=settings.data.apply(self,[self.revert,settings]);}}else{input_content=self.revert;}
content.apply(form,[input_content,settings,self]);input.attr('name',settings.name);buttons.apply(form,[settings,self]);$(self).append(form);plugin.apply(form,[settings,self]);$(':input:visible:enabled:first',form).focus();if(settings.select){input.select();}
input.keydown(function(e){if(e.keyCode==27){e.preventDefault();reset.apply(form,[settings,self]);}});var t;if('cancel'==settings.onblur){input.blur(function(e){t=setTimeout(function(){reset.apply(form,[settings,self]);},500);});}else if('submit'==settings.onblur){input.blur(function(e){t=setTimeout(function(){form.submit();},200);});}else if($.isFunction(settings.onblur)){input.blur(function(e){settings.onblur.apply(self,[input.val(),settings]);});}else{input.blur(function(e){});}
form.submit(function(e){if(t){clearTimeout(t);}
e.preventDefault();if(false!==onsubmit.apply(form,[settings,self])){if(false!==submit.apply(form,[settings,self])){if($.isFunction(settings.target)){var str=settings.target.apply(self,[input.val(),settings]);$(self).html(str);self.editing=false;callback.apply(self,[self.innerHTML,settings]);if(!$.trim($(self).html())){$(self).html(settings.placeholder);}}else{var submitdata={};submitdata[settings.name]=input.val();submitdata[settings.id]=self.id;if($.isFunction(settings.submitdata)){$.extend(submitdata,settings.submitdata.apply(self,[self.revert,settings]));}else{$.extend(submitdata,settings.submitdata);}
if('PUT'==settings.method){submitdata['_method']='put';}
$(self).html(settings.indicator);var ajaxoptions={type:'POST',data:submitdata,dataType:'html',url:settings.target,success:function(result,status){if(ajaxoptions.dataType=='html'){$(self).html(result);}
self.editing=false;callback.apply(self,[result,settings]);if(!$.trim($(self).html())){$(self).html(settings.placeholder);}},error:function(xhr,status,error){onerror.apply(form,[settings,self,xhr]);}};$.extend(ajaxoptions,settings.ajaxoptions);$.ajax(ajaxoptions);}}}
$(self).attr('title',settings.tooltip);return false;});});this.reset=function(form){if(this.editing){if(false!==onreset.apply(form,[settings,self])){$(self).html(self.revert);self.editing=false;if(!$.trim($(self).html())){$(self).html(settings.placeholder);}
if(settings.tooltip){$(self).attr('title',settings.tooltip);}}}};});};$.editable={types:{defaults:{element:function(settings,original){var input=$('<input type="hidden"></input>');$(this).append(input);return(input);},content:function(string,settings,original){$(':input:first',this).val(string);},reset:function(settings,original){original.reset(this);},buttons:function(settings,original){var form=this;if(settings.submit){if(settings.submit.match(/>$/)){var submit=$(settings.submit).click(function(){if(submit.attr("type")!="submit"){form.submit();}});}else{var submit=$('<button type="submit" />');submit.html(settings.submit);}
$(this).append(submit);}
if(settings.cancel){if(settings.cancel.match(/>$/)){var cancel=$(settings.cancel);}else{var cancel=$('<button type="cancel" />');cancel.html(settings.cancel);}
$(this).append(cancel);$(cancel).click(function(event){if($.isFunction($.editable.types[settings.type].reset)){var reset=$.editable.types[settings.type].reset;}else{var reset=$.editable.types['defaults'].reset;}
reset.apply(form,[settings,original]);return false;});}}},text:{element:function(settings,original){var input=$('<input />');if(settings.width!='none'){input.width(settings.width);}
if(settings.height!='none'){input.height(settings.height);}
input.attr('autocomplete','off');$(this).append(input);return(input);}},textarea:{element:function(settings,original){var textarea=$('<textarea />');if(settings.rows){textarea.attr('rows',settings.rows);}else if(settings.height!="none"){textarea.height(settings.height);}
if(settings.cols){textarea.attr('cols',settings.cols);}else if(settings.width!="none"){textarea.width(settings.width);}
$(this).append(textarea);return(textarea);}},select:{element:function(settings,original){var select=$('<select />');$(this).append(select);return(select);},content:function(data,settings,original){if(String==data.constructor){eval('var json = '+data);}else{var json=data;}
for(var key in json){if(!json.hasOwnProperty(key)){continue;}
if('selected'==key){continue;}
var option=$('<option />').val(key).append(json[key]);$('select',this).append(option);}
$('select',this).children().each(function(){if($(this).val()==json['selected']||$(this).text()==$.trim(original.revert)){$(this).attr('selected','selected');}});}}},addInputType:function(name,input){$.editable.types[name]=input;}};$.fn.editable.defaults={name:'value',id:'id',type:'text',width:'auto',height:'auto',event:'click.editable',onblur:'cancel',loadtype:'GET',loadtext:'Loading...',placeholder:'Click to edit',loaddata:{},submitdata:{},ajaxoptions:{}};})(jQuery);
/*
 * jQuery UI 1.7.2
 *
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI
 */
jQuery.ui||(function(c){var i=c.fn.remove,d=c.browser.mozilla&&(parseFloat(c.browser.version)<1.9);c.ui={version:"1.7.2",plugin:{add:function(k,l,n){var m=c.ui[k].prototype;for(var j in n){m.plugins[j]=m.plugins[j]||[];m.plugins[j].push([l,n[j]])}},call:function(j,l,k){var n=j.plugins[l];if(!n||!j.element[0].parentNode){return}for(var m=0;m<n.length;m++){if(j.options[n[m][0]]){n[m][1].apply(j.element,k)}}}},contains:function(k,j){return document.compareDocumentPosition?k.compareDocumentPosition(j)&16:k!==j&&k.contains(j)},hasScroll:function(m,k){if(c(m).css("overflow")=="hidden"){return false}var j=(k&&k=="left")?"scrollLeft":"scrollTop",l=false;if(m[j]>0){return true}m[j]=1;l=(m[j]>0);m[j]=0;return l},isOverAxis:function(k,j,l){return(k>j)&&(k<(j+l))},isOver:function(o,k,n,m,j,l){return c.ui.isOverAxis(o,n,j)&&c.ui.isOverAxis(k,m,l)},keyCode:{BACKSPACE:8,CAPS_LOCK:20,COMMA:188,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38}};if(d){var f=c.attr,e=c.fn.removeAttr,h="http://www.w3.org/2005/07/aaa",a=/^aria-/,b=/^wairole:/;c.attr=function(k,j,l){var m=l!==undefined;return(j=="role"?(m?f.call(this,k,j,"wairole:"+l):(f.apply(this,arguments)||"").replace(b,"")):(a.test(j)?(m?k.setAttributeNS(h,j.replace(a,"aaa:"),l):f.call(this,k,j.replace(a,"aaa:"))):f.apply(this,arguments)))};c.fn.removeAttr=function(j){return(a.test(j)?this.each(function(){this.removeAttributeNS(h,j.replace(a,""))}):e.call(this,j))}}c.fn.extend({remove:function(){c("*",this).add(this).each(function(){c(this).triggerHandler("remove")});return i.apply(this,arguments)},enableSelection:function(){return this.attr("unselectable","off").css("MozUserSelect","").unbind("selectstart.ui")},disableSelection:function(){return this.attr("unselectable","on").css("MozUserSelect","none").bind("selectstart.ui",function(){return false})},scrollParent:function(){var j;if((c.browser.msie&&(/(static|relative)/).test(this.css("position")))||(/absolute/).test(this.css("position"))){j=this.parents().filter(function(){return(/(relative|absolute|fixed)/).test(c.curCSS(this,"position",1))&&(/(auto|scroll)/).test(c.curCSS(this,"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1))}).eq(0)}else{j=this.parents().filter(function(){return(/(auto|scroll)/).test(c.curCSS(this,"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1))}).eq(0)}return(/fixed/).test(this.css("position"))||!j.length?c(document):j}});c.extend(c.expr[":"],{data:function(l,k,j){return !!c.data(l,j[3])},focusable:function(k){var l=k.nodeName.toLowerCase(),j=c.attr(k,"tabindex");return(/input|select|textarea|button|object/.test(l)?!k.disabled:"a"==l||"area"==l?k.href||!isNaN(j):!isNaN(j))&&!c(k)["area"==l?"parents":"closest"](":hidden").length},tabbable:function(k){var j=c.attr(k,"tabindex");return(isNaN(j)||j>=0)&&c(k).is(":focusable")}});function g(m,n,o,l){function k(q){var p=c[m][n][q]||[];return(typeof p=="string"?p.split(/,?\s+/):p)}var j=k("getter");if(l.length==1&&typeof l[0]=="string"){j=j.concat(k("getterSetter"))}return(c.inArray(o,j)!=-1)}c.widget=function(k,j){var l=k.split(".")[0];k=k.split(".")[1];c.fn[k]=function(p){var n=(typeof p=="string"),o=Array.prototype.slice.call(arguments,1);if(n&&p.substring(0,1)=="_"){return this}if(n&&g(l,k,p,o)){var m=c.data(this[0],k);return(m?m[p].apply(m,o):undefined)}return this.each(function(){var q=c.data(this,k);(!q&&!n&&c.data(this,k,new c[l][k](this,p))._init());(q&&n&&c.isFunction(q[p])&&q[p].apply(q,o))})};c[l]=c[l]||{};c[l][k]=function(o,n){var m=this;this.namespace=l;this.widgetName=k;this.widgetEventPrefix=c[l][k].eventPrefix||k;this.widgetBaseClass=l+"-"+k;this.options=c.extend({},c.widget.defaults,c[l][k].defaults,c.metadata&&c.metadata.get(o)[k],n);this.element=c(o).bind("setData."+k,function(q,p,r){if(q.target==o){return m._setData(p,r)}}).bind("getData."+k,function(q,p){if(q.target==o){return m._getData(p)}}).bind("remove",function(){return m.destroy()})};c[l][k].prototype=c.extend({},c.widget.prototype,j);c[l][k].getterSetter="option"};c.widget.prototype={_init:function(){},destroy:function(){this.element.removeData(this.widgetName).removeClass(this.widgetBaseClass+"-disabled "+this.namespace+"-state-disabled").removeAttr("aria-disabled")},option:function(l,m){var k=l,j=this;if(typeof l=="string"){if(m===undefined){return this._getData(l)}k={};k[l]=m}c.each(k,function(n,o){j._setData(n,o)})},_getData:function(j){return this.options[j]},_setData:function(j,k){this.options[j]=k;if(j=="disabled"){this.element[k?"addClass":"removeClass"](this.widgetBaseClass+"-disabled "+this.namespace+"-state-disabled").attr("aria-disabled",k)}},enable:function(){this._setData("disabled",false)},disable:function(){this._setData("disabled",true)},_trigger:function(l,m,n){var p=this.options[l],j=(l==this.widgetEventPrefix?l:this.widgetEventPrefix+l);m=c.Event(m);m.type=j;if(m.originalEvent){for(var k=c.event.props.length,o;k;){o=c.event.props[--k];m[o]=m.originalEvent[o]}}this.element.trigger(m,n);return !(c.isFunction(p)&&p.call(this.element[0],m,n)===false||m.isDefaultPrevented())}};c.widget.defaults={disabled:false};c.ui.mouse={_mouseInit:function(){var j=this;this.element.bind("mousedown."+this.widgetName,function(k){return j._mouseDown(k)}).bind("click."+this.widgetName,function(k){if(j._preventClickEvent){j._preventClickEvent=false;k.stopImmediatePropagation();return false}});if(c.browser.msie){this._mouseUnselectable=this.element.attr("unselectable");this.element.attr("unselectable","on")}this.started=false},_mouseDestroy:function(){this.element.unbind("."+this.widgetName);(c.browser.msie&&this.element.attr("unselectable",this._mouseUnselectable))},_mouseDown:function(l){l.originalEvent=l.originalEvent||{};if(l.originalEvent.mouseHandled){return}(this._mouseStarted&&this._mouseUp(l));this._mouseDownEvent=l;var k=this,m=(l.which==1),j=(typeof this.options.cancel=="string"?c(l.target).parents().add(l.target).filter(this.options.cancel).length:false);if(!m||j||!this._mouseCapture(l)){return true}this.mouseDelayMet=!this.options.delay;if(!this.mouseDelayMet){this._mouseDelayTimer=setTimeout(function(){k.mouseDelayMet=true},this.options.delay)}if(this._mouseDistanceMet(l)&&this._mouseDelayMet(l)){this._mouseStarted=(this._mouseStart(l)!==false);if(!this._mouseStarted){l.preventDefault();return true}}this._mouseMoveDelegate=function(n){return k._mouseMove(n)};this._mouseUpDelegate=function(n){return k._mouseUp(n)};c(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate);(c.browser.safari||l.preventDefault());l.originalEvent.mouseHandled=true;return true},_mouseMove:function(j){if(c.browser.msie&&!j.button){return this._mouseUp(j)}if(this._mouseStarted){this._mouseDrag(j);return j.preventDefault()}if(this._mouseDistanceMet(j)&&this._mouseDelayMet(j)){this._mouseStarted=(this._mouseStart(this._mouseDownEvent,j)!==false);(this._mouseStarted?this._mouseDrag(j):this._mouseUp(j))}return !this._mouseStarted},_mouseUp:function(j){c(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate);if(this._mouseStarted){this._mouseStarted=false;this._preventClickEvent=(j.target==this._mouseDownEvent.target);this._mouseStop(j)}return false},_mouseDistanceMet:function(j){return(Math.max(Math.abs(this._mouseDownEvent.pageX-j.pageX),Math.abs(this._mouseDownEvent.pageY-j.pageY))>=this.options.distance)},_mouseDelayMet:function(j){return this.mouseDelayMet},_mouseStart:function(j){},_mouseDrag:function(j){},_mouseStop:function(j){},_mouseCapture:function(j){return true}};c.ui.mouse.defaults={cancel:null,distance:1,delay:0}})(jQuery);;/*
 * jQuery UI Draggable 1.7.2
 *
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Draggables
 *
 * Depends:
 *	ui.core.js
 */
(function(a){a.widget("ui.draggable",a.extend({},a.ui.mouse,{_init:function(){if(this.options.helper=="original"&&!(/^(?:r|a|f)/).test(this.element.css("position"))){this.element[0].style.position="relative"}(this.options.addClasses&&this.element.addClass("ui-draggable"));(this.options.disabled&&this.element.addClass("ui-draggable-disabled"));this._mouseInit()},destroy:function(){if(!this.element.data("draggable")){return}this.element.removeData("draggable").unbind(".draggable").removeClass("ui-draggable ui-draggable-dragging ui-draggable-disabled");this._mouseDestroy()},_mouseCapture:function(b){var c=this.options;if(this.helper||c.disabled||a(b.target).is(".ui-resizable-handle")){return false}this.handle=this._getHandle(b);if(!this.handle){return false}return true},_mouseStart:function(b){var c=this.options;this.helper=this._createHelper(b);this._cacheHelperProportions();if(a.ui.ddmanager){a.ui.ddmanager.current=this}this._cacheMargins();this.cssPosition=this.helper.css("position");this.scrollParent=this.helper.scrollParent();this.offset=this.element.offset();this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left};a.extend(this.offset,{click:{left:b.pageX-this.offset.left,top:b.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()});this.originalPosition=this._generatePosition(b);this.originalPageX=b.pageX;this.originalPageY=b.pageY;if(c.cursorAt){this._adjustOffsetFromHelper(c.cursorAt)}if(c.containment){this._setContainment()}this._trigger("start",b);this._cacheHelperProportions();if(a.ui.ddmanager&&!c.dropBehaviour){a.ui.ddmanager.prepareOffsets(this,b)}this.helper.addClass("ui-draggable-dragging");this._mouseDrag(b,true);return true},_mouseDrag:function(b,d){this.position=this._generatePosition(b);this.positionAbs=this._convertPositionTo("absolute");if(!d){var c=this._uiHash();this._trigger("drag",b,c);this.position=c.position}if(!this.options.axis||this.options.axis!="y"){this.helper[0].style.left=this.position.left+"px"}if(!this.options.axis||this.options.axis!="x"){this.helper[0].style.top=this.position.top+"px"}if(a.ui.ddmanager){a.ui.ddmanager.drag(this,b)}return false},_mouseStop:function(c){var d=false;if(a.ui.ddmanager&&!this.options.dropBehaviour){d=a.ui.ddmanager.drop(this,c)}if(this.dropped){d=this.dropped;this.dropped=false}if((this.options.revert=="invalid"&&!d)||(this.options.revert=="valid"&&d)||this.options.revert===true||(a.isFunction(this.options.revert)&&this.options.revert.call(this.element,d))){var b=this;a(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),function(){b._trigger("stop",c);b._clear()})}else{this._trigger("stop",c);this._clear()}return false},_getHandle:function(b){var c=!this.options.handle||!a(this.options.handle,this.element).length?true:false;a(this.options.handle,this.element).find("*").andSelf().each(function(){if(this==b.target){c=true}});return c},_createHelper:function(c){var d=this.options;var b=a.isFunction(d.helper)?a(d.helper.apply(this.element[0],[c])):(d.helper=="clone"?this.element.clone():this.element);if(!b.parents("body").length){b.appendTo((d.appendTo=="parent"?this.element[0].parentNode:d.appendTo))}if(b[0]!=this.element[0]&&!(/(fixed|absolute)/).test(b.css("position"))){b.css("position","absolute")}return b},_adjustOffsetFromHelper:function(b){if(b.left!=undefined){this.offset.click.left=b.left+this.margins.left}if(b.right!=undefined){this.offset.click.left=this.helperProportions.width-b.right+this.margins.left}if(b.top!=undefined){this.offset.click.top=b.top+this.margins.top}if(b.bottom!=undefined){this.offset.click.top=this.helperProportions.height-b.bottom+this.margins.top}},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var b=this.offsetParent.offset();if(this.cssPosition=="absolute"&&this.scrollParent[0]!=document&&a.ui.contains(this.scrollParent[0],this.offsetParent[0])){b.left+=this.scrollParent.scrollLeft();b.top+=this.scrollParent.scrollTop()}if((this.offsetParent[0]==document.body)||(this.offsetParent[0].tagName&&this.offsetParent[0].tagName.toLowerCase()=="html"&&a.browser.msie)){b={top:0,left:0}}return{top:b.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:b.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if(this.cssPosition=="relative"){var b=this.element.position();return{top:b.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:b.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}else{return{top:0,left:0}}},_cacheMargins:function(){this.margins={left:(parseInt(this.element.css("marginLeft"),10)||0),top:(parseInt(this.element.css("marginTop"),10)||0)}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var e=this.options;if(e.containment=="parent"){e.containment=this.helper[0].parentNode}if(e.containment=="document"||e.containment=="window"){this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,a(e.containment=="document"?document:window).width()-this.helperProportions.width-this.margins.left,(a(e.containment=="document"?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]}if(!(/^(document|window|parent)$/).test(e.containment)&&e.containment.constructor!=Array){var c=a(e.containment)[0];if(!c){return}var d=a(e.containment).offset();var b=(a(c).css("overflow")!="hidden");this.containment=[d.left+(parseInt(a(c).css("borderLeftWidth"),10)||0)+(parseInt(a(c).css("paddingLeft"),10)||0)-this.margins.left,d.top+(parseInt(a(c).css("borderTopWidth"),10)||0)+(parseInt(a(c).css("paddingTop"),10)||0)-this.margins.top,d.left+(b?Math.max(c.scrollWidth,c.offsetWidth):c.offsetWidth)-(parseInt(a(c).css("borderLeftWidth"),10)||0)-(parseInt(a(c).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left,d.top+(b?Math.max(c.scrollHeight,c.offsetHeight):c.offsetHeight)-(parseInt(a(c).css("borderTopWidth"),10)||0)-(parseInt(a(c).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top]}else{if(e.containment.constructor==Array){this.containment=e.containment}}},_convertPositionTo:function(f,h){if(!h){h=this.position}var c=f=="absolute"?1:-1;var e=this.options,b=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&a.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,g=(/(html|body)/i).test(b[0].tagName);return{top:(h.top+this.offset.relative.top*c+this.offset.parent.top*c-(a.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():(g?0:b.scrollTop()))*c)),left:(h.left+this.offset.relative.left*c+this.offset.parent.left*c-(a.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():g?0:b.scrollLeft())*c))}},_generatePosition:function(e){var h=this.options,b=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&a.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,i=(/(html|body)/i).test(b[0].tagName);if(this.cssPosition=="relative"&&!(this.scrollParent[0]!=document&&this.scrollParent[0]!=this.offsetParent[0])){this.offset.relative=this._getRelativeOffset()}var d=e.pageX;var c=e.pageY;if(this.originalPosition){if(this.containment){if(e.pageX-this.offset.click.left<this.containment[0]){d=this.containment[0]+this.offset.click.left}if(e.pageY-this.offset.click.top<this.containment[1]){c=this.containment[1]+this.offset.click.top}if(e.pageX-this.offset.click.left>this.containment[2]){d=this.containment[2]+this.offset.click.left}if(e.pageY-this.offset.click.top>this.containment[3]){c=this.containment[3]+this.offset.click.top}}if(h.grid){var g=this.originalPageY+Math.round((c-this.originalPageY)/h.grid[1])*h.grid[1];c=this.containment?(!(g-this.offset.click.top<this.containment[1]||g-this.offset.click.top>this.containment[3])?g:(!(g-this.offset.click.top<this.containment[1])?g-h.grid[1]:g+h.grid[1])):g;var f=this.originalPageX+Math.round((d-this.originalPageX)/h.grid[0])*h.grid[0];d=this.containment?(!(f-this.offset.click.left<this.containment[0]||f-this.offset.click.left>this.containment[2])?f:(!(f-this.offset.click.left<this.containment[0])?f-h.grid[0]:f+h.grid[0])):f}}return{top:(c-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+(a.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():(i?0:b.scrollTop())))),left:(d-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+(a.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():i?0:b.scrollLeft())))}},_clear:function(){this.helper.removeClass("ui-draggable-dragging");if(this.helper[0]!=this.element[0]&&!this.cancelHelperRemoval){this.helper.remove()}this.helper=null;this.cancelHelperRemoval=false},_trigger:function(b,c,d){d=d||this._uiHash();a.ui.plugin.call(this,b,[c,d]);if(b=="drag"){this.positionAbs=this._convertPositionTo("absolute")}return a.widget.prototype._trigger.call(this,b,c,d)},plugins:{},_uiHash:function(b){return{helper:this.helper,position:this.position,absolutePosition:this.positionAbs,offset:this.positionAbs}}}));a.extend(a.ui.draggable,{version:"1.7.2",eventPrefix:"drag",defaults:{addClasses:true,appendTo:"parent",axis:false,cancel:":input,option",connectToSortable:false,containment:false,cursor:"auto",cursorAt:false,delay:0,distance:1,grid:false,handle:false,helper:"original",iframeFix:false,opacity:false,refreshPositions:false,revert:false,revertDuration:500,scope:"default",scroll:true,scrollSensitivity:20,scrollSpeed:20,snap:false,snapMode:"both",snapTolerance:20,stack:false,zIndex:false}});a.ui.plugin.add("draggable","connectToSortable",{start:function(c,e){var d=a(this).data("draggable"),f=d.options,b=a.extend({},e,{item:d.element});d.sortables=[];a(f.connectToSortable).each(function(){var g=a.data(this,"sortable");if(g&&!g.options.disabled){d.sortables.push({instance:g,shouldRevert:g.options.revert});g._refreshItems();g._trigger("activate",c,b)}})},stop:function(c,e){var d=a(this).data("draggable"),b=a.extend({},e,{item:d.element});a.each(d.sortables,function(){if(this.instance.isOver){this.instance.isOver=0;d.cancelHelperRemoval=true;this.instance.cancelHelperRemoval=false;if(this.shouldRevert){this.instance.options.revert=true}this.instance._mouseStop(c);this.instance.options.helper=this.instance.options._helper;if(d.options.helper=="original"){this.instance.currentItem.css({top:"auto",left:"auto"})}}else{this.instance.cancelHelperRemoval=false;this.instance._trigger("deactivate",c,b)}})},drag:function(c,f){var e=a(this).data("draggable"),b=this;var d=function(i){var n=this.offset.click.top,m=this.offset.click.left;var g=this.positionAbs.top,k=this.positionAbs.left;var j=i.height,l=i.width;var p=i.top,h=i.left;return a.ui.isOver(g+n,k+m,p,h,j,l)};a.each(e.sortables,function(g){this.instance.positionAbs=e.positionAbs;this.instance.helperProportions=e.helperProportions;this.instance.offset.click=e.offset.click;if(this.instance._intersectsWith(this.instance.containerCache)){if(!this.instance.isOver){this.instance.isOver=1;this.instance.currentItem=a(b).clone().appendTo(this.instance.element).data("sortable-item",true);this.instance.options._helper=this.instance.options.helper;this.instance.options.helper=function(){return f.helper[0]};c.target=this.instance.currentItem[0];this.instance._mouseCapture(c,true);this.instance._mouseStart(c,true,true);this.instance.offset.click.top=e.offset.click.top;this.instance.offset.click.left=e.offset.click.left;this.instance.offset.parent.left-=e.offset.parent.left-this.instance.offset.parent.left;this.instance.offset.parent.top-=e.offset.parent.top-this.instance.offset.parent.top;e._trigger("toSortable",c);e.dropped=this.instance.element;e.currentItem=e.element;this.instance.fromOutside=e}if(this.instance.currentItem){this.instance._mouseDrag(c)}}else{if(this.instance.isOver){this.instance.isOver=0;this.instance.cancelHelperRemoval=true;this.instance.options.revert=false;this.instance._trigger("out",c,this.instance._uiHash(this.instance));this.instance._mouseStop(c,true);this.instance.options.helper=this.instance.options._helper;this.instance.currentItem.remove();if(this.instance.placeholder){this.instance.placeholder.remove()}e._trigger("fromSortable",c);e.dropped=false}}})}});a.ui.plugin.add("draggable","cursor",{start:function(c,d){var b=a("body"),e=a(this).data("draggable").options;if(b.css("cursor")){e._cursor=b.css("cursor")}b.css("cursor",e.cursor)},stop:function(b,c){var d=a(this).data("draggable").options;if(d._cursor){a("body").css("cursor",d._cursor)}}});a.ui.plugin.add("draggable","iframeFix",{start:function(b,c){var d=a(this).data("draggable").options;a(d.iframeFix===true?"iframe":d.iframeFix).each(function(){a('<div class="ui-draggable-iframeFix" style="background: #fff;"></div>').css({width:this.offsetWidth+"px",height:this.offsetHeight+"px",position:"absolute",opacity:"0.001",zIndex:1000}).css(a(this).offset()).appendTo("body")})},stop:function(b,c){a("div.ui-draggable-iframeFix").each(function(){this.parentNode.removeChild(this)})}});a.ui.plugin.add("draggable","opacity",{start:function(c,d){var b=a(d.helper),e=a(this).data("draggable").options;if(b.css("opacity")){e._opacity=b.css("opacity")}b.css("opacity",e.opacity)},stop:function(b,c){var d=a(this).data("draggable").options;if(d._opacity){a(c.helper).css("opacity",d._opacity)}}});a.ui.plugin.add("draggable","scroll",{start:function(c,d){var b=a(this).data("draggable");if(b.scrollParent[0]!=document&&b.scrollParent[0].tagName!="HTML"){b.overflowOffset=b.scrollParent.offset()}},drag:function(d,e){var c=a(this).data("draggable"),f=c.options,b=false;if(c.scrollParent[0]!=document&&c.scrollParent[0].tagName!="HTML"){if(!f.axis||f.axis!="x"){if((c.overflowOffset.top+c.scrollParent[0].offsetHeight)-d.pageY<f.scrollSensitivity){c.scrollParent[0].scrollTop=b=c.scrollParent[0].scrollTop+f.scrollSpeed}else{if(d.pageY-c.overflowOffset.top<f.scrollSensitivity){c.scrollParent[0].scrollTop=b=c.scrollParent[0].scrollTop-f.scrollSpeed}}}if(!f.axis||f.axis!="y"){if((c.overflowOffset.left+c.scrollParent[0].offsetWidth)-d.pageX<f.scrollSensitivity){c.scrollParent[0].scrollLeft=b=c.scrollParent[0].scrollLeft+f.scrollSpeed}else{if(d.pageX-c.overflowOffset.left<f.scrollSensitivity){c.scrollParent[0].scrollLeft=b=c.scrollParent[0].scrollLeft-f.scrollSpeed}}}}else{if(!f.axis||f.axis!="x"){if(d.pageY-a(document).scrollTop()<f.scrollSensitivity){b=a(document).scrollTop(a(document).scrollTop()-f.scrollSpeed)}else{if(a(window).height()-(d.pageY-a(document).scrollTop())<f.scrollSensitivity){b=a(document).scrollTop(a(document).scrollTop()+f.scrollSpeed)}}}if(!f.axis||f.axis!="y"){if(d.pageX-a(document).scrollLeft()<f.scrollSensitivity){b=a(document).scrollLeft(a(document).scrollLeft()-f.scrollSpeed)}else{if(a(window).width()-(d.pageX-a(document).scrollLeft())<f.scrollSensitivity){b=a(document).scrollLeft(a(document).scrollLeft()+f.scrollSpeed)}}}}if(b!==false&&a.ui.ddmanager&&!f.dropBehaviour){a.ui.ddmanager.prepareOffsets(c,d)}}});a.ui.plugin.add("draggable","snap",{start:function(c,d){var b=a(this).data("draggable"),e=b.options;b.snapElements=[];a(e.snap.constructor!=String?(e.snap.items||":data(draggable)"):e.snap).each(function(){var g=a(this);var f=g.offset();if(this!=b.element[0]){b.snapElements.push({item:this,width:g.outerWidth(),height:g.outerHeight(),top:f.top,left:f.left})}})},drag:function(u,p){var g=a(this).data("draggable"),q=g.options;var y=q.snapTolerance;var x=p.offset.left,w=x+g.helperProportions.width,f=p.offset.top,e=f+g.helperProportions.height;for(var v=g.snapElements.length-1;v>=0;v--){var s=g.snapElements[v].left,n=s+g.snapElements[v].width,m=g.snapElements[v].top,A=m+g.snapElements[v].height;if(!((s-y<x&&x<n+y&&m-y<f&&f<A+y)||(s-y<x&&x<n+y&&m-y<e&&e<A+y)||(s-y<w&&w<n+y&&m-y<f&&f<A+y)||(s-y<w&&w<n+y&&m-y<e&&e<A+y))){if(g.snapElements[v].snapping){(g.options.snap.release&&g.options.snap.release.call(g.element,u,a.extend(g._uiHash(),{snapItem:g.snapElements[v].item})))}g.snapElements[v].snapping=false;continue}if(q.snapMode!="inner"){var c=Math.abs(m-e)<=y;var z=Math.abs(A-f)<=y;var j=Math.abs(s-w)<=y;var k=Math.abs(n-x)<=y;if(c){p.position.top=g._convertPositionTo("relative",{top:m-g.helperProportions.height,left:0}).top-g.margins.top}if(z){p.position.top=g._convertPositionTo("relative",{top:A,left:0}).top-g.margins.top}if(j){p.position.left=g._convertPositionTo("relative",{top:0,left:s-g.helperProportions.width}).left-g.margins.left}if(k){p.position.left=g._convertPositionTo("relative",{top:0,left:n}).left-g.margins.left}}var h=(c||z||j||k);if(q.snapMode!="outer"){var c=Math.abs(m-f)<=y;var z=Math.abs(A-e)<=y;var j=Math.abs(s-x)<=y;var k=Math.abs(n-w)<=y;if(c){p.position.top=g._convertPositionTo("relative",{top:m,left:0}).top-g.margins.top}if(z){p.position.top=g._convertPositionTo("relative",{top:A-g.helperProportions.height,left:0}).top-g.margins.top}if(j){p.position.left=g._convertPositionTo("relative",{top:0,left:s}).left-g.margins.left}if(k){p.position.left=g._convertPositionTo("relative",{top:0,left:n-g.helperProportions.width}).left-g.margins.left}}if(!g.snapElements[v].snapping&&(c||z||j||k||h)){(g.options.snap.snap&&g.options.snap.snap.call(g.element,u,a.extend(g._uiHash(),{snapItem:g.snapElements[v].item})))}g.snapElements[v].snapping=(c||z||j||k||h)}}});a.ui.plugin.add("draggable","stack",{start:function(b,c){var e=a(this).data("draggable").options;var d=a.makeArray(a(e.stack.group)).sort(function(g,f){return(parseInt(a(g).css("zIndex"),10)||e.stack.min)-(parseInt(a(f).css("zIndex"),10)||e.stack.min)});a(d).each(function(f){this.style.zIndex=e.stack.min+f});this[0].style.zIndex=e.stack.min+d.length}});a.ui.plugin.add("draggable","zIndex",{start:function(c,d){var b=a(d.helper),e=a(this).data("draggable").options;if(b.css("zIndex")){e._zIndex=b.css("zIndex")}b.css("zIndex",e.zIndex)},stop:function(b,c){var d=a(this).data("draggable").options;if(d._zIndex){a(c.helper).css("zIndex",d._zIndex)}}})})(jQuery);;/*
 * jQuery UI Droppable 1.7.2
 *
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Droppables
 *
 * Depends:
 *	ui.core.js
 *	ui.draggable.js
 */
(function(a){a.widget("ui.droppable",{_init:function(){var c=this.options,b=c.accept;this.isover=0;this.isout=1;this.options.accept=this.options.accept&&a.isFunction(this.options.accept)?this.options.accept:function(e){return e.is(b)};this.proportions={width:this.element[0].offsetWidth,height:this.element[0].offsetHeight};a.ui.ddmanager.droppables[this.options.scope]=a.ui.ddmanager.droppables[this.options.scope]||[];a.ui.ddmanager.droppables[this.options.scope].push(this);(this.options.addClasses&&this.element.addClass("ui-droppable"))},destroy:function(){var b=a.ui.ddmanager.droppables[this.options.scope];for(var c=0;c<b.length;c++){if(b[c]==this){b.splice(c,1)}}this.element.removeClass("ui-droppable ui-droppable-disabled").removeData("droppable").unbind(".droppable")},_setData:function(b,c){if(b=="accept"){this.options.accept=c&&a.isFunction(c)?c:function(e){return e.is(c)}}else{a.widget.prototype._setData.apply(this,arguments)}},_activate:function(c){var b=a.ui.ddmanager.current;if(this.options.activeClass){this.element.addClass(this.options.activeClass)}(b&&this._trigger("activate",c,this.ui(b)))},_deactivate:function(c){var b=a.ui.ddmanager.current;if(this.options.activeClass){this.element.removeClass(this.options.activeClass)}(b&&this._trigger("deactivate",c,this.ui(b)))},_over:function(c){var b=a.ui.ddmanager.current;if(!b||(b.currentItem||b.element)[0]==this.element[0]){return}if(this.options.accept.call(this.element[0],(b.currentItem||b.element))){if(this.options.hoverClass){this.element.addClass(this.options.hoverClass)}this._trigger("over",c,this.ui(b))}},_out:function(c){var b=a.ui.ddmanager.current;if(!b||(b.currentItem||b.element)[0]==this.element[0]){return}if(this.options.accept.call(this.element[0],(b.currentItem||b.element))){if(this.options.hoverClass){this.element.removeClass(this.options.hoverClass)}this._trigger("out",c,this.ui(b))}},_drop:function(c,d){var b=d||a.ui.ddmanager.current;if(!b||(b.currentItem||b.element)[0]==this.element[0]){return false}var e=false;this.element.find(":data(droppable)").not(".ui-draggable-dragging").each(function(){var f=a.data(this,"droppable");if(f.options.greedy&&a.ui.intersect(b,a.extend(f,{offset:f.element.offset()}),f.options.tolerance)){e=true;return false}});if(e){return false}if(this.options.accept.call(this.element[0],(b.currentItem||b.element))){if(this.options.activeClass){this.element.removeClass(this.options.activeClass)}if(this.options.hoverClass){this.element.removeClass(this.options.hoverClass)}this._trigger("drop",c,this.ui(b));return this.element}return false},ui:function(b){return{draggable:(b.currentItem||b.element),helper:b.helper,position:b.position,absolutePosition:b.positionAbs,offset:b.positionAbs}}});a.extend(a.ui.droppable,{version:"1.7.2",eventPrefix:"drop",defaults:{accept:"*",activeClass:false,addClasses:true,greedy:false,hoverClass:false,scope:"default",tolerance:"intersect"}});a.ui.intersect=function(q,j,o){if(!j.offset){return false}var e=(q.positionAbs||q.position.absolute).left,d=e+q.helperProportions.width,n=(q.positionAbs||q.position.absolute).top,m=n+q.helperProportions.height;var g=j.offset.left,c=g+j.proportions.width,p=j.offset.top,k=p+j.proportions.height;switch(o){case"fit":return(g<e&&d<c&&p<n&&m<k);break;case"intersect":return(g<e+(q.helperProportions.width/2)&&d-(q.helperProportions.width/2)<c&&p<n+(q.helperProportions.height/2)&&m-(q.helperProportions.height/2)<k);break;case"pointer":var h=((q.positionAbs||q.position.absolute).left+(q.clickOffset||q.offset.click).left),i=((q.positionAbs||q.position.absolute).top+(q.clickOffset||q.offset.click).top),f=a.ui.isOver(i,h,p,g,j.proportions.height,j.proportions.width);return f;break;case"touch":return((n>=p&&n<=k)||(m>=p&&m<=k)||(n<p&&m>k))&&((e>=g&&e<=c)||(d>=g&&d<=c)||(e<g&&d>c));break;default:return false;break}};a.ui.ddmanager={current:null,droppables:{"default":[]},prepareOffsets:function(e,g){var b=a.ui.ddmanager.droppables[e.options.scope];var f=g?g.type:null;var h=(e.currentItem||e.element).find(":data(droppable)").andSelf();droppablesLoop:for(var d=0;d<b.length;d++){if(b[d].options.disabled||(e&&!b[d].options.accept.call(b[d].element[0],(e.currentItem||e.element)))){continue}for(var c=0;c<h.length;c++){if(h[c]==b[d].element[0]){b[d].proportions.height=0;continue droppablesLoop}}b[d].visible=b[d].element.css("display")!="none";if(!b[d].visible){continue}b[d].offset=b[d].element.offset();b[d].proportions={width:b[d].element[0].offsetWidth,height:b[d].element[0].offsetHeight};if(f=="mousedown"){b[d]._activate.call(b[d],g)}}},drop:function(b,c){var d=false;a.each(a.ui.ddmanager.droppables[b.options.scope],function(){if(!this.options){return}if(!this.options.disabled&&this.visible&&a.ui.intersect(b,this,this.options.tolerance)){d=this._drop.call(this,c)}if(!this.options.disabled&&this.visible&&this.options.accept.call(this.element[0],(b.currentItem||b.element))){this.isout=1;this.isover=0;this._deactivate.call(this,c)}});return d},drag:function(b,c){if(b.options.refreshPositions){a.ui.ddmanager.prepareOffsets(b,c)}a.each(a.ui.ddmanager.droppables[b.options.scope],function(){if(this.options.disabled||this.greedyChild||!this.visible){return}var e=a.ui.intersect(b,this,this.options.tolerance);var g=!e&&this.isover==1?"isout":(e&&this.isover==0?"isover":null);if(!g){return}var f;if(this.options.greedy){var d=this.element.parents(":data(droppable):eq(0)");if(d.length){f=a.data(d[0],"droppable");f.greedyChild=(g=="isover"?1:0)}}if(f&&g=="isover"){f.isover=0;f.isout=1;f._out.call(f,c)}this[g]=1;this[g=="isout"?"isover":"isout"]=0;this[g=="isover"?"_over":"_out"].call(this,c);if(f&&g=="isout"){f.isout=0;f.isover=1;f._over.call(f,c)}})}}})(jQuery);;/*
 * jQuery UI Resizable 1.7.2
 *
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Resizables
 *
 * Depends:
 *	ui.core.js
 */
(function(c){c.widget("ui.resizable",c.extend({},c.ui.mouse,{_init:function(){var e=this,j=this.options;this.element.addClass("ui-resizable");c.extend(this,{_aspectRatio:!!(j.aspectRatio),aspectRatio:j.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:j.helper||j.ghost||j.animate?j.helper||"ui-resizable-helper":null});if(this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i)){if(/relative/.test(this.element.css("position"))&&c.browser.opera){this.element.css({position:"relative",top:"auto",left:"auto"})}this.element.wrap(c('<div class="ui-wrapper" style="overflow: hidden;"></div>').css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")}));this.element=this.element.parent().data("resizable",this.element.data("resizable"));this.elementIsWrapper=true;this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")});this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0});this.originalResizeStyle=this.originalElement.css("resize");this.originalElement.css("resize","none");this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"}));this.originalElement.css({margin:this.originalElement.css("margin")});this._proportionallyResize()}this.handles=j.handles||(!c(".ui-resizable-handle",this.element).length?"e,s,se":{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"});if(this.handles.constructor==String){if(this.handles=="all"){this.handles="n,e,s,w,se,sw,ne,nw"}var k=this.handles.split(",");this.handles={};for(var f=0;f<k.length;f++){var h=c.trim(k[f]),d="ui-resizable-"+h;var g=c('<div class="ui-resizable-handle '+d+'"></div>');if(/sw|se|ne|nw/.test(h)){g.css({zIndex:++j.zIndex})}if("se"==h){g.addClass("ui-icon ui-icon-gripsmall-diagonal-se")}this.handles[h]=".ui-resizable-"+h;this.element.append(g)}}this._renderAxis=function(p){p=p||this.element;for(var m in this.handles){if(this.handles[m].constructor==String){this.handles[m]=c(this.handles[m],this.element).show()}if(this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)){var n=c(this.handles[m],this.element),o=0;o=/sw|ne|nw|se|n|s/.test(m)?n.outerHeight():n.outerWidth();var l=["padding",/ne|nw|n/.test(m)?"Top":/se|sw|s/.test(m)?"Bottom":/^e$/.test(m)?"Right":"Left"].join("");p.css(l,o);this._proportionallyResize()}if(!c(this.handles[m]).length){continue}}};this._renderAxis(this.element);this._handles=c(".ui-resizable-handle",this.element).disableSelection();this._handles.mouseover(function(){if(!e.resizing){if(this.className){var i=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)}e.axis=i&&i[1]?i[1]:"se"}});if(j.autoHide){this._handles.hide();c(this.element).addClass("ui-resizable-autohide").hover(function(){c(this).removeClass("ui-resizable-autohide");e._handles.show()},function(){if(!e.resizing){c(this).addClass("ui-resizable-autohide");e._handles.hide()}})}this._mouseInit()},destroy:function(){this._mouseDestroy();var d=function(f){c(f).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};if(this.elementIsWrapper){d(this.element);var e=this.element;e.parent().append(this.originalElement.css({position:e.css("position"),width:e.outerWidth(),height:e.outerHeight(),top:e.css("top"),left:e.css("left")})).end().remove()}this.originalElement.css("resize",this.originalResizeStyle);d(this.originalElement)},_mouseCapture:function(e){var f=false;for(var d in this.handles){if(c(this.handles[d])[0]==e.target){f=true}}return this.options.disabled||!!f},_mouseStart:function(f){var i=this.options,e=this.element.position(),d=this.element;this.resizing=true;this.documentScroll={top:c(document).scrollTop(),left:c(document).scrollLeft()};if(d.is(".ui-draggable")||(/absolute/).test(d.css("position"))){d.css({position:"absolute",top:e.top,left:e.left})}if(c.browser.opera&&(/relative/).test(d.css("position"))){d.css({position:"relative",top:"auto",left:"auto"})}this._renderProxy();var j=b(this.helper.css("left")),g=b(this.helper.css("top"));if(i.containment){j+=c(i.containment).scrollLeft()||0;g+=c(i.containment).scrollTop()||0}this.offset=this.helper.offset();this.position={left:j,top:g};this.size=this._helper?{width:d.outerWidth(),height:d.outerHeight()}:{width:d.width(),height:d.height()};this.originalSize=this._helper?{width:d.outerWidth(),height:d.outerHeight()}:{width:d.width(),height:d.height()};this.originalPosition={left:j,top:g};this.sizeDiff={width:d.outerWidth()-d.width(),height:d.outerHeight()-d.height()};this.originalMousePosition={left:f.pageX,top:f.pageY};this.aspectRatio=(typeof i.aspectRatio=="number")?i.aspectRatio:((this.originalSize.width/this.originalSize.height)||1);var h=c(".ui-resizable-"+this.axis).css("cursor");c("body").css("cursor",h=="auto"?this.axis+"-resize":h);d.addClass("ui-resizable-resizing");this._propagate("start",f);return true},_mouseDrag:function(d){var g=this.helper,f=this.options,l={},p=this,i=this.originalMousePosition,m=this.axis;var q=(d.pageX-i.left)||0,n=(d.pageY-i.top)||0;var h=this._change[m];if(!h){return false}var k=h.apply(this,[d,q,n]),j=c.browser.msie&&c.browser.version<7,e=this.sizeDiff;if(this._aspectRatio||d.shiftKey){k=this._updateRatio(k,d)}k=this._respectSize(k,d);this._propagate("resize",d);g.css({top:this.position.top+"px",left:this.position.left+"px",width:this.size.width+"px",height:this.size.height+"px"});if(!this._helper&&this._proportionallyResizeElements.length){this._proportionallyResize()}this._updateCache(k);this._trigger("resize",d,this.ui());return false},_mouseStop:function(g){this.resizing=false;var h=this.options,l=this;if(this._helper){var f=this._proportionallyResizeElements,d=f.length&&(/textarea/i).test(f[0].nodeName),e=d&&c.ui.hasScroll(f[0],"left")?0:l.sizeDiff.height,j=d?0:l.sizeDiff.width;var m={width:(l.size.width-j),height:(l.size.height-e)},i=(parseInt(l.element.css("left"),10)+(l.position.left-l.originalPosition.left))||null,k=(parseInt(l.element.css("top"),10)+(l.position.top-l.originalPosition.top))||null;if(!h.animate){this.element.css(c.extend(m,{top:k,left:i}))}l.helper.height(l.size.height);l.helper.width(l.size.width);if(this._helper&&!h.animate){this._proportionallyResize()}}c("body").css("cursor","auto");this.element.removeClass("ui-resizable-resizing");this._propagate("stop",g);if(this._helper){this.helper.remove()}return false},_updateCache:function(d){var e=this.options;this.offset=this.helper.offset();if(a(d.left)){this.position.left=d.left}if(a(d.top)){this.position.top=d.top}if(a(d.height)){this.size.height=d.height}if(a(d.width)){this.size.width=d.width}},_updateRatio:function(g,f){var h=this.options,i=this.position,e=this.size,d=this.axis;if(g.height){g.width=(e.height*this.aspectRatio)}else{if(g.width){g.height=(e.width/this.aspectRatio)}}if(d=="sw"){g.left=i.left+(e.width-g.width);g.top=null}if(d=="nw"){g.top=i.top+(e.height-g.height);g.left=i.left+(e.width-g.width)}return g},_respectSize:function(k,f){var i=this.helper,h=this.options,q=this._aspectRatio||f.shiftKey,p=this.axis,s=a(k.width)&&h.maxWidth&&(h.maxWidth<k.width),l=a(k.height)&&h.maxHeight&&(h.maxHeight<k.height),g=a(k.width)&&h.minWidth&&(h.minWidth>k.width),r=a(k.height)&&h.minHeight&&(h.minHeight>k.height);if(g){k.width=h.minWidth}if(r){k.height=h.minHeight}if(s){k.width=h.maxWidth}if(l){k.height=h.maxHeight}var e=this.originalPosition.left+this.originalSize.width,n=this.position.top+this.size.height;var j=/sw|nw|w/.test(p),d=/nw|ne|n/.test(p);if(g&&j){k.left=e-h.minWidth}if(s&&j){k.left=e-h.maxWidth}if(r&&d){k.top=n-h.minHeight}if(l&&d){k.top=n-h.maxHeight}var m=!k.width&&!k.height;if(m&&!k.left&&k.top){k.top=null}else{if(m&&!k.top&&k.left){k.left=null}}return k},_proportionallyResize:function(){var j=this.options;if(!this._proportionallyResizeElements.length){return}var f=this.helper||this.element;for(var e=0;e<this._proportionallyResizeElements.length;e++){var g=this._proportionallyResizeElements[e];if(!this.borderDif){var d=[g.css("borderTopWidth"),g.css("borderRightWidth"),g.css("borderBottomWidth"),g.css("borderLeftWidth")],h=[g.css("paddingTop"),g.css("paddingRight"),g.css("paddingBottom"),g.css("paddingLeft")];this.borderDif=c.map(d,function(k,m){var l=parseInt(k,10)||0,n=parseInt(h[m],10)||0;return l+n})}if(c.browser.msie&&!(!(c(f).is(":hidden")||c(f).parents(":hidden").length))){continue}g.css({height:(f.height()-this.borderDif[0]-this.borderDif[2])||0,width:(f.width()-this.borderDif[1]-this.borderDif[3])||0})}},_renderProxy:function(){var e=this.element,h=this.options;this.elementOffset=e.offset();if(this._helper){this.helper=this.helper||c('<div style="overflow:hidden;"></div>');var d=c.browser.msie&&c.browser.version<7,f=(d?1:0),g=(d?2:-1);this.helper.addClass(this._helper).css({width:this.element.outerWidth()+g,height:this.element.outerHeight()+g,position:"absolute",left:this.elementOffset.left-f+"px",top:this.elementOffset.top-f+"px",zIndex:++h.zIndex});this.helper.appendTo("body").disableSelection()}else{this.helper=this.element}},_change:{e:function(f,e,d){return{width:this.originalSize.width+e}},w:function(g,e,d){var i=this.options,f=this.originalSize,h=this.originalPosition;return{left:h.left+e,width:f.width-e}},n:function(g,e,d){var i=this.options,f=this.originalSize,h=this.originalPosition;return{top:h.top+d,height:f.height-d}},s:function(f,e,d){return{height:this.originalSize.height+d}},se:function(f,e,d){return c.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[f,e,d]))},sw:function(f,e,d){return c.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[f,e,d]))},ne:function(f,e,d){return c.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[f,e,d]))},nw:function(f,e,d){return c.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[f,e,d]))}},_propagate:function(e,d){c.ui.plugin.call(this,e,[d,this.ui()]);(e!="resize"&&this._trigger(e,d,this.ui()))},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}));c.extend(c.ui.resizable,{version:"1.7.2",eventPrefix:"resize",defaults:{alsoResize:false,animate:false,animateDuration:"slow",animateEasing:"swing",aspectRatio:false,autoHide:false,cancel:":input,option",containment:false,delay:0,distance:1,ghost:false,grid:false,handles:"e,s,se",helper:false,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:1000}});c.ui.plugin.add("resizable","alsoResize",{start:function(e,f){var d=c(this).data("resizable"),g=d.options;_store=function(h){c(h).each(function(){c(this).data("resizable-alsoresize",{width:parseInt(c(this).width(),10),height:parseInt(c(this).height(),10),left:parseInt(c(this).css("left"),10),top:parseInt(c(this).css("top"),10)})})};if(typeof(g.alsoResize)=="object"&&!g.alsoResize.parentNode){if(g.alsoResize.length){g.alsoResize=g.alsoResize[0];_store(g.alsoResize)}else{c.each(g.alsoResize,function(h,i){_store(h)})}}else{_store(g.alsoResize)}},resize:function(f,h){var e=c(this).data("resizable"),i=e.options,g=e.originalSize,k=e.originalPosition;var j={height:(e.size.height-g.height)||0,width:(e.size.width-g.width)||0,top:(e.position.top-k.top)||0,left:(e.position.left-k.left)||0},d=function(l,m){c(l).each(function(){var p=c(this),q=c(this).data("resizable-alsoresize"),o={},n=m&&m.length?m:["width","height","top","left"];c.each(n||["width","height","top","left"],function(r,t){var s=(q[t]||0)+(j[t]||0);if(s&&s>=0){o[t]=s||null}});if(/relative/.test(p.css("position"))&&c.browser.opera){e._revertToRelativePosition=true;p.css({position:"absolute",top:"auto",left:"auto"})}p.css(o)})};if(typeof(i.alsoResize)=="object"&&!i.alsoResize.nodeType){c.each(i.alsoResize,function(l,m){d(l,m)})}else{d(i.alsoResize)}},stop:function(e,f){var d=c(this).data("resizable");if(d._revertToRelativePosition&&c.browser.opera){d._revertToRelativePosition=false;el.css({position:"relative"})}c(this).removeData("resizable-alsoresize-start")}});c.ui.plugin.add("resizable","animate",{stop:function(h,m){var n=c(this).data("resizable"),i=n.options;var g=n._proportionallyResizeElements,d=g.length&&(/textarea/i).test(g[0].nodeName),e=d&&c.ui.hasScroll(g[0],"left")?0:n.sizeDiff.height,k=d?0:n.sizeDiff.width;var f={width:(n.size.width-k),height:(n.size.height-e)},j=(parseInt(n.element.css("left"),10)+(n.position.left-n.originalPosition.left))||null,l=(parseInt(n.element.css("top"),10)+(n.position.top-n.originalPosition.top))||null;n.element.animate(c.extend(f,l&&j?{top:l,left:j}:{}),{duration:i.animateDuration,easing:i.animateEasing,step:function(){var o={width:parseInt(n.element.css("width"),10),height:parseInt(n.element.css("height"),10),top:parseInt(n.element.css("top"),10),left:parseInt(n.element.css("left"),10)};if(g&&g.length){c(g[0]).css({width:o.width,height:o.height})}n._updateCache(o);n._propagate("resize",h)}})}});c.ui.plugin.add("resizable","containment",{start:function(e,q){var s=c(this).data("resizable"),i=s.options,k=s.element;var f=i.containment,j=(f instanceof c)?f.get(0):(/parent/.test(f))?k.parent().get(0):f;if(!j){return}s.containerElement=c(j);if(/document/.test(f)||f==document){s.containerOffset={left:0,top:0};s.containerPosition={left:0,top:0};s.parentData={element:c(document),left:0,top:0,width:c(document).width(),height:c(document).height()||document.body.parentNode.scrollHeight}}else{var m=c(j),h=[];c(["Top","Right","Left","Bottom"]).each(function(p,o){h[p]=b(m.css("padding"+o))});s.containerOffset=m.offset();s.containerPosition=m.position();s.containerSize={height:(m.innerHeight()-h[3]),width:(m.innerWidth()-h[1])};var n=s.containerOffset,d=s.containerSize.height,l=s.containerSize.width,g=(c.ui.hasScroll(j,"left")?j.scrollWidth:l),r=(c.ui.hasScroll(j)?j.scrollHeight:d);s.parentData={element:j,left:n.left,top:n.top,width:g,height:r}}},resize:function(f,p){var s=c(this).data("resizable"),h=s.options,e=s.containerSize,n=s.containerOffset,l=s.size,m=s.position,q=s._aspectRatio||f.shiftKey,d={top:0,left:0},g=s.containerElement;if(g[0]!=document&&(/static/).test(g.css("position"))){d=n}if(m.left<(s._helper?n.left:0)){s.size.width=s.size.width+(s._helper?(s.position.left-n.left):(s.position.left-d.left));if(q){s.size.height=s.size.width/h.aspectRatio}s.position.left=h.helper?n.left:0}if(m.top<(s._helper?n.top:0)){s.size.height=s.size.height+(s._helper?(s.position.top-n.top):s.position.top);if(q){s.size.width=s.size.height*h.aspectRatio}s.position.top=s._helper?n.top:0}s.offset.left=s.parentData.left+s.position.left;s.offset.top=s.parentData.top+s.position.top;var k=Math.abs((s._helper?s.offset.left-d.left:(s.offset.left-d.left))+s.sizeDiff.width),r=Math.abs((s._helper?s.offset.top-d.top:(s.offset.top-n.top))+s.sizeDiff.height);var j=s.containerElement.get(0)==s.element.parent().get(0),i=/relative|absolute/.test(s.containerElement.css("position"));if(j&&i){k-=s.parentData.left}if(k+s.size.width>=s.parentData.width){s.size.width=s.parentData.width-k;if(q){s.size.height=s.size.width/s.aspectRatio}}if(r+s.size.height>=s.parentData.height){s.size.height=s.parentData.height-r;if(q){s.size.width=s.size.height*s.aspectRatio}}},stop:function(e,m){var p=c(this).data("resizable"),f=p.options,k=p.position,l=p.containerOffset,d=p.containerPosition,g=p.containerElement;var i=c(p.helper),q=i.offset(),n=i.outerWidth()-p.sizeDiff.width,j=i.outerHeight()-p.sizeDiff.height;if(p._helper&&!f.animate&&(/relative/).test(g.css("position"))){c(this).css({left:q.left-d.left-l.left,width:n,height:j})}if(p._helper&&!f.animate&&(/static/).test(g.css("position"))){c(this).css({left:q.left-d.left-l.left,width:n,height:j})}}});c.ui.plugin.add("resizable","ghost",{start:function(f,g){var d=c(this).data("resizable"),h=d.options,e=d.size;d.ghost=d.originalElement.clone();d.ghost.css({opacity:0.25,display:"block",position:"relative",height:e.height,width:e.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass(typeof h.ghost=="string"?h.ghost:"");d.ghost.appendTo(d.helper)},resize:function(e,f){var d=c(this).data("resizable"),g=d.options;if(d.ghost){d.ghost.css({position:"relative",height:d.size.height,width:d.size.width})}},stop:function(e,f){var d=c(this).data("resizable"),g=d.options;if(d.ghost&&d.helper){d.helper.get(0).removeChild(d.ghost.get(0))}}});c.ui.plugin.add("resizable","grid",{resize:function(d,l){var n=c(this).data("resizable"),g=n.options,j=n.size,h=n.originalSize,i=n.originalPosition,m=n.axis,k=g._aspectRatio||d.shiftKey;g.grid=typeof g.grid=="number"?[g.grid,g.grid]:g.grid;var f=Math.round((j.width-h.width)/(g.grid[0]||1))*(g.grid[0]||1),e=Math.round((j.height-h.height)/(g.grid[1]||1))*(g.grid[1]||1);if(/^(se|s|e)$/.test(m)){n.size.width=h.width+f;n.size.height=h.height+e}else{if(/^(ne)$/.test(m)){n.size.width=h.width+f;n.size.height=h.height+e;n.position.top=i.top-e}else{if(/^(sw)$/.test(m)){n.size.width=h.width+f;n.size.height=h.height+e;n.position.left=i.left-f}else{n.size.width=h.width+f;n.size.height=h.height+e;n.position.top=i.top-e;n.position.left=i.left-f}}}}});var b=function(d){return parseInt(d,10)||0};var a=function(d){return !isNaN(parseInt(d,10))}})(jQuery);;/*
 * jQuery UI Selectable 1.7.2
 *
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Selectables
 *
 * Depends:
 *	ui.core.js
 */
(function(a){a.widget("ui.selectable",a.extend({},a.ui.mouse,{_init:function(){var b=this;this.element.addClass("ui-selectable");this.dragged=false;var c;this.refresh=function(){c=a(b.options.filter,b.element[0]);c.each(function(){var d=a(this);var e=d.offset();a.data(this,"selectable-item",{element:this,$element:d,left:e.left,top:e.top,right:e.left+d.outerWidth(),bottom:e.top+d.outerHeight(),startselected:false,selected:d.hasClass("ui-selected"),selecting:d.hasClass("ui-selecting"),unselecting:d.hasClass("ui-unselecting")})})};this.refresh();this.selectees=c.addClass("ui-selectee");this._mouseInit();this.helper=a(document.createElement("div")).css({border:"1px dotted black"}).addClass("ui-selectable-helper")},destroy:function(){this.element.removeClass("ui-selectable ui-selectable-disabled").removeData("selectable").unbind(".selectable");this._mouseDestroy()},_mouseStart:function(d){var b=this;this.opos=[d.pageX,d.pageY];if(this.options.disabled){return}var c=this.options;this.selectees=a(c.filter,this.element[0]);this._trigger("start",d);a(c.appendTo).append(this.helper);this.helper.css({"z-index":100,position:"absolute",left:d.clientX,top:d.clientY,width:0,height:0});if(c.autoRefresh){this.refresh()}this.selectees.filter(".ui-selected").each(function(){var e=a.data(this,"selectable-item");e.startselected=true;if(!d.metaKey){e.$element.removeClass("ui-selected");e.selected=false;e.$element.addClass("ui-unselecting");e.unselecting=true;b._trigger("unselecting",d,{unselecting:e.element})}});a(d.target).parents().andSelf().each(function(){var e=a.data(this,"selectable-item");if(e){e.$element.removeClass("ui-unselecting").addClass("ui-selecting");e.unselecting=false;e.selecting=true;e.selected=true;b._trigger("selecting",d,{selecting:e.element});return false}})},_mouseDrag:function(i){var c=this;this.dragged=true;if(this.options.disabled){return}var e=this.options;var d=this.opos[0],h=this.opos[1],b=i.pageX,g=i.pageY;if(d>b){var f=b;b=d;d=f}if(h>g){var f=g;g=h;h=f}this.helper.css({left:d,top:h,width:b-d,height:g-h});this.selectees.each(function(){var j=a.data(this,"selectable-item");if(!j||j.element==c.element[0]){return}var k=false;if(e.tolerance=="touch"){k=(!(j.left>b||j.right<d||j.top>g||j.bottom<h))}else{if(e.tolerance=="fit"){k=(j.left>d&&j.right<b&&j.top>h&&j.bottom<g)}}if(k){if(j.selected){j.$element.removeClass("ui-selected");j.selected=false}if(j.unselecting){j.$element.removeClass("ui-unselecting");j.unselecting=false}if(!j.selecting){j.$element.addClass("ui-selecting");j.selecting=true;c._trigger("selecting",i,{selecting:j.element})}}else{if(j.selecting){if(i.metaKey&&j.startselected){j.$element.removeClass("ui-selecting");j.selecting=false;j.$element.addClass("ui-selected");j.selected=true}else{j.$element.removeClass("ui-selecting");j.selecting=false;if(j.startselected){j.$element.addClass("ui-unselecting");j.unselecting=true}c._trigger("unselecting",i,{unselecting:j.element})}}if(j.selected){if(!i.metaKey&&!j.startselected){j.$element.removeClass("ui-selected");j.selected=false;j.$element.addClass("ui-unselecting");j.unselecting=true;c._trigger("unselecting",i,{unselecting:j.element})}}}});return false},_mouseStop:function(d){var b=this;this.dragged=false;var c=this.options;a(".ui-unselecting",this.element[0]).each(function(){var e=a.data(this,"selectable-item");e.$element.removeClass("ui-unselecting");e.unselecting=false;e.startselected=false;b._trigger("unselected",d,{unselected:e.element})});a(".ui-selecting",this.element[0]).each(function(){var e=a.data(this,"selectable-item");e.$element.removeClass("ui-selecting").addClass("ui-selected");e.selecting=false;e.selected=true;e.startselected=true;b._trigger("selected",d,{selected:e.element})});this._trigger("stop",d);this.helper.remove();return false}}));a.extend(a.ui.selectable,{version:"1.7.2",defaults:{appendTo:"body",autoRefresh:true,cancel:":input,option",delay:0,distance:0,filter:"*",tolerance:"touch"}})})(jQuery);;/*
 * jQuery UI Sortable 1.7.2
 *
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Sortables
 *
 * Depends:
 *	ui.core.js
 */
(function(a){a.widget("ui.sortable",a.extend({},a.ui.mouse,{_init:function(){var b=this.options;this.containerCache={};this.element.addClass("ui-sortable");this.refresh();this.floating=this.items.length?(/left|right/).test(this.items[0].item.css("float")):false;this.offset=this.element.offset();this._mouseInit()},destroy:function(){this.element.removeClass("ui-sortable ui-sortable-disabled").removeData("sortable").unbind(".sortable");this._mouseDestroy();for(var b=this.items.length-1;b>=0;b--){this.items[b].item.removeData("sortable-item")}},_mouseCapture:function(e,f){if(this.reverting){return false}if(this.options.disabled||this.options.type=="static"){return false}this._refreshItems(e);var d=null,c=this,b=a(e.target).parents().each(function(){if(a.data(this,"sortable-item")==c){d=a(this);return false}});if(a.data(e.target,"sortable-item")==c){d=a(e.target)}if(!d){return false}if(this.options.handle&&!f){var g=false;a(this.options.handle,d).find("*").andSelf().each(function(){if(this==e.target){g=true}});if(!g){return false}}this.currentItem=d;this._removeCurrentsFromItems();return true},_mouseStart:function(e,f,b){var g=this.options,c=this;this.currentContainer=this;this.refreshPositions();this.helper=this._createHelper(e);this._cacheHelperProportions();this._cacheMargins();this.scrollParent=this.helper.scrollParent();this.offset=this.currentItem.offset();this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left};this.helper.css("position","absolute");this.cssPosition=this.helper.css("position");a.extend(this.offset,{click:{left:e.pageX-this.offset.left,top:e.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()});this.originalPosition=this._generatePosition(e);this.originalPageX=e.pageX;this.originalPageY=e.pageY;if(g.cursorAt){this._adjustOffsetFromHelper(g.cursorAt)}this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]};if(this.helper[0]!=this.currentItem[0]){this.currentItem.hide()}this._createPlaceholder();if(g.containment){this._setContainment()}if(g.cursor){if(a("body").css("cursor")){this._storedCursor=a("body").css("cursor")}a("body").css("cursor",g.cursor)}if(g.opacity){if(this.helper.css("opacity")){this._storedOpacity=this.helper.css("opacity")}this.helper.css("opacity",g.opacity)}if(g.zIndex){if(this.helper.css("zIndex")){this._storedZIndex=this.helper.css("zIndex")}this.helper.css("zIndex",g.zIndex)}if(this.scrollParent[0]!=document&&this.scrollParent[0].tagName!="HTML"){this.overflowOffset=this.scrollParent.offset()}this._trigger("start",e,this._uiHash());if(!this._preserveHelperProportions){this._cacheHelperProportions()}if(!b){for(var d=this.containers.length-1;d>=0;d--){this.containers[d]._trigger("activate",e,c._uiHash(this))}}if(a.ui.ddmanager){a.ui.ddmanager.current=this}if(a.ui.ddmanager&&!g.dropBehaviour){a.ui.ddmanager.prepareOffsets(this,e)}this.dragging=true;this.helper.addClass("ui-sortable-helper");this._mouseDrag(e);return true},_mouseDrag:function(f){this.position=this._generatePosition(f);this.positionAbs=this._convertPositionTo("absolute");if(!this.lastPositionAbs){this.lastPositionAbs=this.positionAbs}if(this.options.scroll){var g=this.options,b=false;if(this.scrollParent[0]!=document&&this.scrollParent[0].tagName!="HTML"){if((this.overflowOffset.top+this.scrollParent[0].offsetHeight)-f.pageY<g.scrollSensitivity){this.scrollParent[0].scrollTop=b=this.scrollParent[0].scrollTop+g.scrollSpeed}else{if(f.pageY-this.overflowOffset.top<g.scrollSensitivity){this.scrollParent[0].scrollTop=b=this.scrollParent[0].scrollTop-g.scrollSpeed}}if((this.overflowOffset.left+this.scrollParent[0].offsetWidth)-f.pageX<g.scrollSensitivity){this.scrollParent[0].scrollLeft=b=this.scrollParent[0].scrollLeft+g.scrollSpeed}else{if(f.pageX-this.overflowOffset.left<g.scrollSensitivity){this.scrollParent[0].scrollLeft=b=this.scrollParent[0].scrollLeft-g.scrollSpeed}}}else{if(f.pageY-a(document).scrollTop()<g.scrollSensitivity){b=a(document).scrollTop(a(document).scrollTop()-g.scrollSpeed)}else{if(a(window).height()-(f.pageY-a(document).scrollTop())<g.scrollSensitivity){b=a(document).scrollTop(a(document).scrollTop()+g.scrollSpeed)}}if(f.pageX-a(document).scrollLeft()<g.scrollSensitivity){b=a(document).scrollLeft(a(document).scrollLeft()-g.scrollSpeed)}else{if(a(window).width()-(f.pageX-a(document).scrollLeft())<g.scrollSensitivity){b=a(document).scrollLeft(a(document).scrollLeft()+g.scrollSpeed)}}}if(b!==false&&a.ui.ddmanager&&!g.dropBehaviour){a.ui.ddmanager.prepareOffsets(this,f)}}this.positionAbs=this._convertPositionTo("absolute");if(!this.options.axis||this.options.axis!="y"){this.helper[0].style.left=this.position.left+"px"}if(!this.options.axis||this.options.axis!="x"){this.helper[0].style.top=this.position.top+"px"}for(var d=this.items.length-1;d>=0;d--){var e=this.items[d],c=e.item[0],h=this._intersectsWithPointer(e);if(!h){continue}if(c!=this.currentItem[0]&&this.placeholder[h==1?"next":"prev"]()[0]!=c&&!a.ui.contains(this.placeholder[0],c)&&(this.options.type=="semi-dynamic"?!a.ui.contains(this.element[0],c):true)){this.direction=h==1?"down":"up";if(this.options.tolerance=="pointer"||this._intersectsWithSides(e)){this._rearrange(f,e)}else{break}this._trigger("change",f,this._uiHash());break}}this._contactContainers(f);if(a.ui.ddmanager){a.ui.ddmanager.drag(this,f)}this._trigger("sort",f,this._uiHash());this.lastPositionAbs=this.positionAbs;return false},_mouseStop:function(c,d){if(!c){return}if(a.ui.ddmanager&&!this.options.dropBehaviour){a.ui.ddmanager.drop(this,c)}if(this.options.revert){var b=this;var e=b.placeholder.offset();b.reverting=true;a(this.helper).animate({left:e.left-this.offset.parent.left-b.margins.left+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollLeft),top:e.top-this.offset.parent.top-b.margins.top+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollTop)},parseInt(this.options.revert,10)||500,function(){b._clear(c)})}else{this._clear(c,d)}return false},cancel:function(){var b=this;if(this.dragging){this._mouseUp();if(this.options.helper=="original"){this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper")}else{this.currentItem.show()}for(var c=this.containers.length-1;c>=0;c--){this.containers[c]._trigger("deactivate",null,b._uiHash(this));if(this.containers[c].containerCache.over){this.containers[c]._trigger("out",null,b._uiHash(this));this.containers[c].containerCache.over=0}}}if(this.placeholder[0].parentNode){this.placeholder[0].parentNode.removeChild(this.placeholder[0])}if(this.options.helper!="original"&&this.helper&&this.helper[0].parentNode){this.helper.remove()}a.extend(this,{helper:null,dragging:false,reverting:false,_noFinalSort:null});if(this.domPosition.prev){a(this.domPosition.prev).after(this.currentItem)}else{a(this.domPosition.parent).prepend(this.currentItem)}return true},serialize:function(d){var b=this._getItemsAsjQuery(d&&d.connected);var c=[];d=d||{};a(b).each(function(){var e=(a(d.item||this).attr(d.attribute||"id")||"").match(d.expression||(/(.+)[-=_](.+)/));if(e){c.push((d.key||e[1]+"[]")+"="+(d.key&&d.expression?e[1]:e[2]))}});return c.join("&")},toArray:function(d){var b=this._getItemsAsjQuery(d&&d.connected);var c=[];d=d||{};b.each(function(){c.push(a(d.item||this).attr(d.attribute||"id")||"")});return c},_intersectsWith:function(m){var e=this.positionAbs.left,d=e+this.helperProportions.width,k=this.positionAbs.top,j=k+this.helperProportions.height;var f=m.left,c=f+m.width,n=m.top,i=n+m.height;var o=this.offset.click.top,h=this.offset.click.left;var g=(k+o)>n&&(k+o)<i&&(e+h)>f&&(e+h)<c;if(this.options.tolerance=="pointer"||this.options.forcePointerForContainers||(this.options.tolerance!="pointer"&&this.helperProportions[this.floating?"width":"height"]>m[this.floating?"width":"height"])){return g}else{return(f<e+(this.helperProportions.width/2)&&d-(this.helperProportions.width/2)<c&&n<k+(this.helperProportions.height/2)&&j-(this.helperProportions.height/2)<i)}},_intersectsWithPointer:function(d){var e=a.ui.isOverAxis(this.positionAbs.top+this.offset.click.top,d.top,d.height),c=a.ui.isOverAxis(this.positionAbs.left+this.offset.click.left,d.left,d.width),g=e&&c,b=this._getDragVerticalDirection(),f=this._getDragHorizontalDirection();if(!g){return false}return this.floating?(((f&&f=="right")||b=="down")?2:1):(b&&(b=="down"?2:1))},_intersectsWithSides:function(e){var c=a.ui.isOverAxis(this.positionAbs.top+this.offset.click.top,e.top+(e.height/2),e.height),d=a.ui.isOverAxis(this.positionAbs.left+this.offset.click.left,e.left+(e.width/2),e.width),b=this._getDragVerticalDirection(),f=this._getDragHorizontalDirection();if(this.floating&&f){return((f=="right"&&d)||(f=="left"&&!d))}else{return b&&((b=="down"&&c)||(b=="up"&&!c))}},_getDragVerticalDirection:function(){var b=this.positionAbs.top-this.lastPositionAbs.top;return b!=0&&(b>0?"down":"up")},_getDragHorizontalDirection:function(){var b=this.positionAbs.left-this.lastPositionAbs.left;return b!=0&&(b>0?"right":"left")},refresh:function(b){this._refreshItems(b);this.refreshPositions()},_connectWith:function(){var b=this.options;return b.connectWith.constructor==String?[b.connectWith]:b.connectWith},_getItemsAsjQuery:function(b){var l=this;var g=[];var e=[];var h=this._connectWith();if(h&&b){for(var d=h.length-1;d>=0;d--){var k=a(h[d]);for(var c=k.length-1;c>=0;c--){var f=a.data(k[c],"sortable");if(f&&f!=this&&!f.options.disabled){e.push([a.isFunction(f.options.items)?f.options.items.call(f.element):a(f.options.items,f.element).not(".ui-sortable-helper"),f])}}}}e.push([a.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):a(this.options.items,this.element).not(".ui-sortable-helper"),this]);for(var d=e.length-1;d>=0;d--){e[d][0].each(function(){g.push(this)})}return a(g)},_removeCurrentsFromItems:function(){var d=this.currentItem.find(":data(sortable-item)");for(var c=0;c<this.items.length;c++){for(var b=0;b<d.length;b++){if(d[b]==this.items[c].item[0]){this.items.splice(c,1)}}}},_refreshItems:function(b){this.items=[];this.containers=[this];var h=this.items;var p=this;var f=[[a.isFunction(this.options.items)?this.options.items.call(this.element[0],b,{item:this.currentItem}):a(this.options.items,this.element),this]];var l=this._connectWith();if(l){for(var e=l.length-1;e>=0;e--){var m=a(l[e]);for(var d=m.length-1;d>=0;d--){var g=a.data(m[d],"sortable");if(g&&g!=this&&!g.options.disabled){f.push([a.isFunction(g.options.items)?g.options.items.call(g.element[0],b,{item:this.currentItem}):a(g.options.items,g.element),g]);this.containers.push(g)}}}}for(var e=f.length-1;e>=0;e--){var k=f[e][1];var c=f[e][0];for(var d=0,n=c.length;d<n;d++){var o=a(c[d]);o.data("sortable-item",k);h.push({item:o,instance:k,width:0,height:0,left:0,top:0})}}},refreshPositions:function(b){if(this.offsetParent&&this.helper){this.offset.parent=this._getParentOffset()}for(var d=this.items.length-1;d>=0;d--){var e=this.items[d];if(e.instance!=this.currentContainer&&this.currentContainer&&e.item[0]!=this.currentItem[0]){continue}var c=this.options.toleranceElement?a(this.options.toleranceElement,e.item):e.item;if(!b){e.width=c.outerWidth();e.height=c.outerHeight()}var f=c.offset();e.left=f.left;e.top=f.top}if(this.options.custom&&this.options.custom.refreshContainers){this.options.custom.refreshContainers.call(this)}else{for(var d=this.containers.length-1;d>=0;d--){var f=this.containers[d].element.offset();this.containers[d].containerCache.left=f.left;this.containers[d].containerCache.top=f.top;this.containers[d].containerCache.width=this.containers[d].element.outerWidth();this.containers[d].containerCache.height=this.containers[d].element.outerHeight()}}},_createPlaceholder:function(d){var b=d||this,e=b.options;if(!e.placeholder||e.placeholder.constructor==String){var c=e.placeholder;e.placeholder={element:function(){var f=a(document.createElement(b.currentItem[0].nodeName)).addClass(c||b.currentItem[0].className+" ui-sortable-placeholder").removeClass("ui-sortable-helper")[0];if(!c){f.style.visibility="hidden"}return f},update:function(f,g){if(c&&!e.forcePlaceholderSize){return}if(!g.height()){g.height(b.currentItem.innerHeight()-parseInt(b.currentItem.css("paddingTop")||0,10)-parseInt(b.currentItem.css("paddingBottom")||0,10))}if(!g.width()){g.width(b.currentItem.innerWidth()-parseInt(b.currentItem.css("paddingLeft")||0,10)-parseInt(b.currentItem.css("paddingRight")||0,10))}}}}b.placeholder=a(e.placeholder.element.call(b.element,b.currentItem));b.currentItem.after(b.placeholder);e.placeholder.update(b,b.placeholder)},_contactContainers:function(d){for(var c=this.containers.length-1;c>=0;c--){if(this._intersectsWith(this.containers[c].containerCache)){if(!this.containers[c].containerCache.over){if(this.currentContainer!=this.containers[c]){var h=10000;var g=null;var e=this.positionAbs[this.containers[c].floating?"left":"top"];for(var b=this.items.length-1;b>=0;b--){if(!a.ui.contains(this.containers[c].element[0],this.items[b].item[0])){continue}var f=this.items[b][this.containers[c].floating?"left":"top"];if(Math.abs(f-e)<h){h=Math.abs(f-e);g=this.items[b]}}if(!g&&!this.options.dropOnEmpty){continue}this.currentContainer=this.containers[c];g?this._rearrange(d,g,null,true):this._rearrange(d,null,this.containers[c].element,true);this._trigger("change",d,this._uiHash());this.containers[c]._trigger("change",d,this._uiHash(this));this.options.placeholder.update(this.currentContainer,this.placeholder)}this.containers[c]._trigger("over",d,this._uiHash(this));this.containers[c].containerCache.over=1}}else{if(this.containers[c].containerCache.over){this.containers[c]._trigger("out",d,this._uiHash(this));this.containers[c].containerCache.over=0}}}},_createHelper:function(c){var d=this.options;var b=a.isFunction(d.helper)?a(d.helper.apply(this.element[0],[c,this.currentItem])):(d.helper=="clone"?this.currentItem.clone():this.currentItem);if(!b.parents("body").length){a(d.appendTo!="parent"?d.appendTo:this.currentItem[0].parentNode)[0].appendChild(b[0])}if(b[0]==this.currentItem[0]){this._storedCSS={width:this.currentItem[0].style.width,height:this.currentItem[0].style.height,position:this.currentItem.css("position"),top:this.currentItem.css("top"),left:this.currentItem.css("left")}}if(b[0].style.width==""||d.forceHelperSize){b.width(this.currentItem.width())}if(b[0].style.height==""||d.forceHelperSize){b.height(this.currentItem.height())}return b},_adjustOffsetFromHelper:function(b){if(b.left!=undefined){this.offset.click.left=b.left+this.margins.left}if(b.right!=undefined){this.offset.click.left=this.helperProportions.width-b.right+this.margins.left}if(b.top!=undefined){this.offset.click.top=b.top+this.margins.top}if(b.bottom!=undefined){this.offset.click.top=this.helperProportions.height-b.bottom+this.margins.top}},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var b=this.offsetParent.offset();if(this.cssPosition=="absolute"&&this.scrollParent[0]!=document&&a.ui.contains(this.scrollParent[0],this.offsetParent[0])){b.left+=this.scrollParent.scrollLeft();b.top+=this.scrollParent.scrollTop()}if((this.offsetParent[0]==document.body)||(this.offsetParent[0].tagName&&this.offsetParent[0].tagName.toLowerCase()=="html"&&a.browser.msie)){b={top:0,left:0}}return{top:b.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:b.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if(this.cssPosition=="relative"){var b=this.currentItem.position();return{top:b.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:b.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}else{return{top:0,left:0}}},_cacheMargins:function(){this.margins={left:(parseInt(this.currentItem.css("marginLeft"),10)||0),top:(parseInt(this.currentItem.css("marginTop"),10)||0)}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var e=this.options;if(e.containment=="parent"){e.containment=this.helper[0].parentNode}if(e.containment=="document"||e.containment=="window"){this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,a(e.containment=="document"?document:window).width()-this.helperProportions.width-this.margins.left,(a(e.containment=="document"?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]}if(!(/^(document|window|parent)$/).test(e.containment)){var c=a(e.containment)[0];var d=a(e.containment).offset();var b=(a(c).css("overflow")!="hidden");this.containment=[d.left+(parseInt(a(c).css("borderLeftWidth"),10)||0)+(parseInt(a(c).css("paddingLeft"),10)||0)-this.margins.left,d.top+(parseInt(a(c).css("borderTopWidth"),10)||0)+(parseInt(a(c).css("paddingTop"),10)||0)-this.margins.top,d.left+(b?Math.max(c.scrollWidth,c.offsetWidth):c.offsetWidth)-(parseInt(a(c).css("borderLeftWidth"),10)||0)-(parseInt(a(c).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left,d.top+(b?Math.max(c.scrollHeight,c.offsetHeight):c.offsetHeight)-(parseInt(a(c).css("borderTopWidth"),10)||0)-(parseInt(a(c).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top]}},_convertPositionTo:function(f,h){if(!h){h=this.position}var c=f=="absolute"?1:-1;var e=this.options,b=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&a.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,g=(/(html|body)/i).test(b[0].tagName);return{top:(h.top+this.offset.relative.top*c+this.offset.parent.top*c-(a.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():(g?0:b.scrollTop()))*c)),left:(h.left+this.offset.relative.left*c+this.offset.parent.left*c-(a.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():g?0:b.scrollLeft())*c))}},_generatePosition:function(e){var h=this.options,b=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&a.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,i=(/(html|body)/i).test(b[0].tagName);if(this.cssPosition=="relative"&&!(this.scrollParent[0]!=document&&this.scrollParent[0]!=this.offsetParent[0])){this.offset.relative=this._getRelativeOffset()}var d=e.pageX;var c=e.pageY;if(this.originalPosition){if(this.containment){if(e.pageX-this.offset.click.left<this.containment[0]){d=this.containment[0]+this.offset.click.left}if(e.pageY-this.offset.click.top<this.containment[1]){c=this.containment[1]+this.offset.click.top}if(e.pageX-this.offset.click.left>this.containment[2]){d=this.containment[2]+this.offset.click.left}if(e.pageY-this.offset.click.top>this.containment[3]){c=this.containment[3]+this.offset.click.top}}if(h.grid){var g=this.originalPageY+Math.round((c-this.originalPageY)/h.grid[1])*h.grid[1];c=this.containment?(!(g-this.offset.click.top<this.containment[1]||g-this.offset.click.top>this.containment[3])?g:(!(g-this.offset.click.top<this.containment[1])?g-h.grid[1]:g+h.grid[1])):g;var f=this.originalPageX+Math.round((d-this.originalPageX)/h.grid[0])*h.grid[0];d=this.containment?(!(f-this.offset.click.left<this.containment[0]||f-this.offset.click.left>this.containment[2])?f:(!(f-this.offset.click.left<this.containment[0])?f-h.grid[0]:f+h.grid[0])):f}}return{top:(c-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+(a.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():(i?0:b.scrollTop())))),left:(d-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+(a.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():i?0:b.scrollLeft())))}},_rearrange:function(g,f,c,e){c?c[0].appendChild(this.placeholder[0]):f.item[0].parentNode.insertBefore(this.placeholder[0],(this.direction=="down"?f.item[0]:f.item[0].nextSibling));this.counter=this.counter?++this.counter:1;var d=this,b=this.counter;window.setTimeout(function(){if(b==d.counter){d.refreshPositions(!e)}},0)},_clear:function(d,e){this.reverting=false;var f=[],b=this;if(!this._noFinalSort&&this.currentItem[0].parentNode){this.placeholder.before(this.currentItem)}this._noFinalSort=null;if(this.helper[0]==this.currentItem[0]){for(var c in this._storedCSS){if(this._storedCSS[c]=="auto"||this._storedCSS[c]=="static"){this._storedCSS[c]=""}}this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper")}else{this.currentItem.show()}if(this.fromOutside&&!e){f.push(function(g){this._trigger("receive",g,this._uiHash(this.fromOutside))})}if((this.fromOutside||this.domPosition.prev!=this.currentItem.prev().not(".ui-sortable-helper")[0]||this.domPosition.parent!=this.currentItem.parent()[0])&&!e){f.push(function(g){this._trigger("update",g,this._uiHash())})}if(!a.ui.contains(this.element[0],this.currentItem[0])){if(!e){f.push(function(g){this._trigger("remove",g,this._uiHash())})}for(var c=this.containers.length-1;c>=0;c--){if(a.ui.contains(this.containers[c].element[0],this.currentItem[0])&&!e){f.push((function(g){return function(h){g._trigger("receive",h,this._uiHash(this))}}).call(this,this.containers[c]));f.push((function(g){return function(h){g._trigger("update",h,this._uiHash(this))}}).call(this,this.containers[c]))}}}for(var c=this.containers.length-1;c>=0;c--){if(!e){f.push((function(g){return function(h){g._trigger("deactivate",h,this._uiHash(this))}}).call(this,this.containers[c]))}if(this.containers[c].containerCache.over){f.push((function(g){return function(h){g._trigger("out",h,this._uiHash(this))}}).call(this,this.containers[c]));this.containers[c].containerCache.over=0}}if(this._storedCursor){a("body").css("cursor",this._storedCursor)}if(this._storedOpacity){this.helper.css("opacity",this._storedOpacity)}if(this._storedZIndex){this.helper.css("zIndex",this._storedZIndex=="auto"?"":this._storedZIndex)}this.dragging=false;if(this.cancelHelperRemoval){if(!e){this._trigger("beforeStop",d,this._uiHash());for(var c=0;c<f.length;c++){f[c].call(this,d)}this._trigger("stop",d,this._uiHash())}return false}if(!e){this._trigger("beforeStop",d,this._uiHash())}this.placeholder[0].parentNode.removeChild(this.placeholder[0]);if(this.helper[0]!=this.currentItem[0]){this.helper.remove()}this.helper=null;if(!e){for(var c=0;c<f.length;c++){f[c].call(this,d)}this._trigger("stop",d,this._uiHash())}this.fromOutside=false;return true},_trigger:function(){if(a.widget.prototype._trigger.apply(this,arguments)===false){this.cancel()}},_uiHash:function(c){var b=c||this;return{helper:b.helper,placeholder:b.placeholder||a([]),position:b.position,absolutePosition:b.positionAbs,offset:b.positionAbs,item:b.currentItem,sender:c?c.element:null}}}));a.extend(a.ui.sortable,{getter:"serialize toArray",version:"1.7.2",eventPrefix:"sort",defaults:{appendTo:"parent",axis:false,cancel:":input,option",connectWith:false,containment:false,cursor:"auto",cursorAt:false,delay:0,distance:1,dropOnEmpty:true,forcePlaceholderSize:false,forceHelperSize:false,grid:false,handle:false,helper:"original",items:"> *",opacity:false,placeholder:false,revert:false,scroll:true,scrollSensitivity:20,scrollSpeed:20,scope:"default",tolerance:"intersect",zIndex:1000}})})(jQuery);;/*
 * jQuery UI Accordion 1.7.2
 *
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Accordion
 *
 * Depends:
 *	ui.core.js
 */
(function(a){a.widget("ui.accordion",{_init:function(){var d=this.options,b=this;this.running=0;if(d.collapsible==a.ui.accordion.defaults.collapsible&&d.alwaysOpen!=a.ui.accordion.defaults.alwaysOpen){d.collapsible=!d.alwaysOpen}if(d.navigation){var c=this.element.find("a").filter(d.navigationFilter);if(c.length){if(c.filter(d.header).length){this.active=c}else{this.active=c.parent().parent().prev();c.addClass("ui-accordion-content-active")}}}this.element.addClass("ui-accordion ui-widget ui-helper-reset");if(this.element[0].nodeName=="UL"){this.element.children("li").addClass("ui-accordion-li-fix")}this.headers=this.element.find(d.header).addClass("ui-accordion-header ui-helper-reset ui-state-default ui-corner-all").bind("mouseenter.accordion",function(){a(this).addClass("ui-state-hover")}).bind("mouseleave.accordion",function(){a(this).removeClass("ui-state-hover")}).bind("focus.accordion",function(){a(this).addClass("ui-state-focus")}).bind("blur.accordion",function(){a(this).removeClass("ui-state-focus")});this.headers.next().addClass("ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom");this.active=this._findActive(this.active||d.active).toggleClass("ui-state-default").toggleClass("ui-state-active").toggleClass("ui-corner-all").toggleClass("ui-corner-top");this.active.next().addClass("ui-accordion-content-active");a("<span/>").addClass("ui-icon "+d.icons.header).prependTo(this.headers);this.active.find(".ui-icon").toggleClass(d.icons.header).toggleClass(d.icons.headerSelected);if(a.browser.msie){this.element.find("a").css("zoom","1")}this.resize();this.element.attr("role","tablist");this.headers.attr("role","tab").bind("keydown",function(e){return b._keydown(e)}).next().attr("role","tabpanel");this.headers.not(this.active||"").attr("aria-expanded","false").attr("tabIndex","-1").next().hide();if(!this.active.length){this.headers.eq(0).attr("tabIndex","0")}else{this.active.attr("aria-expanded","true").attr("tabIndex","0")}if(!a.browser.safari){this.headers.find("a").attr("tabIndex","-1")}if(d.event){this.headers.bind((d.event)+".accordion",function(e){return b._clickHandler.call(b,e,this)})}},destroy:function(){var c=this.options;this.element.removeClass("ui-accordion ui-widget ui-helper-reset").removeAttr("role").unbind(".accordion").removeData("accordion");this.headers.unbind(".accordion").removeClass("ui-accordion-header ui-helper-reset ui-state-default ui-corner-all ui-state-active ui-corner-top").removeAttr("role").removeAttr("aria-expanded").removeAttr("tabindex");this.headers.find("a").removeAttr("tabindex");this.headers.children(".ui-icon").remove();var b=this.headers.next().css("display","").removeAttr("role").removeClass("ui-helper-reset ui-widget-content ui-corner-bottom ui-accordion-content ui-accordion-content-active");if(c.autoHeight||c.fillHeight){b.css("height","")}},_setData:function(b,c){if(b=="alwaysOpen"){b="collapsible";c=!c}a.widget.prototype._setData.apply(this,arguments)},_keydown:function(e){var g=this.options,f=a.ui.keyCode;if(g.disabled||e.altKey||e.ctrlKey){return}var d=this.headers.length;var b=this.headers.index(e.target);var c=false;switch(e.keyCode){case f.RIGHT:case f.DOWN:c=this.headers[(b+1)%d];break;case f.LEFT:case f.UP:c=this.headers[(b-1+d)%d];break;case f.SPACE:case f.ENTER:return this._clickHandler({target:e.target},e.target)}if(c){a(e.target).attr("tabIndex","-1");a(c).attr("tabIndex","0");c.focus();return false}return true},resize:function(){var e=this.options,d;if(e.fillSpace){if(a.browser.msie){var b=this.element.parent().css("overflow");this.element.parent().css("overflow","hidden")}d=this.element.parent().height();if(a.browser.msie){this.element.parent().css("overflow",b)}this.headers.each(function(){d-=a(this).outerHeight()});var c=0;this.headers.next().each(function(){c=Math.max(c,a(this).innerHeight()-a(this).height())}).height(Math.max(0,d-c)).css("overflow","auto")}else{if(e.autoHeight){d=0;this.headers.next().each(function(){d=Math.max(d,a(this).outerHeight())}).height(d)}}},activate:function(b){var c=this._findActive(b)[0];this._clickHandler({target:c},c)},_findActive:function(b){return b?typeof b=="number"?this.headers.filter(":eq("+b+")"):this.headers.not(this.headers.not(b)):b===false?a([]):this.headers.filter(":eq(0)")},_clickHandler:function(b,f){var d=this.options;if(d.disabled){return false}if(!b.target&&d.collapsible){this.active.removeClass("ui-state-active ui-corner-top").addClass("ui-state-default ui-corner-all").find(".ui-icon").removeClass(d.icons.headerSelected).addClass(d.icons.header);this.active.next().addClass("ui-accordion-content-active");var h=this.active.next(),e={options:d,newHeader:a([]),oldHeader:d.active,newContent:a([]),oldContent:h},c=(this.active=a([]));this._toggle(c,h,e);return false}var g=a(b.currentTarget||f);var i=g[0]==this.active[0];if(this.running||(!d.collapsible&&i)){return false}this.active.removeClass("ui-state-active ui-corner-top").addClass("ui-state-default ui-corner-all").find(".ui-icon").removeClass(d.icons.headerSelected).addClass(d.icons.header);this.active.next().addClass("ui-accordion-content-active");if(!i){g.removeClass("ui-state-default ui-corner-all").addClass("ui-state-active ui-corner-top").find(".ui-icon").removeClass(d.icons.header).addClass(d.icons.headerSelected);g.next().addClass("ui-accordion-content-active")}var c=g.next(),h=this.active.next(),e={options:d,newHeader:i&&d.collapsible?a([]):g,oldHeader:this.active,newContent:i&&d.collapsible?a([]):c.find("> *"),oldContent:h.find("> *")},j=this.headers.index(this.active[0])>this.headers.index(g[0]);this.active=i?a([]):g;this._toggle(c,h,e,i,j);return false},_toggle:function(b,i,g,j,k){var d=this.options,m=this;this.toShow=b;this.toHide=i;this.data=g;var c=function(){if(!m){return}return m._completed.apply(m,arguments)};this._trigger("changestart",null,this.data);this.running=i.size()===0?b.size():i.size();if(d.animated){var f={};if(d.collapsible&&j){f={toShow:a([]),toHide:i,complete:c,down:k,autoHeight:d.autoHeight||d.fillSpace}}else{f={toShow:b,toHide:i,complete:c,down:k,autoHeight:d.autoHeight||d.fillSpace}}if(!d.proxied){d.proxied=d.animated}if(!d.proxiedDuration){d.proxiedDuration=d.duration}d.animated=a.isFunction(d.proxied)?d.proxied(f):d.proxied;d.duration=a.isFunction(d.proxiedDuration)?d.proxiedDuration(f):d.proxiedDuration;var l=a.ui.accordion.animations,e=d.duration,h=d.animated;if(!l[h]){l[h]=function(n){this.slide(n,{easing:h,duration:e||700})}}l[h](f)}else{if(d.collapsible&&j){b.toggle()}else{i.hide();b.show()}c(true)}i.prev().attr("aria-expanded","false").attr("tabIndex","-1").blur();b.prev().attr("aria-expanded","true").attr("tabIndex","0").focus()},_completed:function(b){var c=this.options;this.running=b?0:--this.running;if(this.running){return}if(c.clearStyle){this.toShow.add(this.toHide).css({height:"",overflow:""})}this._trigger("change",null,this.data)}});a.extend(a.ui.accordion,{version:"1.7.2",defaults:{active:null,alwaysOpen:true,animated:"slide",autoHeight:true,clearStyle:false,collapsible:false,event:"click",fillSpace:false,header:"> li > :first-child,> :not(li):even",icons:{header:"ui-icon-triangle-1-e",headerSelected:"ui-icon-triangle-1-s"},navigation:false,navigationFilter:function(){return this.href.toLowerCase()==location.href.toLowerCase()}},animations:{slide:function(j,h){j=a.extend({easing:"swing",duration:300},j,h);if(!j.toHide.size()){j.toShow.animate({height:"show"},j);return}if(!j.toShow.size()){j.toHide.animate({height:"hide"},j);return}var c=j.toShow.css("overflow"),g,d={},f={},e=["height","paddingTop","paddingBottom"],b;var i=j.toShow;b=i[0].style.width;i.width(parseInt(i.parent().width(),10)-parseInt(i.css("paddingLeft"),10)-parseInt(i.css("paddingRight"),10)-(parseInt(i.css("borderLeftWidth"),10)||0)-(parseInt(i.css("borderRightWidth"),10)||0));a.each(e,function(k,m){f[m]="hide";var l=(""+a.css(j.toShow[0],m)).match(/^([\d+-.]+)(.*)$/);d[m]={value:l[1],unit:l[2]||"px"}});j.toShow.css({height:0,overflow:"hidden"}).show();j.toHide.filter(":hidden").each(j.complete).end().filter(":visible").animate(f,{step:function(k,l){if(l.prop=="height"){g=(l.now-l.start)/(l.end-l.start)}j.toShow[0].style[l.prop]=(g*d[l.prop].value)+d[l.prop].unit},duration:j.duration,easing:j.easing,complete:function(){if(!j.autoHeight){j.toShow.css("height","")}j.toShow.css("width",b);j.toShow.css({overflow:c});j.complete()}})},bounceslide:function(b){this.slide(b,{easing:b.down?"easeOutBounce":"swing",duration:b.down?1000:200})},easeslide:function(b){this.slide(b,{easing:"easeinout",duration:700})}}})})(jQuery);;/*
 * jQuery UI Dialog 1.7.2
 *
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Dialog
 *
 * Depends:
 *	ui.core.js
 *	ui.draggable.js
 *	ui.resizable.js
 */
(function(c){var b={dragStart:"start.draggable",drag:"drag.draggable",dragStop:"stop.draggable",maxHeight:"maxHeight.resizable",minHeight:"minHeight.resizable",maxWidth:"maxWidth.resizable",minWidth:"minWidth.resizable",resizeStart:"start.resizable",resize:"drag.resizable",resizeStop:"stop.resizable"},a="ui-dialog ui-widget ui-widget-content ui-corner-all ";c.widget("ui.dialog",{_init:function(){this.originalTitle=this.element.attr("title");var l=this,m=this.options,j=m.title||this.originalTitle||"&nbsp;",e=c.ui.dialog.getTitleId(this.element),k=(this.uiDialog=c("<div/>")).appendTo(document.body).hide().addClass(a+m.dialogClass).css({position:"absolute",overflow:"hidden",zIndex:m.zIndex}).attr("tabIndex",-1).css("outline",0).keydown(function(n){(m.closeOnEscape&&n.keyCode&&n.keyCode==c.ui.keyCode.ESCAPE&&l.close(n))}).attr({role:"dialog","aria-labelledby":e}).mousedown(function(n){l.moveToTop(false,n)}),g=this.element.show().removeAttr("title").addClass("ui-dialog-content ui-widget-content").appendTo(k),f=(this.uiDialogTitlebar=c("<div></div>")).addClass("ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix").prependTo(k),i=c('<a href="#"/>').addClass("ui-dialog-titlebar-close ui-corner-all").attr("role","button").hover(function(){i.addClass("ui-state-hover")},function(){i.removeClass("ui-state-hover")}).focus(function(){i.addClass("ui-state-focus")}).blur(function(){i.removeClass("ui-state-focus")}).mousedown(function(n){n.stopPropagation()}).click(function(n){l.close(n);return false}).appendTo(f),h=(this.uiDialogTitlebarCloseText=c("<span/>")).addClass("ui-icon ui-icon-closethick").text(m.closeText).appendTo(i),d=c("<span/>").addClass("ui-dialog-title").attr("id",e).html(j).prependTo(f);f.find("*").add(f).disableSelection();(m.draggable&&c.fn.draggable&&this._makeDraggable());(m.resizable&&c.fn.resizable&&this._makeResizable());this._createButtons(m.buttons);this._isOpen=false;(m.bgiframe&&c.fn.bgiframe&&k.bgiframe());(m.autoOpen&&this.open())},destroy:function(){(this.overlay&&this.overlay.destroy());this.uiDialog.hide();this.element.unbind(".dialog").removeData("dialog").removeClass("ui-dialog-content ui-widget-content").hide().appendTo("body");this.uiDialog.remove();(this.originalTitle&&this.element.attr("title",this.originalTitle))},close:function(f){var d=this;if(false===d._trigger("beforeclose",f)){return}(d.overlay&&d.overlay.destroy());d.uiDialog.unbind("keypress.ui-dialog");(d.options.hide?d.uiDialog.hide(d.options.hide,function(){d._trigger("close",f)}):d.uiDialog.hide()&&d._trigger("close",f));c.ui.dialog.overlay.resize();d._isOpen=false;if(d.options.modal){var e=0;c(".ui-dialog").each(function(){if(this!=d.uiDialog[0]){e=Math.max(e,c(this).css("z-index"))}});c.ui.dialog.maxZ=e}},isOpen:function(){return this._isOpen},moveToTop:function(f,e){if((this.options.modal&&!f)||(!this.options.stack&&!this.options.modal)){return this._trigger("focus",e)}if(this.options.zIndex>c.ui.dialog.maxZ){c.ui.dialog.maxZ=this.options.zIndex}(this.overlay&&this.overlay.$el.css("z-index",c.ui.dialog.overlay.maxZ=++c.ui.dialog.maxZ));var d={scrollTop:this.element.attr("scrollTop"),scrollLeft:this.element.attr("scrollLeft")};this.uiDialog.css("z-index",++c.ui.dialog.maxZ);this.element.attr(d);this._trigger("focus",e)},open:function(){if(this._isOpen){return}var e=this.options,d=this.uiDialog;this.overlay=e.modal?new c.ui.dialog.overlay(this):null;(d.next().length&&d.appendTo("body"));this._size();this._position(e.position);d.show(e.show);this.moveToTop(true);(e.modal&&d.bind("keypress.ui-dialog",function(h){if(h.keyCode!=c.ui.keyCode.TAB){return}var g=c(":tabbable",this),i=g.filter(":first")[0],f=g.filter(":last")[0];if(h.target==f&&!h.shiftKey){setTimeout(function(){i.focus()},1)}else{if(h.target==i&&h.shiftKey){setTimeout(function(){f.focus()},1)}}}));c([]).add(d.find(".ui-dialog-content :tabbable:first")).add(d.find(".ui-dialog-buttonpane :tabbable:first")).add(d).filter(":first").focus();this._trigger("open");this._isOpen=true},_createButtons:function(g){var f=this,d=false,e=c("<div></div>").addClass("ui-dialog-buttonpane ui-widget-content ui-helper-clearfix");this.uiDialog.find(".ui-dialog-buttonpane").remove();(typeof g=="object"&&g!==null&&c.each(g,function(){return !(d=true)}));if(d){c.each(g,function(h,i){c('<button type="button"></button>').addClass("ui-state-default ui-corner-all").text(h).click(function(){i.apply(f.element[0],arguments)}).hover(function(){c(this).addClass("ui-state-hover")},function(){c(this).removeClass("ui-state-hover")}).focus(function(){c(this).addClass("ui-state-focus")}).blur(function(){c(this).removeClass("ui-state-focus")}).appendTo(e)});e.appendTo(this.uiDialog)}},_makeDraggable:function(){var d=this,f=this.options,e;this.uiDialog.draggable({cancel:".ui-dialog-content",handle:".ui-dialog-titlebar",containment:"document",start:function(){e=f.height;c(this).height(c(this).height()).addClass("ui-dialog-dragging");(f.dragStart&&f.dragStart.apply(d.element[0],arguments))},drag:function(){(f.drag&&f.drag.apply(d.element[0],arguments))},stop:function(){c(this).removeClass("ui-dialog-dragging").height(e);(f.dragStop&&f.dragStop.apply(d.element[0],arguments));c.ui.dialog.overlay.resize()}})},_makeResizable:function(g){g=(g===undefined?this.options.resizable:g);var d=this,f=this.options,e=typeof g=="string"?g:"n,e,s,w,se,sw,ne,nw";this.uiDialog.resizable({cancel:".ui-dialog-content",alsoResize:this.element,maxWidth:f.maxWidth,maxHeight:f.maxHeight,minWidth:f.minWidth,minHeight:f.minHeight,start:function(){c(this).addClass("ui-dialog-resizing");(f.resizeStart&&f.resizeStart.apply(d.element[0],arguments))},resize:function(){(f.resize&&f.resize.apply(d.element[0],arguments))},handles:e,stop:function(){c(this).removeClass("ui-dialog-resizing");f.height=c(this).height();f.width=c(this).width();(f.resizeStop&&f.resizeStop.apply(d.element[0],arguments));c.ui.dialog.overlay.resize()}}).find(".ui-resizable-se").addClass("ui-icon ui-icon-grip-diagonal-se")},_position:function(i){var e=c(window),f=c(document),g=f.scrollTop(),d=f.scrollLeft(),h=g;if(c.inArray(i,["center","top","right","bottom","left"])>=0){i=[i=="right"||i=="left"?i:"center",i=="top"||i=="bottom"?i:"middle"]}if(i.constructor!=Array){i=["center","middle"]}if(i[0].constructor==Number){d+=i[0]}else{switch(i[0]){case"left":d+=0;break;case"right":d+=e.width()-this.uiDialog.outerWidth();break;default:case"center":d+=(e.width()-this.uiDialog.outerWidth())/2}}if(i[1].constructor==Number){g+=i[1]}else{switch(i[1]){case"top":g+=0;break;case"bottom":g+=e.height()-this.uiDialog.outerHeight();break;default:case"middle":g+=(e.height()-this.uiDialog.outerHeight())/2}}g=Math.max(g,h);this.uiDialog.css({top:g,left:d})},_setData:function(e,f){(b[e]&&this.uiDialog.data(b[e],f));switch(e){case"buttons":this._createButtons(f);break;case"closeText":this.uiDialogTitlebarCloseText.text(f);break;case"dialogClass":this.uiDialog.removeClass(this.options.dialogClass).addClass(a+f);break;case"draggable":(f?this._makeDraggable():this.uiDialog.draggable("destroy"));break;case"height":this.uiDialog.height(f);break;case"position":this._position(f);break;case"resizable":var d=this.uiDialog,g=this.uiDialog.is(":data(resizable)");(g&&!f&&d.resizable("destroy"));(g&&typeof f=="string"&&d.resizable("option","handles",f));(g||this._makeResizable(f));break;case"title":c(".ui-dialog-title",this.uiDialogTitlebar).html(f||"&nbsp;");break;case"width":this.uiDialog.width(f);break}c.widget.prototype._setData.apply(this,arguments)},_size:function(){var e=this.options;this.element.css({height:0,minHeight:0,width:"auto"});var d=this.uiDialog.css({height:"auto",width:e.width}).height();this.element.css({minHeight:Math.max(e.minHeight-d,0),height:e.height=="auto"?"auto":Math.max(e.height-d,0)})}});c.extend(c.ui.dialog,{version:"1.7.2",defaults:{autoOpen:true,bgiframe:false,buttons:{},closeOnEscape:true,closeText:"close",dialogClass:"",draggable:true,hide:null,height:"auto",maxHeight:false,maxWidth:false,minHeight:150,minWidth:150,modal:false,position:"center",resizable:true,show:null,stack:true,title:"",width:300,zIndex:1000},getter:"isOpen",uuid:0,maxZ:0,getTitleId:function(d){return"ui-dialog-title-"+(d.attr("id")||++this.uuid)},overlay:function(d){this.$el=c.ui.dialog.overlay.create(d)}});c.extend(c.ui.dialog.overlay,{instances:[],maxZ:0,events:c.map("focus,mousedown,mouseup,keydown,keypress,click".split(","),function(d){return d+".dialog-overlay"}).join(" "),create:function(e){if(this.instances.length===0){setTimeout(function(){if(c.ui.dialog.overlay.instances.length){c(document).bind(c.ui.dialog.overlay.events,function(f){var g=c(f.target).parents(".ui-dialog").css("zIndex")||0;return(g>c.ui.dialog.overlay.maxZ)})}},1);c(document).bind("keydown.dialog-overlay",function(f){(e.options.closeOnEscape&&f.keyCode&&f.keyCode==c.ui.keyCode.ESCAPE&&e.close(f))});c(window).bind("resize.dialog-overlay",c.ui.dialog.overlay.resize)}var d=c("<div></div>").appendTo(document.body).addClass("ui-widget-overlay").css({width:this.width(),height:this.height()});(e.options.bgiframe&&c.fn.bgiframe&&d.bgiframe());this.instances.push(d);return d},destroy:function(d){this.instances.splice(c.inArray(this.instances,d),1);if(this.instances.length===0){c([document,window]).unbind(".dialog-overlay")}d.remove();var e=0;c.each(this.instances,function(){e=Math.max(e,this.css("z-index"))});this.maxZ=e},height:function(){if(c.browser.msie&&c.browser.version<7){var e=Math.max(document.documentElement.scrollHeight,document.body.scrollHeight);var d=Math.max(document.documentElement.offsetHeight,document.body.offsetHeight);if(e<d){return c(window).height()+"px"}else{return e+"px"}}else{return c(document).height()+"px"}},width:function(){if(c.browser.msie&&c.browser.version<7){var d=Math.max(document.documentElement.scrollWidth,document.body.scrollWidth);var e=Math.max(document.documentElement.offsetWidth,document.body.offsetWidth);if(d<e){return c(window).width()+"px"}else{return d+"px"}}else{return c(document).width()+"px"}},resize:function(){var d=c([]);c.each(c.ui.dialog.overlay.instances,function(){d=d.add(this)});d.css({width:0,height:0}).css({width:c.ui.dialog.overlay.width(),height:c.ui.dialog.overlay.height()})}});c.extend(c.ui.dialog.overlay.prototype,{destroy:function(){c.ui.dialog.overlay.destroy(this.$el)}})})(jQuery);;/*
 * jQuery UI Slider 1.7.2
 *
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Slider
 *
 * Depends:
 *	ui.core.js
 */
(function(a){a.widget("ui.slider",a.extend({},a.ui.mouse,{_init:function(){var b=this,c=this.options;this._keySliding=false;this._handleIndex=null;this._detectOrientation();this._mouseInit();this.element.addClass("ui-slider ui-slider-"+this.orientation+" ui-widget ui-widget-content ui-corner-all");this.range=a([]);if(c.range){if(c.range===true){this.range=a("<div></div>");if(!c.values){c.values=[this._valueMin(),this._valueMin()]}if(c.values.length&&c.values.length!=2){c.values=[c.values[0],c.values[0]]}}else{this.range=a("<div></div>")}this.range.appendTo(this.element).addClass("ui-slider-range");if(c.range=="min"||c.range=="max"){this.range.addClass("ui-slider-range-"+c.range)}this.range.addClass("ui-widget-header")}if(a(".ui-slider-handle",this.element).length==0){a('<a href="#"></a>').appendTo(this.element).addClass("ui-slider-handle")}if(c.values&&c.values.length){while(a(".ui-slider-handle",this.element).length<c.values.length){a('<a href="#"></a>').appendTo(this.element).addClass("ui-slider-handle")}}this.handles=a(".ui-slider-handle",this.element).addClass("ui-state-default ui-corner-all");this.handle=this.handles.eq(0);this.handles.add(this.range).filter("a").click(function(d){d.preventDefault()}).hover(function(){if(!c.disabled){a(this).addClass("ui-state-hover")}},function(){a(this).removeClass("ui-state-hover")}).focus(function(){if(!c.disabled){a(".ui-slider .ui-state-focus").removeClass("ui-state-focus");a(this).addClass("ui-state-focus")}else{a(this).blur()}}).blur(function(){a(this).removeClass("ui-state-focus")});this.handles.each(function(d){a(this).data("index.ui-slider-handle",d)});this.handles.keydown(function(i){var f=true;var e=a(this).data("index.ui-slider-handle");if(b.options.disabled){return}switch(i.keyCode){case a.ui.keyCode.HOME:case a.ui.keyCode.END:case a.ui.keyCode.UP:case a.ui.keyCode.RIGHT:case a.ui.keyCode.DOWN:case a.ui.keyCode.LEFT:f=false;if(!b._keySliding){b._keySliding=true;a(this).addClass("ui-state-active");b._start(i,e)}break}var g,d,h=b._step();if(b.options.values&&b.options.values.length){g=d=b.values(e)}else{g=d=b.value()}switch(i.keyCode){case a.ui.keyCode.HOME:d=b._valueMin();break;case a.ui.keyCode.END:d=b._valueMax();break;case a.ui.keyCode.UP:case a.ui.keyCode.RIGHT:if(g==b._valueMax()){return}d=g+h;break;case a.ui.keyCode.DOWN:case a.ui.keyCode.LEFT:if(g==b._valueMin()){return}d=g-h;break}b._slide(i,e,d);return f}).keyup(function(e){var d=a(this).data("index.ui-slider-handle");if(b._keySliding){b._stop(e,d);b._change(e,d);b._keySliding=false;a(this).removeClass("ui-state-active")}});this._refreshValue()},destroy:function(){this.handles.remove();this.range.remove();this.element.removeClass("ui-slider ui-slider-horizontal ui-slider-vertical ui-slider-disabled ui-widget ui-widget-content ui-corner-all").removeData("slider").unbind(".slider");this._mouseDestroy()},_mouseCapture:function(d){var e=this.options;if(e.disabled){return false}this.elementSize={width:this.element.outerWidth(),height:this.element.outerHeight()};this.elementOffset=this.element.offset();var h={x:d.pageX,y:d.pageY};var j=this._normValueFromMouse(h);var c=this._valueMax()-this._valueMin()+1,f;var k=this,i;this.handles.each(function(l){var m=Math.abs(j-k.values(l));if(c>m){c=m;f=a(this);i=l}});if(e.range==true&&this.values(1)==e.min){f=a(this.handles[++i])}this._start(d,i);k._handleIndex=i;f.addClass("ui-state-active").focus();var g=f.offset();var b=!a(d.target).parents().andSelf().is(".ui-slider-handle");this._clickOffset=b?{left:0,top:0}:{left:d.pageX-g.left-(f.width()/2),top:d.pageY-g.top-(f.height()/2)-(parseInt(f.css("borderTopWidth"),10)||0)-(parseInt(f.css("borderBottomWidth"),10)||0)+(parseInt(f.css("marginTop"),10)||0)};j=this._normValueFromMouse(h);this._slide(d,i,j);return true},_mouseStart:function(b){return true},_mouseDrag:function(d){var b={x:d.pageX,y:d.pageY};var c=this._normValueFromMouse(b);this._slide(d,this._handleIndex,c);return false},_mouseStop:function(b){this.handles.removeClass("ui-state-active");this._stop(b,this._handleIndex);this._change(b,this._handleIndex);this._handleIndex=null;this._clickOffset=null;return false},_detectOrientation:function(){this.orientation=this.options.orientation=="vertical"?"vertical":"horizontal"},_normValueFromMouse:function(d){var c,h;if("horizontal"==this.orientation){c=this.elementSize.width;h=d.x-this.elementOffset.left-(this._clickOffset?this._clickOffset.left:0)}else{c=this.elementSize.height;h=d.y-this.elementOffset.top-(this._clickOffset?this._clickOffset.top:0)}var f=(h/c);if(f>1){f=1}if(f<0){f=0}if("vertical"==this.orientation){f=1-f}var e=this._valueMax()-this._valueMin(),i=f*e,b=i%this.options.step,g=this._valueMin()+i-b;if(b>(this.options.step/2)){g+=this.options.step}return parseFloat(g.toFixed(5))},_start:function(d,c){var b={handle:this.handles[c],value:this.value()};if(this.options.values&&this.options.values.length){b.value=this.values(c);b.values=this.values()}this._trigger("start",d,b)},_slide:function(f,e,d){var g=this.handles[e];if(this.options.values&&this.options.values.length){var b=this.values(e?0:1);if((this.options.values.length==2&&this.options.range===true)&&((e==0&&d>b)||(e==1&&d<b))){d=b}if(d!=this.values(e)){var c=this.values();c[e]=d;var h=this._trigger("slide",f,{handle:this.handles[e],value:d,values:c});var b=this.values(e?0:1);if(h!==false){this.values(e,d,(f.type=="mousedown"&&this.options.animate),true)}}}else{if(d!=this.value()){var h=this._trigger("slide",f,{handle:this.handles[e],value:d});if(h!==false){this._setData("value",d,(f.type=="mousedown"&&this.options.animate))}}}},_stop:function(d,c){var b={handle:this.handles[c],value:this.value()};if(this.options.values&&this.options.values.length){b.value=this.values(c);b.values=this.values()}this._trigger("stop",d,b)},_change:function(d,c){var b={handle:this.handles[c],value:this.value()};if(this.options.values&&this.options.values.length){b.value=this.values(c);b.values=this.values()}this._trigger("change",d,b)},value:function(b){if(arguments.length){this._setData("value",b);this._change(null,0)}return this._value()},values:function(b,e,c,d){if(arguments.length>1){this.options.values[b]=e;this._refreshValue(c);if(!d){this._change(null,b)}}if(arguments.length){if(this.options.values&&this.options.values.length){return this._values(b)}else{return this.value()}}else{return this._values()}},_setData:function(b,d,c){a.widget.prototype._setData.apply(this,arguments);switch(b){case"disabled":if(d){this.handles.filter(".ui-state-focus").blur();this.handles.removeClass("ui-state-hover");this.handles.attr("disabled","disabled")}else{this.handles.removeAttr("disabled")}case"orientation":this._detectOrientation();this.element.removeClass("ui-slider-horizontal ui-slider-vertical").addClass("ui-slider-"+this.orientation);this._refreshValue(c);break;case"value":this._refreshValue(c);break}},_step:function(){var b=this.options.step;return b},_value:function(){var b=this.options.value;if(b<this._valueMin()){b=this._valueMin()}if(b>this._valueMax()){b=this._valueMax()}return b},_values:function(b){if(arguments.length){var c=this.options.values[b];if(c<this._valueMin()){c=this._valueMin()}if(c>this._valueMax()){c=this._valueMax()}return c}else{return this.options.values}},_valueMin:function(){var b=this.options.min;return b},_valueMax:function(){var b=this.options.max;return b},_refreshValue:function(c){var f=this.options.range,d=this.options,l=this;if(this.options.values&&this.options.values.length){var i,h;this.handles.each(function(p,n){var o=(l.values(p)-l._valueMin())/(l._valueMax()-l._valueMin())*100;var m={};m[l.orientation=="horizontal"?"left":"bottom"]=o+"%";a(this).stop(1,1)[c?"animate":"css"](m,d.animate);if(l.options.range===true){if(l.orientation=="horizontal"){(p==0)&&l.range.stop(1,1)[c?"animate":"css"]({left:o+"%"},d.animate);(p==1)&&l.range[c?"animate":"css"]({width:(o-lastValPercent)+"%"},{queue:false,duration:d.animate})}else{(p==0)&&l.range.stop(1,1)[c?"animate":"css"]({bottom:(o)+"%"},d.animate);(p==1)&&l.range[c?"animate":"css"]({height:(o-lastValPercent)+"%"},{queue:false,duration:d.animate})}}lastValPercent=o})}else{var j=this.value(),g=this._valueMin(),k=this._valueMax(),e=k!=g?(j-g)/(k-g)*100:0;var b={};b[l.orientation=="horizontal"?"left":"bottom"]=e+"%";this.handle.stop(1,1)[c?"animate":"css"](b,d.animate);(f=="min")&&(this.orientation=="horizontal")&&this.range.stop(1,1)[c?"animate":"css"]({width:e+"%"},d.animate);(f=="max")&&(this.orientation=="horizontal")&&this.range[c?"animate":"css"]({width:(100-e)+"%"},{queue:false,duration:d.animate});(f=="min")&&(this.orientation=="vertical")&&this.range.stop(1,1)[c?"animate":"css"]({height:e+"%"},d.animate);(f=="max")&&(this.orientation=="vertical")&&this.range[c?"animate":"css"]({height:(100-e)+"%"},{queue:false,duration:d.animate})}}}));a.extend(a.ui.slider,{getter:"value values",version:"1.7.2",eventPrefix:"slide",defaults:{animate:false,delay:0,distance:0,max:100,min:0,orientation:"horizontal",range:false,step:1,value:0,values:null}})})(jQuery);;/*
 * jQuery UI Tabs 1.7.2
 *
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Tabs
 *
 * Depends:
 *	ui.core.js
 */
(function(a){a.widget("ui.tabs",{_init:function(){if(this.options.deselectable!==undefined){this.options.collapsible=this.options.deselectable}this._tabify(true)},_setData:function(b,c){if(b=="selected"){if(this.options.collapsible&&c==this.options.selected){return}this.select(c)}else{this.options[b]=c;if(b=="deselectable"){this.options.collapsible=c}this._tabify()}},_tabId:function(b){return b.title&&b.title.replace(/\s/g,"_").replace(/[^A-Za-z0-9\-_:\.]/g,"")||this.options.idPrefix+a.data(b)},_sanitizeSelector:function(b){return b.replace(/:/g,"\\:")},_cookie:function(){var b=this.cookie||(this.cookie=this.options.cookie.name||"ui-tabs-"+a.data(this.list[0]));return a.cookie.apply(null,[b].concat(a.makeArray(arguments)))},_ui:function(c,b){return{tab:c,panel:b,index:this.anchors.index(c)}},_cleanup:function(){this.lis.filter(".ui-state-processing").removeClass("ui-state-processing").find("span:data(label.tabs)").each(function(){var b=a(this);b.html(b.data("label.tabs")).removeData("label.tabs")})},_tabify:function(n){this.list=this.element.children("ul:first");this.lis=a("li:has(a[href])",this.list);this.anchors=this.lis.map(function(){return a("a",this)[0]});this.panels=a([]);var p=this,d=this.options;var c=/^#.+/;this.anchors.each(function(r,o){var q=a(o).attr("href");var s=q.split("#")[0],u;if(s&&(s===location.toString().split("#")[0]||(u=a("base")[0])&&s===u.href)){q=o.hash;o.href=q}if(c.test(q)){p.panels=p.panels.add(p._sanitizeSelector(q))}else{if(q!="#"){a.data(o,"href.tabs",q);a.data(o,"load.tabs",q.replace(/#.*$/,""));var w=p._tabId(o);o.href="#"+w;var v=a("#"+w);if(!v.length){v=a(d.panelTemplate).attr("id",w).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").insertAfter(p.panels[r-1]||p.list);v.data("destroy.tabs",true)}p.panels=p.panels.add(v)}else{d.disabled.push(r)}}});if(n){this.element.addClass("ui-tabs ui-widget ui-widget-content ui-corner-all");this.list.addClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all");this.lis.addClass("ui-state-default ui-corner-top");this.panels.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom");if(d.selected===undefined){if(location.hash){this.anchors.each(function(q,o){if(o.hash==location.hash){d.selected=q;return false}})}if(typeof d.selected!="number"&&d.cookie){d.selected=parseInt(p._cookie(),10)}if(typeof d.selected!="number"&&this.lis.filter(".ui-tabs-selected").length){d.selected=this.lis.index(this.lis.filter(".ui-tabs-selected"))}d.selected=d.selected||0}else{if(d.selected===null){d.selected=-1}}d.selected=((d.selected>=0&&this.anchors[d.selected])||d.selected<0)?d.selected:0;d.disabled=a.unique(d.disabled.concat(a.map(this.lis.filter(".ui-state-disabled"),function(q,o){return p.lis.index(q)}))).sort();if(a.inArray(d.selected,d.disabled)!=-1){d.disabled.splice(a.inArray(d.selected,d.disabled),1)}this.panels.addClass("ui-tabs-hide");this.lis.removeClass("ui-tabs-selected ui-state-active");if(d.selected>=0&&this.anchors.length){this.panels.eq(d.selected).removeClass("ui-tabs-hide");this.lis.eq(d.selected).addClass("ui-tabs-selected ui-state-active");p.element.queue("tabs",function(){p._trigger("show",null,p._ui(p.anchors[d.selected],p.panels[d.selected]))});this.load(d.selected)}a(window).bind("unload",function(){p.lis.add(p.anchors).unbind(".tabs");p.lis=p.anchors=p.panels=null})}else{d.selected=this.lis.index(this.lis.filter(".ui-tabs-selected"))}this.element[d.collapsible?"addClass":"removeClass"]("ui-tabs-collapsible");if(d.cookie){this._cookie(d.selected,d.cookie)}for(var g=0,m;(m=this.lis[g]);g++){a(m)[a.inArray(g,d.disabled)!=-1&&!a(m).hasClass("ui-tabs-selected")?"addClass":"removeClass"]("ui-state-disabled")}if(d.cache===false){this.anchors.removeData("cache.tabs")}this.lis.add(this.anchors).unbind(".tabs");if(d.event!="mouseover"){var f=function(o,i){if(i.is(":not(.ui-state-disabled)")){i.addClass("ui-state-"+o)}};var j=function(o,i){i.removeClass("ui-state-"+o)};this.lis.bind("mouseover.tabs",function(){f("hover",a(this))});this.lis.bind("mouseout.tabs",function(){j("hover",a(this))});this.anchors.bind("focus.tabs",function(){f("focus",a(this).closest("li"))});this.anchors.bind("blur.tabs",function(){j("focus",a(this).closest("li"))})}var b,h;if(d.fx){if(a.isArray(d.fx)){b=d.fx[0];h=d.fx[1]}else{b=h=d.fx}}function e(i,o){i.css({display:""});if(a.browser.msie&&o.opacity){i[0].style.removeAttribute("filter")}}var k=h?function(i,o){a(i).closest("li").removeClass("ui-state-default").addClass("ui-tabs-selected ui-state-active");o.hide().removeClass("ui-tabs-hide").animate(h,h.duration||"normal",function(){e(o,h);p._trigger("show",null,p._ui(i,o[0]))})}:function(i,o){a(i).closest("li").removeClass("ui-state-default").addClass("ui-tabs-selected ui-state-active");o.removeClass("ui-tabs-hide");p._trigger("show",null,p._ui(i,o[0]))};var l=b?function(o,i){i.animate(b,b.duration||"normal",function(){p.lis.removeClass("ui-tabs-selected ui-state-active").addClass("ui-state-default");i.addClass("ui-tabs-hide");e(i,b);p.element.dequeue("tabs")})}:function(o,i,q){p.lis.removeClass("ui-tabs-selected ui-state-active").addClass("ui-state-default");i.addClass("ui-tabs-hide");p.element.dequeue("tabs")};this.anchors.bind(d.event+".tabs",function(){var o=this,r=a(this).closest("li"),i=p.panels.filter(":not(.ui-tabs-hide)"),q=a(p._sanitizeSelector(this.hash));if((r.hasClass("ui-tabs-selected")&&!d.collapsible)||r.hasClass("ui-state-disabled")||r.hasClass("ui-state-processing")||p._trigger("select",null,p._ui(this,q[0]))===false){this.blur();return false}d.selected=p.anchors.index(this);p.abort();if(d.collapsible){if(r.hasClass("ui-tabs-selected")){d.selected=-1;if(d.cookie){p._cookie(d.selected,d.cookie)}p.element.queue("tabs",function(){l(o,i)}).dequeue("tabs");this.blur();return false}else{if(!i.length){if(d.cookie){p._cookie(d.selected,d.cookie)}p.element.queue("tabs",function(){k(o,q)});p.load(p.anchors.index(this));this.blur();return false}}}if(d.cookie){p._cookie(d.selected,d.cookie)}if(q.length){if(i.length){p.element.queue("tabs",function(){l(o,i)})}p.element.queue("tabs",function(){k(o,q)});p.load(p.anchors.index(this))}else{throw"jQuery UI Tabs: Mismatching fragment identifier."}if(a.browser.msie){this.blur()}});this.anchors.bind("click.tabs",function(){return false})},destroy:function(){var b=this.options;this.abort();this.element.unbind(".tabs").removeClass("ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible").removeData("tabs");this.list.removeClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all");this.anchors.each(function(){var c=a.data(this,"href.tabs");if(c){this.href=c}var d=a(this).unbind(".tabs");a.each(["href","load","cache"],function(e,f){d.removeData(f+".tabs")})});this.lis.unbind(".tabs").add(this.panels).each(function(){if(a.data(this,"destroy.tabs")){a(this).remove()}else{a(this).removeClass(["ui-state-default","ui-corner-top","ui-tabs-selected","ui-state-active","ui-state-hover","ui-state-focus","ui-state-disabled","ui-tabs-panel","ui-widget-content","ui-corner-bottom","ui-tabs-hide"].join(" "))}});if(b.cookie){this._cookie(null,b.cookie)}},add:function(e,d,c){if(c===undefined){c=this.anchors.length}var b=this,g=this.options,i=a(g.tabTemplate.replace(/#\{href\}/g,e).replace(/#\{label\}/g,d)),h=!e.indexOf("#")?e.replace("#",""):this._tabId(a("a",i)[0]);i.addClass("ui-state-default ui-corner-top").data("destroy.tabs",true);var f=a("#"+h);if(!f.length){f=a(g.panelTemplate).attr("id",h).data("destroy.tabs",true)}f.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide");if(c>=this.lis.length){i.appendTo(this.list);f.appendTo(this.list[0].parentNode)}else{i.insertBefore(this.lis[c]);f.insertBefore(this.panels[c])}g.disabled=a.map(g.disabled,function(k,j){return k>=c?++k:k});this._tabify();if(this.anchors.length==1){i.addClass("ui-tabs-selected ui-state-active");f.removeClass("ui-tabs-hide");this.element.queue("tabs",function(){b._trigger("show",null,b._ui(b.anchors[0],b.panels[0]))});this.load(0)}this._trigger("add",null,this._ui(this.anchors[c],this.panels[c]))},remove:function(b){var d=this.options,e=this.lis.eq(b).remove(),c=this.panels.eq(b).remove();if(e.hasClass("ui-tabs-selected")&&this.anchors.length>1){this.select(b+(b+1<this.anchors.length?1:-1))}d.disabled=a.map(a.grep(d.disabled,function(g,f){return g!=b}),function(g,f){return g>=b?--g:g});this._tabify();this._trigger("remove",null,this._ui(e.find("a")[0],c[0]))},enable:function(b){var c=this.options;if(a.inArray(b,c.disabled)==-1){return}this.lis.eq(b).removeClass("ui-state-disabled");c.disabled=a.grep(c.disabled,function(e,d){return e!=b});this._trigger("enable",null,this._ui(this.anchors[b],this.panels[b]))},disable:function(c){var b=this,d=this.options;if(c!=d.selected){this.lis.eq(c).addClass("ui-state-disabled");d.disabled.push(c);d.disabled.sort();this._trigger("disable",null,this._ui(this.anchors[c],this.panels[c]))}},select:function(b){if(typeof b=="string"){b=this.anchors.index(this.anchors.filter("[href$="+b+"]"))}else{if(b===null){b=-1}}if(b==-1&&this.options.collapsible){b=this.options.selected}this.anchors.eq(b).trigger(this.options.event+".tabs")},load:function(e){var c=this,g=this.options,b=this.anchors.eq(e)[0],d=a.data(b,"load.tabs");this.abort();if(!d||this.element.queue("tabs").length!==0&&a.data(b,"cache.tabs")){this.element.dequeue("tabs");return}this.lis.eq(e).addClass("ui-state-processing");if(g.spinner){var f=a("span",b);f.data("label.tabs",f.html()).html(g.spinner)}this.xhr=a.ajax(a.extend({},g.ajaxOptions,{url:d,success:function(i,h){a(c._sanitizeSelector(b.hash)).html(i);c._cleanup();if(g.cache){a.data(b,"cache.tabs",true)}c._trigger("load",null,c._ui(c.anchors[e],c.panels[e]));try{g.ajaxOptions.success(i,h)}catch(j){}c.element.dequeue("tabs")}}))},abort:function(){this.element.queue([]);this.panels.stop(false,true);if(this.xhr){this.xhr.abort();delete this.xhr}this._cleanup()},url:function(c,b){this.anchors.eq(c).removeData("cache.tabs").data("load.tabs",b)},length:function(){return this.anchors.length}});a.extend(a.ui.tabs,{version:"1.7.2",getter:"length",defaults:{ajaxOptions:null,cache:false,cookie:null,collapsible:false,disabled:[],event:"click",fx:null,idPrefix:"ui-tabs-",panelTemplate:"<div></div>",spinner:"<em>Loading&#8230;</em>",tabTemplate:'<li><a href="#{href}"><span>#{label}</span></a></li>'}});a.extend(a.ui.tabs.prototype,{rotation:null,rotate:function(d,f){var b=this,g=this.options;var c=b._rotate||(b._rotate=function(h){clearTimeout(b.rotation);b.rotation=setTimeout(function(){var i=g.selected;b.select(++i<b.anchors.length?i:0)},d);if(h){h.stopPropagation()}});var e=b._unrotate||(b._unrotate=!f?function(h){if(h.clientX){b.rotate(null)}}:function(h){t=g.selected;c()});if(d){this.element.bind("tabsshow",c);this.anchors.bind(g.event+".tabs",e);c()}else{clearTimeout(b.rotation);this.element.unbind("tabsshow",c);this.anchors.unbind(g.event+".tabs",e);delete this._rotate;delete this._unrotate}}})})(jQuery);;/*
 * jQuery UI Datepicker 1.7.2
 *
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Datepicker
 *
 * Depends:
 *	ui.core.js
 */
(function($){$.extend($.ui,{datepicker:{version:"1.7.2"}});var PROP_NAME="datepicker";function Datepicker(){this.debug=false;this._curInst=null;this._keyEvent=false;this._disabledInputs=[];this._datepickerShowing=false;this._inDialog=false;this._mainDivId="ui-datepicker-div";this._inlineClass="ui-datepicker-inline";this._appendClass="ui-datepicker-append";this._triggerClass="ui-datepicker-trigger";this._dialogClass="ui-datepicker-dialog";this._disableClass="ui-datepicker-disabled";this._unselectableClass="ui-datepicker-unselectable";this._currentClass="ui-datepicker-current-day";this._dayOverClass="ui-datepicker-days-cell-over";this.regional=[];this.regional[""]={closeText:"Done",prevText:"Prev",nextText:"Next",currentText:"Today",monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],dateFormat:"mm/dd/yy",firstDay:0,isRTL:false};this._defaults={showOn:"focus",showAnim:"show",showOptions:{},defaultDate:null,appendText:"",buttonText:"...",buttonImage:"",buttonImageOnly:false,hideIfNoPrevNext:false,navigationAsDateFormat:false,gotoCurrent:false,changeMonth:false,changeYear:false,showMonthAfterYear:false,yearRange:"-10:+10",showOtherMonths:false,calculateWeek:this.iso8601Week,shortYearCutoff:"+10",minDate:null,maxDate:null,duration:"normal",beforeShowDay:null,beforeShow:null,onSelect:null,onChangeMonthYear:null,onClose:null,numberOfMonths:1,showCurrentAtPos:0,stepMonths:1,stepBigMonths:12,altField:"",altFormat:"",constrainInput:true,showButtonPanel:false};$.extend(this._defaults,this.regional[""]);this.dpDiv=$('<div id="'+this._mainDivId+'" class="ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all ui-helper-hidden-accessible"></div>')}$.extend(Datepicker.prototype,{markerClassName:"hasDatepicker",log:function(){if(this.debug){console.log.apply("",arguments)}},setDefaults:function(settings){extendRemove(this._defaults,settings||{});return this},_attachDatepicker:function(target,settings){var inlineSettings=null;for(var attrName in this._defaults){var attrValue=target.getAttribute("date:"+attrName);if(attrValue){inlineSettings=inlineSettings||{};try{inlineSettings[attrName]=eval(attrValue)}catch(err){inlineSettings[attrName]=attrValue}}}var nodeName=target.nodeName.toLowerCase();var inline=(nodeName=="div"||nodeName=="span");if(!target.id){target.id="dp"+(++this.uuid)}var inst=this._newInst($(target),inline);inst.settings=$.extend({},settings||{},inlineSettings||{});if(nodeName=="input"){this._connectDatepicker(target,inst)}else{if(inline){this._inlineDatepicker(target,inst)}}},_newInst:function(target,inline){var id=target[0].id.replace(/([:\[\]\.])/g,"\\\\$1");return{id:id,input:target,selectedDay:0,selectedMonth:0,selectedYear:0,drawMonth:0,drawYear:0,inline:inline,dpDiv:(!inline?this.dpDiv:$('<div class="'+this._inlineClass+' ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all"></div>'))}},_connectDatepicker:function(target,inst){var input=$(target);inst.append=$([]);inst.trigger=$([]);if(input.hasClass(this.markerClassName)){return}var appendText=this._get(inst,"appendText");var isRTL=this._get(inst,"isRTL");if(appendText){inst.append=$('<span class="'+this._appendClass+'">'+appendText+"</span>");input[isRTL?"before":"after"](inst.append)}var showOn=this._get(inst,"showOn");if(showOn=="focus"||showOn=="both"){input.focus(this._showDatepicker)}if(showOn=="button"||showOn=="both"){var buttonText=this._get(inst,"buttonText");var buttonImage=this._get(inst,"buttonImage");inst.trigger=$(this._get(inst,"buttonImageOnly")?$("<img/>").addClass(this._triggerClass).attr({src:buttonImage,alt:buttonText,title:buttonText}):$('<button type="button"></button>').addClass(this._triggerClass).html(buttonImage==""?buttonText:$("<img/>").attr({src:buttonImage,alt:buttonText,title:buttonText})));input[isRTL?"before":"after"](inst.trigger);inst.trigger.click(function(){if($.datepicker._datepickerShowing&&$.datepicker._lastInput==target){$.datepicker._hideDatepicker()}else{$.datepicker._showDatepicker(target)}return false})}input.addClass(this.markerClassName).keydown(this._doKeyDown).keypress(this._doKeyPress).bind("setData.datepicker",function(event,key,value){inst.settings[key]=value}).bind("getData.datepicker",function(event,key){return this._get(inst,key)});$.data(target,PROP_NAME,inst)},_inlineDatepicker:function(target,inst){var divSpan=$(target);if(divSpan.hasClass(this.markerClassName)){return}divSpan.addClass(this.markerClassName).append(inst.dpDiv).bind("setData.datepicker",function(event,key,value){inst.settings[key]=value}).bind("getData.datepicker",function(event,key){return this._get(inst,key)});$.data(target,PROP_NAME,inst);this._setDate(inst,this._getDefaultDate(inst));this._updateDatepicker(inst);this._updateAlternate(inst)},_dialogDatepicker:function(input,dateText,onSelect,settings,pos){var inst=this._dialogInst;if(!inst){var id="dp"+(++this.uuid);this._dialogInput=$('<input type="text" id="'+id+'" size="1" style="position: absolute; top: -100px;"/>');this._dialogInput.keydown(this._doKeyDown);$("body").append(this._dialogInput);inst=this._dialogInst=this._newInst(this._dialogInput,false);inst.settings={};$.data(this._dialogInput[0],PROP_NAME,inst)}extendRemove(inst.settings,settings||{});this._dialogInput.val(dateText);this._pos=(pos?(pos.length?pos:[pos.pageX,pos.pageY]):null);if(!this._pos){var browserWidth=window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth;var browserHeight=window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight;var scrollX=document.documentElement.scrollLeft||document.body.scrollLeft;var scrollY=document.documentElement.scrollTop||document.body.scrollTop;this._pos=[(browserWidth/2)-100+scrollX,(browserHeight/2)-150+scrollY]}this._dialogInput.css("left",this._pos[0]+"px").css("top",this._pos[1]+"px");inst.settings.onSelect=onSelect;this._inDialog=true;this.dpDiv.addClass(this._dialogClass);this._showDatepicker(this._dialogInput[0]);if($.blockUI){$.blockUI(this.dpDiv)}$.data(this._dialogInput[0],PROP_NAME,inst);return this},_destroyDatepicker:function(target){var $target=$(target);var inst=$.data(target,PROP_NAME);if(!$target.hasClass(this.markerClassName)){return}var nodeName=target.nodeName.toLowerCase();$.removeData(target,PROP_NAME);if(nodeName=="input"){inst.append.remove();inst.trigger.remove();$target.removeClass(this.markerClassName).unbind("focus",this._showDatepicker).unbind("keydown",this._doKeyDown).unbind("keypress",this._doKeyPress)}else{if(nodeName=="div"||nodeName=="span"){$target.removeClass(this.markerClassName).empty()}}},_enableDatepicker:function(target){var $target=$(target);var inst=$.data(target,PROP_NAME);if(!$target.hasClass(this.markerClassName)){return}var nodeName=target.nodeName.toLowerCase();if(nodeName=="input"){target.disabled=false;inst.trigger.filter("button").each(function(){this.disabled=false}).end().filter("img").css({opacity:"1.0",cursor:""})}else{if(nodeName=="div"||nodeName=="span"){var inline=$target.children("."+this._inlineClass);inline.children().removeClass("ui-state-disabled")}}this._disabledInputs=$.map(this._disabledInputs,function(value){return(value==target?null:value)})},_disableDatepicker:function(target){var $target=$(target);var inst=$.data(target,PROP_NAME);if(!$target.hasClass(this.markerClassName)){return}var nodeName=target.nodeName.toLowerCase();if(nodeName=="input"){target.disabled=true;inst.trigger.filter("button").each(function(){this.disabled=true}).end().filter("img").css({opacity:"0.5",cursor:"default"})}else{if(nodeName=="div"||nodeName=="span"){var inline=$target.children("."+this._inlineClass);inline.children().addClass("ui-state-disabled")}}this._disabledInputs=$.map(this._disabledInputs,function(value){return(value==target?null:value)});this._disabledInputs[this._disabledInputs.length]=target},_isDisabledDatepicker:function(target){if(!target){return false}for(var i=0;i<this._disabledInputs.length;i++){if(this._disabledInputs[i]==target){return true}}return false},_getInst:function(target){try{return $.data(target,PROP_NAME)}catch(err){throw"Missing instance data for this datepicker"}},_optionDatepicker:function(target,name,value){var inst=this._getInst(target);if(arguments.length==2&&typeof name=="string"){return(name=="defaults"?$.extend({},$.datepicker._defaults):(inst?(name=="all"?$.extend({},inst.settings):this._get(inst,name)):null))}var settings=name||{};if(typeof name=="string"){settings={};settings[name]=value}if(inst){if(this._curInst==inst){this._hideDatepicker(null)}var date=this._getDateDatepicker(target);extendRemove(inst.settings,settings);this._setDateDatepicker(target,date);this._updateDatepicker(inst)}},_changeDatepicker:function(target,name,value){this._optionDatepicker(target,name,value)},_refreshDatepicker:function(target){var inst=this._getInst(target);if(inst){this._updateDatepicker(inst)}},_setDateDatepicker:function(target,date,endDate){var inst=this._getInst(target);if(inst){this._setDate(inst,date,endDate);this._updateDatepicker(inst);this._updateAlternate(inst)}},_getDateDatepicker:function(target){var inst=this._getInst(target);if(inst&&!inst.inline){this._setDateFromField(inst)}return(inst?this._getDate(inst):null)},_doKeyDown:function(event){var inst=$.datepicker._getInst(event.target);var handled=true;var isRTL=inst.dpDiv.is(".ui-datepicker-rtl");inst._keyEvent=true;if($.datepicker._datepickerShowing){switch(event.keyCode){case 9:$.datepicker._hideDatepicker(null,"");break;case 13:var sel=$("td."+$.datepicker._dayOverClass+", td."+$.datepicker._currentClass,inst.dpDiv);if(sel[0]){$.datepicker._selectDay(event.target,inst.selectedMonth,inst.selectedYear,sel[0])}else{$.datepicker._hideDatepicker(null,$.datepicker._get(inst,"duration"))}return false;break;case 27:$.datepicker._hideDatepicker(null,$.datepicker._get(inst,"duration"));break;case 33:$.datepicker._adjustDate(event.target,(event.ctrlKey?-$.datepicker._get(inst,"stepBigMonths"):-$.datepicker._get(inst,"stepMonths")),"M");break;case 34:$.datepicker._adjustDate(event.target,(event.ctrlKey?+$.datepicker._get(inst,"stepBigMonths"):+$.datepicker._get(inst,"stepMonths")),"M");break;case 35:if(event.ctrlKey||event.metaKey){$.datepicker._clearDate(event.target)}handled=event.ctrlKey||event.metaKey;break;case 36:if(event.ctrlKey||event.metaKey){$.datepicker._gotoToday(event.target)}handled=event.ctrlKey||event.metaKey;break;case 37:if(event.ctrlKey||event.metaKey){$.datepicker._adjustDate(event.target,(isRTL?+1:-1),"D")}handled=event.ctrlKey||event.metaKey;if(event.originalEvent.altKey){$.datepicker._adjustDate(event.target,(event.ctrlKey?-$.datepicker._get(inst,"stepBigMonths"):-$.datepicker._get(inst,"stepMonths")),"M")}break;case 38:if(event.ctrlKey||event.metaKey){$.datepicker._adjustDate(event.target,-7,"D")}handled=event.ctrlKey||event.metaKey;break;case 39:if(event.ctrlKey||event.metaKey){$.datepicker._adjustDate(event.target,(isRTL?-1:+1),"D")}handled=event.ctrlKey||event.metaKey;if(event.originalEvent.altKey){$.datepicker._adjustDate(event.target,(event.ctrlKey?+$.datepicker._get(inst,"stepBigMonths"):+$.datepicker._get(inst,"stepMonths")),"M")}break;case 40:if(event.ctrlKey||event.metaKey){$.datepicker._adjustDate(event.target,+7,"D")}handled=event.ctrlKey||event.metaKey;break;default:handled=false}}else{if(event.keyCode==36&&event.ctrlKey){$.datepicker._showDatepicker(this)}else{handled=false}}if(handled){event.preventDefault();event.stopPropagation()}},_doKeyPress:function(event){var inst=$.datepicker._getInst(event.target);if($.datepicker._get(inst,"constrainInput")){var chars=$.datepicker._possibleChars($.datepicker._get(inst,"dateFormat"));var chr=String.fromCharCode(event.charCode==undefined?event.keyCode:event.charCode);return event.ctrlKey||(chr<" "||!chars||chars.indexOf(chr)>-1)}},_showDatepicker:function(input){input=input.target||input;if(input.nodeName.toLowerCase()!="input"){input=$("input",input.parentNode)[0]}if($.datepicker._isDisabledDatepicker(input)||$.datepicker._lastInput==input){return}var inst=$.datepicker._getInst(input);var beforeShow=$.datepicker._get(inst,"beforeShow");extendRemove(inst.settings,(beforeShow?beforeShow.apply(input,[input,inst]):{}));$.datepicker._hideDatepicker(null,"");$.datepicker._lastInput=input;$.datepicker._setDateFromField(inst);if($.datepicker._inDialog){input.value=""}if(!$.datepicker._pos){$.datepicker._pos=$.datepicker._findPos(input);$.datepicker._pos[1]+=input.offsetHeight}var isFixed=false;$(input).parents().each(function(){isFixed|=$(this).css("position")=="fixed";return !isFixed});if(isFixed&&$.browser.opera){$.datepicker._pos[0]-=document.documentElement.scrollLeft;$.datepicker._pos[1]-=document.documentElement.scrollTop}var offset={left:$.datepicker._pos[0],top:$.datepicker._pos[1]};$.datepicker._pos=null;inst.rangeStart=null;inst.dpDiv.css({position:"absolute",display:"block",top:"-1000px"});$.datepicker._updateDatepicker(inst);offset=$.datepicker._checkOffset(inst,offset,isFixed);inst.dpDiv.css({position:($.datepicker._inDialog&&$.blockUI?"static":(isFixed?"fixed":"absolute")),display:"none",left:offset.left+"px",top:offset.top+"px"});if(!inst.inline){var showAnim=$.datepicker._get(inst,"showAnim")||"show";var duration=$.datepicker._get(inst,"duration");var postProcess=function(){$.datepicker._datepickerShowing=true;if($.browser.msie&&parseInt($.browser.version,10)<7){$("iframe.ui-datepicker-cover").css({width:inst.dpDiv.width()+4,height:inst.dpDiv.height()+4})}};if($.effects&&$.effects[showAnim]){inst.dpDiv.show(showAnim,$.datepicker._get(inst,"showOptions"),duration,postProcess)}else{inst.dpDiv[showAnim](duration,postProcess)}if(duration==""){postProcess()}if(inst.input[0].type!="hidden"){inst.input[0].focus()}$.datepicker._curInst=inst}},_updateDatepicker:function(inst){var dims={width:inst.dpDiv.width()+4,height:inst.dpDiv.height()+4};var self=this;inst.dpDiv.empty().append(this._generateHTML(inst)).find("iframe.ui-datepicker-cover").css({width:dims.width,height:dims.height}).end().find("button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a").bind("mouseout",function(){$(this).removeClass("ui-state-hover");if(this.className.indexOf("ui-datepicker-prev")!=-1){$(this).removeClass("ui-datepicker-prev-hover")}if(this.className.indexOf("ui-datepicker-next")!=-1){$(this).removeClass("ui-datepicker-next-hover")}}).bind("mouseover",function(){if(!self._isDisabledDatepicker(inst.inline?inst.dpDiv.parent()[0]:inst.input[0])){$(this).parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover");$(this).addClass("ui-state-hover");if(this.className.indexOf("ui-datepicker-prev")!=-1){$(this).addClass("ui-datepicker-prev-hover")}if(this.className.indexOf("ui-datepicker-next")!=-1){$(this).addClass("ui-datepicker-next-hover")}}}).end().find("."+this._dayOverClass+" a").trigger("mouseover").end();var numMonths=this._getNumberOfMonths(inst);var cols=numMonths[1];var width=17;if(cols>1){inst.dpDiv.addClass("ui-datepicker-multi-"+cols).css("width",(width*cols)+"em")}else{inst.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width("")}inst.dpDiv[(numMonths[0]!=1||numMonths[1]!=1?"add":"remove")+"Class"]("ui-datepicker-multi");inst.dpDiv[(this._get(inst,"isRTL")?"add":"remove")+"Class"]("ui-datepicker-rtl");if(inst.input&&inst.input[0].type!="hidden"&&inst==$.datepicker._curInst){$(inst.input[0]).focus()}},_checkOffset:function(inst,offset,isFixed){var dpWidth=inst.dpDiv.outerWidth();var dpHeight=inst.dpDiv.outerHeight();var inputWidth=inst.input?inst.input.outerWidth():0;var inputHeight=inst.input?inst.input.outerHeight():0;var viewWidth=(window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth)+$(document).scrollLeft();var viewHeight=(window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight)+$(document).scrollTop();offset.left-=(this._get(inst,"isRTL")?(dpWidth-inputWidth):0);offset.left-=(isFixed&&offset.left==inst.input.offset().left)?$(document).scrollLeft():0;offset.top-=(isFixed&&offset.top==(inst.input.offset().top+inputHeight))?$(document).scrollTop():0;offset.left-=(offset.left+dpWidth>viewWidth&&viewWidth>dpWidth)?Math.abs(offset.left+dpWidth-viewWidth):0;offset.top-=(offset.top+dpHeight>viewHeight&&viewHeight>dpHeight)?Math.abs(offset.top+dpHeight+inputHeight*2-viewHeight):0;return offset},_findPos:function(obj){while(obj&&(obj.type=="hidden"||obj.nodeType!=1)){obj=obj.nextSibling}var position=$(obj).offset();return[position.left,position.top]},_hideDatepicker:function(input,duration){var inst=this._curInst;if(!inst||(input&&inst!=$.data(input,PROP_NAME))){return}if(inst.stayOpen){this._selectDate("#"+inst.id,this._formatDate(inst,inst.currentDay,inst.currentMonth,inst.currentYear))}inst.stayOpen=false;if(this._datepickerShowing){duration=(duration!=null?duration:this._get(inst,"duration"));var showAnim=this._get(inst,"showAnim");var postProcess=function(){$.datepicker._tidyDialog(inst)};if(duration!=""&&$.effects&&$.effects[showAnim]){inst.dpDiv.hide(showAnim,$.datepicker._get(inst,"showOptions"),duration,postProcess)}else{inst.dpDiv[(duration==""?"hide":(showAnim=="slideDown"?"slideUp":(showAnim=="fadeIn"?"fadeOut":"hide")))](duration,postProcess)}if(duration==""){this._tidyDialog(inst)}var onClose=this._get(inst,"onClose");if(onClose){onClose.apply((inst.input?inst.input[0]:null),[(inst.input?inst.input.val():""),inst])}this._datepickerShowing=false;this._lastInput=null;if(this._inDialog){this._dialogInput.css({position:"absolute",left:"0",top:"-100px"});if($.blockUI){$.unblockUI();$("body").append(this.dpDiv)}}this._inDialog=false}this._curInst=null},_tidyDialog:function(inst){inst.dpDiv.removeClass(this._dialogClass).unbind(".ui-datepicker-calendar")},_checkExternalClick:function(event){if(!$.datepicker._curInst){return}var $target=$(event.target);if(($target.parents("#"+$.datepicker._mainDivId).length==0)&&!$target.hasClass($.datepicker.markerClassName)&&!$target.hasClass($.datepicker._triggerClass)&&$.datepicker._datepickerShowing&&!($.datepicker._inDialog&&$.blockUI)){$.datepicker._hideDatepicker(null,"")}},_adjustDate:function(id,offset,period){var target=$(id);var inst=this._getInst(target[0]);if(this._isDisabledDatepicker(target[0])){return}this._adjustInstDate(inst,offset+(period=="M"?this._get(inst,"showCurrentAtPos"):0),period);this._updateDatepicker(inst)},_gotoToday:function(id){var target=$(id);var inst=this._getInst(target[0]);if(this._get(inst,"gotoCurrent")&&inst.currentDay){inst.selectedDay=inst.currentDay;inst.drawMonth=inst.selectedMonth=inst.currentMonth;inst.drawYear=inst.selectedYear=inst.currentYear}else{var date=new Date();inst.selectedDay=date.getDate();inst.drawMonth=inst.selectedMonth=date.getMonth();inst.drawYear=inst.selectedYear=date.getFullYear()}this._notifyChange(inst);this._adjustDate(target)},_selectMonthYear:function(id,select,period){var target=$(id);var inst=this._getInst(target[0]);inst._selectingMonthYear=false;inst["selected"+(period=="M"?"Month":"Year")]=inst["draw"+(period=="M"?"Month":"Year")]=parseInt(select.options[select.selectedIndex].value,10);this._notifyChange(inst);this._adjustDate(target)},_clickMonthYear:function(id){var target=$(id);var inst=this._getInst(target[0]);if(inst.input&&inst._selectingMonthYear&&!$.browser.msie){inst.input[0].focus()}inst._selectingMonthYear=!inst._selectingMonthYear},_selectDay:function(id,month,year,td){var target=$(id);if($(td).hasClass(this._unselectableClass)||this._isDisabledDatepicker(target[0])){return}var inst=this._getInst(target[0]);inst.selectedDay=inst.currentDay=$("a",td).html();inst.selectedMonth=inst.currentMonth=month;inst.selectedYear=inst.currentYear=year;if(inst.stayOpen){inst.endDay=inst.endMonth=inst.endYear=null}this._selectDate(id,this._formatDate(inst,inst.currentDay,inst.currentMonth,inst.currentYear));if(inst.stayOpen){inst.rangeStart=this._daylightSavingAdjust(new Date(inst.currentYear,inst.currentMonth,inst.currentDay));this._updateDatepicker(inst)}},_clearDate:function(id){var target=$(id);var inst=this._getInst(target[0]);inst.stayOpen=false;inst.endDay=inst.endMonth=inst.endYear=inst.rangeStart=null;this._selectDate(target,"")},_selectDate:function(id,dateStr){var target=$(id);var inst=this._getInst(target[0]);dateStr=(dateStr!=null?dateStr:this._formatDate(inst));if(inst.input){inst.input.val(dateStr)}this._updateAlternate(inst);var onSelect=this._get(inst,"onSelect");if(onSelect){onSelect.apply((inst.input?inst.input[0]:null),[dateStr,inst])}else{if(inst.input){inst.input.trigger("change")}}if(inst.inline){this._updateDatepicker(inst)}else{if(!inst.stayOpen){this._hideDatepicker(null,this._get(inst,"duration"));this._lastInput=inst.input[0];if(typeof(inst.input[0])!="object"){inst.input[0].focus()}this._lastInput=null}}},_updateAlternate:function(inst){var altField=this._get(inst,"altField");if(altField){var altFormat=this._get(inst,"altFormat")||this._get(inst,"dateFormat");var date=this._getDate(inst);dateStr=this.formatDate(altFormat,date,this._getFormatConfig(inst));$(altField).each(function(){$(this).val(dateStr)})}},noWeekends:function(date){var day=date.getDay();return[(day>0&&day<6),""]},iso8601Week:function(date){var checkDate=new Date(date.getFullYear(),date.getMonth(),date.getDate());var firstMon=new Date(checkDate.getFullYear(),1-1,4);var firstDay=firstMon.getDay()||7;firstMon.setDate(firstMon.getDate()+1-firstDay);if(firstDay<4&&checkDate<firstMon){checkDate.setDate(checkDate.getDate()-3);return $.datepicker.iso8601Week(checkDate)}else{if(checkDate>new Date(checkDate.getFullYear(),12-1,28)){firstDay=new Date(checkDate.getFullYear()+1,1-1,4).getDay()||7;if(firstDay>4&&(checkDate.getDay()||7)<firstDay-3){return 1}}}return Math.floor(((checkDate-firstMon)/86400000)/7)+1},parseDate:function(format,value,settings){if(format==null||value==null){throw"Invalid arguments"}value=(typeof value=="object"?value.toString():value+"");if(value==""){return null}var shortYearCutoff=(settings?settings.shortYearCutoff:null)||this._defaults.shortYearCutoff;var dayNamesShort=(settings?settings.dayNamesShort:null)||this._defaults.dayNamesShort;var dayNames=(settings?settings.dayNames:null)||this._defaults.dayNames;var monthNamesShort=(settings?settings.monthNamesShort:null)||this._defaults.monthNamesShort;var monthNames=(settings?settings.monthNames:null)||this._defaults.monthNames;var year=-1;var month=-1;var day=-1;var doy=-1;var literal=false;var lookAhead=function(match){var matches=(iFormat+1<format.length&&format.charAt(iFormat+1)==match);if(matches){iFormat++}return matches};var getNumber=function(match){lookAhead(match);var origSize=(match=="@"?14:(match=="y"?4:(match=="o"?3:2)));var size=origSize;var num=0;while(size>0&&iValue<value.length&&value.charAt(iValue)>="0"&&value.charAt(iValue)<="9"){num=num*10+parseInt(value.charAt(iValue++),10);size--}if(size==origSize){throw"Missing number at position "+iValue}return num};var getName=function(match,shortNames,longNames){var names=(lookAhead(match)?longNames:shortNames);var size=0;for(var j=0;j<names.length;j++){size=Math.max(size,names[j].length)}var name="";var iInit=iValue;while(size>0&&iValue<value.length){name+=value.charAt(iValue++);for(var i=0;i<names.length;i++){if(name==names[i]){return i+1}}size--}throw"Unknown name at position "+iInit};var checkLiteral=function(){if(value.charAt(iValue)!=format.charAt(iFormat)){throw"Unexpected literal at position "+iValue}iValue++};var iValue=0;for(var iFormat=0;iFormat<format.length;iFormat++){if(literal){if(format.charAt(iFormat)=="'"&&!lookAhead("'")){literal=false}else{checkLiteral()}}else{switch(format.charAt(iFormat)){case"d":day=getNumber("d");break;case"D":getName("D",dayNamesShort,dayNames);break;case"o":doy=getNumber("o");break;case"m":month=getNumber("m");break;case"M":month=getName("M",monthNamesShort,monthNames);break;case"y":year=getNumber("y");break;case"@":var date=new Date(getNumber("@"));year=date.getFullYear();month=date.getMonth()+1;day=date.getDate();break;case"'":if(lookAhead("'")){checkLiteral()}else{literal=true}break;default:checkLiteral()}}}if(year==-1){year=new Date().getFullYear()}else{if(year<100){year+=new Date().getFullYear()-new Date().getFullYear()%100+(year<=shortYearCutoff?0:-100)}}if(doy>-1){month=1;day=doy;do{var dim=this._getDaysInMonth(year,month-1);if(day<=dim){break}month++;day-=dim}while(true)}var date=this._daylightSavingAdjust(new Date(year,month-1,day));if(date.getFullYear()!=year||date.getMonth()+1!=month||date.getDate()!=day){throw"Invalid date"}return date},ATOM:"yy-mm-dd",COOKIE:"D, dd M yy",ISO_8601:"yy-mm-dd",RFC_822:"D, d M y",RFC_850:"DD, dd-M-y",RFC_1036:"D, d M y",RFC_1123:"D, d M yy",RFC_2822:"D, d M yy",RSS:"D, d M y",TIMESTAMP:"@",W3C:"yy-mm-dd",formatDate:function(format,date,settings){if(!date){return""}var dayNamesShort=(settings?settings.dayNamesShort:null)||this._defaults.dayNamesShort;var dayNames=(settings?settings.dayNames:null)||this._defaults.dayNames;var monthNamesShort=(settings?settings.monthNamesShort:null)||this._defaults.monthNamesShort;var monthNames=(settings?settings.monthNames:null)||this._defaults.monthNames;var lookAhead=function(match){var matches=(iFormat+1<format.length&&format.charAt(iFormat+1)==match);if(matches){iFormat++}return matches};var formatNumber=function(match,value,len){var num=""+value;if(lookAhead(match)){while(num.length<len){num="0"+num}}return num};var formatName=function(match,value,shortNames,longNames){return(lookAhead(match)?longNames[value]:shortNames[value])};var output="";var literal=false;if(date){for(var iFormat=0;iFormat<format.length;iFormat++){if(literal){if(format.charAt(iFormat)=="'"&&!lookAhead("'")){literal=false}else{output+=format.charAt(iFormat)}}else{switch(format.charAt(iFormat)){case"d":output+=formatNumber("d",date.getDate(),2);break;case"D":output+=formatName("D",date.getDay(),dayNamesShort,dayNames);break;case"o":var doy=date.getDate();for(var m=date.getMonth()-1;m>=0;m--){doy+=this._getDaysInMonth(date.getFullYear(),m)}output+=formatNumber("o",doy,3);break;case"m":output+=formatNumber("m",date.getMonth()+1,2);break;case"M":output+=formatName("M",date.getMonth(),monthNamesShort,monthNames);break;case"y":output+=(lookAhead("y")?date.getFullYear():(date.getYear()%100<10?"0":"")+date.getYear()%100);break;case"@":output+=date.getTime();break;case"'":if(lookAhead("'")){output+="'"}else{literal=true}break;default:output+=format.charAt(iFormat)}}}}return output},_possibleChars:function(format){var chars="";var literal=false;for(var iFormat=0;iFormat<format.length;iFormat++){if(literal){if(format.charAt(iFormat)=="'"&&!lookAhead("'")){literal=false}else{chars+=format.charAt(iFormat)}}else{switch(format.charAt(iFormat)){case"d":case"m":case"y":case"@":chars+="0123456789";break;case"D":case"M":return null;case"'":if(lookAhead("'")){chars+="'"}else{literal=true}break;default:chars+=format.charAt(iFormat)}}}return chars},_get:function(inst,name){return inst.settings[name]!==undefined?inst.settings[name]:this._defaults[name]},_setDateFromField:function(inst){var dateFormat=this._get(inst,"dateFormat");var dates=inst.input?inst.input.val():null;inst.endDay=inst.endMonth=inst.endYear=null;var date=defaultDate=this._getDefaultDate(inst);var settings=this._getFormatConfig(inst);try{date=this.parseDate(dateFormat,dates,settings)||defaultDate}catch(event){this.log(event);date=defaultDate}inst.selectedDay=date.getDate();inst.drawMonth=inst.selectedMonth=date.getMonth();inst.drawYear=inst.selectedYear=date.getFullYear();inst.currentDay=(dates?date.getDate():0);inst.currentMonth=(dates?date.getMonth():0);inst.currentYear=(dates?date.getFullYear():0);this._adjustInstDate(inst)},_getDefaultDate:function(inst){var date=this._determineDate(this._get(inst,"defaultDate"),new Date());var minDate=this._getMinMaxDate(inst,"min",true);var maxDate=this._getMinMaxDate(inst,"max");date=(minDate&&date<minDate?minDate:date);date=(maxDate&&date>maxDate?maxDate:date);return date},_determineDate:function(date,defaultDate){var offsetNumeric=function(offset){var date=new Date();date.setDate(date.getDate()+offset);return date};var offsetString=function(offset,getDaysInMonth){var date=new Date();var year=date.getFullYear();var month=date.getMonth();var day=date.getDate();var pattern=/([+-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g;var matches=pattern.exec(offset);while(matches){switch(matches[2]||"d"){case"d":case"D":day+=parseInt(matches[1],10);break;case"w":case"W":day+=parseInt(matches[1],10)*7;break;case"m":case"M":month+=parseInt(matches[1],10);day=Math.min(day,getDaysInMonth(year,month));break;case"y":case"Y":year+=parseInt(matches[1],10);day=Math.min(day,getDaysInMonth(year,month));break}matches=pattern.exec(offset)}return new Date(year,month,day)};date=(date==null?defaultDate:(typeof date=="string"?offsetString(date,this._getDaysInMonth):(typeof date=="number"?(isNaN(date)?defaultDate:offsetNumeric(date)):date)));date=(date&&date.toString()=="Invalid Date"?defaultDate:date);if(date){date.setHours(0);date.setMinutes(0);date.setSeconds(0);date.setMilliseconds(0)}return this._daylightSavingAdjust(date)},_daylightSavingAdjust:function(date){if(!date){return null}date.setHours(date.getHours()>12?date.getHours()+2:0);return date},_setDate:function(inst,date,endDate){var clear=!(date);var origMonth=inst.selectedMonth;var origYear=inst.selectedYear;date=this._determineDate(date,new Date());inst.selectedDay=inst.currentDay=date.getDate();inst.drawMonth=inst.selectedMonth=inst.currentMonth=date.getMonth();inst.drawYear=inst.selectedYear=inst.currentYear=date.getFullYear();if(origMonth!=inst.selectedMonth||origYear!=inst.selectedYear){this._notifyChange(inst)}this._adjustInstDate(inst);if(inst.input){inst.input.val(clear?"":this._formatDate(inst))}},_getDate:function(inst){var startDate=(!inst.currentYear||(inst.input&&inst.input.val()=="")?null:this._daylightSavingAdjust(new Date(inst.currentYear,inst.currentMonth,inst.currentDay)));return startDate},_generateHTML:function(inst){var today=new Date();today=this._daylightSavingAdjust(new Date(today.getFullYear(),today.getMonth(),today.getDate()));var isRTL=this._get(inst,"isRTL");var showButtonPanel=this._get(inst,"showButtonPanel");var hideIfNoPrevNext=this._get(inst,"hideIfNoPrevNext");var navigationAsDateFormat=this._get(inst,"navigationAsDateFormat");var numMonths=this._getNumberOfMonths(inst);var showCurrentAtPos=this._get(inst,"showCurrentAtPos");var stepMonths=this._get(inst,"stepMonths");var stepBigMonths=this._get(inst,"stepBigMonths");var isMultiMonth=(numMonths[0]!=1||numMonths[1]!=1);var currentDate=this._daylightSavingAdjust((!inst.currentDay?new Date(9999,9,9):new Date(inst.currentYear,inst.currentMonth,inst.currentDay)));var minDate=this._getMinMaxDate(inst,"min",true);var maxDate=this._getMinMaxDate(inst,"max");var drawMonth=inst.drawMonth-showCurrentAtPos;var drawYear=inst.drawYear;if(drawMonth<0){drawMonth+=12;drawYear--}if(maxDate){var maxDraw=this._daylightSavingAdjust(new Date(maxDate.getFullYear(),maxDate.getMonth()-numMonths[1]+1,maxDate.getDate()));maxDraw=(minDate&&maxDraw<minDate?minDate:maxDraw);while(this._daylightSavingAdjust(new Date(drawYear,drawMonth,1))>maxDraw){drawMonth--;if(drawMonth<0){drawMonth=11;drawYear--}}}inst.drawMonth=drawMonth;inst.drawYear=drawYear;var prevText=this._get(inst,"prevText");prevText=(!navigationAsDateFormat?prevText:this.formatDate(prevText,this._daylightSavingAdjust(new Date(drawYear,drawMonth-stepMonths,1)),this._getFormatConfig(inst)));var prev=(this._canAdjustMonth(inst,-1,drawYear,drawMonth)?'<a class="ui-datepicker-prev ui-corner-all" onclick="DP_jQuery.datepicker._adjustDate(\'#'+inst.id+"', -"+stepMonths+", 'M');\" title=\""+prevText+'"><span class="ui-icon ui-icon-circle-triangle-'+(isRTL?"e":"w")+'">'+prevText+"</span></a>":(hideIfNoPrevNext?"":'<a class="ui-datepicker-prev ui-corner-all ui-state-disabled" title="'+prevText+'"><span class="ui-icon ui-icon-circle-triangle-'+(isRTL?"e":"w")+'">'+prevText+"</span></a>"));var nextText=this._get(inst,"nextText");nextText=(!navigationAsDateFormat?nextText:this.formatDate(nextText,this._daylightSavingAdjust(new Date(drawYear,drawMonth+stepMonths,1)),this._getFormatConfig(inst)));var next=(this._canAdjustMonth(inst,+1,drawYear,drawMonth)?'<a class="ui-datepicker-next ui-corner-all" onclick="DP_jQuery.datepicker._adjustDate(\'#'+inst.id+"', +"+stepMonths+", 'M');\" title=\""+nextText+'"><span class="ui-icon ui-icon-circle-triangle-'+(isRTL?"w":"e")+'">'+nextText+"</span></a>":(hideIfNoPrevNext?"":'<a class="ui-datepicker-next ui-corner-all ui-state-disabled" title="'+nextText+'"><span class="ui-icon ui-icon-circle-triangle-'+(isRTL?"w":"e")+'">'+nextText+"</span></a>"));var currentText=this._get(inst,"currentText");var gotoDate=(this._get(inst,"gotoCurrent")&&inst.currentDay?currentDate:today);currentText=(!navigationAsDateFormat?currentText:this.formatDate(currentText,gotoDate,this._getFormatConfig(inst)));var controls=(!inst.inline?'<button type="button" class="ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all" onclick="DP_jQuery.datepicker._hideDatepicker();">'+this._get(inst,"closeText")+"</button>":"");var buttonPanel=(showButtonPanel)?'<div class="ui-datepicker-buttonpane ui-widget-content">'+(isRTL?controls:"")+(this._isInRange(inst,gotoDate)?'<button type="button" class="ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all" onclick="DP_jQuery.datepicker._gotoToday(\'#'+inst.id+"');\">"+currentText+"</button>":"")+(isRTL?"":controls)+"</div>":"";var firstDay=parseInt(this._get(inst,"firstDay"),10);firstDay=(isNaN(firstDay)?0:firstDay);var dayNames=this._get(inst,"dayNames");var dayNamesShort=this._get(inst,"dayNamesShort");var dayNamesMin=this._get(inst,"dayNamesMin");var monthNames=this._get(inst,"monthNames");var monthNamesShort=this._get(inst,"monthNamesShort");var beforeShowDay=this._get(inst,"beforeShowDay");var showOtherMonths=this._get(inst,"showOtherMonths");var calculateWeek=this._get(inst,"calculateWeek")||this.iso8601Week;var endDate=inst.endDay?this._daylightSavingAdjust(new Date(inst.endYear,inst.endMonth,inst.endDay)):currentDate;var defaultDate=this._getDefaultDate(inst);var html="";for(var row=0;row<numMonths[0];row++){var group="";for(var col=0;col<numMonths[1];col++){var selectedDate=this._daylightSavingAdjust(new Date(drawYear,drawMonth,inst.selectedDay));var cornerClass=" ui-corner-all";var calender="";if(isMultiMonth){calender+='<div class="ui-datepicker-group ui-datepicker-group-';switch(col){case 0:calender+="first";cornerClass=" ui-corner-"+(isRTL?"right":"left");break;case numMonths[1]-1:calender+="last";cornerClass=" ui-corner-"+(isRTL?"left":"right");break;default:calender+="middle";cornerClass="";break}calender+='">'}calender+='<div class="ui-datepicker-header ui-widget-header ui-helper-clearfix'+cornerClass+'">'+(/all|left/.test(cornerClass)&&row==0?(isRTL?next:prev):"")+(/all|right/.test(cornerClass)&&row==0?(isRTL?prev:next):"")+this._generateMonthYearHeader(inst,drawMonth,drawYear,minDate,maxDate,selectedDate,row>0||col>0,monthNames,monthNamesShort)+'</div><table class="ui-datepicker-calendar"><thead><tr>';var thead="";for(var dow=0;dow<7;dow++){var day=(dow+firstDay)%7;thead+="<th"+((dow+firstDay+6)%7>=5?' class="ui-datepicker-week-end"':"")+'><span title="'+dayNames[day]+'">'+dayNamesMin[day]+"</span></th>"}calender+=thead+"</tr></thead><tbody>";var daysInMonth=this._getDaysInMonth(drawYear,drawMonth);if(drawYear==inst.selectedYear&&drawMonth==inst.selectedMonth){inst.selectedDay=Math.min(inst.selectedDay,daysInMonth)}var leadDays=(this._getFirstDayOfMonth(drawYear,drawMonth)-firstDay+7)%7;var numRows=(isMultiMonth?6:Math.ceil((leadDays+daysInMonth)/7));var printDate=this._daylightSavingAdjust(new Date(drawYear,drawMonth,1-leadDays));for(var dRow=0;dRow<numRows;dRow++){calender+="<tr>";var tbody="";for(var dow=0;dow<7;dow++){var daySettings=(beforeShowDay?beforeShowDay.apply((inst.input?inst.input[0]:null),[printDate]):[true,""]);var otherMonth=(printDate.getMonth()!=drawMonth);var unselectable=otherMonth||!daySettings[0]||(minDate&&printDate<minDate)||(maxDate&&printDate>maxDate);tbody+='<td class="'+((dow+firstDay+6)%7>=5?" ui-datepicker-week-end":"")+(otherMonth?" ui-datepicker-other-month":"")+((printDate.getTime()==selectedDate.getTime()&&drawMonth==inst.selectedMonth&&inst._keyEvent)||(defaultDate.getTime()==printDate.getTime()&&defaultDate.getTime()==selectedDate.getTime())?" "+this._dayOverClass:"")+(unselectable?" "+this._unselectableClass+" ui-state-disabled":"")+(otherMonth&&!showOtherMonths?"":" "+daySettings[1]+(printDate.getTime()>=currentDate.getTime()&&printDate.getTime()<=endDate.getTime()?" "+this._currentClass:"")+(printDate.getTime()==today.getTime()?" ui-datepicker-today":""))+'"'+((!otherMonth||showOtherMonths)&&daySettings[2]?' title="'+daySettings[2]+'"':"")+(unselectable?"":" onclick=\"DP_jQuery.datepicker._selectDay('#"+inst.id+"',"+drawMonth+","+drawYear+', this);return false;"')+">"+(otherMonth?(showOtherMonths?printDate.getDate():"&#xa0;"):(unselectable?'<span class="ui-state-default">'+printDate.getDate()+"</span>":'<a class="ui-state-default'+(printDate.getTime()==today.getTime()?" ui-state-highlight":"")+(printDate.getTime()>=currentDate.getTime()&&printDate.getTime()<=endDate.getTime()?" ui-state-active":"")+'" href="#">'+printDate.getDate()+"</a>"))+"</td>";printDate.setDate(printDate.getDate()+1);printDate=this._daylightSavingAdjust(printDate)}calender+=tbody+"</tr>"}drawMonth++;if(drawMonth>11){drawMonth=0;drawYear++}calender+="</tbody></table>"+(isMultiMonth?"</div>"+((numMonths[0]>0&&col==numMonths[1]-1)?'<div class="ui-datepicker-row-break"></div>':""):"");group+=calender}html+=group}html+=buttonPanel+($.browser.msie&&parseInt($.browser.version,10)<7&&!inst.inline?'<iframe src="javascript:false;" class="ui-datepicker-cover" frameborder="0"></iframe>':"");inst._keyEvent=false;return html},_generateMonthYearHeader:function(inst,drawMonth,drawYear,minDate,maxDate,selectedDate,secondary,monthNames,monthNamesShort){minDate=(inst.rangeStart&&minDate&&selectedDate<minDate?selectedDate:minDate);var changeMonth=this._get(inst,"changeMonth");var changeYear=this._get(inst,"changeYear");var showMonthAfterYear=this._get(inst,"showMonthAfterYear");var html='<div class="ui-datepicker-title">';var monthHtml="";if(secondary||!changeMonth){monthHtml+='<span class="ui-datepicker-month">'+monthNames[drawMonth]+"</span> "}else{var inMinYear=(minDate&&minDate.getFullYear()==drawYear);var inMaxYear=(maxDate&&maxDate.getFullYear()==drawYear);monthHtml+='<select class="ui-datepicker-month" onchange="DP_jQuery.datepicker._selectMonthYear(\'#'+inst.id+"', this, 'M');\" onclick=\"DP_jQuery.datepicker._clickMonthYear('#"+inst.id+"');\">";for(var month=0;month<12;month++){if((!inMinYear||month>=minDate.getMonth())&&(!inMaxYear||month<=maxDate.getMonth())){monthHtml+='<option value="'+month+'"'+(month==drawMonth?' selected="selected"':"")+">"+monthNamesShort[month]+"</option>"}}monthHtml+="</select>"}if(!showMonthAfterYear){html+=monthHtml+((secondary||changeMonth||changeYear)&&(!(changeMonth&&changeYear))?"&#xa0;":"")}if(secondary||!changeYear){html+='<span class="ui-datepicker-year">'+drawYear+"</span>"}else{var years=this._get(inst,"yearRange").split(":");var year=0;var endYear=0;if(years.length!=2){year=drawYear-10;endYear=drawYear+10}else{if(years[0].charAt(0)=="+"||years[0].charAt(0)=="-"){year=drawYear+parseInt(years[0],10);endYear=drawYear+parseInt(years[1],10)}else{year=parseInt(years[0],10);endYear=parseInt(years[1],10)}}year=(minDate?Math.max(year,minDate.getFullYear()):year);endYear=(maxDate?Math.min(endYear,maxDate.getFullYear()):endYear);html+='<select class="ui-datepicker-year" onchange="DP_jQuery.datepicker._selectMonthYear(\'#'+inst.id+"', this, 'Y');\" onclick=\"DP_jQuery.datepicker._clickMonthYear('#"+inst.id+"');\">";for(;year<=endYear;year++){html+='<option value="'+year+'"'+(year==drawYear?' selected="selected"':"")+">"+year+"</option>"}html+="</select>"}if(showMonthAfterYear){html+=(secondary||changeMonth||changeYear?"&#xa0;":"")+monthHtml}html+="</div>";return html},_adjustInstDate:function(inst,offset,period){var year=inst.drawYear+(period=="Y"?offset:0);var month=inst.drawMonth+(period=="M"?offset:0);var day=Math.min(inst.selectedDay,this._getDaysInMonth(year,month))+(period=="D"?offset:0);var date=this._daylightSavingAdjust(new Date(year,month,day));var minDate=this._getMinMaxDate(inst,"min",true);var maxDate=this._getMinMaxDate(inst,"max");date=(minDate&&date<minDate?minDate:date);date=(maxDate&&date>maxDate?maxDate:date);inst.selectedDay=date.getDate();inst.drawMonth=inst.selectedMonth=date.getMonth();inst.drawYear=inst.selectedYear=date.getFullYear();if(period=="M"||period=="Y"){this._notifyChange(inst)}},_notifyChange:function(inst){var onChange=this._get(inst,"onChangeMonthYear");if(onChange){onChange.apply((inst.input?inst.input[0]:null),[inst.selectedYear,inst.selectedMonth+1,inst])}},_getNumberOfMonths:function(inst){var numMonths=this._get(inst,"numberOfMonths");return(numMonths==null?[1,1]:(typeof numMonths=="number"?[1,numMonths]:numMonths))},_getMinMaxDate:function(inst,minMax,checkRange){var date=this._determineDate(this._get(inst,minMax+"Date"),null);return(!checkRange||!inst.rangeStart?date:(!date||inst.rangeStart>date?inst.rangeStart:date))},_getDaysInMonth:function(year,month){return 32-new Date(year,month,32).getDate()},_getFirstDayOfMonth:function(year,month){return new Date(year,month,1).getDay()},_canAdjustMonth:function(inst,offset,curYear,curMonth){var numMonths=this._getNumberOfMonths(inst);var date=this._daylightSavingAdjust(new Date(curYear,curMonth+(offset<0?offset:numMonths[1]),1));if(offset<0){date.setDate(this._getDaysInMonth(date.getFullYear(),date.getMonth()))}return this._isInRange(inst,date)},_isInRange:function(inst,date){var newMinDate=(!inst.rangeStart?null:this._daylightSavingAdjust(new Date(inst.selectedYear,inst.selectedMonth,inst.selectedDay)));newMinDate=(newMinDate&&inst.rangeStart<newMinDate?inst.rangeStart:newMinDate);var minDate=newMinDate||this._getMinMaxDate(inst,"min");var maxDate=this._getMinMaxDate(inst,"max");return((!minDate||date>=minDate)&&(!maxDate||date<=maxDate))},_getFormatConfig:function(inst){var shortYearCutoff=this._get(inst,"shortYearCutoff");shortYearCutoff=(typeof shortYearCutoff!="string"?shortYearCutoff:new Date().getFullYear()%100+parseInt(shortYearCutoff,10));return{shortYearCutoff:shortYearCutoff,dayNamesShort:this._get(inst,"dayNamesShort"),dayNames:this._get(inst,"dayNames"),monthNamesShort:this._get(inst,"monthNamesShort"),monthNames:this._get(inst,"monthNames")}},_formatDate:function(inst,day,month,year){if(!day){inst.currentDay=inst.selectedDay;inst.currentMonth=inst.selectedMonth;inst.currentYear=inst.selectedYear}var date=(day?(typeof day=="object"?day:this._daylightSavingAdjust(new Date(year,month,day))):this._daylightSavingAdjust(new Date(inst.currentYear,inst.currentMonth,inst.currentDay)));return this.formatDate(this._get(inst,"dateFormat"),date,this._getFormatConfig(inst))}});function extendRemove(target,props){$.extend(target,props);for(var name in props){if(props[name]==null||props[name]==undefined){target[name]=props[name]}}return target}function isArray(a){return(a&&(($.browser.safari&&typeof a=="object"&&a.length)||(a.constructor&&a.constructor.toString().match(/\Array\(\)/))))}$.fn.datepicker=function(options){if(!$.datepicker.initialized){$(document).mousedown($.datepicker._checkExternalClick).find("body").append($.datepicker.dpDiv);$.datepicker.initialized=true}var otherArgs=Array.prototype.slice.call(arguments,1);if(typeof options=="string"&&(options=="isDisabled"||options=="getDate")){return $.datepicker["_"+options+"Datepicker"].apply($.datepicker,[this[0]].concat(otherArgs))}if(options=="option"&&arguments.length==2&&typeof arguments[1]=="string"){return $.datepicker["_"+options+"Datepicker"].apply($.datepicker,[this[0]].concat(otherArgs))}return this.each(function(){typeof options=="string"?$.datepicker["_"+options+"Datepicker"].apply($.datepicker,[this].concat(otherArgs)):$.datepicker._attachDatepicker(this,options)})};$.datepicker=new Datepicker();$.datepicker.initialized=false;$.datepicker.uuid=new Date().getTime();$.datepicker.version="1.7.2";window.DP_jQuery=$})(jQuery);;/*
 * jQuery UI Progressbar 1.7.2
 *
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Progressbar
 *
 * Depends:
 *   ui.core.js
 */
(function(a){a.widget("ui.progressbar",{_init:function(){this.element.addClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").attr({role:"progressbar","aria-valuemin":this._valueMin(),"aria-valuemax":this._valueMax(),"aria-valuenow":this._value()});this.valueDiv=a('<div class="ui-progressbar-value ui-widget-header ui-corner-left"></div>').appendTo(this.element);this._refreshValue()},destroy:function(){this.element.removeClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").removeAttr("role").removeAttr("aria-valuemin").removeAttr("aria-valuemax").removeAttr("aria-valuenow").removeData("progressbar").unbind(".progressbar");this.valueDiv.remove();a.widget.prototype.destroy.apply(this,arguments)},value:function(b){if(b===undefined){return this._value()}this._setData("value",b);return this},_setData:function(b,c){switch(b){case"value":this.options.value=c;this._refreshValue();this._trigger("change",null,{});break}a.widget.prototype._setData.apply(this,arguments)},_value:function(){var b=this.options.value;if(b<this._valueMin()){b=this._valueMin()}if(b>this._valueMax()){b=this._valueMax()}return b},_valueMin:function(){var b=0;return b},_valueMax:function(){var b=100;return b},_refreshValue:function(){var b=this.value();this.valueDiv[b==this._valueMax()?"addClass":"removeClass"]("ui-corner-right");this.valueDiv.width(b+"%");this.element.attr("aria-valuenow",b)}});a.extend(a.ui.progressbar,{version:"1.7.2",defaults:{value:0}})})(jQuery);;/*
 * jQuery UI Effects 1.7.2
 *
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Effects/
 */
jQuery.effects||(function(d){d.effects={version:"1.7.2",save:function(g,h){for(var f=0;f<h.length;f++){if(h[f]!==null){g.data("ec.storage."+h[f],g[0].style[h[f]])}}},restore:function(g,h){for(var f=0;f<h.length;f++){if(h[f]!==null){g.css(h[f],g.data("ec.storage."+h[f]))}}},setMode:function(f,g){if(g=="toggle"){g=f.is(":hidden")?"show":"hide"}return g},getBaseline:function(g,h){var i,f;switch(g[0]){case"top":i=0;break;case"middle":i=0.5;break;case"bottom":i=1;break;default:i=g[0]/h.height}switch(g[1]){case"left":f=0;break;case"center":f=0.5;break;case"right":f=1;break;default:f=g[1]/h.width}return{x:f,y:i}},createWrapper:function(f){if(f.parent().is(".ui-effects-wrapper")){return f.parent()}var g={width:f.outerWidth(true),height:f.outerHeight(true),"float":f.css("float")};f.wrap('<div class="ui-effects-wrapper" style="font-size:100%;background:transparent;border:none;margin:0;padding:0"></div>');var j=f.parent();if(f.css("position")=="static"){j.css({position:"relative"});f.css({position:"relative"})}else{var i=f.css("top");if(isNaN(parseInt(i,10))){i="auto"}var h=f.css("left");if(isNaN(parseInt(h,10))){h="auto"}j.css({position:f.css("position"),top:i,left:h,zIndex:f.css("z-index")}).show();f.css({position:"relative",top:0,left:0})}j.css(g);return j},removeWrapper:function(f){if(f.parent().is(".ui-effects-wrapper")){return f.parent().replaceWith(f)}return f},setTransition:function(g,i,f,h){h=h||{};d.each(i,function(k,j){unit=g.cssUnit(j);if(unit[0]>0){h[j]=unit[0]*f+unit[1]}});return h},animateClass:function(h,i,k,j){var f=(typeof k=="function"?k:(j?j:null));var g=(typeof k=="string"?k:null);return this.each(function(){var q={};var o=d(this);var p=o.attr("style")||"";if(typeof p=="object"){p=p.cssText}if(h.toggle){o.hasClass(h.toggle)?h.remove=h.toggle:h.add=h.toggle}var l=d.extend({},(document.defaultView?document.defaultView.getComputedStyle(this,null):this.currentStyle));if(h.add){o.addClass(h.add)}if(h.remove){o.removeClass(h.remove)}var m=d.extend({},(document.defaultView?document.defaultView.getComputedStyle(this,null):this.currentStyle));if(h.add){o.removeClass(h.add)}if(h.remove){o.addClass(h.remove)}for(var r in m){if(typeof m[r]!="function"&&m[r]&&r.indexOf("Moz")==-1&&r.indexOf("length")==-1&&m[r]!=l[r]&&(r.match(/color/i)||(!r.match(/color/i)&&!isNaN(parseInt(m[r],10))))&&(l.position!="static"||(l.position=="static"&&!r.match(/left|top|bottom|right/)))){q[r]=m[r]}}o.animate(q,i,g,function(){if(typeof d(this).attr("style")=="object"){d(this).attr("style")["cssText"]="";d(this).attr("style")["cssText"]=p}else{d(this).attr("style",p)}if(h.add){d(this).addClass(h.add)}if(h.remove){d(this).removeClass(h.remove)}if(f){f.apply(this,arguments)}})})}};function c(g,f){var i=g[1]&&g[1].constructor==Object?g[1]:{};if(f){i.mode=f}var h=g[1]&&g[1].constructor!=Object?g[1]:(i.duration?i.duration:g[2]);h=d.fx.off?0:typeof h==="number"?h:d.fx.speeds[h]||d.fx.speeds._default;var j=i.callback||(d.isFunction(g[1])&&g[1])||(d.isFunction(g[2])&&g[2])||(d.isFunction(g[3])&&g[3]);return[g[0],i,h,j]}d.fn.extend({_show:d.fn.show,_hide:d.fn.hide,__toggle:d.fn.toggle,_addClass:d.fn.addClass,_removeClass:d.fn.removeClass,_toggleClass:d.fn.toggleClass,effect:function(g,f,h,i){return d.effects[g]?d.effects[g].call(this,{method:g,options:f||{},duration:h,callback:i}):null},show:function(){if(!arguments[0]||(arguments[0].constructor==Number||(/(slow|normal|fast)/).test(arguments[0]))){return this._show.apply(this,arguments)}else{return this.effect.apply(this,c(arguments,"show"))}},hide:function(){if(!arguments[0]||(arguments[0].constructor==Number||(/(slow|normal|fast)/).test(arguments[0]))){return this._hide.apply(this,arguments)}else{return this.effect.apply(this,c(arguments,"hide"))}},toggle:function(){if(!arguments[0]||(arguments[0].constructor==Number||(/(slow|normal|fast)/).test(arguments[0]))||(d.isFunction(arguments[0])||typeof arguments[0]=="boolean")){return this.__toggle.apply(this,arguments)}else{return this.effect.apply(this,c(arguments,"toggle"))}},addClass:function(g,f,i,h){return f?d.effects.animateClass.apply(this,[{add:g},f,i,h]):this._addClass(g)},removeClass:function(g,f,i,h){return f?d.effects.animateClass.apply(this,[{remove:g},f,i,h]):this._removeClass(g)},toggleClass:function(g,f,i,h){return((typeof f!=="boolean")&&f)?d.effects.animateClass.apply(this,[{toggle:g},f,i,h]):this._toggleClass(g,f)},morph:function(f,h,g,j,i){return d.effects.animateClass.apply(this,[{add:h,remove:f},g,j,i])},switchClass:function(){return this.morph.apply(this,arguments)},cssUnit:function(f){var g=this.css(f),h=[];d.each(["em","px","%","pt"],function(j,k){if(g.indexOf(k)>0){h=[parseFloat(g),k]}});return h}});d.each(["backgroundColor","borderBottomColor","borderLeftColor","borderRightColor","borderTopColor","color","outlineColor"],function(g,f){d.fx.step[f]=function(h){if(h.state==0){h.start=e(h.elem,f);h.end=b(h.end)}h.elem.style[f]="rgb("+[Math.max(Math.min(parseInt((h.pos*(h.end[0]-h.start[0]))+h.start[0],10),255),0),Math.max(Math.min(parseInt((h.pos*(h.end[1]-h.start[1]))+h.start[1],10),255),0),Math.max(Math.min(parseInt((h.pos*(h.end[2]-h.start[2]))+h.start[2],10),255),0)].join(",")+")"}});function b(g){var f;if(g&&g.constructor==Array&&g.length==3){return g}if(f=/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(g)){return[parseInt(f[1],10),parseInt(f[2],10),parseInt(f[3],10)]}if(f=/rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(g)){return[parseFloat(f[1])*2.55,parseFloat(f[2])*2.55,parseFloat(f[3])*2.55]}if(f=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(g)){return[parseInt(f[1],16),parseInt(f[2],16),parseInt(f[3],16)]}if(f=/#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(g)){return[parseInt(f[1]+f[1],16),parseInt(f[2]+f[2],16),parseInt(f[3]+f[3],16)]}if(f=/rgba\(0, 0, 0, 0\)/.exec(g)){return a.transparent}return a[d.trim(g).toLowerCase()]}function e(h,f){var g;do{g=d.curCSS(h,f);if(g!=""&&g!="transparent"||d.nodeName(h,"body")){break}f="backgroundColor"}while(h=h.parentNode);return b(g)}var a={aqua:[0,255,255],azure:[240,255,255],beige:[245,245,220],black:[0,0,0],blue:[0,0,255],brown:[165,42,42],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgrey:[169,169,169],darkgreen:[0,100,0],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkviolet:[148,0,211],fuchsia:[255,0,255],gold:[255,215,0],green:[0,128,0],indigo:[75,0,130],khaki:[240,230,140],lightblue:[173,216,230],lightcyan:[224,255,255],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightyellow:[255,255,224],lime:[0,255,0],magenta:[255,0,255],maroon:[128,0,0],navy:[0,0,128],olive:[128,128,0],orange:[255,165,0],pink:[255,192,203],purple:[128,0,128],violet:[128,0,128],red:[255,0,0],silver:[192,192,192],white:[255,255,255],yellow:[255,255,0],transparent:[255,255,255]};d.easing.jswing=d.easing.swing;d.extend(d.easing,{def:"easeOutQuad",swing:function(g,h,f,j,i){return d.easing[d.easing.def](g,h,f,j,i)},easeInQuad:function(g,h,f,j,i){return j*(h/=i)*h+f},easeOutQuad:function(g,h,f,j,i){return -j*(h/=i)*(h-2)+f},easeInOutQuad:function(g,h,f,j,i){if((h/=i/2)<1){return j/2*h*h+f}return -j/2*((--h)*(h-2)-1)+f},easeInCubic:function(g,h,f,j,i){return j*(h/=i)*h*h+f},easeOutCubic:function(g,h,f,j,i){return j*((h=h/i-1)*h*h+1)+f},easeInOutCubic:function(g,h,f,j,i){if((h/=i/2)<1){return j/2*h*h*h+f}return j/2*((h-=2)*h*h+2)+f},easeInQuart:function(g,h,f,j,i){return j*(h/=i)*h*h*h+f},easeOutQuart:function(g,h,f,j,i){return -j*((h=h/i-1)*h*h*h-1)+f},easeInOutQuart:function(g,h,f,j,i){if((h/=i/2)<1){return j/2*h*h*h*h+f}return -j/2*((h-=2)*h*h*h-2)+f},easeInQuint:function(g,h,f,j,i){return j*(h/=i)*h*h*h*h+f},easeOutQuint:function(g,h,f,j,i){return j*((h=h/i-1)*h*h*h*h+1)+f},easeInOutQuint:function(g,h,f,j,i){if((h/=i/2)<1){return j/2*h*h*h*h*h+f}return j/2*((h-=2)*h*h*h*h+2)+f},easeInSine:function(g,h,f,j,i){return -j*Math.cos(h/i*(Math.PI/2))+j+f},easeOutSine:function(g,h,f,j,i){return j*Math.sin(h/i*(Math.PI/2))+f},easeInOutSine:function(g,h,f,j,i){return -j/2*(Math.cos(Math.PI*h/i)-1)+f},easeInExpo:function(g,h,f,j,i){return(h==0)?f:j*Math.pow(2,10*(h/i-1))+f},easeOutExpo:function(g,h,f,j,i){return(h==i)?f+j:j*(-Math.pow(2,-10*h/i)+1)+f},easeInOutExpo:function(g,h,f,j,i){if(h==0){return f}if(h==i){return f+j}if((h/=i/2)<1){return j/2*Math.pow(2,10*(h-1))+f}return j/2*(-Math.pow(2,-10*--h)+2)+f},easeInCirc:function(g,h,f,j,i){return -j*(Math.sqrt(1-(h/=i)*h)-1)+f},easeOutCirc:function(g,h,f,j,i){return j*Math.sqrt(1-(h=h/i-1)*h)+f},easeInOutCirc:function(g,h,f,j,i){if((h/=i/2)<1){return -j/2*(Math.sqrt(1-h*h)-1)+f}return j/2*(Math.sqrt(1-(h-=2)*h)+1)+f},easeInElastic:function(g,i,f,m,l){var j=1.70158;var k=0;var h=m;if(i==0){return f}if((i/=l)==1){return f+m}if(!k){k=l*0.3}if(h<Math.abs(m)){h=m;var j=k/4}else{var j=k/(2*Math.PI)*Math.asin(m/h)}return -(h*Math.pow(2,10*(i-=1))*Math.sin((i*l-j)*(2*Math.PI)/k))+f},easeOutElastic:function(g,i,f,m,l){var j=1.70158;var k=0;var h=m;if(i==0){return f}if((i/=l)==1){return f+m}if(!k){k=l*0.3}if(h<Math.abs(m)){h=m;var j=k/4}else{var j=k/(2*Math.PI)*Math.asin(m/h)}return h*Math.pow(2,-10*i)*Math.sin((i*l-j)*(2*Math.PI)/k)+m+f},easeInOutElastic:function(g,i,f,m,l){var j=1.70158;var k=0;var h=m;if(i==0){return f}if((i/=l/2)==2){return f+m}if(!k){k=l*(0.3*1.5)}if(h<Math.abs(m)){h=m;var j=k/4}else{var j=k/(2*Math.PI)*Math.asin(m/h)}if(i<1){return -0.5*(h*Math.pow(2,10*(i-=1))*Math.sin((i*l-j)*(2*Math.PI)/k))+f}return h*Math.pow(2,-10*(i-=1))*Math.sin((i*l-j)*(2*Math.PI)/k)*0.5+m+f},easeInBack:function(g,h,f,k,j,i){if(i==undefined){i=1.70158}return k*(h/=j)*h*((i+1)*h-i)+f},easeOutBack:function(g,h,f,k,j,i){if(i==undefined){i=1.70158}return k*((h=h/j-1)*h*((i+1)*h+i)+1)+f},easeInOutBack:function(g,h,f,k,j,i){if(i==undefined){i=1.70158}if((h/=j/2)<1){return k/2*(h*h*(((i*=(1.525))+1)*h-i))+f}return k/2*((h-=2)*h*(((i*=(1.525))+1)*h+i)+2)+f},easeInBounce:function(g,h,f,j,i){return j-d.easing.easeOutBounce(g,i-h,0,j,i)+f},easeOutBounce:function(g,h,f,j,i){if((h/=i)<(1/2.75)){return j*(7.5625*h*h)+f}else{if(h<(2/2.75)){return j*(7.5625*(h-=(1.5/2.75))*h+0.75)+f}else{if(h<(2.5/2.75)){return j*(7.5625*(h-=(2.25/2.75))*h+0.9375)+f}else{return j*(7.5625*(h-=(2.625/2.75))*h+0.984375)+f}}}},easeInOutBounce:function(g,h,f,j,i){if(h<i/2){return d.easing.easeInBounce(g,h*2,0,j,i)*0.5+f}return d.easing.easeOutBounce(g,h*2-i,0,j,i)*0.5+j*0.5+f}})})(jQuery);;/*
 * jQuery UI Effects Blind 1.7.2
 *
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Effects/Blind
 *
 * Depends:
 *	effects.core.js
 */
(function(a){a.effects.blind=function(b){return this.queue(function(){var d=a(this),c=["position","top","left"];var h=a.effects.setMode(d,b.options.mode||"hide");var g=b.options.direction||"vertical";a.effects.save(d,c);d.show();var j=a.effects.createWrapper(d).css({overflow:"hidden"});var e=(g=="vertical")?"height":"width";var i=(g=="vertical")?j.height():j.width();if(h=="show"){j.css(e,0)}var f={};f[e]=h=="show"?i:0;j.animate(f,b.duration,b.options.easing,function(){if(h=="hide"){d.hide()}a.effects.restore(d,c);a.effects.removeWrapper(d);if(b.callback){b.callback.apply(d[0],arguments)}d.dequeue()})})}})(jQuery);;/*
 * jQuery UI Effects Bounce 1.7.2
 *
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Effects/Bounce
 *
 * Depends:
 *	effects.core.js
 */
(function(a){a.effects.bounce=function(b){return this.queue(function(){var e=a(this),l=["position","top","left"];var k=a.effects.setMode(e,b.options.mode||"effect");var n=b.options.direction||"up";var c=b.options.distance||20;var d=b.options.times||5;var g=b.duration||250;if(/show|hide/.test(k)){l.push("opacity")}a.effects.save(e,l);e.show();a.effects.createWrapper(e);var f=(n=="up"||n=="down")?"top":"left";var p=(n=="up"||n=="left")?"pos":"neg";var c=b.options.distance||(f=="top"?e.outerHeight({margin:true})/3:e.outerWidth({margin:true})/3);if(k=="show"){e.css("opacity",0).css(f,p=="pos"?-c:c)}if(k=="hide"){c=c/(d*2)}if(k!="hide"){d--}if(k=="show"){var h={opacity:1};h[f]=(p=="pos"?"+=":"-=")+c;e.animate(h,g/2,b.options.easing);c=c/2;d--}for(var j=0;j<d;j++){var o={},m={};o[f]=(p=="pos"?"-=":"+=")+c;m[f]=(p=="pos"?"+=":"-=")+c;e.animate(o,g/2,b.options.easing).animate(m,g/2,b.options.easing);c=(k=="hide")?c*2:c/2}if(k=="hide"){var h={opacity:0};h[f]=(p=="pos"?"-=":"+=")+c;e.animate(h,g/2,b.options.easing,function(){e.hide();a.effects.restore(e,l);a.effects.removeWrapper(e);if(b.callback){b.callback.apply(this,arguments)}})}else{var o={},m={};o[f]=(p=="pos"?"-=":"+=")+c;m[f]=(p=="pos"?"+=":"-=")+c;e.animate(o,g/2,b.options.easing).animate(m,g/2,b.options.easing,function(){a.effects.restore(e,l);a.effects.removeWrapper(e);if(b.callback){b.callback.apply(this,arguments)}})}e.queue("fx",function(){e.dequeue()});e.dequeue()})}})(jQuery);;/*
 * jQuery UI Effects Clip 1.7.2
 *
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Effects/Clip
 *
 * Depends:
 *	effects.core.js
 */
(function(a){a.effects.clip=function(b){return this.queue(function(){var f=a(this),j=["position","top","left","height","width"];var i=a.effects.setMode(f,b.options.mode||"hide");var k=b.options.direction||"vertical";a.effects.save(f,j);f.show();var c=a.effects.createWrapper(f).css({overflow:"hidden"});var e=f[0].tagName=="IMG"?c:f;var g={size:(k=="vertical")?"height":"width",position:(k=="vertical")?"top":"left"};var d=(k=="vertical")?e.height():e.width();if(i=="show"){e.css(g.size,0);e.css(g.position,d/2)}var h={};h[g.size]=i=="show"?d:0;h[g.position]=i=="show"?0:d/2;e.animate(h,{queue:false,duration:b.duration,easing:b.options.easing,complete:function(){if(i=="hide"){f.hide()}a.effects.restore(f,j);a.effects.removeWrapper(f);if(b.callback){b.callback.apply(f[0],arguments)}f.dequeue()}})})}})(jQuery);;/*
 * jQuery UI Effects Drop 1.7.2
 *
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Effects/Drop
 *
 * Depends:
 *	effects.core.js
 */
(function(a){a.effects.drop=function(b){return this.queue(function(){var e=a(this),d=["position","top","left","opacity"];var i=a.effects.setMode(e,b.options.mode||"hide");var h=b.options.direction||"left";a.effects.save(e,d);e.show();a.effects.createWrapper(e);var f=(h=="up"||h=="down")?"top":"left";var c=(h=="up"||h=="left")?"pos":"neg";var j=b.options.distance||(f=="top"?e.outerHeight({margin:true})/2:e.outerWidth({margin:true})/2);if(i=="show"){e.css("opacity",0).css(f,c=="pos"?-j:j)}var g={opacity:i=="show"?1:0};g[f]=(i=="show"?(c=="pos"?"+=":"-="):(c=="pos"?"-=":"+="))+j;e.animate(g,{queue:false,duration:b.duration,easing:b.options.easing,complete:function(){if(i=="hide"){e.hide()}a.effects.restore(e,d);a.effects.removeWrapper(e);if(b.callback){b.callback.apply(this,arguments)}e.dequeue()}})})}})(jQuery);;/*
 * jQuery UI Effects Explode 1.7.2
 *
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Effects/Explode
 *
 * Depends:
 *	effects.core.js
 */
(function(a){a.effects.explode=function(b){return this.queue(function(){var k=b.options.pieces?Math.round(Math.sqrt(b.options.pieces)):3;var e=b.options.pieces?Math.round(Math.sqrt(b.options.pieces)):3;b.options.mode=b.options.mode=="toggle"?(a(this).is(":visible")?"hide":"show"):b.options.mode;var h=a(this).show().css("visibility","hidden");var l=h.offset();l.top-=parseInt(h.css("marginTop"),10)||0;l.left-=parseInt(h.css("marginLeft"),10)||0;var g=h.outerWidth(true);var c=h.outerHeight(true);for(var f=0;f<k;f++){for(var d=0;d<e;d++){h.clone().appendTo("body").wrap("<div></div>").css({position:"absolute",visibility:"visible",left:-d*(g/e),top:-f*(c/k)}).parent().addClass("ui-effects-explode").css({position:"absolute",overflow:"hidden",width:g/e,height:c/k,left:l.left+d*(g/e)+(b.options.mode=="show"?(d-Math.floor(e/2))*(g/e):0),top:l.top+f*(c/k)+(b.options.mode=="show"?(f-Math.floor(k/2))*(c/k):0),opacity:b.options.mode=="show"?0:1}).animate({left:l.left+d*(g/e)+(b.options.mode=="show"?0:(d-Math.floor(e/2))*(g/e)),top:l.top+f*(c/k)+(b.options.mode=="show"?0:(f-Math.floor(k/2))*(c/k)),opacity:b.options.mode=="show"?1:0},b.duration||500)}}setTimeout(function(){b.options.mode=="show"?h.css({visibility:"visible"}):h.css({visibility:"visible"}).hide();if(b.callback){b.callback.apply(h[0])}h.dequeue();a("div.ui-effects-explode").remove()},b.duration||500)})}})(jQuery);;/*
 * jQuery UI Effects Fold 1.7.2
 *
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Effects/Fold
 *
 * Depends:
 *	effects.core.js
 */
(function(a){a.effects.fold=function(b){return this.queue(function(){var e=a(this),k=["position","top","left"];var h=a.effects.setMode(e,b.options.mode||"hide");var o=b.options.size||15;var n=!(!b.options.horizFirst);var g=b.duration?b.duration/2:a.fx.speeds._default/2;a.effects.save(e,k);e.show();var d=a.effects.createWrapper(e).css({overflow:"hidden"});var i=((h=="show")!=n);var f=i?["width","height"]:["height","width"];var c=i?[d.width(),d.height()]:[d.height(),d.width()];var j=/([0-9]+)%/.exec(o);if(j){o=parseInt(j[1],10)/100*c[h=="hide"?0:1]}if(h=="show"){d.css(n?{height:0,width:o}:{height:o,width:0})}var m={},l={};m[f[0]]=h=="show"?c[0]:o;l[f[1]]=h=="show"?c[1]:0;d.animate(m,g,b.options.easing).animate(l,g,b.options.easing,function(){if(h=="hide"){e.hide()}a.effects.restore(e,k);a.effects.removeWrapper(e);if(b.callback){b.callback.apply(e[0],arguments)}e.dequeue()})})}})(jQuery);;/*
 * jQuery UI Effects Highlight 1.7.2
 *
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Effects/Highlight
 *
 * Depends:
 *	effects.core.js
 */
(function(a){a.effects.highlight=function(b){return this.queue(function(){var e=a(this),d=["backgroundImage","backgroundColor","opacity"];var h=a.effects.setMode(e,b.options.mode||"show");var c=b.options.color||"#ffff99";var g=e.css("backgroundColor");a.effects.save(e,d);e.show();e.css({backgroundImage:"none",backgroundColor:c});var f={backgroundColor:g};if(h=="hide"){f.opacity=0}e.animate(f,{queue:false,duration:b.duration,easing:b.options.easing,complete:function(){if(h=="hide"){e.hide()}a.effects.restore(e,d);if(h=="show"&&a.browser.msie){this.style.removeAttribute("filter")}if(b.callback){b.callback.apply(this,arguments)}e.dequeue()}})})}})(jQuery);;/*
 * jQuery UI Effects Pulsate 1.7.2
 *
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Effects/Pulsate
 *
 * Depends:
 *	effects.core.js
 */
(function(a){a.effects.pulsate=function(b){return this.queue(function(){var d=a(this);var g=a.effects.setMode(d,b.options.mode||"show");var f=b.options.times||5;var e=b.duration?b.duration/2:a.fx.speeds._default/2;if(g=="hide"){f--}if(d.is(":hidden")){d.css("opacity",0);d.show();d.animate({opacity:1},e,b.options.easing);f=f-2}for(var c=0;c<f;c++){d.animate({opacity:0},e,b.options.easing).animate({opacity:1},e,b.options.easing)}if(g=="hide"){d.animate({opacity:0},e,b.options.easing,function(){d.hide();if(b.callback){b.callback.apply(this,arguments)}})}else{d.animate({opacity:0},e,b.options.easing).animate({opacity:1},e,b.options.easing,function(){if(b.callback){b.callback.apply(this,arguments)}})}d.queue("fx",function(){d.dequeue()});d.dequeue()})}})(jQuery);;/*
 * jQuery UI Effects Scale 1.7.2
 *
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Effects/Scale
 *
 * Depends:
 *	effects.core.js
 */
(function(a){a.effects.puff=function(b){return this.queue(function(){var f=a(this);var c=a.extend(true,{},b.options);var h=a.effects.setMode(f,b.options.mode||"hide");var g=parseInt(b.options.percent,10)||150;c.fade=true;var e={height:f.height(),width:f.width()};var d=g/100;f.from=(h=="hide")?e:{height:e.height*d,width:e.width*d};c.from=f.from;c.percent=(h=="hide")?g:100;c.mode=h;f.effect("scale",c,b.duration,b.callback);f.dequeue()})};a.effects.scale=function(b){return this.queue(function(){var g=a(this);var d=a.extend(true,{},b.options);var j=a.effects.setMode(g,b.options.mode||"effect");var h=parseInt(b.options.percent,10)||(parseInt(b.options.percent,10)==0?0:(j=="hide"?0:100));var i=b.options.direction||"both";var c=b.options.origin;if(j!="effect"){d.origin=c||["middle","center"];d.restore=true}var f={height:g.height(),width:g.width()};g.from=b.options.from||(j=="show"?{height:0,width:0}:f);var e={y:i!="horizontal"?(h/100):1,x:i!="vertical"?(h/100):1};g.to={height:f.height*e.y,width:f.width*e.x};if(b.options.fade){if(j=="show"){g.from.opacity=0;g.to.opacity=1}if(j=="hide"){g.from.opacity=1;g.to.opacity=0}}d.from=g.from;d.to=g.to;d.mode=j;g.effect("size",d,b.duration,b.callback);g.dequeue()})};a.effects.size=function(b){return this.queue(function(){var c=a(this),n=["position","top","left","width","height","overflow","opacity"];var m=["position","top","left","overflow","opacity"];var j=["width","height","overflow"];var p=["fontSize"];var k=["borderTopWidth","borderBottomWidth","paddingTop","paddingBottom"];var f=["borderLeftWidth","borderRightWidth","paddingLeft","paddingRight"];var g=a.effects.setMode(c,b.options.mode||"effect");var i=b.options.restore||false;var e=b.options.scale||"both";var o=b.options.origin;var d={height:c.height(),width:c.width()};c.from=b.options.from||d;c.to=b.options.to||d;if(o){var h=a.effects.getBaseline(o,d);c.from.top=(d.height-c.from.height)*h.y;c.from.left=(d.width-c.from.width)*h.x;c.to.top=(d.height-c.to.height)*h.y;c.to.left=(d.width-c.to.width)*h.x}var l={from:{y:c.from.height/d.height,x:c.from.width/d.width},to:{y:c.to.height/d.height,x:c.to.width/d.width}};if(e=="box"||e=="both"){if(l.from.y!=l.to.y){n=n.concat(k);c.from=a.effects.setTransition(c,k,l.from.y,c.from);c.to=a.effects.setTransition(c,k,l.to.y,c.to)}if(l.from.x!=l.to.x){n=n.concat(f);c.from=a.effects.setTransition(c,f,l.from.x,c.from);c.to=a.effects.setTransition(c,f,l.to.x,c.to)}}if(e=="content"||e=="both"){if(l.from.y!=l.to.y){n=n.concat(p);c.from=a.effects.setTransition(c,p,l.from.y,c.from);c.to=a.effects.setTransition(c,p,l.to.y,c.to)}}a.effects.save(c,i?n:m);c.show();a.effects.createWrapper(c);c.css("overflow","hidden").css(c.from);if(e=="content"||e=="both"){k=k.concat(["marginTop","marginBottom"]).concat(p);f=f.concat(["marginLeft","marginRight"]);j=n.concat(k).concat(f);c.find("*[width]").each(function(){child=a(this);if(i){a.effects.save(child,j)}var q={height:child.height(),width:child.width()};child.from={height:q.height*l.from.y,width:q.width*l.from.x};child.to={height:q.height*l.to.y,width:q.width*l.to.x};if(l.from.y!=l.to.y){child.from=a.effects.setTransition(child,k,l.from.y,child.from);child.to=a.effects.setTransition(child,k,l.to.y,child.to)}if(l.from.x!=l.to.x){child.from=a.effects.setTransition(child,f,l.from.x,child.from);child.to=a.effects.setTransition(child,f,l.to.x,child.to)}child.css(child.from);child.animate(child.to,b.duration,b.options.easing,function(){if(i){a.effects.restore(child,j)}})})}c.animate(c.to,{queue:false,duration:b.duration,easing:b.options.easing,complete:function(){if(g=="hide"){c.hide()}a.effects.restore(c,i?n:m);a.effects.removeWrapper(c);if(b.callback){b.callback.apply(this,arguments)}c.dequeue()}})})}})(jQuery);;/*
 * jQuery UI Effects Shake 1.7.2
 *
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Effects/Shake
 *
 * Depends:
 *	effects.core.js
 */
(function(a){a.effects.shake=function(b){return this.queue(function(){var e=a(this),l=["position","top","left"];var k=a.effects.setMode(e,b.options.mode||"effect");var n=b.options.direction||"left";var c=b.options.distance||20;var d=b.options.times||3;var g=b.duration||b.options.duration||140;a.effects.save(e,l);e.show();a.effects.createWrapper(e);var f=(n=="up"||n=="down")?"top":"left";var p=(n=="up"||n=="left")?"pos":"neg";var h={},o={},m={};h[f]=(p=="pos"?"-=":"+=")+c;o[f]=(p=="pos"?"+=":"-=")+c*2;m[f]=(p=="pos"?"-=":"+=")+c*2;e.animate(h,g,b.options.easing);for(var j=1;j<d;j++){e.animate(o,g,b.options.easing).animate(m,g,b.options.easing)}e.animate(o,g,b.options.easing).animate(h,g/2,b.options.easing,function(){a.effects.restore(e,l);a.effects.removeWrapper(e);if(b.callback){b.callback.apply(this,arguments)}});e.queue("fx",function(){e.dequeue()});e.dequeue()})}})(jQuery);;/*
 * jQuery UI Effects Slide 1.7.2
 *
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Effects/Slide
 *
 * Depends:
 *	effects.core.js
 */
(function(a){a.effects.slide=function(b){return this.queue(function(){var e=a(this),d=["position","top","left"];var i=a.effects.setMode(e,b.options.mode||"show");var h=b.options.direction||"left";a.effects.save(e,d);e.show();a.effects.createWrapper(e).css({overflow:"hidden"});var f=(h=="up"||h=="down")?"top":"left";var c=(h=="up"||h=="left")?"pos":"neg";var j=b.options.distance||(f=="top"?e.outerHeight({margin:true}):e.outerWidth({margin:true}));if(i=="show"){e.css(f,c=="pos"?-j:j)}var g={};g[f]=(i=="show"?(c=="pos"?"+=":"-="):(c=="pos"?"-=":"+="))+j;e.animate(g,{queue:false,duration:b.duration,easing:b.options.easing,complete:function(){if(i=="hide"){e.hide()}a.effects.restore(e,d);a.effects.removeWrapper(e);if(b.callback){b.callback.apply(this,arguments)}e.dequeue()}})})}})(jQuery);;/*
 * jQuery UI Effects Transfer 1.7.2
 *
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Effects/Transfer
 *
 * Depends:
 *	effects.core.js
 */
(function(a){a.effects.transfer=function(b){return this.queue(function(){var f=a(this),h=a(b.options.to),e=h.offset(),g={top:e.top,left:e.left,height:h.innerHeight(),width:h.innerWidth()},d=f.offset(),c=a('<div class="ui-effects-transfer"></div>').appendTo(document.body).addClass(b.options.className).css({top:d.top,left:d.left,height:f.innerHeight(),width:f.innerWidth(),position:"absolute"}).animate(g,b.duration,b.options.easing,function(){c.remove();(b.callback&&b.callback.apply(f[0],arguments));f.dequeue()})})}})(jQuery);;
// ColorBox v1.3.17.2 - a full featured, light-weight, customizable lightbox based on jQuery 1.3+
// Copyright (c) 2011 Jack Moore - jack@colorpowered.com
// Licensed under the MIT license: http://www.opensource.org/licenses/mit-license.php
(function(a,b,c){function bc(b){if(!U){P=b,_(),y=a(P),Q=0,K.rel!=="nofollow"&&(y=a("."+g).filter(function(){var b=a.data(this,e).rel||this.rel;return b===K.rel}),Q=y.index(P),Q===-1&&(y=y.add(P),Q=y.length-1));if(!S){S=T=!0,r.show();if(K.returnFocus)try{P.blur(),a(P).one(l,function(){try{this.focus()}catch(a){}})}catch(c){}q.css({opacity:+K.opacity,cursor:K.overlayClose?"pointer":"auto"}).show(),K.w=Z(K.initialWidth,"x"),K.h=Z(K.initialHeight,"y"),X.position(),o&&z.bind("resize."+p+" scroll."+p,function(){q.css({width:z.width(),height:z.height(),top:z.scrollTop(),left:z.scrollLeft()})}).trigger("resize."+p),ba(h,K.onOpen),J.add(D).hide(),I.html(K.close).show()}X.load(!0)}}function bb(){var a,b=f+"Slideshow_",c="click."+f,d,e,g;K.slideshow&&y[1]?(d=function(){F.text(K.slideshowStop).unbind(c).bind(j,function(){if(Q<y.length-1||K.loop)a=setTimeout(X.next,K.slideshowSpeed)}).bind(i,function(){clearTimeout(a)}).one(c+" "+k,e),r.removeClass(b+"off").addClass(b+"on"),a=setTimeout(X.next,K.slideshowSpeed)},e=function(){clearTimeout(a),F.text(K.slideshowStart).unbind([j,i,k,c].join(" ")).one(c,d),r.removeClass(b+"on").addClass(b+"off")},K.slideshowAuto?d():e()):r.removeClass(b+"off "+b+"on")}function ba(b,c){c&&c.call(P),a.event.trigger(b)}function _(b){K=a.extend({},a.data(P,e));for(b in K)a.isFunction(K[b])&&b.substring(0,2)!=="on"&&(K[b]=K[b].call(P));K.rel=K.rel||P.rel||"nofollow",K.href=K.href||a(P).attr("href"),K.title=K.title||P.title,typeof K.href=="string"&&(K.href=a.trim(K.href))}function $(a){return K.photo||/\.(gif|png|jpg|jpeg|bmp)(?:\?([^#]*))?(?:#(\.*))?$/i.test(a)}function Z(a,b){return Math.round((/%/.test(a)?(b==="x"?z.width():z.height())/100:1)*parseInt(a,10))}function Y(c,d,e){e=b.createElement("div"),c&&(e.id=f+c),e.style.cssText=d||"";return a(e)}var d={transition:"elastic",speed:300,width:!1,initialWidth:"600",innerWidth:!1,maxWidth:!1,height:!1,initialHeight:"450",innerHeight:!1,maxHeight:!1,scalePhotos:!0,scrolling:!0,inline:!1,html:!1,iframe:!1,fastIframe:!0,photo:!1,href:!1,title:!1,rel:!1,opacity:.9,preloading:!0,current:"image {current} of {total}",previous:"previous",next:"next",close:"close",open:!1,returnFocus:!0,loop:!0,slideshow:!1,slideshowAuto:!0,slideshowSpeed:2500,slideshowStart:"start slideshow",slideshowStop:"stop slideshow",onOpen:!1,onLoad:!1,onComplete:!1,onCleanup:!1,onClosed:!1,overlayClose:!0,escKey:!0,arrowKey:!0,top:!1,bottom:!1,left:!1,right:!1,fixed:!1,data:!1},e="colorbox",f="cbox",g=f+"Element",h=f+"_open",i=f+"_load",j=f+"_complete",k=f+"_cleanup",l=f+"_closed",m=f+"_purge",n=a.browser.msie&&!a.support.opacity,o=n&&a.browser.version<7,p=f+"_IE6",q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X;X=a.fn[e]=a[e]=function(b,c){var f=this;b=b||{};if(!f[0]){if(f.selector)return f;f=a("<a/>"),b.open=!0}c&&(b.onComplete=c),f.each(function(){a.data(this,e,a.extend({},a.data(this,e)||d,b)),a(this).addClass(g)}),(a.isFunction(b.open)&&b.open.call(f)||b.open)&&bc(f[0]);return f},X.init=function(){z=a(c),r=Y().attr({id:e,"class":n?f+(o?"IE6":"IE"):""}),q=Y("Overlay",o?"position:absolute":"").hide(),s=Y("Wrapper"),t=Y("Content").append(A=Y("LoadedContent","width:0; height:0; overflow:hidden"),C=Y("LoadingOverlay").add(Y("LoadingGraphic")),D=Y("Title"),E=Y("Current"),G=Y("Next"),H=Y("Previous"),F=Y("Slideshow").bind(h,bb),I=Y("Close")),s.append(Y().append(Y("TopLeft"),u=Y("TopCenter"),Y("TopRight")),Y(!1,"clear:left").append(v=Y("MiddleLeft"),t,w=Y("MiddleRight")),Y(!1,"clear:left").append(Y("BottomLeft"),x=Y("BottomCenter"),Y("BottomRight"))).children().children().css({"float":"left"}),B=Y(!1,"position:absolute; width:9999px; visibility:hidden; display:none"),a("body").prepend(q,r.append(s,B)),t.children().hover(function(){a(this).addClass("hover")},function(){a(this).removeClass("hover")}).addClass("hover"),L=u.height()+x.height()+t.outerHeight(!0)-t.height(),M=v.width()+w.width()+t.outerWidth(!0)-t.width(),N=A.outerHeight(!0),O=A.outerWidth(!0),r.css({"padding-bottom":L,"padding-right":M}).hide(),G.click(function(){X.next()}),H.click(function(){X.prev()}),I.click(function(){X.close()}),J=G.add(H).add(E).add(F),t.children().removeClass("hover"),q.click(function(){K.overlayClose&&X.close()}),a(b).bind("keydown."+f,function(a){var b=a.keyCode;S&&K.escKey&&b===27&&(a.preventDefault(),X.close()),S&&K.arrowKey&&y[1]&&(b===37?(a.preventDefault(),H.click()):b===39&&(a.preventDefault(),G.click()))})},X.remove=function(){r.add(q).remove(),a("."+g).removeData(e).removeClass(g)},X.position=function(a,c){function g(a){u[0].style.width=x[0].style.width=t[0].style.width=a.style.width,C[0].style.height=C[1].style.height=t[0].style.height=v[0].style.height=w[0].style.height=a.style.height}var d=0,e=0;z.unbind("resize."+f),r.hide(),K.fixed&&!o?r.css({position:"fixed"}):(d=z.scrollTop(),e=z.scrollLeft(),r.css({position:"absolute"})),K.right!==!1?e+=Math.max(z.width()-K.w-O-M-Z(K.right,"x"),0):K.left!==!1?e+=Z(K.left,"x"):e+=Math.round(Math.max(z.width()-K.w-O-M,0)/2),K.bottom!==!1?d+=Math.max(b.documentElement.clientHeight-K.h-N-L-Z(K.bottom,"y"),0):K.top!==!1?d+=Z(K.top,"y"):d+=Math.round(Math.max(b.documentElement.clientHeight-K.h-N-L,0)/2),r.show(),a=r.width()===K.w+O&&r.height()===K.h+N?0:a||0,s[0].style.width=s[0].style.height="9999px",r.dequeue().animate({width:K.w+O,height:K.h+N,top:d,left:e},{duration:a,complete:function(){g(this),T=!1,s[0].style.width=K.w+O+M+"px",s[0].style.height=K.h+N+L+"px",c&&c(),setTimeout(function(){z.bind("resize."+f,X.position)},1)},step:function(){g(this)}})},X.resize=function(a){if(S){a=a||{},a.width&&(K.w=Z(a.width,"x")-O-M),a.innerWidth&&(K.w=Z(a.innerWidth,"x")),A.css({width:K.w}),a.height&&(K.h=Z(a.height,"y")-N-L),a.innerHeight&&(K.h=Z(a.innerHeight,"y"));if(!a.innerHeight&&!a.height){var b=A.wrapInner("<div style='overflow:auto'></div>").children();K.h=b.height(),b.replaceWith(b.children())}A.css({height:K.h}),X.position(K.transition==="none"?0:K.speed)}},X.prep=function(b){function h(){K.h=K.h||A.height(),K.h=K.mh&&K.mh<K.h?K.mh:K.h;return K.h}function g(){K.w=K.w||A.width(),K.w=K.mw&&K.mw<K.w?K.mw:K.w;return K.w}if(!!S){var c,d=K.transition==="none"?0:K.speed;A.remove(),A=Y("LoadedContent").append(b),A.hide().appendTo(B.show()).css({width:g(),overflow:K.scrolling?"auto":"hidden"}).css({height:h()}).prependTo(t),B.hide(),a(R).css({"float":"none"}),o&&a("select").not(r.find("select")).filter(function(){return this.style.visibility!=="hidden"}).css({visibility:"hidden"}).one(k,function(){this.style.visibility="inherit"}),c=function(){function o(){n&&r[0].style.removeAttribute("filter")}var b,c,g,h,i=y.length,k,l;!S||(l=function(){clearTimeout(W),C.hide(),ba(j,K.onComplete)},n&&R&&A.fadeIn(100),D.html(K.title).add(A).show(),i>1?(typeof K.current=="string"&&E.html(K.current.replace("{current}",Q+1).replace("{total}",i)).show(),G[K.loop||Q<i-1?"show":"hide"]().html(K.next),H[K.loop||Q?"show":"hide"]().html(K.previous),b=Q?y[Q-1]:y[i-1],g=Q<i-1?y[Q+1]:y[0],K.slideshow&&F.show(),K.preloading&&(h=a.data(g,e).href||g.href,c=a.data(b,e).href||b.href,h=a.isFunction(h)?h.call(g):h,c=a.isFunction(c)?c.call(b):c,$(h)&&(a("<img/>")[0].src=h),$(c)&&(a("<img/>")[0].src=c))):J.hide(),K.iframe?(k=a("<iframe/>").addClass(f+"Iframe")[0],K.fastIframe?l():a(k).one("load",l),k.name=f+ +(new Date),k.src=K.href,K.scrolling||(k.scrolling="no"),n&&(k.frameBorder=0,k.allowTransparency="true"),a(k).appendTo(A).one(m,function(){k.src="//about:blank"})):l(),K.transition==="fade"?r.fadeTo(d,1,o):o())},K.transition==="fade"?r.fadeTo(d,0,function(){X.position(0,c)}):X.position(d,c)}},X.load=function(b){var c,d,e=X.prep;T=!0,R=!1,P=y[Q],b||_(),ba(m),ba(i,K.onLoad),K.h=K.height?Z(K.height,"y")-N-L:K.innerHeight&&Z(K.innerHeight,"y"),K.w=K.width?Z(K.width,"x")-O-M:K.innerWidth&&Z(K.innerWidth,"x"),K.mw=K.w,K.mh=K.h,K.maxWidth&&(K.mw=Z(K.maxWidth,"x")-O-M,K.mw=K.w&&K.w<K.mw?K.w:K.mw),K.maxHeight&&(K.mh=Z(K.maxHeight,"y")-N-L,K.mh=K.h&&K.h<K.mh?K.h:K.mh),c=K.href,W=setTimeout(function(){C.show()},100),K.inline?(Y().hide().insertBefore(a(c)[0]).one(m,function(){a(this).replaceWith(A.children())}),e(a(c))):K.iframe?e(" "):K.html?e(K.html):$(c)?(a(R=new Image).addClass(f+"Photo").error(function(){K.title=!1,e(Y("Error").text("This image could not be loaded"))}).load(function(){var a;R.onload=null,K.scalePhotos&&(d=function(){R.height-=R.height*a,R.width-=R.width*a},K.mw&&R.width>K.mw&&(a=(R.width-K.mw)/R.width,d()),K.mh&&R.height>K.mh&&(a=(R.height-K.mh)/R.height,d())),K.h&&(R.style.marginTop=Math.max(K.h-R.height,0)/2+"px"),y[1]&&(Q<y.length-1||K.loop)&&(R.style.cursor="pointer",R.onclick=function(){X.next()}),n&&(R.style.msInterpolationMode="bicubic"),setTimeout(function(){e(R)},1)}),setTimeout(function(){R.src=c},1)):c&&B.load(c,K.data,function(b,c,d){e(c==="error"?Y("Error").text("Request unsuccessful: "+d.statusText):a(this).contents())})},X.next=function(){!T&&y[1]&&(Q<y.length-1||K.loop)&&(Q=Q<y.length-1?Q+1:0,X.load())},X.prev=function(){!T&&y[1]&&(Q||K.loop)&&(Q=Q?Q-1:y.length-1,X.load())},X.close=function(){S&&!U&&(U=!0,S=!1,ba(k,K.onCleanup),z.unbind("."+f+" ."+p),q.fadeTo(200,0),r.stop().fadeTo(300,0,function(){r.add(q).css({opacity:1,cursor:"auto"}).hide(),ba(m),A.remove(),setTimeout(function(){U=!1,ba(l,K.onClosed)},1)}))},X.element=function(){return a(P)},X.settings=d,V=function(a){a.button!==0&&typeof a.button!="undefined"||a.ctrlKey||a.shiftKey||a.altKey||(a.preventDefault(),bc(this))},a.fn.delegate?a(b).delegate("."+g,"click",V):a("."+g).live("click",V),a(X.init)})(jQuery,document,this);
/**
 * jQuery.ScrollTo - Easy element scrolling using jQuery.
 * Copyright (c) 2007-2009 Ariel Flesler - aflesler(at)gmail(dot)com | http://flesler.blogspot.com
 * Dual licensed under MIT and GPL.
 * Date: 5/25/2009
 * @author Ariel Flesler
 * @version 1.4.2
 *
 * http://flesler.blogspot.com/2007/10/jqueryscrollto.html
 */
;(function(d){var k=d.scrollTo=function(a,i,e){d(window).scrollTo(a,i,e)};k.defaults={axis:'xy',duration:parseFloat(d.fn.jquery)>=1.3?0:1};k.window=function(a){return d(window)._scrollable()};d.fn._scrollable=function(){return this.map(function(){var a=this,i=!a.nodeName||d.inArray(a.nodeName.toLowerCase(),['iframe','#document','html','body'])!=-1;if(!i)return a;var e=(a.contentWindow||a).document||a.ownerDocument||a;return d.browser.safari||e.compatMode=='BackCompat'?e.body:e.documentElement})};d.fn.scrollTo=function(n,j,b){if(typeof j=='object'){b=j;j=0}if(typeof b=='function')b={onAfter:b};if(n=='max')n=9e9;b=d.extend({},k.defaults,b);j=j||b.speed||b.duration;b.queue=b.queue&&b.axis.length>1;if(b.queue)j/=2;b.offset=p(b.offset);b.over=p(b.over);return this._scrollable().each(function(){var q=this,r=d(q),f=n,s,g={},u=r.is('html,body');switch(typeof f){case'number':case'string':if(/^([+-]=)?\d+(\.\d+)?(px|%)?$/.test(f)){f=p(f);break}f=d(f,this);case'object':if(f.is||f.style)s=(f=d(f)).offset()}d.each(b.axis.split(''),function(a,i){var e=i=='x'?'Left':'Top',h=e.toLowerCase(),c='scroll'+e,l=q[c],m=k.max(q,i);if(s){g[c]=s[h]+(u?0:l-r.offset()[h]);if(b.margin){g[c]-=parseInt(f.css('margin'+e))||0;g[c]-=parseInt(f.css('border'+e+'Width'))||0}g[c]+=b.offset[h]||0;if(b.over[h])g[c]+=f[i=='x'?'width':'height']()*b.over[h]}else{var o=f[h];g[c]=o.slice&&o.slice(-1)=='%'?parseFloat(o)/100*m:o}if(/^\d+$/.test(g[c]))g[c]=g[c]<=0?0:Math.min(g[c],m);if(!a&&b.queue){if(l!=g[c])t(b.onAfterFirst);delete g[c]}});t(b.onAfter);function t(a){r.animate(g,j,b.easing,a&&function(){a.call(this,n,b)})}}).end()};k.max=function(a,i){var e=i=='x'?'Width':'Height',h='scroll'+e;if(!d(a).is('html,body'))return a[h]-d(a)[e.toLowerCase()]();var c='client'+e,l=a.ownerDocument.documentElement,m=a.ownerDocument.body;return Math.max(l[h],m[h])-Math.min(l[c],m[c])};function p(a){return typeof a=='object'?a:{top:a,left:a}}})(jQuery);
/**
 * jQuery.LocalScroll - Animated scrolling navigation, using anchors.
 * Copyright (c) 2007-2009 Ariel Flesler - aflesler(at)gmail(dot)com | http://flesler.blogspot.com
 * Dual licensed under MIT and GPL.
 * Date: 3/11/2009
 * @author Ariel Flesler
 * @version 1.2.7
 **/
;(function($){var l=location.href.replace(/#.*/,'');var g=$.localScroll=function(a){$('body').localScroll(a)};g.defaults={duration:1e3,axis:'y',event:'click',stop:true,target:window,reset:true};g.hash=function(a){if(location.hash){a=$.extend({},g.defaults,a);a.hash=false;if(a.reset){var e=a.duration;delete a.duration;$(a.target).scrollTo(0,a);a.duration=e}i(0,location,a)}};$.fn.localScroll=function(b){b=$.extend({},g.defaults,b);return b.lazy?this.bind(b.event,function(a){var e=$([a.target,a.target.parentNode]).filter(d)[0];if(e)i(a,e,b)}):this.find('a,area').filter(d).bind(b.event,function(a){i(a,this,b)}).end().end();function d(){return!!this.href&&!!this.hash&&this.href.replace(this.hash,'')==l&&(!b.filter||$(this).is(b.filter))}};function i(a,e,b){var d=e.hash.slice(1),f=document.getElementById(d)||document.getElementsByName(d)[0];if(!f)return;if(a)a.preventDefault();var h=$(b.target);if(b.lock&&h.is(':animated')||b.onBefore&&b.onBefore.call(b,a,f,h)===false)return;if(b.stop)h.stop(true);if(b.hash){var j=f.id==d?'id':'name',k=$('<a> </a>').attr(j,d).css({position:'absolute',top:$(window).scrollTop(),left:$(window).scrollLeft()});f[j]='';$('body').prepend(k);location=e.hash;k.remove();f[j]=d}h.scrollTo(f,b).trigger('notify.serialScroll',[f])}})(jQuery);
/*
 * jQuery.SerialScroll - Animated scrolling of series
 * Copyright (c) 2007-2009 Ariel Flesler - aflesler(at)gmail(dot)com | http://flesler.blogspot.com
 * Dual licensed under MIT and GPL.
 * Date: 06/14/2009
 * @author Ariel Flesler
 * @version 1.2.2
 * http://flesler.blogspot.com/2008/02/jqueryserialscroll.html
 */
;(function(a){var b=a.serialScroll=function(c){return a(window).serialScroll(c)};b.defaults={duration:1e3,axis:"x",event:"click",start:0,step:1,lock:!0,cycle:!0,constant:!0};a.fn.serialScroll=function(c){return this.each(function(){var t=a.extend({},b.defaults,c),s=t.event,i=t.step,r=t.lazy,e=t.target?this:document,u=a(t.target||this,e),p=u[0],m=t.items,h=t.start,g=t.interval,k=t.navigation,l;if(!r){m=d()}if(t.force){f({},h)}a(t.prev||[],e).bind(s,-i,q);a(t.next||[],e).bind(s,i,q);if(!p.ssbound){u.bind("prev.serialScroll",-i,q).bind("next.serialScroll",i,q).bind("goto.serialScroll",f)}if(g){u.bind("start.serialScroll",function(v){if(!g){o();g=!0;n()}}).bind("stop.serialScroll",function(){o();g=!1})}u.bind("notify.serialScroll",function(x,w){var v=j(w);if(v>-1){h=v}});p.ssbound=!0;if(t.jump){(r?u:d()).bind(s,function(v){f(v,j(v.target))})}if(k){k=a(k,e).bind(s,function(v){v.data=Math.round(d().length/k.length)*k.index(this);f(v,this)})}function q(v){v.data+=h;f(v,this)}function f(B,z){if(!isNaN(z)){B.data=z;z=p}var C=B.data,v,D=B.type,A=t.exclude?d().slice(0,-t.exclude):d(),y=A.length,w=A[C],x=t.duration;if(D){B.preventDefault()}if(g){o();l=setTimeout(n,t.interval)}if(!w){v=C<0?0:y-1;if(h!=v){C=v}else{if(!t.cycle){return}else{C=y-v-1}}w=A[C]}if(!w||t.lock&&u.is(":animated")||D&&t.onBefore&&t.onBefore(B,w,u,d(),C)===!1){return}if(t.stop){u.queue("fx",[]).stop()}if(t.constant){x=Math.abs(x/i*(h-C))}u.scrollTo(w,x,t).trigger("notify.serialScroll",[C])}function n(){u.trigger("next.serialScroll")}function o(){clearTimeout(l)}function d(){return a(m,p)}function j(w){if(!isNaN(w)){return w}var x=d(),v;while((v=x.index(w))==-1&&w!=p){w=w.parentNode}return v}})}})(jQuery);
/*
 * File:        jquery.dataTables.min.js
 * Version:     1.5.3
 * Author:      Allan Jardine (www.sprymedia.co.uk)
 * Info:        www.datatables.net
 * 
 * Copyright 2008-2009 Allan Jardine, all rights reserved.
 *
 * This source file is free software, under either the GPL v2 license or a
 * BSD style license, as supplied with this software.
 * 
 * This source file is distributed in the hope that it will be useful, but 
 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 
 * or FITNESS FOR A PARTICULAR PURPOSE. See the license files for details.
 */
(function($){$.fn.dataTableSettings=[];$.fn.dataTableExt={};var _oExt=$.fn.dataTableExt;
_oExt.sVersion="1.5.3";_oExt.iApiIndex=0;_oExt.oApi={};_oExt.afnFiltering=[];_oExt.aoFeatures=[];
_oExt.ofnSearch={};_oExt.oStdClasses={sPagePrevEnabled:"paginate_enabled_previous",sPagePrevDisabled:"paginate_disabled_previous",sPageNextEnabled:"paginate_enabled_next",sPageNextDisabled:"paginate_disabled_next",sPageJUINext:"",sPageJUIPrev:"",sPageButton:"paginate_button",sPageButtonActive:"paginate_active",sPageButtonStaticDisabled:"paginate_button",sPageFirst:"first",sPagePrevious:"previous",sPageNext:"next",sPageLast:"last",sStripOdd:"odd",sStripEven:"even",sRowEmpty:"dataTables_empty",sWrapper:"dataTables_wrapper",sFilter:"dataTables_filter",sInfo:"dataTables_info",sPaging:"dataTables_paginate paging_",sLength:"dataTables_length",sProcessing:"dataTables_processing",sSortAsc:"sorting_asc",sSortDesc:"sorting_desc",sSortable:"sorting",sSortableAsc:"sorting_asc_disabled",sSortableDesc:"sorting_desc_disabled",sSortColumn:"sorting_",sSortJUIAsc:"",sSortJUIDesc:"",sSortJUI:"",sSortJUIAscAllowed:"",sSortJUIDescAllowed:""};
_oExt.oJUIClasses={sPagePrevEnabled:"fg-button ui-state-default ui-corner-left",sPagePrevDisabled:"fg-button ui-state-default ui-corner-left ui-state-disabled",sPageNextEnabled:"fg-button ui-state-default ui-corner-right",sPageNextDisabled:"fg-button ui-state-default ui-corner-right ui-state-disabled",sPageJUINext:"ui-icon ui-icon-circle-arrow-e",sPageJUIPrev:"ui-icon ui-icon-circle-arrow-w",sPageButton:"fg-button ui-state-default",sPageButtonActive:"fg-button ui-state-default ui-state-disabled",sPageButtonStaticDisabled:"fg-button ui-state-default ui-state-disabled",sPageFirst:"first ui-corner-tl ui-corner-bl",sPagePrevious:"previous",sPageNext:"next",sPageLast:"last ui-corner-tr ui-corner-br",sStripOdd:"odd",sStripEven:"even",sRowEmpty:"dataTables_empty",sWrapper:"dataTables_wrapper",sFilter:"dataTables_filter",sInfo:"dataTables_info",sPaging:"dataTables_paginate fg-buttonset fg-buttonset-multi paging_",sLength:"dataTables_length",sProcessing:"dataTables_processing",sSortAsc:"ui-state-default",sSortDesc:"ui-state-default",sSortable:"ui-state-default",sSortableAsc:"ui-state-default",sSortableDesc:"ui-state-default",sSortColumn:"sorting_",sSortJUIAsc:"css_right ui-icon ui-icon-triangle-1-n",sSortJUIDesc:"css_right ui-icon ui-icon-triangle-1-s",sSortJUI:"css_right ui-icon ui-icon-carat-2-n-s",sSortJUIAscAllowed:"css_right ui-icon ui-icon-carat-1-n",sSortJUIDescAllowed:"css_right ui-icon ui-icon-carat-1-s"};
_oExt.oPagination={two_button:{fnInit:function(oSettings,fnCallbackDraw){var nPaging=oSettings.anFeatures.p;
if(!oSettings.bJUI){oSettings.nPrevious=document.createElement("div");oSettings.nNext=document.createElement("div")
}else{oSettings.nPrevious=document.createElement("a");oSettings.nNext=document.createElement("a");
var nNextInner=document.createElement("span");nNextInner.className=oSettings.oClasses.sPageJUINext;
oSettings.nNext.appendChild(nNextInner);var nPreviousInner=document.createElement("span");
nPreviousInner.className=oSettings.oClasses.sPageJUIPrev;oSettings.nPrevious.appendChild(nPreviousInner)
}if(oSettings.sTableId!==""){nPaging.setAttribute("id",oSettings.sTableId+"_paginate");
oSettings.nPrevious.setAttribute("id",oSettings.sTableId+"_previous");oSettings.nNext.setAttribute("id",oSettings.sTableId+"_next")
}oSettings.nPrevious.className=oSettings.oClasses.sPagePrevDisabled;oSettings.nNext.className=oSettings.oClasses.sPageNextDisabled;
oSettings.nPrevious.title=oSettings.oLanguage.oPaginate.sPrevious;oSettings.nNext.title=oSettings.oLanguage.oPaginate.sNext;
nPaging.appendChild(oSettings.nPrevious);nPaging.appendChild(oSettings.nNext);$(nPaging).insertAfter(oSettings.nTable);
$(oSettings.nPrevious).click(function(){oSettings._iDisplayStart=oSettings._iDisplayLength>=0?oSettings._iDisplayStart-oSettings._iDisplayLength:0;
if(oSettings._iDisplayStart<0){oSettings._iDisplayStart=0}fnCallbackDraw(oSettings)
});$(oSettings.nNext).click(function(){if(oSettings._iDisplayLength>=0){if(oSettings._iDisplayStart+oSettings._iDisplayLength<oSettings.fnRecordsDisplay()){oSettings._iDisplayStart+=oSettings._iDisplayLength
}}else{oSettings._iDisplayStart=0}fnCallbackDraw(oSettings)});$(oSettings.nPrevious).bind("selectstart",function(){return false
});$(oSettings.nNext).bind("selectstart",function(){return false})},fnUpdate:function(oSettings,fnCallbackDraw){if(!oSettings.anFeatures.p){return
}oSettings.nPrevious.className=(oSettings._iDisplayStart===0)?oSettings.oClasses.sPagePrevDisabled:oSettings.oClasses.sPagePrevEnabled;
oSettings.nNext.className=(oSettings.fnDisplayEnd()==oSettings.fnRecordsDisplay())?oSettings.oClasses.sPageNextDisabled:oSettings.oClasses.sPageNextEnabled
}},iFullNumbersShowPages:5,full_numbers:{fnInit:function(oSettings,fnCallbackDraw){var nPaging=oSettings.anFeatures.p;
var nFirst=document.createElement("span");var nPrevious=document.createElement("span");
var nList=document.createElement("span");var nNext=document.createElement("span");
var nLast=document.createElement("span");nFirst.innerHTML=oSettings.oLanguage.oPaginate.sFirst;
nPrevious.innerHTML=oSettings.oLanguage.oPaginate.sPrevious;nNext.innerHTML=oSettings.oLanguage.oPaginate.sNext;
nLast.innerHTML=oSettings.oLanguage.oPaginate.sLast;var oClasses=oSettings.oClasses;
nFirst.className=oClasses.sPageButton+" "+oClasses.sPageFirst;nPrevious.className=oClasses.sPageButton+" "+oClasses.sPagePrevious;
nNext.className=oClasses.sPageButton+" "+oClasses.sPageNext;nLast.className=oClasses.sPageButton+" "+oClasses.sPageLast;
if(oSettings.sTableId!==""){nPaging.setAttribute("id",oSettings.sTableId+"_paginate");
nFirst.setAttribute("id",oSettings.sTableId+"_first");nPrevious.setAttribute("id",oSettings.sTableId+"_previous");
nNext.setAttribute("id",oSettings.sTableId+"_next");nLast.setAttribute("id",oSettings.sTableId+"_last")
}nPaging.appendChild(nFirst);nPaging.appendChild(nPrevious);nPaging.appendChild(nList);
nPaging.appendChild(nNext);nPaging.appendChild(nLast);$(nFirst).click(function(){oSettings._iDisplayStart=0;
fnCallbackDraw(oSettings)});$(nPrevious).click(function(){oSettings._iDisplayStart=oSettings._iDisplayLength>=0?oSettings._iDisplayStart-oSettings._iDisplayLength:0;
if(oSettings._iDisplayStart<0){oSettings._iDisplayStart=0}fnCallbackDraw(oSettings)
});$(nNext).click(function(){if(oSettings._iDisplayLength>=0){if(oSettings._iDisplayStart+oSettings._iDisplayLength<oSettings.fnRecordsDisplay()){oSettings._iDisplayStart+=oSettings._iDisplayLength
}}else{oSettings._iDisplayStart=0}fnCallbackDraw(oSettings)});$(nLast).click(function(){if(oSettings._iDisplayLength>=0){var iPages=parseInt((oSettings.fnRecordsDisplay()-1)/oSettings._iDisplayLength,10)+1;
oSettings._iDisplayStart=(iPages-1)*oSettings._iDisplayLength}else{oSettings._iDisplayStart=0
}fnCallbackDraw(oSettings)});$("span",nPaging).bind("mousedown",function(){return false
});$("span",nPaging).bind("selectstart",function(){return false});oSettings.nPaginateList=nList
},fnUpdate:function(oSettings,fnCallbackDraw){if(!oSettings.anFeatures.p){return}var iPageCount=jQuery.fn.dataTableExt.oPagination.iFullNumbersShowPages;
var iPageCountHalf=Math.floor(iPageCount/2);var iPages=Math.ceil((oSettings.fnRecordsDisplay())/oSettings._iDisplayLength);
var iCurrentPage=Math.ceil(oSettings._iDisplayStart/oSettings._iDisplayLength)+1;
var sList="";var iStartButton;var iEndButton;var oClasses=oSettings.oClasses;if(iPages<iPageCount){iStartButton=1;
iEndButton=iPages}else{if(iCurrentPage<=iPageCountHalf){iStartButton=1;iEndButton=iPageCount
}else{if(iCurrentPage>=(iPages-iPageCountHalf)){iStartButton=iPages-iPageCount+1;
iEndButton=iPages}else{iStartButton=iCurrentPage-Math.ceil(iPageCount/2)+1;iEndButton=iStartButton+iPageCount-1
}}}for(var i=iStartButton;i<=iEndButton;i++){if(iCurrentPage!=i){sList+='<span class="'+oClasses.sPageButton+'">'+i+"</span>"
}else{sList+='<span class="'+oClasses.sPageButtonActive+'">'+i+"</span>"}}oSettings.nPaginateList.innerHTML=sList;
$("span",oSettings.nPaginateList).bind("mousedown",function(){return false});$("span",oSettings.nPaginateList).bind("selectstart",function(){return false
});$("span",oSettings.nPaginateList).click(function(){var iTarget=(this.innerHTML*1)-1;
oSettings._iDisplayStart=iTarget*oSettings._iDisplayLength;fnCallbackDraw(oSettings);
return false});var nButtons=$("span",oSettings.anFeatures.p);var nStatic=[nButtons[0],nButtons[1],nButtons[nButtons.length-2],nButtons[nButtons.length-1]];
$(nStatic).removeClass(oClasses.sPageButton+" "+oClasses.sPageButtonActive);if(iCurrentPage==1){nStatic[0].className+=" "+oClasses.sPageButtonStaticDisabled;
nStatic[1].className+=" "+oClasses.sPageButtonStaticDisabled}else{nStatic[0].className+=" "+oClasses.sPageButton;
nStatic[1].className+=" "+oClasses.sPageButton}if(iCurrentPage==iPages||oSettings._iDisplayLength==-1){nStatic[2].className+=" "+oClasses.sPageButtonStaticDisabled;
nStatic[3].className+=" "+oClasses.sPageButtonStaticDisabled}else{nStatic[2].className+=" "+oClasses.sPageButton;
nStatic[3].className+=" "+oClasses.sPageButton}}}};_oExt.oSort={"string-asc":function(a,b){var x=a.toLowerCase();
var y=b.toLowerCase();return((x<y)?-1:((x>y)?1:0))},"string-desc":function(a,b){var x=a.toLowerCase();
var y=b.toLowerCase();return((x<y)?1:((x>y)?-1:0))},"html-asc":function(a,b){var x=a.replace(/<.*?>/g,"").toLowerCase();
var y=b.replace(/<.*?>/g,"").toLowerCase();return((x<y)?-1:((x>y)?1:0))},"html-desc":function(a,b){var x=a.replace(/<.*?>/g,"").toLowerCase();
var y=b.replace(/<.*?>/g,"").toLowerCase();return((x<y)?1:((x>y)?-1:0))},"date-asc":function(a,b){var x=Date.parse(a);
var y=Date.parse(b);if(isNaN(x)){x=Date.parse("01/01/1970 00:00:00")}if(isNaN(y)){y=Date.parse("01/01/1970 00:00:00")
}return x-y},"date-desc":function(a,b){var x=Date.parse(a);var y=Date.parse(b);if(isNaN(x)){x=Date.parse("01/01/1970 00:00:00")
}if(isNaN(y)){y=Date.parse("01/01/1970 00:00:00")}return y-x},"numeric-asc":function(a,b){var x=a=="-"?0:a;
var y=b=="-"?0:b;return x-y},"numeric-desc":function(a,b){var x=a=="-"?0:a;var y=b=="-"?0:b;
return y-x}};_oExt.aTypes=[function(sData){if(typeof sData=="number"){return"numeric"
}else{if(typeof sData.charAt!="function"){return null}}var sValidFirstChars="0123456789-";
var sValidChars="0123456789.";var Char;var bDecimal=false;Char=sData.charAt(0);if(sValidFirstChars.indexOf(Char)==-1){return null
}for(var i=1;i<sData.length;i++){Char=sData.charAt(i);if(sValidChars.indexOf(Char)==-1){return null
}if(Char=="."){if(bDecimal){return null}bDecimal=true}}return"numeric"},function(sData){var iParse=Date.parse(sData);
if(iParse!==null&&!isNaN(iParse)){return"date"}return null}];_oExt._oExternConfig={iNextUnique:0};
$.fn.dataTable=function(oInit){var _aoSettings=$.fn.dataTableSettings;function classSettings(){this.fnRecordsTotal=function(){if(this.oFeatures.bServerSide){return this._iRecordsTotal
}else{return this.aiDisplayMaster.length}};this.fnRecordsDisplay=function(){if(this.oFeatures.bServerSide){return this._iRecordsDisplay
}else{return this.aiDisplay.length}};this.fnDisplayEnd=function(){if(this.oFeatures.bServerSide){return this._iDisplayStart+this.aiDisplay.length
}else{return this._iDisplayEnd}};this.sInstance=null;this.oFeatures={bPaginate:true,bLengthChange:true,bFilter:true,bSort:true,bInfo:true,bAutoWidth:true,bProcessing:false,bSortClasses:true,bStateSave:false,bServerSide:false};
this.anFeatures=[];this.oLanguage={sProcessing:"Processing...",sLengthMenu:"Show _MENU_ entries",sZeroRecords:"No matching records found",sInfo:"Showing _START_ to _END_ of _TOTAL_ entries",sInfoEmpty:"Showing 0 to 0 of 0 entries",sInfoFiltered:"(filtered from _MAX_ total entries)",sInfoPostFix:"",sSearch:"Search:",sUrl:"",oPaginate:{sFirst:"First",sPrevious:"Previous",sNext:"Next",sLast:"Last"}};
this.aoData=[];this.aiDisplay=[];this.aiDisplayMaster=[];this.aoColumns=[];this.iNextId=0;
this.asDataSearch=[];this.oPreviousSearch={sSearch:"",bEscapeRegex:true};this.aoPreSearchCols=[];
this.aaSorting=[[0,"asc",0]];this.aaSortingFixed=null;this.asStripClasses=[];this.fnRowCallback=null;
this.fnHeaderCallback=null;this.fnFooterCallback=null;this.fnDrawCallback=null;this.fnInitComplete=null;
this.sTableId="";this.nTable=null;this.iDefaultSortIndex=0;this.bInitialised=false;
this.aoOpenRows=[];this.sDomPositioning="lfrtip";this.sPaginationType="two_button";
this.iCookieDuration=60*60*2;this.sAjaxSource=null;this.bAjaxDataGet=true;this.fnServerData=$.getJSON;
this.iServerDraw=0;this._iDisplayLength=10;this._iDisplayStart=0;this._iDisplayEnd=10;
this._iRecordsTotal=0;this._iRecordsDisplay=0;this.bJUI=false;this.oClasses=_oExt.oStdClasses
}this.oApi={};this.fnDraw=function(bComplete){var oSettings=_fnSettingsFromNode(this[_oExt.iApiIndex]);
if(typeof bComplete!="undefined"&&bComplete===false){_fnCalculateEnd(oSettings);_fnDraw(oSettings)
}else{_fnReDraw(oSettings)}};this.fnFilter=function(sInput,iColumn,bEscapeRegex){var oSettings=_fnSettingsFromNode(this[_oExt.iApiIndex]);
if(typeof bEscapeRegex=="undefined"){bEscapeRegex=true}if(typeof iColumn=="undefined"||iColumn===null){_fnFilterComplete(oSettings,{sSearch:sInput,bEscapeRegex:bEscapeRegex},1)
}else{oSettings.aoPreSearchCols[iColumn].sSearch=sInput;oSettings.aoPreSearchCols[iColumn].bEscapeRegex=bEscapeRegex;
_fnFilterComplete(oSettings,oSettings.oPreviousSearch,1)}};this.fnSettings=function(nNode){return _fnSettingsFromNode(this[_oExt.iApiIndex])
};this.fnSort=function(aaSort){var oSettings=_fnSettingsFromNode(this[_oExt.iApiIndex]);
oSettings.aaSorting=aaSort;_fnSort(oSettings)};this.fnAddData=function(mData,bRedraw){var aiReturn=[];
var iTest;if(typeof bRedraw=="undefined"){bRedraw=true}var oSettings=_fnSettingsFromNode(this[_oExt.iApiIndex]);
if(typeof mData[0]=="object"){for(var i=0;i<mData.length;i++){iTest=_fnAddData(oSettings,mData[i]);
if(iTest==-1){return aiReturn}aiReturn.push(iTest)}}else{iTest=_fnAddData(oSettings,mData);
if(iTest==-1){return aiReturn}aiReturn.push(iTest)}oSettings.aiDisplay=oSettings.aiDisplayMaster.slice();
_fnBuildSearchArray(oSettings,1);if(bRedraw){_fnReDraw(oSettings)}return aiReturn
};this.fnDeleteRow=function(iAODataIndex,fnCallBack,bNullRow){var oSettings=_fnSettingsFromNode(this[_oExt.iApiIndex]);
var i;for(i=0;i<oSettings.aiDisplayMaster.length;i++){if(oSettings.aiDisplayMaster[i]==iAODataIndex){oSettings.aiDisplayMaster.splice(i,1);
break}}for(i=0;i<oSettings.aiDisplay.length;i++){if(oSettings.aiDisplay[i]==iAODataIndex){oSettings.aiDisplay.splice(i,1);
break}}_fnBuildSearchArray(oSettings,1);if(typeof fnCallBack=="function"){fnCallBack.call(this)
}if(oSettings._iDisplayStart>=oSettings.aiDisplay.length){oSettings._iDisplayStart-=oSettings._iDisplayLength;
if(oSettings._iDisplayStart<0){oSettings._iDisplayStart=0}}_fnCalculateEnd(oSettings);
_fnDraw(oSettings);var aData=oSettings.aoData[iAODataIndex]._aData.slice();if(typeof bNullRow!="undefined"&&bNullRow===true){oSettings.aoData[iAODataIndex]=null
}return aData};this.fnClearTable=function(bRedraw){var oSettings=_fnSettingsFromNode(this[_oExt.iApiIndex]);
_fnClearTable(oSettings);if(typeof bRedraw=="undefined"||bRedraw){_fnDraw(oSettings)
}};this.fnOpen=function(nTr,sHtml,sClass){var oSettings=_fnSettingsFromNode(this[_oExt.iApiIndex]);
this.fnClose(nTr);var nNewRow=document.createElement("tr");var nNewCell=document.createElement("td");
nNewRow.appendChild(nNewCell);nNewCell.className=sClass;nNewCell.colSpan=_fnVisbleColumns(oSettings);
nNewCell.innerHTML=sHtml;var nTrs=$("tbody tr",oSettings.nTable);if($.inArray(nTr,nTrs)!=-1){$(nNewRow).insertAfter(nTr)
}if(!oSettings.oFeatures.bServerSide){oSettings.aoOpenRows.push({nTr:nNewRow,nParent:nTr})
}};this.fnClose=function(nTr){var oSettings=_fnSettingsFromNode(this[_oExt.iApiIndex]);
for(var i=0;i<oSettings.aoOpenRows.length;i++){if(oSettings.aoOpenRows[i].nParent==nTr){var nTrParent=oSettings.aoOpenRows[i].nTr.parentNode;
if(nTrParent){nTrParent.removeChild(oSettings.aoOpenRows[i].nTr)}oSettings.aoOpenRows.splice(i,1);
return 0}}return 1};this.fnGetData=function(iRow){var oSettings=_fnSettingsFromNode(this[_oExt.iApiIndex]);
if(typeof iRow!="undefined"){return oSettings.aoData[iRow]._aData}return _fnGetDataMaster(oSettings)
};this.fnGetNodes=function(iRow){var oSettings=_fnSettingsFromNode(this[_oExt.iApiIndex]);
if(typeof iRow!="undefined"){return oSettings.aoData[iRow].nTr}return _fnGetTrNodes(oSettings)
};this.fnGetPosition=function(nNode){var oSettings=_fnSettingsFromNode(this[_oExt.iApiIndex]);
var i;if(nNode.nodeName=="TR"){for(i=0;i<oSettings.aoData.length;i++){if(oSettings.aoData[i]!==null&&oSettings.aoData[i].nTr==nNode){return i
}}}else{if(nNode.nodeName=="TD"){for(i=0;i<oSettings.aoData.length;i++){var iCorrector=0;
for(var j=0;j<oSettings.aoColumns.length;j++){if(oSettings.aoColumns[j].bVisible){if(oSettings.aoData[i]!==null&&oSettings.aoData[i].nTr.getElementsByTagName("td")[j-iCorrector]==nNode){return[i,j-iCorrector,j]
}}else{iCorrector++}}}}}return null};this.fnUpdate=function(mData,iRow,iColumn,bRedraw){var oSettings=_fnSettingsFromNode(this[_oExt.iApiIndex]);
var iVisibleColumn;var sDisplay;if(typeof bRedraw=="undefined"){bRedraw=true}if(typeof mData!="object"){sDisplay=mData;
oSettings.aoData[iRow]._aData[iColumn]=sDisplay;if(oSettings.aoColumns[iColumn].fnRender!==null){sDisplay=oSettings.aoColumns[iColumn].fnRender({iDataRow:iRow,iDataColumn:iColumn,aData:oSettings.aoData[iRow]._aData,oSettings:oSettings});
if(oSettings.aoColumns[iColumn].bUseRendered){oSettings.aoData[iRow]._aData[iColumn]=sDisplay
}}iVisibleColumn=_fnColumnIndexToVisible(oSettings,iColumn);if(iVisibleColumn!==null){oSettings.aoData[iRow].nTr.getElementsByTagName("td")[iVisibleColumn].innerHTML=sDisplay
}}else{if(mData.length!=oSettings.aoColumns.length){alert("Warning: An array passed to fnUpdate must have the same number of columns as the table in question - in this case "+oSettings.aoColumns.length);
return 1}for(var i=0;i<mData.length;i++){sDisplay=mData[i];oSettings.aoData[iRow]._aData[i]=sDisplay;
if(oSettings.aoColumns[i].fnRender!==null){sDisplay=oSettings.aoColumns[i].fnRender({iDataRow:iRow,iDataColumn:i,aData:oSettings.aoData[iRow]._aData,oSettings:oSettings});
if(oSettings.aoColumns[i].bUseRendered){oSettings.aoData[iRow]._aData[i]=sDisplay
}}iVisibleColumn=_fnColumnIndexToVisible(oSettings,i);if(iVisibleColumn!==null){oSettings.aoData[iRow].nTr.getElementsByTagName("td")[iVisibleColumn].innerHTML=sDisplay
}}}_fnBuildSearchArray(oSettings,1);if(bRedraw){_fnReDraw(oSettings)}return 0};this.fnSetColumnVis=function(iCol,bShow){var oSettings=_fnSettingsFromNode(this[_oExt.iApiIndex]);
var i,iLen;var iColumns=oSettings.aoColumns.length;var nTd;if(oSettings.aoColumns[iCol].bVisible==bShow){return
}var nTrHead=$("thead:eq(0)>tr",oSettings.nTable)[0];var nTrFoot=$("tfoot:eq(0)>tr",oSettings.nTable)[0];
var anTheadTh=[];var anTfootTh=[];for(i=0;i<iColumns;i++){anTheadTh.push(oSettings.aoColumns[i].nTh);
anTfootTh.push(oSettings.aoColumns[i].nTf)}if(bShow){var iInsert=0;for(i=0;i<iCol;
i++){if(oSettings.aoColumns[i].bVisible){iInsert++}}if(iInsert>=_fnVisbleColumns(oSettings)){nTrHead.appendChild(anTheadTh[iCol]);
if(nTrFoot){nTrFoot.appendChild(anTfootTh[iCol])}for(i=0,iLen=oSettings.aoData.length;
i<iLen;i++){nTd=oSettings.aoData[i]._anHidden[iCol];oSettings.aoData[i].nTr.appendChild(nTd)
}}else{var iBefore;for(i=iCol;i<iColumns;i++){iBefore=_fnColumnIndexToVisible(oSettings,i);
if(iBefore!==null){break}}nTrHead.insertBefore(anTheadTh[iCol],nTrHead.getElementsByTagName("th")[iBefore]);
if(nTrFoot){nTrFoot.insertBefore(anTfootTh[iCol],nTrFoot.getElementsByTagName("th")[iBefore])
}for(i=0,iLen=oSettings.aoData.length;i<iLen;i++){nTd=oSettings.aoData[i]._anHidden[iCol];
oSettings.aoData[i].nTr.insertBefore(nTd,oSettings.aoData[i].nTr.getElementsByTagName("td")[iBefore])
}}oSettings.aoColumns[iCol].bVisible=true}else{nTrHead.removeChild(anTheadTh[iCol]);
if(nTrFoot){nTrFoot.removeChild(anTfootTh[iCol])}var iVisCol=_fnColumnIndexToVisible(oSettings,iCol);
for(i=0,iLen=oSettings.aoData.length;i<iLen;i++){nTd=oSettings.aoData[i].nTr.getElementsByTagName("td")[iVisCol];
oSettings.aoData[i]._anHidden[iCol]=nTd;nTd.parentNode.removeChild(nTd)}oSettings.aoColumns[iCol].bVisible=false
}for(i=0,iLen=oSettings.aoOpenRows.length;i<iLen;i++){oSettings.aoOpenRows[i].nTr.colSpan=_fnVisbleColumns(oSettings)
}_fnSaveState(oSettings)};function _fnExternApiFunc(sFunc){return function(){var aArgs=[_fnSettingsFromNode(this[_oExt.iApiIndex])].concat(Array.prototype.slice.call(arguments));
return _oExt.oApi[sFunc].apply(this,aArgs)}}for(var sFunc in _oExt.oApi){if(sFunc){this[sFunc]=_fnExternApiFunc(sFunc)
}}function _fnInitalise(oSettings){if(oSettings.bInitialised===false){setTimeout(function(){_fnInitalise(oSettings)
},200);return}_fnAddOptionsHtml(oSettings);_fnDrawHead(oSettings);if(oSettings.oFeatures.bSort){_fnSort(oSettings,false);
_fnSortingClasses(oSettings)}else{oSettings.aiDisplay=oSettings.aiDisplayMaster.slice();
_fnCalculateEnd(oSettings);_fnDraw(oSettings)}if(oSettings.sAjaxSource!==null&&!oSettings.oFeatures.bServerSide){_fnProcessingDisplay(oSettings,true);
$.getJSON(oSettings.sAjaxSource,null,function(json){for(var i=0;i<json.aaData.length;
i++){_fnAddData(oSettings,json.aaData[i])}oSettings.iInitDisplayStart=oSettings._iDisplayStart;
if(oSettings.oFeatures.bSort){_fnSort(oSettings)}else{oSettings.aiDisplay=oSettings.aiDisplayMaster.slice();
_fnCalculateEnd(oSettings);_fnDraw(oSettings)}_fnProcessingDisplay(oSettings,false);
if(typeof oSettings.fnInitComplete=="function"){oSettings.fnInitComplete(oSettings,json)
}});return}if(typeof oSettings.fnInitComplete=="function"){oSettings.fnInitComplete(oSettings)
}if(!oSettings.oFeatures.bServerSide){_fnProcessingDisplay(oSettings,false)}}function _fnLanguageProcess(oSettings,oLanguage,bInit){_fnMap(oSettings.oLanguage,oLanguage,"sProcessing");
_fnMap(oSettings.oLanguage,oLanguage,"sLengthMenu");_fnMap(oSettings.oLanguage,oLanguage,"sZeroRecords");
_fnMap(oSettings.oLanguage,oLanguage,"sInfo");_fnMap(oSettings.oLanguage,oLanguage,"sInfoEmpty");
_fnMap(oSettings.oLanguage,oLanguage,"sInfoFiltered");_fnMap(oSettings.oLanguage,oLanguage,"sInfoPostFix");
_fnMap(oSettings.oLanguage,oLanguage,"sSearch");if(typeof oLanguage.oPaginate!="undefined"){_fnMap(oSettings.oLanguage.oPaginate,oLanguage.oPaginate,"sFirst");
_fnMap(oSettings.oLanguage.oPaginate,oLanguage.oPaginate,"sPrevious");_fnMap(oSettings.oLanguage.oPaginate,oLanguage.oPaginate,"sNext");
_fnMap(oSettings.oLanguage.oPaginate,oLanguage.oPaginate,"sLast")}if(bInit){_fnInitalise(oSettings)
}}function _fnAddColumn(oSettings,oOptions,nTh){oSettings.aoColumns[oSettings.aoColumns.length++]={sType:null,_bAutoType:true,bVisible:true,bSearchable:true,bSortable:true,asSorting:["asc","desc"],sSortingClass:oSettings.oClasses.sSortable,sSortingClassJUI:oSettings.oClasses.sSortJUI,sTitle:nTh?nTh.innerHTML:"",sName:"",sWidth:null,sClass:null,fnRender:null,bUseRendered:true,iDataSort:oSettings.aoColumns.length-1,nTh:nTh?nTh:document.createElement("th"),nTf:null};
var iLength=oSettings.aoColumns.length-1;if(typeof oOptions!="undefined"&&oOptions!==null){var oCol=oSettings.aoColumns[iLength];
if(typeof oOptions.sType!="undefined"){oCol.sType=oOptions.sType;oCol._bAutoType=false
}_fnMap(oCol,oOptions,"bVisible");_fnMap(oCol,oOptions,"bSearchable");_fnMap(oCol,oOptions,"bSortable");
_fnMap(oCol,oOptions,"sTitle");_fnMap(oCol,oOptions,"sName");_fnMap(oCol,oOptions,"sWidth");
_fnMap(oCol,oOptions,"sClass");_fnMap(oCol,oOptions,"fnRender");_fnMap(oCol,oOptions,"bUseRendered");
_fnMap(oCol,oOptions,"iDataSort");_fnMap(oCol,oOptions,"asSorting");if(typeof oOptions.asSorting!="undefined"){if($.inArray("asc",oOptions.asSorting)==-1&&$.inArray("desc",oOptions.asSorting)==-1){oCol.sSortingClass="";
oCol.sSortingClassJUI=""}else{if($.inArray("asc",oOptions.asSorting)!=-1&&$.inArray("desc",oOptions.asSorting)==-1){oCol.sSortingClass=oSettings.oClasses.sSortableAsc;
oCol.sSortingClassJUI=oSettings.oClasses.sSortJUIAscAllowed}else{if($.inArray("asc",oOptions.asSorting)==-1&&$.inArray("desc",oOptions.asSorting)!=-1){oCol.sSortingClass=oSettings.oClasses.sSortableDesc;
oCol.sSortingClassJUI=oSettings.oClasses.sSortJUIDescAllowed}}}}}if(typeof oSettings.aoPreSearchCols[iLength]=="undefined"||oSettings.aoPreSearchCols[iLength]===null){oSettings.aoPreSearchCols[iLength]={sSearch:"",bEscapeRegex:true}
}else{if(typeof oSettings.aoPreSearchCols[iLength].bEscapeRegex=="undefined"){oSettings.aoPreSearchCols[iLength].bEscapeRegex=true
}}}function _fnAddData(oSettings,aData){if(aData.length!=oSettings.aoColumns.length){alert("Warning - added data does not match known number of columns");
return -1}var iThisIndex=oSettings.aoData.length;oSettings.aoData.push({_iId:oSettings.iNextId++,_aData:aData.slice(),nTr:document.createElement("tr"),_anHidden:[]});
var nTd;for(var i=0;i<aData.length;i++){nTd=document.createElement("td");if(typeof oSettings.aoColumns[i].fnRender=="function"){var sRendered=oSettings.aoColumns[i].fnRender({iDataRow:iThisIndex,iDataColumn:i,aData:aData,oSettings:oSettings});
nTd.innerHTML=sRendered;if(oSettings.aoColumns[i].bUseRendered){oSettings.aoData[iThisIndex]._aData[i]=sRendered
}}else{nTd.innerHTML=aData[i]}if(oSettings.aoColumns[i].sClass!==null){nTd.className=oSettings.aoColumns[i].sClass
}if(oSettings.aoColumns[i]._bAutoType&&oSettings.aoColumns[i].sType!="string"){if(oSettings.aoColumns[i].sType===null){oSettings.aoColumns[i].sType=_fnDetectType(aData[i])
}else{if(oSettings.aoColumns[i].sType=="date"||oSettings.aoColumns[i].sType=="numeric"){oSettings.aoColumns[i].sType=_fnDetectType(aData[i])
}}}if(oSettings.aoColumns[i].bVisible){oSettings.aoData[iThisIndex].nTr.appendChild(nTd)
}else{oSettings.aoData[iThisIndex]._anHidden[i]=nTd}}oSettings.aiDisplayMaster.push(iThisIndex);
return iThisIndex}function _fnGatherData(oSettings){var iLoop;var i,j;if(oSettings.sAjaxSource===null){$("tbody:eq(0)>tr",oSettings.nTable).each(function(){var iThisIndex=oSettings.aoData.length;
oSettings.aoData.push({_iId:oSettings.iNextId++,_aData:[],nTr:this,_anHidden:[]});
oSettings.aiDisplayMaster.push(iThisIndex);var aLocalData=oSettings.aoData[iThisIndex]._aData;
$("td",this).each(function(i){aLocalData[i]=this.innerHTML})})}var iCorrector=0;for(i=0;
i<oSettings.aoColumns.length;i++){if(oSettings.aoColumns[i].sTitle===null){oSettings.aoColumns[i].sTitle=oSettings.aoColumns[i].nTh.innerHTML
}var bAutoType=oSettings.aoColumns[i]._bAutoType;var bRender=typeof oSettings.aoColumns[i].fnRender=="function";
var bClass=oSettings.aoColumns[i].sClass!==null;var bVisible=oSettings.aoColumns[i].bVisible;
if(bAutoType||bRender||bClass||!bVisible){iLoop=oSettings.aoData.length;for(j=0;j<iLoop;
j++){var nCellNode=oSettings.aoData[j].nTr.getElementsByTagName("td")[i-iCorrector];
if(bAutoType){if(oSettings.aoColumns[i].sType===null){oSettings.aoColumns[i].sType=_fnDetectType(oSettings.aoData[j]._aData[i])
}else{if(oSettings.aoColumns[i].sType=="date"||oSettings.aoColumns[i].sType=="numeric"){oSettings.aoColumns[i].sType=_fnDetectType(oSettings.aoData[j]._aData[i])
}}}if(bRender){var sRendered=oSettings.aoColumns[i].fnRender({iDataRow:j,iDataColumn:i,aData:oSettings.aoData[j]._aData,oSettings:oSettings});
nCellNode.innerHTML=sRendered;if(oSettings.aoColumns[i].bUseRendered){oSettings.aoData[j]._aData[i]=sRendered
}}if(bClass){nCellNode.className+=" "+oSettings.aoColumns[i].sClass}if(!bVisible){oSettings.aoData[j]._anHidden[i]=nCellNode;
nCellNode.parentNode.removeChild(nCellNode)}}if(!bVisible){iCorrector++}}}}function _fnDrawHead(oSettings){var i,nTh,iLen;
var iThs=oSettings.nTable.getElementsByTagName("thead")[0].getElementsByTagName("th").length;
var iCorrector=0;if(iThs!==0){for(i=0,iLen=oSettings.aoColumns.length;i<iLen;i++){nTh=oSettings.aoColumns[i].nTh;
if(nTh.parentNode&&oSettings.aoColumns[i].bVisible){if(oSettings.aoColumns[i].sWidth!==null){nTh.style.width=oSettings
        .aoColumns[i].sWidth
}if(oSettings.aoColumns[i].sTitle!=nTh.innerHTML){nTh.innerHTML=oSettings.aoColumns[i].sTitle
}}else{nTh.parentNode.removeChild(nTh);iCorrector++}}}else{var nTr=document.createElement("tr");
for(i=0,iLen=oSettings.aoColumns.length;i<iLen;i++){nTh=oSettings.aoColumns[i].nTh;
nTh.innerHTML=oSettings.aoColumns[i].sTitle;if(oSettings.aoColumns[i].bVisible){if(oSettings.aoColumns[i].sClass!==null){nTh.className=oSettings.aoColumns[i].sClass
}if(oSettings.aoColumns[i].sWidth!==null){nTh.style.width=oSettings.aoColumns[i].sWidth
}nTr.appendChild(nTh)}}$("thead:eq(0)",oSettings.nTable).html("")[0].appendChild(nTr)
}if(oSettings.bJUI){for(i=0,iLen=oSettings.aoColumns.length;i<iLen;i++){oSettings.aoColumns[i].nTh.insertBefore(document.createElement("span"),oSettings.aoColumns[i].nTh.firstChild)
}}if(oSettings.oFeatures.bSort){for(i=0;i<oSettings.aoColumns.length;i++){if(oSettings.aoColumns[i].bSortable===false){continue
}$(oSettings.aoColumns[i].nTh).click(function(e){var iDataIndex;for(var i=0;i<oSettings.aoColumns.length;
i++){if(oSettings.aoColumns[i].nTh==this){iDataIndex=i;break}}if(oSettings.aoColumns[iDataIndex].bSortable===false){return
}var fnInnerSorting=function(){var iColumn,iNextSort;if(e.shiftKey){var bFound=false;
for(var i=0;i<oSettings.aaSorting.length;i++){if(oSettings.aaSorting[i][0]==iDataIndex){bFound=true;
iColumn=oSettings.aaSorting[i][0];iNextSort=oSettings.aaSorting[i][2]+1;if(typeof oSettings.aoColumns[iColumn].asSorting[iNextSort]=="undefined"){oSettings.aaSorting.splice(i,1)
}else{oSettings.aaSorting[i][1]=oSettings.aoColumns[iColumn].asSorting[iNextSort];
oSettings.aaSorting[i][2]=iNextSort}break}}if(bFound===false){oSettings.aaSorting.push([iDataIndex,oSettings.aoColumns[iDataIndex].asSorting[0],0])
}}else{if(oSettings.aaSorting.length==1&&oSettings.aaSorting[0][0]==iDataIndex){iColumn=oSettings.aaSorting[0][0];
iNextSort=oSettings.aaSorting[0][2]+1;if(typeof oSettings.aoColumns[iColumn].asSorting[iNextSort]=="undefined"){iNextSort=0
}oSettings.aaSorting[0][1]=oSettings.aoColumns[iColumn].asSorting[iNextSort];oSettings.aaSorting[0][2]=iNextSort
}else{oSettings.aaSorting.splice(0,oSettings.aaSorting.length);oSettings.aaSorting.push([iDataIndex,oSettings.aoColumns[iDataIndex].asSorting[0],0])
}}_fnSort(oSettings)};if(!oSettings.oFeatures.bProcessing){fnInnerSorting()}else{_fnProcessingDisplay(oSettings,true);
setTimeout(function(){fnInnerSorting();if(!oSettings.oFeatures.bServerSide){_fnProcessingDisplay(oSettings,false)
}},0)}})}$("thead:eq(0) th",oSettings.nTable).mousedown(function(e){if(e.shiftKey){this.onselectstart=function(){return false
};return false}})}if(oSettings.oFeatures.bAutoWidth&&oSettings.nTable.offsetWidth!==0){oSettings.nTable.style.width=oSettings.nTable.offsetWidth+"px"
}var nTfoot=oSettings.nTable.getElementsByTagName("tfoot");if(nTfoot.length!==0){iCorrector=0;
var nTfs=nTfoot[0].getElementsByTagName("th");for(i=0,iLen=nTfs.length;i<iLen;i++){oSettings.aoColumns[i].nTf=nTfs[i-iCorrector];
if(!oSettings.aoColumns[i].bVisible){nTfs[i-iCorrector].parentNode.removeChild(nTfs[i-iCorrector]);
iCorrector++}}}}function _fnDraw(oSettings){var i;var anRows=[];var iRowCount=0;var bRowError=false;
var iStrips=oSettings.asStripClasses.length;var iOpenRows=oSettings.aoOpenRows.length;
if(oSettings.oFeatures.bServerSide&&!_fnAjaxUpdate(oSettings)){return}if(oSettings.aiDisplay.length!==0){var iStart=oSettings._iDisplayStart;
var iEnd=oSettings._iDisplayEnd;if(oSettings.oFeatures.bServerSide){iStart=0;iEnd=oSettings.aoData.length
}for(var j=iStart;j<iEnd;j++){var nRow=oSettings.aoData[oSettings.aiDisplay[j]].nTr;
if(iStrips!==0){$(nRow).removeClass(oSettings.asStripClasses.join(" "));$(nRow).addClass(oSettings.asStripClasses[iRowCount%iStrips])
}if(typeof oSettings.fnRowCallback=="function"){nRow=oSettings.fnRowCallback(nRow,oSettings.aoData[oSettings.aiDisplay[j]]._aData,iRowCount,j);
if(!nRow&&!bRowError){alert("Error: A node was not returned by fnRowCallback");bRowError=true
}}anRows.push(nRow);iRowCount++;if(iOpenRows!==0){for(var k=0;k<iOpenRows;k++){if(nRow==oSettings.aoOpenRows[k].nParent){anRows.push(oSettings.aoOpenRows[k].nTr)
}}}}}else{anRows[0]=document.createElement("tr");if(typeof oSettings.asStripClasses[0]!="undefined"){anRows[0].className=oSettings.asStripClasses[0]
}var nTd=document.createElement("td");nTd.setAttribute("valign","top");nTd.colSpan=oSettings.aoColumns.length;
nTd.className=oSettings.oClasses.sRowEmpty;nTd.innerHTML=oSettings.oLanguage.sZeroRecords;
anRows[iRowCount].appendChild(nTd)}if(typeof oSettings.fnHeaderCallback=="function"){oSettings.fnHeaderCallback($("thead:eq(0)>tr",oSettings.nTable)[0],_fnGetDataMaster(oSettings),oSettings._iDisplayStart,oSettings.fnDisplayEnd(),oSettings.aiDisplay)
}if(typeof oSettings.fnFooterCallback=="function"){oSettings.fnFooterCallback($("tfoot:eq(0)>tr",oSettings.nTable)[0],_fnGetDataMaster(oSettings),oSettings._iDisplayStart,oSettings.fnDisplayEnd(),oSettings.aiDisplay)
}var nTrs=$("tbody:eq(0)>tr",oSettings.nTable);for(i=0;i<nTrs.length;i++){nTrs[i].parentNode.removeChild(nTrs[i])
}var nBody=$("tbody:eq(0)",oSettings.nTable);if(nBody[0]){for(i=0;i<anRows.length;
i++){nBody[0].appendChild(anRows[i])}}if(oSettings.oFeatures.bPaginate){_oExt.oPagination[oSettings.sPaginationType].fnUpdate(oSettings,function(oSettings){_fnCalculateEnd(oSettings);
_fnDraw(oSettings)})}if(oSettings.oFeatures.bInfo&&oSettings.anFeatures.i){if(oSettings.fnRecordsDisplay()===0&&oSettings.fnRecordsDisplay()==oSettings.fnRecordsTotal()){oSettings.anFeatures.i.innerHTML=oSettings.oLanguage.sInfoEmpty+oSettings.oLanguage.sInfoPostFix
}else{if(oSettings.fnRecordsDisplay()===0){oSettings.anFeatures.i.innerHTML=oSettings.oLanguage.sInfoEmpty+" "+oSettings.oLanguage.sInfoFiltered.replace("_MAX_",oSettings.fnRecordsTotal())+oSettings.oLanguage.sInfoPostFix
}else{if(oSettings.fnRecordsDisplay()==oSettings.fnRecordsTotal()){oSettings.anFeatures.i.innerHTML=oSettings.oLanguage.sInfo.replace("_START_",oSettings._iDisplayStart+1).replace("_END_",oSettings.fnDisplayEnd()).replace("_TOTAL_",oSettings.fnRecordsDisplay())+oSettings.oLanguage.sInfoPostFix
}else{oSettings.anFeatures.i.innerHTML=oSettings.oLanguage.sInfo.replace("_START_",oSettings._iDisplayStart+1).replace("_END_",oSettings.fnDisplayEnd()).replace("_TOTAL_",oSettings.fnRecordsDisplay())+" "+oSettings.oLanguage.sInfoFiltered.replace("_MAX_",oSettings.fnRecordsTotal())+oSettings.oLanguage.sInfoPostFix
}}}}if(oSettings.oFeatures.bServerSide&&oSettings.oFeatures.bSort){_fnSortingClasses(oSettings)
}_fnSaveState(oSettings);if(typeof oSettings.fnDrawCallback=="function"){oSettings.fnDrawCallback(oSettings)
}}function _fnReDraw(oSettings){if(oSettings.oFeatures.bSort){_fnSort(oSettings,oSettings.oPreviousSearch)
}else{if(oSettings.oFeatures.bFilter){_fnFilterComplete(oSettings,oSettings.oPreviousSearch)
}else{_fnCalculateEnd(oSettings);_fnDraw(oSettings)}}}function _fnAjaxUpdate(oSettings){if(oSettings.bAjaxDataGet){_fnProcessingDisplay(oSettings,true);
var iColumns=oSettings.aoColumns.length;var aoData=[];var i;oSettings.iServerDraw++;
aoData.push({name:"sEcho",value:oSettings.iServerDraw});aoData.push({name:"iColumns",value:iColumns});
aoData.push({name:"sColumns",value:_fnColumnOrdering(oSettings)});aoData.push({name:"iDisplayStart",value:oSettings._iDisplayStart});
aoData.push({name:"iDisplayLength",value:oSettings.oFeatures.bPaginate!==false?oSettings._iDisplayLength:-1});
if(oSettings.oFeatures.bFilter!==false){aoData.push({name:"sSearch",value:oSettings.oPreviousSearch.sSearch});
aoData.push({name:"bEscapeRegex",value:oSettings.oPreviousSearch.bEscapeRegex});for(i=0;
i<iColumns;i++){aoData.push({name:"sSearch_"+i,value:oSettings.aoPreSearchCols[i].sSearch});
aoData.push({name:"bEscapeRegex_"+i,value:oSettings.aoPreSearchCols[i].bEscapeRegex})
}}if(oSettings.oFeatures.bSort!==false){var iFixed=oSettings.aaSortingFixed!==null?oSettings.aaSortingFixed.length:0;
var iUser=oSettings.aaSorting.length;aoData.push({name:"iSortingCols",value:iFixed+iUser});
for(i=0;i<iFixed;i++){aoData.push({name:"iSortCol_"+i,value:oSettings.aaSortingFixed[i][0]});
aoData.push({name:"iSortDir_"+i,value:oSettings.aaSortingFixed[i][1]})}for(i=0;i<iUser;
i++){aoData.push({name:"iSortCol_"+(i+iFixed),value:oSettings.aaSorting[i][0]});aoData.push({name:"iSortDir_"+(i+iFixed),value:oSettings.aaSorting[i][1]})
}}oSettings.fnServerData(oSettings.sAjaxSource,aoData,function(json){_fnAjaxUpdateDraw(oSettings,json)
});return false}else{return true}}function _fnAjaxUpdateDraw(oSettings,json){if(typeof json.sEcho!="undefined"){if(json.sEcho*1<oSettings.iServerDraw){return
}else{oSettings.iServerDraw=json.sEcho*1}}_fnClearTable(oSettings);oSettings._iRecordsTotal=json.iTotalRecords;
oSettings._iRecordsDisplay=json.iTotalDisplayRecords;var sOrdering=_fnColumnOrdering(oSettings);
var bReOrder=(json.sColumns!="undefined"&&sOrdering!==""&&json.sColumns!=sOrdering);
if(bReOrder){var aiIndex=_fnReOrderIndex(oSettings,json.sColumns)}for(var i=0,iLen=json.aaData.length;
i<iLen;i++){if(bReOrder){var aData=[];for(var j=0,jLen=oSettings.aoColumns.length;
j<jLen;j++){aData.push(json.aaData[i][aiIndex[j]])}_fnAddData(oSettings,aData)}else{_fnAddData(oSettings,json.aaData[i])
}}oSettings.aiDisplay=oSettings.aiDisplayMaster.slice();oSettings.bAjaxDataGet=false;
_fnDraw(oSettings);oSettings.bAjaxDataGet=true;_fnProcessingDisplay(oSettings,false)
}function _fnAddOptionsHtml(oSettings){var nHolding=document.createElement("div");
oSettings.nTable.parentNode.insertBefore(nHolding,oSettings.nTable);var nWrapper=document.createElement("div");
nWrapper.className=oSettings.oClasses.sWrapper;if(oSettings.sTableId!==""){nWrapper.setAttribute("id",oSettings.sTableId+"_wrapper")
}var nInsertNode=nWrapper;var sDom=oSettings.sDomPositioning.split("");var nTmp;for(var i=0;
i<sDom.length;i++){var cOption=sDom[i];if(cOption=="<"){var nNewNode=document.createElement("div");
var cNext=sDom[i+1];if(cNext=="'"||cNext=='"'){var sClass="";var j=2;while(sDom[i+j]!=cNext){sClass+=sDom[i+j];
j++}nNewNode.className=sClass;i+=j}nInsertNode.appendChild(nNewNode);nInsertNode=nNewNode
}else{if(cOption==">"){nInsertNode=nInsertNode.parentNode}else{if(cOption=="l"&&oSettings.oFeatures.bPaginate&&oSettings.oFeatures.bLengthChange){nTmp=_fnFeatureHtmlLength(oSettings);
oSettings.anFeatures[cOption]=nTmp;nInsertNode.appendChild(nTmp)}else{if(cOption=="f"&&oSettings.oFeatures.bFilter){nTmp=_fnFeatureHtmlFilter(oSettings);
oSettings.anFeatures[cOption]=nTmp;nInsertNode.appendChild(nTmp)}else{if(cOption=="r"&&oSettings.oFeatures.bProcessing){nTmp=_fnFeatureHtmlProcessing(oSettings);
oSettings.anFeatures[cOption]=nTmp;nInsertNode.appendChild(nTmp)}else{if(cOption=="t"){oSettings.anFeatures[cOption]=oSettings.nTable;
nInsertNode.appendChild(oSettings.nTable)}else{if(cOption=="i"&&oSettings.oFeatures.bInfo){nTmp=_fnFeatureHtmlInfo(oSettings);
oSettings.anFeatures[cOption]=nTmp;nInsertNode.appendChild(nTmp)}else{if(cOption=="p"&&oSettings.oFeatures.bPaginate){nTmp=_fnFeatureHtmlPaginate(oSettings);
oSettings.anFeatures[cOption]=nTmp;nInsertNode.appendChild(nTmp)}else{if(_oExt.aoFeatures.length!==0){var aoFeatures=_oExt.aoFeatures;
for(var k=0,kLen=aoFeatures.length;k<kLen;k++){if(cOption==aoFeatures[k].cFeature){nTmp=aoFeatures[k].fnInit(oSettings);
oSettings.anFeatures[cOption]=nTmp;nInsertNode.appendChild(nTmp);break}}}}}}}}}}}}nHolding.parentNode.replaceChild(nWrapper,nHolding)
}function _fnFeatureHtmlFilter(oSettings){var nFilter=document.createElement("div");
if(oSettings.sTableId!==""){nFilter.setAttribute("id",oSettings.sTableId+"_filter")
}nFilter.className=oSettings.oClasses.sFilter;var sSpace=oSettings.oLanguage.sSearch===""?"":" ";
nFilter.innerHTML=oSettings.oLanguage.sSearch+sSpace+'<input type="text" />';var jqFilter=$("input",nFilter);
jqFilter.val(oSettings.oPreviousSearch.sSearch.replace('"',"&quot;"));jqFilter.keyup(function(e){_fnFilterComplete(oSettings,{sSearch:this.value,bEscapeRegex:oSettings.oPreviousSearch.bEscapeRegex})
});jqFilter.keypress(function(e){if(e.keyCode==13){return false}});return nFilter
}function _fnFeatureHtmlInfo(oSettings){var nInfo=document.createElement("div");if(oSettings.sTableId!==""){nInfo.setAttribute("id",oSettings.sTableId+"_info")
}nInfo.className=oSettings.oClasses.sInfo;return nInfo}function _fnFeatureHtmlPaginate(oSettings){var nPaginate=document.createElement("div");
nPaginate.className=oSettings.oClasses.sPaging+oSettings.sPaginationType;oSettings.anFeatures.p=nPaginate;
_oExt.oPagination[oSettings.sPaginationType].fnInit(oSettings,function(oSettings){_fnCalculateEnd(oSettings);
_fnDraw(oSettings)});return nPaginate}function _fnFeatureHtmlLength(oSettings){var sName=(oSettings.sTableId==="")?"":'name="'+oSettings.sTableId+'_length"';
var sStdMenu='<select size="1" '+sName+'><option value="10">10</option><option value="25">25</option><option value="50">50</option><option value="100">100</option></select>';
var nLength=document.createElement("div");if(oSettings.sTableId!==""){nLength.setAttribute("id",oSettings.sTableId+"_length")
}nLength.className=oSettings.oClasses.sLength;nLength.innerHTML=oSettings.oLanguage.sLengthMenu.replace("_MENU_",sStdMenu);
$('select option[value="'+oSettings._iDisplayLength+'"]',nLength).attr("selected",true);
$("select",nLength).change(function(e){oSettings._iDisplayLength=parseInt($(this).val(),10);
_fnCalculateEnd(oSettings);if(oSettings._iDisplayEnd==oSettings.aiDisplay.length){oSettings._iDisplayStart=oSettings._iDisplayEnd-oSettings._iDisplayLength;
if(oSettings._iDisplayStart<0){oSettings._iDisplayStart=0}}if(oSettings._iDisplayLength==-1){oSettings._iDisplayStart=0
}_fnDraw(oSettings)});return nLength}function _fnFeatureHtmlProcessing(oSettings){var nProcessing=document.createElement("div");
if(oSettings.sTableId!==""){nProcessing.setAttribute("id",oSettings.sTableId+"_processing")
}nProcessing.innerHTML=oSettings.oLanguage.sProcessing;nProcessing.className=oSettings.oClasses.sProcessing;
oSettings.nTable.parentNode.insertBefore(nProcessing,oSettings.nTable);return nProcessing
}function _fnProcessingDisplay(oSettings,bShow){if(oSettings.oFeatures.bProcessing){oSettings.anFeatures.r.style.visibility=bShow?"visible":"hidden"
}}function _fnFilterComplete(oSettings,oInput,iForce){_fnFilter(oSettings,oInput.sSearch,iForce,oInput.bEscapeRegex);
for(var i=0;i<oSettings.aoPreSearchCols.length;i++){_fnFilterColumn(oSettings,oSettings.aoPreSearchCols[i].sSearch,i,oSettings.aoPreSearchCols[i].bEscapeRegex)
}if(_oExt.afnFiltering.length!==0){_fnFilterCustom(oSettings)}if(typeof oSettings.iInitDisplayStart!="undefined"&&oSettings.iInitDisplayStart!=-1){oSettings._iDisplayStart=oSettings.iInitDisplayStart;
oSettings.iInitDisplayStart=-1}else{oSettings._iDisplayStart=0}_fnCalculateEnd(oSettings);
_fnDraw(oSettings);_fnBuildSearchArray(oSettings,0)}function _fnFilterCustom(oSettings){var afnFilters=_oExt.afnFiltering;
for(var i=0,iLen=afnFilters.length;i<iLen;i++){var iCorrector=0;for(var j=0,jLen=oSettings.aiDisplay.length;
j<jLen;j++){var iDisIndex=oSettings.aiDisplay[j-iCorrector];if(!afnFilters[i](oSettings,oSettings.aoData[iDisIndex]._aData,iDisIndex)){oSettings.aiDisplay.splice(j-iCorrector,1);
iCorrector++}}}}function _fnFilterColumn(oSettings,sInput,iColumn,bEscapeRegex){if(sInput===""){return
}var iIndexCorrector=0;var sRegexMatch=bEscapeRegex?_fnEscapeRegex(sInput):sInput;
var rpSearch=new RegExp(sRegexMatch,"i");for(var i=oSettings.aiDisplay.length-1;i>=0;
i--){var sData=_fnDataToSearch(oSettings.aoData[oSettings.aiDisplay[i]]._aData[iColumn],oSettings.aoColumns[iColumn].sType);
if(!rpSearch.test(sData)){oSettings.aiDisplay.splice(i,1);iIndexCorrector++}}}function _fnFilter(oSettings,sInput,iForce,bEscapeRegex){var i;
if(typeof iForce=="undefined"||iForce===null){iForce=0}if(_oExt.afnFiltering.length!==0){iForce=1
}var asSearch=bEscapeRegex?_fnEscapeRegex(sInput).split(" "):sInput.split(" ");var sRegExpString="^(?=.*?"+asSearch.join(")(?=.*?")+").*$";
var rpSearch=new RegExp(sRegExpString,"i");if(sInput.length<=0){oSettings.aiDisplay.splice(0,oSettings.aiDisplay.length);
oSettings.aiDisplay=oSettings.aiDisplayMaster.slice()}else{if(oSettings.aiDisplay.length==oSettings.aiDisplayMaster.length||oSettings.oPreviousSearch.sSearch.length>sInput.length||iForce==1||sInput.indexOf(oSettings.oPreviousSearch.sSearch)!==0){oSettings.aiDisplay.splice(0,oSettings.aiDisplay.length);
_fnBuildSearchArray(oSettings,1);for(i=0;i<oSettings.aiDisplayMaster.length;i++){if(rpSearch.test(oSettings.asDataSearch[i])){oSettings.aiDisplay.push(oSettings.aiDisplayMaster[i])
}}}else{var iIndexCorrector=0;for(i=0;i<oSettings.asDataSearch.length;i++){if(!rpSearch.test(oSettings.asDataSearch[i])){oSettings.aiDisplay.splice(i-iIndexCorrector,1);
iIndexCorrector++}}}}oSettings.oPreviousSearch.sSearch=sInput;oSettings.oPreviousSearch.bEscapeRegex=bEscapeRegex
}function _fnSort(oSettings,bApplyClasses){var aaSort=[];var oSort=_oExt.oSort;var aoData=oSettings.aoData;
var iDataSort;var iDataType;var i;if(oSettings.aaSorting.length!==0||oSettings.aaSortingFixed!==null){if(oSettings.aaSortingFixed!==null){aaSort=oSettings.aaSortingFixed.concat(oSettings.aaSorting)
}else{aaSort=oSettings.aaSorting.slice()}if(!window.runtime){var fnLocalSorting;var sDynamicSort="fnLocalSorting = function(a,b){var iTest;";
for(i=0;i<aaSort.length-1;i++){iDataSort=oSettings.aoColumns[aaSort[i][0]].iDataSort;
iDataType=oSettings.aoColumns[iDataSort].sType;sDynamicSort+="iTest = oSort['"+iDataType+"-"+aaSort[i][1]+"']( aoData[a]._aData["+iDataSort+"], aoData[b]._aData["+iDataSort+"] ); if ( iTest === 0 )"
}iDataSort=oSettings.aoColumns[aaSort[aaSort.length-1][0]].iDataSort;iDataType=oSettings.aoColumns[iDataSort].sType;
sDynamicSort+="iTest = oSort['"+iDataType+"-"+aaSort[aaSort.length-1][1]+"']( aoData[a]._aData["+iDataSort+"], aoData[b]._aData["+iDataSort+"] ); return iTest;}";
eval(sDynamicSort);oSettings.aiDisplayMaster.sort(fnLocalSorting)}else{var aAirSort=[];
var iLen=aaSort.length;for(i=0;i<iLen;i++){iDataSort=oSettings.aoColumns[aaSort[i][0]].iDataSort;
aAirSort.push([iDataSort,oSettings.aoColumns[iDataSort].sType+"-"+aaSort[i][1]])}oSettings.aiDisplayMaster.sort(function(a,b){var iTest;
for(var i=0;i<iLen;i++){iTest=oSort[aAirSort[i][1]](aoData[a]._aData[aAirSort[i][0]],aoData[b]._aData[aAirSort[i][0]]);
if(iTest!==0){return iTest}}return 0})}}if(typeof bApplyClasses=="undefined"||bApplyClasses){_fnSortingClasses(oSettings)
}if(oSettings.oFeatures.bFilter){_fnFilterComplete(oSettings,oSettings.oPreviousSearch,1)
}else{oSettings.aiDisplay=oSettings.aiDisplayMaster.slice();oSettings._iDisplayStart=0;
_fnCalculateEnd(oSettings);_fnDraw(oSettings)}}function _fnSortingClasses(oSettings){var i,j,iFound;
var aaSort,sClass;var iColumns=oSettings.aoColumns.length;var oClasses=oSettings.oClasses;
for(i=0;i<iColumns;i++){$(oSettings.aoColumns[i].nTh).removeClass(oClasses.sSortAsc+" "+oClasses.sSortDesc+" "+oSettings.aoColumns[i].sSortingClass)
}if(oSettings.aaSortingFixed!==null){aaSort=oSettings.aaSortingFixed.concat(oSettings.aaSorting)
}else{aaSort=oSettings.aaSorting.slice()}for(i=0;i<oSettings.aoColumns.length;i++){if(oSettings.aoColumns[i].bSortable&&oSettings.aoColumns[i].bVisible){sClass=oSettings.aoColumns[i].sSortingClass;
iFound=-1;for(j=0;j<aaSort.length;j++){if(aaSort[j][0]==i){sClass=(aaSort[j][1]=="asc")?oClasses.sSortAsc:oClasses.sSortDesc;
iFound=j;break}}$(oSettings.aoColumns[i].nTh).addClass(sClass);if(oSettings.bJUI){var jqSpan=$("span",oSettings.aoColumns[i].nTh);
jqSpan.removeClass(oClasses.sSortJUIAsc+" "+oClasses.sSortJUIDesc+" "+oClasses.sSortJUI+" "+oClasses.sSortJUIAscAllowed+" "+oClasses.sSortJUIDescAllowed);
var sSpanClass;if(iFound==-1){sSpanClass=oSettings.aoColumns[i].sSortingClassJUI}else{if(aaSort[iFound][1]=="asc"){sSpanClass=oClasses.sSortJUIAsc
}else{sSpanClass=oClasses.sSortJUIDesc}}jqSpan.addClass(sSpanClass)}}}if(oSettings.oFeatures.bSortClasses){var nTrs=_fnGetTrNodes(oSettings);
sClass=oClasses.sSortColumn;$("td",nTrs).removeClass(sClass+"1 "+sClass+"2 "+sClass+"3");
var iClass=1;for(i=0;i<aaSort.length;i++){var iVis=_fnColumnIndexToVisible(oSettings,aaSort[i][0]);
if(iVis!==null){if(iClass<=2){$("td:eq("+iVis+")",nTrs).addClass(sClass+iClass)}else{$("td:eq("+iVis+")",nTrs).addClass(sClass+"3")
}iClass++}}}}function _fnVisibleToColumnIndex(oSettings,iMatch){var iColumn=-1;for(var i=0;
i<oSettings.aoColumns.length;i++){if(oSettings.aoColumns[i].bVisible===true){iColumn++
}if(iColumn==iMatch){return i}}return null}function _fnColumnIndexToVisible(oSettings,iMatch){var iVisible=-1;
for(var i=0;i<oSettings.aoColumns.length;i++){if(oSettings.aoColumns[i].bVisible===true){iVisible++
}if(i==iMatch){return oSettings.aoColumns[i].bVisible===true?iVisible:null}}return null
}function _fnVisbleColumns(oS){var iVis=0;for(var i=0;i<oS.aoColumns.length;i++){if(oS.aoColumns[i].bVisible===true){iVis++
}}return iVis}function _fnBuildSearchArray(oSettings,iMaster){oSettings.asDataSearch.splice(0,oSettings.asDataSearch.length);
var aArray=(typeof iMaster!="undefined"&&iMaster==1)?oSettings.aiDisplayMaster:oSettings.aiDisplay;
for(var i=0,iLen=aArray.length;i<iLen;i++){oSettings.asDataSearch[i]="";for(var j=0,jLen=oSettings.aoColumns.length;
j<jLen;j++){if(oSettings.aoColumns[j].bSearchable){var sData=oSettings.aoData[aArray[i]]._aData[j];
oSettings.asDataSearch[i]+=_fnDataToSearch(sData,oSettings.aoColumns[j].sType)+" "
}}}}function _fnDataToSearch(sData,sType){if(typeof _oExt.ofnSearch[sType]=="function"){return _oExt.ofnSearch[sType](sData)
}else{if(sType=="html"){return sData.replace(/\n/g," ").replace(/<.*?>/g,"")}else{if(typeof sData=="string"){return sData.replace(/\n/g," ")
}}}return sData}function _fnCalculateEnd(oSettings){if(oSettings.oFeatures.bPaginate===false){oSettings._iDisplayEnd=oSettings.aiDisplay.length
}else{if(oSettings._iDisplayStart+oSettings._iDisplayLength>oSettings.aiDisplay.length||oSettings._iDisplayLength==-1){oSettings._iDisplayEnd=oSettings.aiDisplay.length
}else{oSettings._iDisplayEnd=oSettings._iDisplayStart+oSettings._iDisplayLength}}}function _fnConvertToWidth(sWidth,nParent){if(!sWidth||sWidth===null||sWidth===""){return 0
}if(typeof nParent=="undefined"){nParent=document.getElementsByTagName("body")[0]
}var iWidth;var nTmp=document.createElement("div");nTmp.style.width=sWidth;nParent.appendChild(nTmp);
iWidth=nTmp.offsetWidth;nParent.removeChild(nTmp);return(iWidth)}function _fnCalculateColumnWidths(oSettings){var iTableWidth=oSettings.nTable.offsetWidth;
var iTotalUserIpSize=0;var iTmpWidth;var iVisibleColumns=0;var iColums=oSettings.aoColumns.length;
var i;var oHeaders=$("thead:eq(0)>th",oSettings.nTable);for(i=0;i<iColums;i++){if(oSettings.aoColumns[i].bVisible){iVisibleColumns++;
if(oSettings.aoColumns[i].sWidth!==null){iTmpWidth=_fnConvertToWidth(oSettings.aoColumns[i].sWidth,oSettings.nTable.parentNode);
iTotalUserIpSize+=iTmpWidth;oSettings.aoColumns[i].sWidth=iTmpWidth+"px"}}}if(iColums==oHeaders.length&&iTotalUserIpSize===0&&iVisibleColumns==iColums){for(i=0;
i<oSettings.aoColumns.length;i++){oSettings.aoColumns[i].sWidth=oHeaders[i].offsetWidth+"px"
}}else{var nCalcTmp=oSettings.nTable.cloneNode(false);nCalcTmp.setAttribute("id","");
var sTableTmp='<table class="'+nCalcTmp.className+'">';var sCalcHead="<tr>";var sCalcHtml="<tr>";
for(i=0;i<iColums;i++){if(oSettings.aoColumns[i].bVisible){sCalcHead+="<th>"+oSettings.aoColumns[i].sTitle+"</th>";
if(oSettings.aoColumns[i].sWidth!==null){var sWidth="";if(oSettings.aoColumns[i].sWidth!==null){sWidth=' style="width:'+oSettings.aoColumns[i].sWidth+';"'
}sCalcHtml+="<td"+sWidth+' tag_index="'+i+'">'+fnGetMaxLenString(oSettings,i)+"</td>"
}else{sCalcHtml+='<td tag_index="'+i+'">'+fnGetMaxLenString(oSettings,i)+"</td>"}}}sCalcHead+="</tr>";
sCalcHtml+="</tr>";nCalcTmp=$(sTableTmp+sCalcHead+sCalcHtml+"</table>")[0];nCalcTmp.style.width=iTableWidth+"px";
nCalcTmp.style.visibility="hidden";nCalcTmp.style.position="absolute";oSettings.nTable.parentNode.appendChild(nCalcTmp);
var oNodes=$("tr:eq(1)>td",nCalcTmp);var iIndex;for(i=0;i<oNodes.length;i++){iIndex=oNodes[i].getAttribute("tag_index");
oSettings.aoColumns[iIndex].sWidth=$("td",nCalcTmp)[i].offsetWidth+"px"}oSettings.nTable.parentNode.removeChild(nCalcTmp)
}}function fnGetMaxLenString(oSettings,iCol){var iMax=0;var iMaxIndex=-1;for(var i=0;
i<oSettings.aoData.length;i++){if(oSettings.aoData[i]._aData[iCol].length>iMax){iMax=oSettings.aoData[i]._aData[iCol].length;
iMaxIndex=i}}if(iMaxIndex>=0){return oSettings.aoData[iMaxIndex]._aData[iCol]}return""
}function _fnArrayCmp(aArray1,aArray2){if(aArray1.length!=aArray2.length){return 1
}for(var i=0;i<aArray1.length;i++){if(aArray1[i]!=aArray2[i]){return 2}}return 0}function _fnDetectType(sData){var aTypes=_oExt.aTypes;
var iLen=aTypes.length;for(var i=0;i<iLen;i++){var sType=aTypes[i](sData);if(sType!==null){return sType
}}return"string"}function _fnSettingsFromNode(nTable){for(var i=0;i<_aoSettings.length;
i++){if(_aoSettings[i].nTable==nTable){return _aoSettings[i]}}return null}function _fnGetDataMaster(oSettings){var aData=[];
var iLen=oSettings.aoData.length;for(var i=0;i<iLen;i++){if(oSettings.aoData[i]===null){aData.push(null)
}else{aData.push(oSettings.aoData[i]._aData)}}return aData}function _fnGetTrNodes(oSettings){var aNodes=[];
var iLen=oSettings.aoData.length;for(var i=0;i<iLen;i++){if(oSettings.aoData[i]===null){aNodes.push(null)
}else{aNodes.push(oSettings.aoData[i].nTr)}}return aNodes}function _fnEscapeRegex(sVal){var acEscape=["/",".","*","+","?","|","(",")","[","]","{","}","\\","$","^"];
var reReplace=new RegExp("(\\"+acEscape.join("|\\")+")","g");return sVal.replace(reReplace,"\\$1")
}function _fnReOrderIndex(oSettings,sColumns){var aColumns=sColumns.split(",");var aiReturn=[];
for(var i=0,iLen=oSettings.aoColumns.length;i<iLen;i++){for(var j=0;j<iLen;j++){if(oSettings.aoColumns[i].sName==aColumns[j]){aiReturn.push(j);
break}}}return aiReturn}function _fnColumnOrdering(oSettings){var sNames="";for(var i=0,iLen=oSettings.aoColumns.length;
i<iLen;i++){sNames+=oSettings.aoColumns[i].sName+","}if(sNames.length==iLen){return""
}return sNames.slice(0,-1)}function _fnClearTable(oSettings){oSettings.aoData.length=0;
oSettings.aiDisplayMaster.length=0;oSettings.aiDisplay.length=0;_fnCalculateEnd(oSettings)
}function _fnSaveState(oSettings){if(!oSettings.oFeatures.bStateSave){return}var i;
var sValue="{";sValue+='"iStart": '+oSettings._iDisplayStart+",";sValue+='"iEnd": '+oSettings._iDisplayEnd+",";
sValue+='"iLength": '+oSettings._iDisplayLength+",";sValue+='"sFilter": "'+oSettings.oPreviousSearch.sSearch.replace('"','\\"')+'",';
sValue+='"sFilterEsc": '+oSettings.oPreviousSearch.bEscapeRegex+",";sValue+='"aaSorting": [ ';
for(i=0;i<oSettings.aaSorting.length;i++){sValue+="["+oSettings.aaSorting[i][0]+",'"+oSettings.aaSorting[i][1]+"'],"
}sValue=sValue.substring(0,sValue.length-1);sValue+="],";sValue+='"aaSearchCols": [ ';
for(i=0;i<oSettings.aoPreSearchCols.length;i++){sValue+="['"+oSettings.aoPreSearchCols[i].sSearch.replace("'","'")+"',"+oSettings.aoPreSearchCols[i].bEscapeRegex+"],"
}sValue=sValue.substring(0,sValue.length-1);sValue+="],";sValue+='"abVisCols": [ ';
for(i=0;i<oSettings.aoColumns.length;i++){sValue+=oSettings.aoColumns[i].bVisible+","
}sValue=sValue.substring(0,sValue.length-1);sValue+="]";sValue+="}";_fnCreateCookie("SpryMedia_DataTables_"+oSettings.sInstance,sValue,oSettings.iCookieDuration)
}function _fnLoadState(oSettings,oInit){if(!oSettings.oFeatures.bStateSave){return
}var oData;var sData=_fnReadCookie("SpryMedia_DataTables_"+oSettings.sInstance);if(sData!==null&&sData!==""){try{if(typeof JSON=="object"&&typeof JSON.parse=="function"){oData=JSON.parse(sData.replace(/'/g,'"'))
}else{oData=eval("("+sData+")")}}catch(e){return}oSettings._iDisplayStart=oData.iStart;
oSettings.iInitDisplayStart=oData.iStart;oSettings._iDisplayEnd=oData.iEnd;oSettings._iDisplayLength=oData.iLength;
oSettings.oPreviousSearch.sSearch=oData.sFilter;oSettings.aaSorting=oData.aaSorting.slice();
if(typeof oData.sFilterEsc!="undefined"){oSettings.oPreviousSearch.bEscapeRegex=oData.sFilterEsc
}if(typeof oData.aaSearchCols!="undefined"){for(var i=0;i<oData.aaSearchCols.length;
i++){oSettings.aoPreSearchCols[i]={sSearch:oData.aaSearchCols[i][0],bEscapeRegex:oData.aaSearchCols[i][1]}
}}if(typeof oData.abVisCols!="undefined"){oInit.saved_aoColumns=[];for(i=0;i<oData.abVisCols.length;
i++){oInit.saved_aoColumns[i]={};oInit.saved_aoColumns[i].bVisible=oData.abVisCols[i]
}}}}function _fnCreateCookie(sName,sValue,iSecs){var date=new Date();date.setTime(date.getTime()+(iSecs*1000));
sName+="_"+window.location.pathname.replace(/[\/:]/g,"").toLowerCase();document.cookie=sName+"="+sValue+"; expires="+date.toGMTString()+"; path=/"
}function _fnReadCookie(sName){var sNameEQ=sName+"_"+window.location.pathname.replace(/[\/:]/g,"").toLowerCase()+"=";
var sCookieContents=document.cookie.split(";");for(var i=0;i<sCookieContents.length;
i++){var c=sCookieContents[i];while(c.charAt(0)==" "){c=c.substring(1,c.length)}if(c.indexOf(sNameEQ)===0){return c.substring(sNameEQ.length,c.length)
}}return null}function _fnGetUniqueThs(nThead){var nTrs=nThead.getElementsByTagName("tr");
if(nTrs.length==1){return nTrs[0].getElementsByTagName("th")}var aLayout=[],aReturn=[];
var ROWSPAN=2,COLSPAN=3,TDELEM=4;var i,j,k,iLen,jLen,iColumnShifted;var fnShiftCol=function(a,i,j){while(typeof a[i][j]!="undefined"){j++
}return j};var fnAddRow=function(i){if(typeof aLayout[i]=="undefined"){aLayout[i]=[]
}};for(i=0,iLen=nTrs.length;i<iLen;i++){fnAddRow(i);var iColumn=0;var nTds=[];for(j=0,jLen=nTrs[i].childNodes.length;
j<jLen;j++){if(nTrs[i].childNodes[j].nodeName=="TD"||nTrs[i].childNodes[j].nodeName=="TH"){nTds.push(nTrs[i].childNodes[j])
}}for(j=0,jLen=nTds.length;j<jLen;j++){var iColspan=nTds[j].getAttribute("colspan")*1;
var iRowspan=nTds[j].getAttribute("rowspan")*1;if(!iColspan||iColspan===0||iColspan===1){iColumnShifted=fnShiftCol(aLayout,i,iColumn);
aLayout[i][iColumnShifted]=(nTds[j].nodeName=="TD")?TDELEM:nTds[j];if(iRowspan||iRowspan===0||iRowspan===1){for(k=1;
k<iRowspan;k++){fnAddRow(i+k);aLayout[i+k][iColumnShifted]=ROWSPAN}}iColumn++}else{iColumnShifted=fnShiftCol(aLayout,i,iColumn);
for(k=0;k<iColspan;k++){aLayout[i][iColumnShifted+k]=COLSPAN}iColumn+=iColspan}}}for(i=0,iLen=aLayout[0].length;
i<iLen;i++){for(j=0,jLen=aLayout.length;j<jLen;j++){if(typeof aLayout[j][i]=="object"){aReturn.push(aLayout[j][i])
}}}return aReturn}function _fnMap(oRet,oSrc,sName,sMappedName){if(typeof sMappedName=="undefined"){sMappedName=sName
}if(typeof oSrc[sName]!="undefined"){oRet[sMappedName]=oSrc[sName]}}this.oApi._fnInitalise=_fnInitalise;
this.oApi._fnLanguageProcess=_fnLanguageProcess;this.oApi._fnAddColumn=_fnAddColumn;
this.oApi._fnAddData=_fnAddData;this.oApi._fnGatherData=_fnGatherData;this.oApi._fnDrawHead=_fnDrawHead;
this.oApi._fnDraw=_fnDraw;this.oApi._fnAjaxUpdate=_fnAjaxUpdate;this.oApi._fnAddOptionsHtml=_fnAddOptionsHtml;
this.oApi._fnFeatureHtmlFilter=_fnFeatureHtmlFilter;this.oApi._fnFeatureHtmlInfo=_fnFeatureHtmlInfo;
this.oApi._fnFeatureHtmlPaginate=_fnFeatureHtmlPaginate;this.oApi._fnFeatureHtmlLength=_fnFeatureHtmlLength;
this.oApi._fnFeatureHtmlProcessing=_fnFeatureHtmlProcessing;this.oApi._fnProcessingDisplay=_fnProcessingDisplay;
this.oApi._fnFilterComplete=_fnFilterComplete;this.oApi._fnFilterColumn=_fnFilterColumn;
this.oApi._fnFilter=_fnFilter;this.oApi._fnSortingClasses=_fnSortingClasses;this.oApi._fnVisibleToColumnIndex=_fnVisibleToColumnIndex;
this.oApi._fnColumnIndexToVisible=_fnColumnIndexToVisible;this.oApi._fnVisbleColumns=_fnVisbleColumns;
this.oApi._fnBuildSearchArray=_fnBuildSearchArray;this.oApi._fnDataToSearch=_fnDataToSearch;
this.oApi._fnCalculateEnd=_fnCalculateEnd;this.oApi._fnConvertToWidth=_fnConvertToWidth;
this.oApi._fnCalculateColumnWidths=_fnCalculateColumnWidths;this.oApi._fnArrayCmp=_fnArrayCmp;
this.oApi._fnDetectType=_fnDetectType;this.oApi._fnGetDataMaster=_fnGetDataMaster;
this.oApi._fnGetTrNodes=_fnGetTrNodes;this.oApi._fnEscapeRegex=_fnEscapeRegex;this.oApi._fnReOrderIndex=_fnReOrderIndex;
this.oApi._fnColumnOrdering=_fnColumnOrdering;this.oApi._fnClearTable=_fnClearTable;
this.oApi._fnSaveState=_fnSaveState;this.oApi._fnLoadState=_fnLoadState;this.oApi._fnCreateCookie=_fnCreateCookie;
this.oApi._fnReadCookie=_fnReadCookie;this.oApi._fnGetUniqueThs=_fnGetUniqueThs;this.oApi._fnReDraw=_fnReDraw;
var _that=this;return this.each(function(){var oSettings=new classSettings();_aoSettings.push(oSettings);
var i=0,iLen;var bInitHandedOff=false;var bUsePassedData=false;var sId=this.getAttribute("id");
if(sId!==null){oSettings.sTableId=sId;oSettings.sInstance=sId}else{oSettings.sInstance=_oExt._oExternConfig.iNextUnique++
}oSettings.nTable=this;oSettings.oApi=_that.oApi;if(typeof oInit!="undefined"&&oInit!==null){_fnMap(oSettings.oFeatures,oInit,"bPaginate");
_fnMap(oSettings.oFeatures,oInit,"bLengthChange");_fnMap(oSettings.oFeatures,oInit,"bFilter");
_fnMap(oSettings.oFeatures,oInit,"bSort");_fnMap(oSettings.oFeatures,oInit,"bInfo");
_fnMap(oSettings.oFeatures,oInit,"bProcessing");_fnMap(oSettings.oFeatures,oInit,"bAutoWidth");
_fnMap(oSettings.oFeatures,oInit,"bSortClasses");_fnMap(oSettings.oFeatures,oInit,"bServerSide");
_fnMap(oSettings,oInit,"asStripClasses");_fnMap(oSettings,oInit,"fnRowCallback");
_fnMap(oSettings,oInit,"fnHeaderCallback");_fnMap(oSettings,oInit,"fnFooterCallback");
_fnMap(oSettings,oInit,"fnDrawCallback");_fnMap(oSettings,oInit,"fnInitComplete");
_fnMap(oSettings,oInit,"fnServerData");_fnMap(oSettings,oInit,"aaSorting");_fnMap(oSettings,oInit,"aaSortingFixed");
_fnMap(oSettings,oInit,"sPaginationType");_fnMap(oSettings,oInit,"sAjaxSource");_fnMap(oSettings,oInit,"sDom","sDomPositioning");
_fnMap(oSettings,oInit,"oSearch","oPreviousSearch");_fnMap(oSettings,oInit,"aoSearchCols","aoPreSearchCols");
_fnMap(oSettings,oInit,"iDisplayLength","_iDisplayLength");_fnMap(oSettings,oInit,"bJQueryUI","bJUI");
if(typeof oInit.bJQueryUI!="undefined"&&oInit.bJQueryUI){oSettings.oClasses=_oExt.oJUIClasses;
if(typeof oInit.sDom=="undefined"){oSettings.sDomPositioning='<"fg-toolbar ui-widget-header ui-corner-tl ui-corner-tr ui-helper-clearfix"lfr>t<"fg-toolbar ui-widget-header ui-corner-bl ui-corner-br ui-helper-clearfix"ip>'
}}if(typeof oInit.iDisplayStart!="undefined"&&typeof oSettings.iInitDisplayStart=="undefined"){oSettings.iInitDisplayStart=oInit.iDisplayStart;
oSettings._iDisplayStart=oInit.iDisplayStart}if(typeof oInit.bStateSave!="undefined"){oSettings.oFeatures.bStateSave=oInit.bStateSave;
_fnLoadState(oSettings,oInit)}if(typeof oInit.aaData!="undefined"){bUsePassedData=true
}if(typeof oInit!="undefined"&&typeof oInit.aoData!="undefined"){oInit.aoColumns=oInit.aoData
}if(typeof oInit.oLanguage!="undefined"){if(typeof oInit.oLanguage.sUrl!="undefined"&&oInit.oLanguage.sUrl!==""){oSettings.oLanguage.sUrl=oInit.oLanguage.sUrl;
$.getJSON(oSettings.oLanguage.sUrl,null,function(json){_fnLanguageProcess(oSettings,json,true)
});bInitHandedOff=true}else{_fnLanguageProcess(oSettings,oInit.oLanguage,false)}}}else{oInit={}
}if(typeof oInit.asStripClasses=="undefined"){oSettings.asStripClasses.push(oSettings.oClasses.sStripOdd);
oSettings.asStripClasses.push(oSettings.oClasses.sStripEven)}var nThead=this.getElementsByTagName("thead");
var nThs=nThead.length===0?null:_fnGetUniqueThs(nThead[0]);var bUseCols=typeof oInit.aoColumns!="undefined";
for(i=0,iLen=bUseCols?oInit.aoColumns.length:nThs.length;i<iLen;i++){var oCol=bUseCols?oInit.aoColumns[i]:null;
var nTh=nThs?nThs[i]:null;if(typeof oInit.saved_aoColumns!="undefined"&&oInit.saved_aoColumns.length==iLen){if(oCol===null){oCol={}
}oCol.bVisible=oInit.saved_aoColumns[i].bVisible}_fnAddColumn(oSettings,oCol,nTh)
}for(i=0;i<oSettings.aaSorting.length;i++){if(typeof oSettings.aaSorting[i][2]=="undefined"){oSettings.aaSorting[i][2]=0
}}if(this.getElementsByTagName("thead").length===0){this.appendChild(document.createElement("thead"))
}if(this.getElementsByTagName("tbody").length===0){this.appendChild(document.createElement("tbody"))
}if(bUsePassedData){for(i=0;i<oInit.aaData.length;i++){_fnAddData(oSettings,oInit.aaData[i])
}}else{_fnGatherData(oSettings)}oSettings.aiDisplay=oSettings.aiDisplayMaster.slice();
if(oSettings.oFeatures.bAutoWidth){_fnCalculateColumnWidths(oSettings)}oSettings.bInitialised=true;
if(bInitHandedOff===false){_fnInitalise(oSettings)}})}})(jQuery);
/*!
 * jQuery Form Plugin
 * version: 2.82 (15-JUN-2011)
 * @requires jQuery v1.3.2 or later
 *
 * Examples and documentation at: http://malsup.com/jquery/form/
 * Dual licensed under the MIT and GPL licenses:
 *   http://www.opensource.org/licenses/mit-license.php
 *   http://www.gnu.org/licenses/gpl.html
 */
;(function($) {

/*
	Usage Note:
	-----------
	Do not use both ajaxSubmit and ajaxForm on the same form.  These
	functions are intended to be exclusive.  Use ajaxSubmit if you want
	to bind your own submit handler to the form.  For example,

	$(document).ready(function() {
		$('#myForm').bind('submit', function(e) {
			e.preventDefault(); // <-- important
			$(this).ajaxSubmit({
				target: '#output'
			});
		});
	});

	Use ajaxForm when you want the plugin to manage all the event binding
	for you.  For example,

	$(document).ready(function() {
		$('#myForm').ajaxForm({
			target: '#output'
		});
	});

	When using ajaxForm, the ajaxSubmit function will be invoked for you
	at the appropriate time.
*/

/**
 * ajaxSubmit() provides a mechanism for immediately submitting
 * an HTML form using AJAX.
 */
$.fn.ajaxSubmit = function(options) {
	// fast fail if nothing selected (http://dev.jquery.com/ticket/2752)
	if (!this.length) {
		log('ajaxSubmit: skipping submit process - no element selected');
		return this;
	}
	
	var method, action, url, $form = this;

	if (typeof options == 'function') {
		options = { success: options };
	}

	method = this.attr('method');
	action = this.attr('action');
	url = (typeof action === 'string') ? $.trim(action) : '';
	url = url || window.location.href || '';
	if (url) {
		// clean url (don't include hash vaue)
		url = (url.match(/^([^#]+)/)||[])[1];
	}

	options = $.extend(true, {
		url:  url,
		success: $.ajaxSettings.success,
		type: method || 'GET',
		iframeSrc: /^https/i.test(window.location.href || '') ? 'javascript:false' : 'about:blank'
	}, options);

	// hook for manipulating the form data before it is extracted;
	// convenient for use with rich editors like tinyMCE or FCKEditor
	var veto = {};
	this.trigger('form-pre-serialize', [this, options, veto]);
	if (veto.veto) {
		log('ajaxSubmit: submit vetoed via form-pre-serialize trigger');
		return this;
	}

	// provide opportunity to alter form data before it is serialized
	if (options.beforeSerialize && options.beforeSerialize(this, options) === false) {
		log('ajaxSubmit: submit aborted via beforeSerialize callback');
		return this;
	}

	var n,v,a = this.formToArray(options.semantic);
	if (options.data) {
		options.extraData = options.data;
		for (n in options.data) {
			if(options.data[n] instanceof Array) {
				for (var k in options.data[n]) {
					a.push( { name: n, value: options.data[n][k] } );
				}
			}
			else {
				v = options.data[n];
				v = $.isFunction(v) ? v() : v; // if value is fn, invoke it
				a.push( { name: n, value: v } );
			}
		}
	}

	// give pre-submit callback an opportunity to abort the submit
	if (options.beforeSubmit && options.beforeSubmit(a, this, options) === false) {
		log('ajaxSubmit: submit aborted via beforeSubmit callback');
		return this;
	}

	// fire vetoable 'validate' event
	this.trigger('form-submit-validate', [a, this, options, veto]);
	if (veto.veto) {
		log('ajaxSubmit: submit vetoed via form-submit-validate trigger');
		return this;
	}

	var q = $.param(a);

	if (options.type.toUpperCase() == 'GET') {
		options.url += (options.url.indexOf('?') >= 0 ? '&' : '?') + q;
		options.data = null;  // data is null for 'get'
	}
	else {
		options.data = q; // data is the query string for 'post'
	}

	var callbacks = [];
	if (options.resetForm) {
		callbacks.push(function() { $form.resetForm(); });
	}
	if (options.clearForm) {
		callbacks.push(function() { $form.clearForm(); });
	}

	// perform a load on the target only if dataType is not provided
	if (!options.dataType && options.target) {
		var oldSuccess = options.success || function(){};
		callbacks.push(function(data) {
			var fn = options.replaceTarget ? 'replaceWith' : 'html';
			$(options.target)[fn](data).each(oldSuccess, arguments);
		});
	}
	else if (options.success) {
		callbacks.push(options.success);
	}

	options.success = function(data, status, xhr) { // jQuery 1.4+ passes xhr as 3rd arg
		var context = options.context || options;   // jQuery 1.4+ supports scope context 
		for (var i=0, max=callbacks.length; i < max; i++) {
			callbacks[i].apply(context, [data, status, xhr || $form, $form]);
		}
	};

	// are there files to upload?
	var fileInputs = $('input:file', this).length > 0;
	var mp = 'multipart/form-data';
	var multipart = ($form.attr('enctype') == mp || $form.attr('encoding') == mp);

	// options.iframe allows user to force iframe mode
	// 06-NOV-09: now defaulting to iframe mode if file input is detected
   if (options.iframe !== false && (fileInputs || options.iframe || multipart)) {
	   // hack to fix Safari hang (thanks to Tim Molendijk for this)
	   // see:  http://groups.google.com/group/jquery-dev/browse_thread/thread/36395b7ab510dd5d
	   if (options.closeKeepAlive) {
		   $.get(options.closeKeepAlive, function() { fileUpload(a); });
		}
	   else {
		   fileUpload(a);
		}
   }
   else {
		// IE7 massage (see issue 57)
		if ($.browser.msie && method == 'get') { 
			var ieMeth = $form[0].getAttribute('method');
			if (typeof ieMeth === 'string')
				options.type = ieMeth;
		}
		$.ajax(options);
   }

	// fire 'notify' event
	this.trigger('form-submit-notify', [this, options]);
	return this;


	// private function for handling file uploads (hat tip to YAHOO!)
	function fileUpload(a) {
		var form = $form[0], i, s, g, id, $io, io, xhr, sub, n, timedOut, timeoutHandle;

        if (a) {
        	// ensure that every serialized input is still enabled
          	for (i=0; i < a.length; i++) {
            	$(form[a[i].name]).attr('disabled', false);
          	}
        }

		if ($(':input[name=submit],:input[id=submit]', form).length) {
			// if there is an input with a name or id of 'submit' then we won't be
			// able to invoke the submit fn on the form (at least not x-browser)
			alert('Error: Form elements must not have name or id of "submit".');
			return;
		}
		
		s = $.extend(true, {}, $.ajaxSettings, options);
		s.context = s.context || s;
		id = 'jqFormIO' + (new Date().getTime());
		if (s.iframeTarget) {
			$io = $(s.iframeTarget);
			n = $io.attr('name');
			if (n == null)
			 	$io.attr('name', id);
			else
				id = n;
		}
		else {
			$io = $('<iframe name="' + id + '" src="'+ s.iframeSrc +'" />');
			$io.css({ position: 'absolute', top: '-1000px', left: '-1000px' });
		}
		io = $io[0];


		xhr = { // mock object
			aborted: 0,
			responseText: null,
			responseXML: null,
			status: 0,
			statusText: 'n/a',
			getAllResponseHeaders: function() {},
			getResponseHeader: function() {},
			setRequestHeader: function() {},
			abort: function(status) {
				var e = (status === 'timeout' ? 'timeout' : 'aborted');
				log('aborting upload... ' + e);
				this.aborted = 1;
				$io.attr('src', s.iframeSrc); // abort op in progress
				xhr.error = e;
				s.error && s.error.call(s.context, xhr, e, status);
				g && $.event.trigger("ajaxError", [xhr, s, e]);
				s.complete && s.complete.call(s.context, xhr, e);
			}
		};

		g = s.global;
		// trigger ajax global events so that activity/block indicators work like normal
		if (g && ! $.active++) {
			$.event.trigger("ajaxStart");
		}
		if (g) {
			$.event.trigger("ajaxSend", [xhr, s]);
		}

		if (s.beforeSend && s.beforeSend.call(s.context, xhr, s) === false) {
			if (s.global) {
				$.active--;
			}
			return;
		}
		if (xhr.aborted) {
			return;
		}

		// add submitting element to data if we know it
		sub = form.clk;
		if (sub) {
			n = sub.name;
			if (n && !sub.disabled) {
				s.extraData = s.extraData || {};
				s.extraData[n] = sub.value;
				if (sub.type == "image") {
					s.extraData[n+'.x'] = form.clk_x;
					s.extraData[n+'.y'] = form.clk_y;
				}
			}
		}
		
		var CLIENT_TIMEOUT_ABORT = 1;
		var SERVER_ABORT = 2;

		function getDoc(frame) {
			var doc = frame.contentWindow ? frame.contentWindow.document : frame.contentDocument ? frame.contentDocument : frame.document;
			return doc;
		}
		
		// take a breath so that pending repaints get some cpu time before the upload starts
		function doSubmit() {
			// make sure form attrs are set
			var t = $form.attr('target'), a = $form.attr('action');

			// update form attrs in IE friendly way
			form.setAttribute('target',id);
			if (!method) {
				form.setAttribute('method', 'POST');
			}
			if (a != s.url) {
				form.setAttribute('action', s.url);
			}

			// ie borks in some cases when setting encoding
			if (! s.skipEncodingOverride && (!method || /post/i.test(method))) {
				$form.attr({
					encoding: 'multipart/form-data',
					enctype:  'multipart/form-data'
				});
			}

			// support timout
			if (s.timeout) {
				timeoutHandle = setTimeout(function() { timedOut = true; cb(CLIENT_TIMEOUT_ABORT); }, s.timeout);
			}
			
			// look for server aborts
			function checkState() {
				try {
					var state = getDoc(io).readyState;
					log('state = ' + state);
					if (state.toLowerCase() == 'uninitialized')
						setTimeout(checkState,50);
				}
				catch(e) {
					log('Server abort: ' , e, ' (', e.name, ')');
					cb(SERVER_ABORT);
					timeoutHandle && clearTimeout(timeoutHandle);
					timeoutHandle = undefined;
				}
			}

			// add "extra" data to form if provided in options
			var extraInputs = [];
			try {
				if (s.extraData) {
					for (var n in s.extraData) {
						extraInputs.push(
							$('<input type="hidden" name="'+n+'" />').attr('value',s.extraData[n])
								.appendTo(form)[0]);
					}
				}

				if (!s.iframeTarget) {
					// add iframe to doc and submit the form
					$io.appendTo('body');
	                io.attachEvent ? io.attachEvent('onload', cb) : io.addEventListener('load', cb, false);
				}
				setTimeout(checkState,15);
				form.submit();
			}
			finally {
				// reset attrs and remove "extra" input elements
				form.setAttribute('action',a);
				if(t) {
					form.setAttribute('target', t);
				} else {
					$form.removeAttr('target');
				}
				$(extraInputs).remove();
			}
		}

		if (s.forceSync) {
			doSubmit();
		}
		else {
			setTimeout(doSubmit, 10); // this lets dom updates render
		}

		var data, doc, domCheckCount = 50, callbackProcessed;

		function cb(e) {
			if (xhr.aborted || callbackProcessed) {
				return;
			}
			try {
				doc = getDoc(io);
			}
			catch(ex) {
				log('cannot access response document: ', ex);
				e = SERVER_ABORT;
			}
			if (e === CLIENT_TIMEOUT_ABORT && xhr) {
				xhr.abort('timeout');
				return;
			}
			else if (e == SERVER_ABORT && xhr) {
				xhr.abort('server abort');
				return;
			}

			if (!doc || doc.location.href == s.iframeSrc) {
				// response not received yet
				if (!timedOut)
					return;
			}
            io.detachEvent ? io.detachEvent('onload', cb) : io.removeEventListener('load', cb, false);

			var status = 'success', errMsg;
			try {
				if (timedOut) {
					throw 'timeout';
				}

				var isXml = s.dataType == 'xml' || doc.XMLDocument || $.isXMLDoc(doc);
				log('isXml='+isXml);
				if (!isXml && window.opera && (doc.body == null || doc.body.innerHTML == '')) {
					if (--domCheckCount) {
						// in some browsers (Opera) the iframe DOM is not always traversable when
						// the onload callback fires, so we loop a bit to accommodate
						log('requeing onLoad callback, DOM not available');
						setTimeout(cb, 250);
						return;
					}
					// let this fall through because server response could be an empty document
					//log('Could not access iframe DOM after mutiple tries.');
					//throw 'DOMException: not available';
				}

				//log('response detected');
                var docRoot = doc.body ? doc.body : doc.documentElement;
                xhr.responseText = docRoot ? docRoot.innerHTML : null;
				xhr.responseXML = doc.XMLDocument ? doc.XMLDocument : doc;
				if (isXml)
					s.dataType = 'xml';
				xhr.getResponseHeader = function(header){
					var headers = {'content-type': s.dataType};
					return headers[header];
				};
                // support for XHR 'status' & 'statusText' emulation :
                if (docRoot) {
                    xhr.status = Number( docRoot.getAttribute('status') ) || xhr.status;
                    xhr.statusText = docRoot.getAttribute('statusText') || xhr.statusText;
                }

				var dt = s.dataType || '';
				var scr = /(json|script|text)/.test(dt.toLowerCase());
				if (scr || s.textarea) {
					// see if user embedded response in textarea
					var ta = doc.getElementsByTagName('textarea')[0];
					if (ta) {
						xhr.responseText = ta.value;
                        // support for XHR 'status' & 'statusText' emulation :
                        xhr.status = Number( ta.getAttribute('status') ) || xhr.status;
                        xhr.statusText = ta.getAttribute('statusText') || xhr.statusText;
					}
					else if (scr) {
						// account for browsers injecting pre around json response
						var pre = doc.getElementsByTagName('pre')[0];
						var b = doc.getElementsByTagName('body')[0];
						if (pre) {
							xhr.responseText = pre.textContent ? pre.textContent : pre.innerHTML;
						}
						else if (b) {
							xhr.responseText = b.innerHTML;
						}
					}
				}
				else if (s.dataType == 'xml' && !xhr.responseXML && xhr.responseText != null) {
					xhr.responseXML = toXml(xhr.responseText);
				}

                try {
                    data = httpData(xhr, s.dataType, s);
                }
                catch (e) {
                    status = 'parsererror';
                    xhr.error = errMsg = (e || status);
                }
			}
			catch (e) {
				log('error caught: ',e);
				status = 'error';
                xhr.error = errMsg = (e || status);
			}

			if (xhr.aborted) {
				log('upload aborted');
				status = null;
			}

            if (xhr.status) { // we've set xhr.status
                status = (xhr.status >= 200 && xhr.status < 300 || xhr.status === 304) ? 'success' : 'error';
            }

			// ordering of these callbacks/triggers is odd, but that's how $.ajax does it
			if (status === 'success') {
				s.success && s.success.call(s.context, data, 'success', xhr);
				g && $.event.trigger("ajaxSuccess", [xhr, s]);
			}
            else if (status) {
				if (errMsg == undefined)
					errMsg = xhr.statusText;
				s.error && s.error.call(s.context, xhr, status, errMsg);
				g && $.event.trigger("ajaxError", [xhr, s, errMsg]);
            }

			g && $.event.trigger("ajaxComplete", [xhr, s]);

			if (g && ! --$.active) {
				$.event.trigger("ajaxStop");
			}

			s.complete && s.complete.call(s.context, xhr, status);

			callbackProcessed = true;
			if (s.timeout)
				clearTimeout(timeoutHandle);

			// clean up
			setTimeout(function() {
				if (!s.iframeTarget)
					$io.remove();
				xhr.responseXML = null;
			}, 100);
		}

		var toXml = $.parseXML || function(s, doc) { // use parseXML if available (jQuery 1.5+)
			if (window.ActiveXObject) {
				doc = new ActiveXObject('Microsoft.XMLDOM');
				doc.async = 'false';
				doc.loadXML(s);
			}
			else {
				doc = (new DOMParser()).parseFromString(s, 'text/xml');
			}
			return (doc && doc.documentElement && doc.documentElement.nodeName != 'parsererror') ? doc : null;
		};
		var parseJSON = $.parseJSON || function(s) {
			return window['eval']('(' + s + ')');
		};

		var httpData = function( xhr, type, s ) { // mostly lifted from jq1.4.4

			var ct = xhr.getResponseHeader('content-type') || '',
				xml = type === 'xml' || !type && ct.indexOf('xml') >= 0,
				data = xml ? xhr.responseXML : xhr.responseText;

			if (xml && data.documentElement.nodeName === 'parsererror') {
				$.error && $.error('parsererror');
			}
			if (s && s.dataFilter) {
				data = s.dataFilter(data, type);
			}
			if (typeof data === 'string') {
				if (type === 'json' || !type && ct.indexOf('json') >= 0) {
					data = parseJSON(data);
				} else if (type === "script" || !type && ct.indexOf("javascript") >= 0) {
					$.globalEval(data);
				}
			}
			return data;
		};
	}
};

/**
 * ajaxForm() provides a mechanism for fully automating form submission.
 *
 * The advantages of using this method instead of ajaxSubmit() are:
 *
 * 1: This method will include coordinates for <input type="image" /> elements (if the element
 *	is used to submit the form).
 * 2. This method will include the submit element's name/value data (for the element that was
 *	used to submit the form).
 * 3. This method binds the submit() method to the form for you.
 *
 * The options argument for ajaxForm works exactly as it does for ajaxSubmit.  ajaxForm merely
 * passes the options argument along after properly binding events for submit elements and
 * the form itself.
 */
$.fn.ajaxForm = function(options) {
	// in jQuery 1.3+ we can fix mistakes with the ready state
	if (this.length === 0) {
		var o = { s: this.selector, c: this.context };
		if (!$.isReady && o.s) {
			log('DOM not ready, queuing ajaxForm');
			$(function() {
				$(o.s,o.c).ajaxForm(options);
			});
			return this;
		}
		// is your DOM ready?  http://docs.jquery.com/Tutorials:Introducing_$(document).ready()
		log('terminating; zero elements found by selector' + ($.isReady ? '' : ' (DOM not ready)'));
		return this;
	}

	return this.ajaxFormUnbind().bind('submit.form-plugin', function(e) {
		if (!e.isDefaultPrevented()) { // if event has been canceled, don't proceed
			e.preventDefault();
			$(this).ajaxSubmit(options);
		}
	}).bind('click.form-plugin', function(e) {
		var target = e.target;
		var $el = $(target);
		if (!($el.is(":submit,input:image"))) {
			// is this a child element of the submit el?  (ex: a span within a button)
			var t = $el.closest(':submit');
			if (t.length == 0) {
				return;
			}
			target = t[0];
		}
		var form = this;
		form.clk = target;
		if (target.type == 'image') {
			if (e.offsetX != undefined) {
				form.clk_x = e.offsetX;
				form.clk_y = e.offsetY;
			} else if (typeof $.fn.offset == 'function') { // try to use dimensions plugin
				var offset = $el.offset();
				form.clk_x = e.pageX - offset.left;
				form.clk_y = e.pageY - offset.top;
			} else {
				form.clk_x = e.pageX - target.offsetLeft;
				form.clk_y = e.pageY - target.offsetTop;
			}
		}
		// clear form vars
		setTimeout(function() { form.clk = form.clk_x = form.clk_y = null; }, 100);
	});
};

// ajaxFormUnbind unbinds the event handlers that were bound by ajaxForm
$.fn.ajaxFormUnbind = function() {
	return this.unbind('submit.form-plugin click.form-plugin');
};

/**
 * formToArray() gathers form element data into an array of objects that can
 * be passed to any of the following ajax functions: $.get, $.post, or load.
 * Each object in the array has both a 'name' and 'value' property.  An example of
 * an array for a simple login form might be:
 *
 * [ { name: 'username', value: 'jresig' }, { name: 'password', value: 'secret' } ]
 *
 * It is this array that is passed to pre-submit callback functions provided to the
 * ajaxSubmit() and ajaxForm() methods.
 */
$.fn.formToArray = function(semantic) {
	var a = [];
	if (this.length === 0) {
		return a;
	}

	var form = this[0];
	var els = semantic ? form.getElementsByTagName('*') : form.elements;
	if (!els) {
		return a;
	}

	var i,j,n,v,el,max,jmax;
	for(i=0, max=els.length; i < max; i++) {
		el = els[i];
		n = el.name;
		if (!n) {
			continue;
		}

		if (semantic && form.clk && el.type == "image") {
			// handle image inputs on the fly when semantic == true
			if(!el.disabled && form.clk == el) {
				a.push({name: n, value: $(el).val()});
				a.push({name: n+'.x', value: form.clk_x}, {name: n+'.y', value: form.clk_y});
			}
			continue;
		}

		v = $.fieldValue(el, true);
		if (v && v.constructor == Array) {
			for(j=0, jmax=v.length; j < jmax; j++) {
				a.push({name: n, value: v[j]});
			}
		}
		else if (v !== null && typeof v != 'undefined') {
			a.push({name: n, value: v});
		}
	}

	if (!semantic && form.clk) {
		// input type=='image' are not found in elements array! handle it here
		var $input = $(form.clk), input = $input[0];
		n = input.name;
		if (n && !input.disabled && input.type == 'image') {
			a.push({name: n, value: $input.val()});
			a.push({name: n+'.x', value: form.clk_x}, {name: n+'.y', value: form.clk_y});
		}
	}
	return a;
};

/**
 * Serializes form data into a 'submittable' string. This method will return a string
 * in the format: name1=value1&amp;name2=value2
 */
$.fn.formSerialize = function(semantic) {
	//hand off to jQuery.param for proper encoding
	return $.param(this.formToArray(semantic));
};

/**
 * Serializes all field elements in the jQuery object into a query string.
 * This method will return a string in the format: name1=value1&amp;name2=value2
 */
$.fn.fieldSerialize = function(successful) {
	var a = [];
	this.each(function() {
		var n = this.name;
		if (!n) {
			return;
		}
		var v = $.fieldValue(this, successful);
		if (v && v.constructor == Array) {
			for (var i=0,max=v.length; i < max; i++) {
				a.push({name: n, value: v[i]});
			}
		}
		else if (v !== null && typeof v != 'undefined') {
			a.push({name: this.name, value: v});
		}
	});
	//hand off to jQuery.param for proper encoding
	return $.param(a);
};

/**
 * Returns the value(s) of the element in the matched set.  For example, consider the following form:
 *
 *  <form><fieldset>
 *	  <input name="A" type="text" />
 *	  <input name="A" type="text" />
 *	  <input name="B" type="checkbox" value="B1" />
 *	  <input name="B" type="checkbox" value="B2"/>
 *	  <input name="C" type="radio" value="C1" />
 *	  <input name="C" type="radio" value="C2" />
 *  </fieldset></form>
 *
 *  var v = $(':text').fieldValue();
 *  // if no values are entered into the text inputs
 *  v == ['','']
 *  // if values entered into the text inputs are 'foo' and 'bar'
 *  v == ['foo','bar']
 *
 *  var v = $(':checkbox').fieldValue();
 *  // if neither checkbox is checked
 *  v === undefined
 *  // if both checkboxes are checked
 *  v == ['B1', 'B2']
 *
 *  var v = $(':radio').fieldValue();
 *  // if neither radio is checked
 *  v === undefined
 *  // if first radio is checked
 *  v == ['C1']
 *
 * The successful argument controls whether or not the field element must be 'successful'
 * (per http://www.w3.org/TR/html4/interact/forms.html#successful-controls).
 * The default value of the successful argument is true.  If this value is false the value(s)
 * for each element is returned.
 *
 * Note: This method *always* returns an array.  If no valid value can be determined the
 *	   array will be empty, otherwise it will contain one or more values.
 */
$.fn.fieldValue = function(successful) {
	for (var val=[], i=0, max=this.length; i < max; i++) {
		var el = this[i];
		var v = $.fieldValue(el, successful);
		if (v === null || typeof v == 'undefined' || (v.constructor == Array && !v.length)) {
			continue;
		}
		v.constructor == Array ? $.merge(val, v) : val.push(v);
	}
	return val;
};

/**
 * Returns the value of the field element.
 */
$.fieldValue = function(el, successful) {
	var n = el.name, t = el.type, tag = el.tagName.toLowerCase();
	if (successful === undefined) {
		successful = true;
	}

	if (successful && (!n || el.disabled || t == 'reset' || t == 'button' ||
		(t == 'checkbox' || t == 'radio') && !el.checked ||
		(t == 'submit' || t == 'image') && el.form && el.form.clk != el ||
		tag == 'select' && el.selectedIndex == -1)) {
			return null;
	}

	if (tag == 'select') {
		var index = el.selectedIndex;
		if (index < 0) {
			return null;
		}
		var a = [], ops = el.options;
		var one = (t == 'select-one');
		var max = (one ? index+1 : ops.length);
		for(var i=(one ? index : 0); i < max; i++) {
			var op = ops[i];
			if (op.selected) {
				var v = op.value;
				if (!v) { // extra pain for IE...
					v = (op.attributes && op.attributes['value'] && !(op.attributes['value'].specified)) ? op.text : op.value;
				}
				if (one) {
					return v;
				}
				a.push(v);
			}
		}
		return a;
	}
	return $(el).val();
};

/**
 * Clears the form data.  Takes the following actions on the form's input fields:
 *  - input text fields will have their 'value' property set to the empty string
 *  - select elements will have their 'selectedIndex' property set to -1
 *  - checkbox and radio inputs will have their 'checked' property set to false
 *  - inputs of type submit, button, reset, and hidden will *not* be effected
 *  - button elements will *not* be effected
 */
$.fn.clearForm = function() {
	return this.each(function() {
		$('input,select,textarea', this).clearFields();
	});
};

/**
 * Clears the selected form elements.
 */
$.fn.clearFields = $.fn.clearInputs = function() {
	var re = /^(?:color|date|datetime|email|month|number|password|range|search|tel|text|time|url|week)$/i; // 'hidden' is not in this list
	return this.each(function() {
		var t = this.type, tag = this.tagName.toLowerCase();
		if (re.test(t) || tag == 'textarea') {
			this.value = '';
		}
		else if (t == 'checkbox' || t == 'radio') {
			this.checked = false;
		}
		else if (tag == 'select') {
			this.selectedIndex = -1;
		}
	});
};

/**
 * Resets the form data.  Causes all form elements to be reset to their original value.
 */
$.fn.resetForm = function() {
	return this.each(function() {
		// guard against an input with the name of 'reset'
		// note that IE reports the reset function as an 'object'
		if (typeof this.reset == 'function' || (typeof this.reset == 'object' && !this.reset.nodeType)) {
			this.reset();
		}
	});
};

/**
 * Enables or disables any matching elements.
 */
$.fn.enable = function(b) {
	if (b === undefined) {
		b = true;
	}
	return this.each(function() {
		this.disabled = !b;
	});
};

/**
 * Checks/unchecks any matching checkboxes or radio buttons and
 * selects/deselects and matching option elements.
 */
$.fn.selected = function(select) {
	if (select === undefined) {
		select = true;
	}
	return this.each(function() {
		var t = this.type;
		if (t == 'checkbox' || t == 'radio') {
			this.checked = select;
		}
		else if (this.tagName.toLowerCase() == 'option') {
			var $sel = $(this).parent('select');
			if (select && $sel[0] && $sel[0].type == 'select-one') {
				// deselect all other options
				$sel.find('option').selected(false);
			}
			this.selected = select;
		}
	});
};

// helper fn for console logging
function log() {
	var msg = '[jquery.form] ' + Array.prototype.join.call(arguments,'');
	if (window.console && window.console.log) {
		window.console.log(msg);
	}
	else if (window.opera && window.opera.postError) {
		window.opera.postError(msg);
	}
};

})(jQuery);
var swfobject=function(){var UNDEF="undefined",OBJECT="object",SHOCKWAVE_FLASH="Shockwave Flash",SHOCKWAVE_FLASH_AX="ShockwaveFlash.ShockwaveFlash",FLASH_MIME_TYPE="application/x-shockwave-flash",EXPRESS_INSTALL_ID="SWFObjectExprInst",win=window,doc=document,nav=navigator,domLoadFnArr=[],regObjArr=[],timer=null,storedAltContent=null,storedAltContentId=null,isDomLoaded=false,isExpressInstallActive=false;var ua=function(){var w3cdom=typeof doc.getElementById!=UNDEF&&typeof doc.getElementsByTagName!=UNDEF&&typeof doc.createElement!=UNDEF&&typeof doc.appendChild!=UNDEF&&typeof doc.replaceChild!=UNDEF&&typeof doc.removeChild!=UNDEF&&typeof doc.cloneNode!=UNDEF,playerVersion=[0,0,0],d=null;if(typeof nav.plugins!=UNDEF&&typeof nav.plugins[SHOCKWAVE_FLASH]==OBJECT){d=nav.plugins[SHOCKWAVE_FLASH].description;if(d){d=d.replace(/^.*\s+(\S+\s+\S+$)/,"$1");playerVersion[0]=parseInt(d.replace(/^(.*)\..*$/,"$1"),10);playerVersion[1]=parseInt(d.replace(/^.*\.(.*)\s.*$/,"$1"),10);playerVersion[2]=/r/.test(d)?parseInt(d.replace(/^.*r(.*)$/,"$1"),10):0}}else{if(typeof win.ActiveXObject!=UNDEF){var a=null,fp6Crash=false;try{a=new ActiveXObject(SHOCKWAVE_FLASH_AX+".7")}catch(e){try{a=new ActiveXObject(SHOCKWAVE_FLASH_AX+".6");playerVersion=[6,0,21];a.AllowScriptAccess="always"}catch(e){if(playerVersion[0]==6){fp6Crash=true}}if(!fp6Crash){try{a=new ActiveXObject(SHOCKWAVE_FLASH_AX)}catch(e){}}}if(!fp6Crash&&a){try{d=a.GetVariable("$version");if(d){d=d.split(" ")[1].split(",");playerVersion=[parseInt(d[0],10),parseInt(d[1],10),parseInt(d[2],10)]}}catch(e){}}}}var u=nav.userAgent.toLowerCase(),p=nav.platform.toLowerCase(),webkit=/webkit/.test(u)?parseFloat(u.replace(/^.*webkit\/(\d+(\.\d+)?).*$/,"$1")):false,ie=false,windows=p?/win/.test(p):/win/.test(u),mac=p?/mac/.test(p):/mac/.test(u);
return{w3cdom:w3cdom,pv:playerVersion,webkit:webkit,ie:ie,win:windows,mac:mac}}();var onDomLoad=function(){if(!ua.w3cdom){return}addDomLoadEvent(main);if(ua.ie&&ua.win){try{doc.write("<script id=__ie_ondomload defer=true src=//:><\/script>");var s=getElementById("__ie_ondomload");if(s){s.onreadystatechange=function(){if(this.readyState=="complete"){this.parentNode.removeChild(this);callDomLoadFunctions()}}}}catch(e){}}if(ua.webkit&&typeof doc.readyState!=UNDEF){timer=setInterval(function(){if(/loaded|complete/.test(doc.readyState)){callDomLoadFunctions()}},10)}if(typeof doc.addEventListener!=UNDEF){doc.addEventListener("DOMContentLoaded",callDomLoadFunctions,null)}addLoadEvent(callDomLoadFunctions)}();function callDomLoadFunctions(){if(isDomLoaded){return}if(ua.ie&&ua.win){var s=createElement("span");try{var t=doc.getElementsByTagName("body")[0].appendChild(s);t.parentNode.removeChild(t)}catch(e){return}}isDomLoaded=true;if(timer){clearInterval(timer);timer=null}var dl=domLoadFnArr.length;for(var i=0;i<dl;i++){domLoadFnArr[i]()}}function addDomLoadEvent(fn){if(isDomLoaded){fn()}else{domLoadFnArr[domLoadFnArr.length]=fn}}function addLoadEvent(fn){if(typeof win.addEventListener!=UNDEF){win.addEventListener("load",fn,false)}else{if(typeof doc.addEventListener!=UNDEF){doc.addEventListener("load",fn,false)}else{if(typeof win.attachEvent!=UNDEF){win.attachEvent("onload",fn)}else{if(typeof win.onload=="function"){var fnOld=win.onload;win.onload=function(){fnOld();fn()}}else{win.onload=fn}}}}}function main(){var rl=regObjArr.length;for(var i=0;i<rl;i++){var id=regObjArr[i].id;if(ua.pv[0]>0){var obj=getElementById(id);if(obj){regObjArr[i].width=obj.getAttribute("width")?obj.getAttribute("width"):"0";regObjArr[i].height=obj.getAttribute("height")?obj.getAttribute("height"):"0";if(hasPlayerVersion(regObjArr[i].swfVersion)){if(ua.webkit&&ua.webkit<312){fixParams(obj)}setVisibility(id,true)}else{if(regObjArr[i].expressInstall&&!isExpressInstallActive&&hasPlayerVersion("6.0.65")&&(ua.win||ua.mac)){showExpressInstall(regObjArr[i])}else{displayAltContent(obj)}}}}else{setVisibility(id,true)}}}function fixParams(obj){var nestedObj=obj.getElementsByTagName(OBJECT)[0];if(nestedObj){var e=createElement("embed"),a=nestedObj.attributes;if(a){var al=a.length;for(var i=0;i<al;i++){if(a[i].nodeName.toLowerCase()=="data"){e.setAttribute("src",a[i].nodeValue)}else{e.setAttribute(a[i].nodeName,a[i].nodeValue)}}}var c=nestedObj.childNodes;if(c){var cl=c.length;for(var j=0;j<cl;j++){if(c[j].nodeType==1&&c[j].nodeName.toLowerCase()=="param"){e.setAttribute(c[j].getAttribute("name"),c[j].getAttribute("value"))}}}obj.parentNode.replaceChild(e,obj)}}function fixObjectLeaks(id){if(ua.ie&&ua.win&&hasPlayerVersion("8.0.0")){win.attachEvent("onunload",function(){var obj=getElementById(id);if(obj){for(var i in obj){if(typeof obj[i]=="function"){obj[i]=function(){}}}obj.parentNode.removeChild(obj)}})}}function showExpressInstall(regObj){isExpressInstallActive=true;var obj=getElementById(regObj.id);if(obj){if(regObj.altContentId){var ac=getElementById(regObj.altContentId);if(ac){storedAltContent=ac;storedAltContentId=regObj.altContentId}}else{storedAltContent=abstractAltContent(obj)}if(!(/%$/.test(regObj.width))&&parseInt(regObj.width,10)<310){regObj.width="310"}if(!(/%$/.test(regObj.height))&&parseInt(regObj.height,10)<137){regObj.height="137"}doc.title=doc.title.slice(0,47)+" - Flash Player Installation";var pt=ua.ie&&ua.win?"ActiveX":"PlugIn",dt=doc.title,fv="MMredirectURL="+win.location+"&MMplayerType="+pt+"&MMdoctitle="+dt,replaceId=regObj.id;if(ua.ie&&ua.win&&obj.readyState!=4){var newObj=createElement("div");replaceId+="SWFObjectNew";newObj.setAttribute("id",replaceId);obj.parentNode.insertBefore(newObj,obj);obj.style.display="none";win.attachEvent("onload",function(){obj.parentNode.removeChild(obj)})}createSWF({data:regObj.expressInstall,id:EXPRESS_INSTALL_ID,width:regObj.width,height:regObj.height},{flashvars:fv},replaceId)}}function displayAltContent(obj){if(ua.ie&&ua.win&&obj.readyState!=4){var el=createElement("div");obj.parentNode.insertBefore(el,obj);el.parentNode.replaceChild(abstractAltContent(obj),el);obj.style.display="none";win.attachEvent("onload",function(){obj.parentNode.removeChild(obj)})}else{obj.parentNode.replaceChild(abstractAltContent(obj),obj)}}function abstractAltContent(obj){var ac=createElement("div");if(ua.win&&ua.ie){ac.innerHTML=obj.innerHTML}else{var nestedObj=obj.getElementsByTagName(OBJECT)[0];if(nestedObj){var c=nestedObj.childNodes;if(c){var cl=c.length;for(var i=0;i<cl;i++){if(!(c[i].nodeType==1&&c[i].nodeName.toLowerCase()=="param")&&!(c[i].nodeType==8)){ac.appendChild(c[i].cloneNode(true))}}}}}return ac}function createSWF(attObj,parObj,id){var r,el=getElementById(id);if(typeof attObj.id==UNDEF){attObj.id=id}if(ua.ie&&ua.win){var att="";for(var i in attObj){if(attObj[i]!=Object.prototype[i]){if(i=="data"){parObj.movie=attObj[i]}else{if(i.toLowerCase()=="styleclass"){att+=' class="'+attObj[i]+'"'}else{if(i!="classid"){att+=" "+i+'="'+attObj[i]+'"'}}}}}var par="";for(var j in parObj){if(parObj[j]!=Object.prototype[j]){par+='<param name="'+j+'" value="'+parObj[j]+'" />'}}el.outerHTML='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"'+att+">"+par+"</object>";fixObjectLeaks(attObj.id);r=getElementById(attObj.id)}else{if(ua.webkit&&ua.webkit<312){var e=createElement("embed");e.setAttribute("type",FLASH_MIME_TYPE);for(var k in attObj){if(attObj[k]!=Object.prototype[k]){if(k=="data"){e.setAttribute("src",attObj[k])}else{if(k.toLowerCase()=="styleclass"){e.setAttribute("class",attObj[k])}else{if(k!="classid"){e.setAttribute(k,attObj[k])}}}}}for(var l in parObj){if(parObj[l]!=Object.prototype[l]){if(l!="movie"){e.setAttribute(l,parObj[l])}}}el.parentNode.replaceChild(e,el);r=e}else{var o=createElement(OBJECT);o.setAttribute("type",FLASH_MIME_TYPE);for(var m in attObj){if(attObj[m]!=Object.prototype[m]){if(m.toLowerCase()=="styleclass"){o.setAttribute("class",attObj[m])}else{if(m!="classid"){o.setAttribute(m,attObj[m])}}}}for(var n in parObj){if(parObj[n]!=Object.prototype[n]&&n!="movie"){createObjParam(o,n,parObj[n])}}el.parentNode.replaceChild(o,el);r=o}}return r}function createObjParam(el,pName,pValue){var p=createElement("param");p.setAttribute("name",pName);p.setAttribute("value",pValue);el.appendChild(p)}function getElementById(id){return doc.getElementById(id)}function createElement(el){return doc.createElement(el)}function hasPlayerVersion(rv){var pv=ua.pv,v=rv.split(".");v[0]=parseInt(v[0],10);v[1]=parseInt(v[1],10);v[2]=parseInt(v[2],10);return(pv[0]>v[0]||(pv[0]==v[0]&&pv[1]>v[1])||(pv[0]==v[0]&&pv[1]==v[1]&&pv[2]>=v[2]))?true:false}function createCSS(sel,decl){if(ua.ie&&ua.mac){return}var h=doc.getElementsByTagName("head")[0],s=createElement("style");s.setAttribute("type","text/css");s.setAttribute("media","screen");if(!(ua.ie&&ua.win)&&typeof doc.createTextNode!=UNDEF){s.appendChild(doc.createTextNode(sel+" {"+decl+"}"))}h.appendChild(s);if(ua.ie&&ua.win&&typeof doc.styleSheets!=UNDEF&&doc.styleSheets.length>0){var ls=doc.styleSheets[doc.styleSheets.length-1];if(typeof ls.addRule==OBJECT){ls.addRule(sel,decl)}}}function setVisibility(id,isVisible){var v=isVisible?"visible":"hidden";if(isDomLoaded){getElementById(id).style.visibility=v}else{createCSS("#"+id,"visibility:"+v)}}function getTargetVersion(obj){if(!obj){return 0}var c=obj.childNodes;var cl=c.length;for(var i=0;i<cl;i++){if(c[i].nodeType==1&&c[i].nodeName.toLowerCase()=="object"){c=c[i].childNodes;cl=c.length;i=0}if(c[i].nodeType==1&&c[i].nodeName.toLowerCase()=="param"&&c[i].getAttribute("name")=="swfversion"){return c[i].getAttribute("value")}}return 0}function getExpressInstall(obj){if(!obj){return""}var c=obj.childNodes;var cl=c.length;for(var i=0;i<cl;i++){if(c[i].nodeType==1&&c[i].nodeName.toLowerCase()=="object"){c=c[i].childNodes;cl=c.length;i=0}if(c[i].nodeType==1&&c[i].nodeName.toLowerCase()=="param"&&c[i].getAttribute("name")=="expressinstall"){return c[i].getAttribute("value")}}return""}return{registerObject:function(objectIdStr,swfVersionStr,xiSwfUrlStr){if(!ua.w3cdom||!objectIdStr){return}var obj=document.getElementById(objectIdStr);var xi=getExpressInstall(obj);var regObj={};regObj.id=objectIdStr;regObj.swfVersion=swfVersionStr?swfVersionStr:getTargetVersion(obj);regObj.expressInstall=xiSwfUrlStr?xiSwfUrlStr:((xi!="")?xi:false);regObjArr[regObjArr.length]=regObj;setVisibility(objectIdStr,false)},getObjectById:function(objectIdStr){var r=null;if(ua.w3cdom&&isDomLoaded){var o=getElementById(objectIdStr);if(o){var n=o.getElementsByTagName(OBJECT)[0];if(!n||(n&&typeof o.SetVariable!=UNDEF)){r=o}else{if(typeof n.SetVariable!=UNDEF){r=n}}}}return r},embedSWF:function(swfUrlStr,replaceElemIdStr,widthStr,heightStr,swfVersionStr,xiSwfUrlStr,flashvarsObj,parObj,attObj){if(!ua.w3cdom||!swfUrlStr||!replaceElemIdStr||!widthStr||!heightStr||!swfVersionStr){return}widthStr+="";heightStr+="";if(hasPlayerVersion(swfVersionStr)){setVisibility(replaceElemIdStr,false);var att=(typeof attObj==OBJECT)?attObj:{};att.data=swfUrlStr;att.width=widthStr;att.height=heightStr;var par=(typeof parObj==OBJECT)?parObj:{};if(typeof flashvarsObj==OBJECT){for(var i in flashvarsObj){if(flashvarsObj[i]!=Object.prototype[i]){if(typeof par.flashvars!=UNDEF){par.flashvars+="&"+i+"="+flashvarsObj[i]}else{par.flashvars=i+"="+flashvarsObj[i]}}}}addDomLoadEvent(function(){createSWF(att,par,replaceElemIdStr);if(att.id==replaceElemIdStr){setVisibility(replaceElemIdStr,true)}})}else{if(xiSwfUrlStr&&!isExpressInstallActive&&hasPlayerVersion("6.0.65")&&(ua.win||ua.mac)){setVisibility(replaceElemIdStr,false);addDomLoadEvent(function(){var regObj={};regObj.id=regObj.altContentId=replaceElemIdStr;regObj.width=widthStr;regObj.height=heightStr;regObj.expressInstall=xiSwfUrlStr;showExpressInstall(regObj)})}}},getFlashPlayerVersion:function(){return{major:ua.pv[0],minor:ua.pv[1],release:ua.pv[2]}},hasFlashPlayerVersion:hasPlayerVersion,createSWF:function(attObj,parObj,replaceElemIdStr){if(ua.w3cdom&&isDomLoaded){return createSWF(attObj,parObj,replaceElemIdStr)}else{return undefined}},createCSS:function(sel,decl){if(ua.w3cdom){createCSS(sel,decl)}},addDomLoadEvent:addDomLoadEvent,addLoadEvent:addLoadEvent,getQueryParamValue:function(param){var q=doc.location.search||doc.location.hash;if(param==null){return q}if(q){var pairs=q.substring(1).split("&");for(var i=0;i<pairs.length;i++){if(pairs[i].substring(0,pairs[i].indexOf("="))==param){return pairs[i].substring((pairs[i].indexOf("=")+1))}}}return""},expressInstallCallback:function(){if(isExpressInstallActive&&storedAltContent){var obj=getElementById(EXPRESS_INSTALL_ID);if(obj){obj.parentNode.replaceChild(storedAltContent,obj);if(storedAltContentId){setVisibility(storedAltContentId,true);if(ua.ie&&ua.win){storedAltContent.style.display="block"}}storedAltContent=null;storedAltContentId=null;isExpressInstallActive=false}}}}}();
$.fn.customDeserialize = function(d) {
    var data = d;
    if (d === undefined) {
        return this;
    }

    $('span,input,select,textarea', this).each(function() {
        var p = this.name;
        var path;

        if (p)
            path = p.split(/\./);
        else {
            p = this.id;
            if (p) path = p.split(/-/);
        }
        if (path) {
            var v = data;
            for (var k = 0; v && k < path.length; k++) {
                v = v[path[k]];
            }

            if (v) {
                $('#' + (this.name || this.id)).html(v);
                if (this.name)
                    switch (this.type || this.tagName.toLowerCase()) {
                        case "radio":
                            this.checked = (this.value != '' && v == this.value);
                            break;
                        case "checkbox":
                            this.checked = v;
                            break;
                        case "select-multiple" || "select":
                            for (var i = 0; i < this.options.length; i++) {
                                this.options[i].selected = (this.options[i].value != '' && this.options[i].value == v);
                            }
                            break;
                        default:
                            this.value = v;
                    }
            }
        }
    });
    return this;
};

// jQuery List DragSort v0.4
// Website: http://dragsort.codeplex.com/
// License: http://dragsort.codeplex.com/license

(function($) {

	$.fn.dragsort = function(options) {
		var opts = $.extend({}, $.fn.dragsort.defaults, options);
		var lists = [];
		var list = null, lastPos = null;
		if (this.selector)
			$("head").append("<style type='text/css'>" + (this.selector.split(",").join(" " + opts.dragSelector + ",") + " " + opts.dragSelector) + " { cursor: pointer; }</style>");

		this.each(function(i, cont) {

			if ($(cont).is("table") && $(cont).children().size() == 1 && $(cont).children().is("tbody"))
				cont = $(cont).children().get(0);

			var newList = {
				draggedItem: null,
				placeHolderItem: null,
				pos: null,
				offset: null,
				offsetLimit: null,
				scroll: null,
				container: cont,

				init: function() {
					$(this.container).attr("data-listIdx", i).mousedown(this.grabItem).find(opts.dragSelector).css("cursor", "pointer");
					$(this.container).children(opts.itemSelector).each(function(j) { $(this).attr("data-itemIdx", j); });
				},

				grabItem: function(e) {
					if (e.which != 1 || $(e.target).is(opts.dragSelectorExclude))
						return;

					var elm = e.target;
					while (!$(elm).is("[data-listIdx='" + $(this).attr("data-listIdx") + "'] " + opts.dragSelector)) {
						if (elm == this) return;
						elm = elm.parentNode;
					}

					if (list != null && list.draggedItem != null)
						list.dropItem();

					$(e.target).css("cursor", "move");

					list = lists[$(this).attr("data-listIdx")];
					list.draggedItem = $(elm).closest(opts.itemSelector);
					var mt = parseInt(list.draggedItem.css("marginTop"));
					var ml = parseInt(list.draggedItem.css("marginLeft"));
					list.offset = list.draggedItem.offset();
					list.offset.top = e.pageY - list.offset.top + (isNaN(mt) ? 0 : mt) - 1;
					list.offset.left = e.pageX - list.offset.left + (isNaN(ml) ? 0 : ml) - 1;

					if (!opts.dragBetween) {
						var containerHeight = $(list.container).outerHeight() == 0 ? Math.max(1, Math.round(0.5 + $(list.container).children(opts.itemSelector).size() * list.draggedItem.outerWidth() / $(list.container).outerWidth())) * list.draggedItem.outerHeight() : $(list.container).outerHeight();
						list.offsetLimit = $(list.container).offset();
						list.offsetLimit.right = list.offsetLimit.left + $(list.container).outerWidth() - list.draggedItem.outerWidth();
						list.offsetLimit.bottom = list.offsetLimit.top + containerHeight - list.draggedItem.outerHeight();
					}

					var h = list.draggedItem.height();
					var w = list.draggedItem.width();
					var orig = list.draggedItem.attr("style");
					list.draggedItem.attr("data-origStyle", orig ? orig : "");
					if (opts.itemSelector == "tr") {
						list.draggedItem.children().each(function() { $(this).width($(this).width()); });
						list.placeHolderItem = list.draggedItem.clone().attr("data-placeHolder", true);
						list.draggedItem.after(list.placeHolderItem);
						list.placeHolderItem.children().each(function() { $(this).css({ borderWidth:0, width: $(this).width() + 1, height: $(this).height() + 1 }).html("&nbsp;"); });
					} else {
						list.draggedItem.after(opts.placeHolderTemplate);
						list.placeHolderItem = list.draggedItem.next().css({ height: h, width: w }).attr("data-placeHolder", true);
					}
					list.draggedItem.css({ position: "absolute", opacity: 0.8, "z-index": 999, height: h, width: w });

					$(lists).each(function(i, l) { l.createDropTargets(); l.buildPositionTable(); });

					list.scroll = { moveX: 0, moveY: 0, maxX: $(document).width() - $(window).width(), maxY: $(document).height() - $(window).height() };
					list.scroll.scrollY = window.setInterval(function() {
						if (opts.scrollContainer != window) {
							$(opts.scrollContainer).scrollTop($(opts.scrollContainer).scrollTop() + list.scroll.moveY);
							return;
						}
						var t = $(opts.scrollContainer).scrollTop();
						if (list.scroll.moveY > 0 && t < list.scroll.maxY || list.scroll.moveY < 0 && t > 0) {
							$(opts.scrollContainer).scrollTop(t + list.scroll.moveY);
							list.draggedItem.css("top", list.draggedItem.offset().top + list.scroll.moveY + 1);
						}
					}, 10);
					list.scroll.scrollX = window.setInterval(function() {
						if (opts.scrollContainer != window) {
							$(opts.scrollContainer).scrollLeft($(opts.scrollContainer).scrollLeft() + list.scroll.moveX);
							return;
						}
						var l = $(opts.scrollContainer).scrollLeft();
						if (list.scroll.moveX > 0 && l < list.scroll.maxX || list.scroll.moveX < 0 && l > 0) {
							$(opts.scrollContainer).scrollLeft(l + list.scroll.moveX);
							list.draggedItem.css("left", list.draggedItem.offset().left + list.scroll.moveX + 1);
						}
					}, 10);

					list.setPos(e.pageX, e.pageY);
					$(document).bind("selectstart", list.stopBubble); //stop ie text selection
					$(document).bind("mousemove", list.swapItems);
					$(document).bind("mouseup", list.dropItem);
					if (opts.scrollContainer != window)
						$(window).bind("DOMMouseScroll mousewheel", list.wheel);
					return false; //stop moz text selection
				},

				setPos: function(x, y) {
					var top = y - this.offset.top;
					var left = x - this.offset.left;

					if (!opts.dragBetween) {
						top = Math.min(this.offsetLimit.bottom, Math.max(top, this.offsetLimit.top));
						left = Math.min(this.offsetLimit.right, Math.max(left, this.offsetLimit.left));
					}

					this.draggedItem.parents().each(function() {
						if ($(this).css("position") != "static" && (!$.browser.mozilla || $(this).css("display") != "table")) {
							var offset = $(this).offset();
							top -= offset.top;
							left -= offset.left;
							return false;
						}
					});

					if (opts.scrollContainer == window) {
						y -= $(window).scrollTop();
						x -= $(window).scrollLeft();
						y = Math.max(0, y - $(window).height() + 5) + Math.min(0, y - 5);
						x = Math.max(0, x - $(window).width() + 5) + Math.min(0, x - 5);
					} else {
						var cont = $(opts.scrollContainer);
						var offset = cont.offset();
						y = Math.max(0, y - cont.height() - offset.top) + Math.min(0, y - offset.top);
						x = Math.max(0, x - cont.width() - offset.left) + Math.min(0, x - offset.left);
					}

					list.scroll.moveX = x == 0 ? 0 : x * opts.scrollSpeed / Math.abs(x);
					list.scroll.moveY = y == 0 ? 0 : y * opts.scrollSpeed / Math.abs(y);

					this.draggedItem.css({ top: top, left: left });
				},

				wheel: function(e) {
					if (($.browser.safari || $.browser.mozilla) && list && opts.scrollContainer != window) {
						var cont = $(opts.scrollContainer);
						var offset = cont.offset();
						if (e.pageX > offset.left && e.pageX < offset.left + cont.width() && e.pageY > offset.top && e.pageY < offset.top + cont.height()) {
							var delta = e.detail ? e.detail * 5 : e.wheelDelta / -2;
							cont.scrollTop(cont.scrollTop() + delta);
							e.preventDefault();
						}
					}
				},

				buildPositionTable: function() {
					var item = this.draggedItem == null ? null : this.draggedItem.get(0);
					var pos = [];
					$(this.container).children(opts.itemSelector).each(function(i, elm) {
						if (elm != item) {
							var loc = $(elm).offset();
							loc.right = loc.left + $(elm).width();
							loc.bottom = loc.top + $(elm).height();
							loc.elm = elm;
							pos.push(loc);
						}
					});
					this.pos = pos;
				},

				dropItem: function() {
					if (list.draggedItem == null)
						return;

					$(list.container).find(opts.dragSelector).css("cursor", "pointer");
					list.placeHolderItem.before(list.draggedItem);

					//list.draggedItem.attr("style", "") doesn't work on IE8 and jQuery 1.5 or lower
					//list.draggedItem.removeAttr("style") doesn't work on chrome and jQuery 1.6 (works jQuery 1.5 or lower)
					var orig = list.draggedItem.attr("data-origStyle");
					list.draggedItem.attr("style", orig);
					if (orig == "")
						list.draggedItem.removeAttr("style");
					list.draggedItem.removeAttr("data-origStyle");
					list.placeHolderItem.remove();

					$("[data-dropTarget]").remove();

					window.clearInterval(list.scroll.scrollY);
					window.clearInterval(list.scroll.scrollX);

					var changed = false;
					$(lists).each(function() {
						$(this.container).children(opts.itemSelector).each(function(j) {
							if (parseInt($(this).attr("data-itemIdx")) != j) {
								changed = true;
								$(this).attr("data-itemIdx", j);
							}
						});
					});
					if (changed)
						opts.dragEnd.apply(list.draggedItem);
					list.draggedItem = null;
					$(document).unbind("selectstart", list.stopBubble);
					$(document).unbind("mousemove", list.swapItems);
					$(document).unbind("mouseup", list.dropItem);
					if (opts.scrollContainer != window)
						$(window).unbind("DOMMouseScroll mousewheel", list.wheel);
					return false;
				},

				stopBubble: function() { return false; },

				swapItems: function(e) {
					if (list.draggedItem == null)
						return false;

					list.setPos(e.pageX, e.pageY);

					var ei = list.findPos(e.pageX, e.pageY);
					var nlist = list;
					for (var i = 0; ei == -1 && opts.dragBetween && i < lists.length; i++) {
						ei = lists[i].findPos(e.pageX, e.pageY);
						nlist = lists[i];
					}

					if (ei == -1 || $(nlist.pos[ei].elm).attr("data-placeHolder"))
						return false;

//					if (lastPos == null || lastPos.top > list.draggedItem.offset().top || lastPos.left > list.draggedItem.offset().left)
//						$(nlist.pos[ei].elm).before(list.placeHolderItem);
//					else
//						$(nlist.pos[ei].elm).after(list.placeHolderItem);

                    var children = function() { return $(nlist.container).children().not(nlist.draggedItem); };
                    var fixed = children().filter(".fixed").each(function(i) { this.idx = children().index(this); });
                    if (lastPos == null || lastPos.top > list.draggedItem.offset().top || lastPos.left > list.draggedItem.offset().left)
                        $(nlist.pos[ei].elm).before(list.placeHolderItem);
                    else
                        $(nlist.pos[ei].elm).after(list.placeHolderItem);
                    fixed.each(function() {
                        var elm = children().eq(this.idx).get(0);
                        if (this != elm && children().index(this) < this.idx)
                            $(this).insertAfter(elm);
                        else if (this != elm)
                            $(this).insertBefore(elm);
                    });


					$(lists).each(function(i, l) { l.createDropTargets(); l.buildPositionTable(); });
					lastPos = list.draggedItem.offset();
					return false;
				},

				findPos: function(x, y) {
					for (var i = 0; i < this.pos.length; i++) {
						if (this.pos[i].left < x && this.pos[i].right > x && this.pos[i].top < y && this.pos[i].bottom > y)
							return i;
					}
					return -1;
				},

				createDropTargets: function() {
					if (!opts.dragBetween)
						return;

					$(lists).each(function() {
						var ph = $(this.container).find("[data-placeHolder]");
						var dt = $(this.container).find("[data-dropTarget]");
						if (ph.size() > 0 && dt.size() > 0)
							dt.remove();
						else if (ph.size() == 0 && dt.size() == 0) {
							//list.placeHolderItem.clone().removeAttr("data-placeHolder") crashes in IE7 and jquery 1.5.1 (doesn't in jquery 1.4.2 or IE8)
							$(this.container).append(list.placeHolderItem.removeAttr("data-placeHolder").clone().attr("data-dropTarget", true));
							list.placeHolderItem.attr("data-placeHolder", true);
						}
					});
				}
			};

			newList.init();
			lists.push(newList);
		});

		return this;
	};

	$.fn.dragsort.defaults = {
		itemSelector: "li",
		dragSelector: "li",
		dragSelectorExclude: "input, textarea, a[href]",
		dragEnd: function() { },
		dragBetween: false,
		placeHolderTemplate: "<li>&nbsp;</li>",
		scrollContainer: window,
		scrollSpeed: 5
	};

})(jQuery);
/*
 * jQuery Autocomplete plugin 1.1
 *
 * Copyright (c) 2009 JÃ¶rn Zaefferer
 *
 * Dual licensed under the MIT and GPL licenses:
 *   http://www.opensource.org/licenses/mit-license.php
 *   http://www.gnu.org/licenses/gpl.html
 *
 * Revision: $Id: jquery.autocomplete.js 15 2009-08-22 10:30:27Z joern.zaefferer $
 */

;(function($) {

$.fn.extend({
	autocomplete: function(urlOrData, options) {
		var isUrl = typeof urlOrData == "string";
		options = $.extend({}, $.Autocompleter.defaults, {
			url: isUrl ? urlOrData : null,
			data: isUrl ? null : urlOrData,
			delay: isUrl ? $.Autocompleter.defaults.delay : 10,
			max: options && !options.scroll ? 10 : 150
		}, options);

		// if highlight is set to false, replace it with a do-nothing function
		options.highlight = options.highlight || function(value) { return value; };

		// if the formatMatch option is not specified, then use formatItem for backwards compatibility
		options.formatMatch = options.formatMatch || options.formatItem;

		return this.each(function() {
			new $.Autocompleter(this, options);
		});
	},
	result: function(handler) {
		return this.bind("result", handler);
	},
	search: function(handler) {
		return this.trigger("search", [handler]);
	},
	flushCache: function() {
		return this.trigger("flushCache");
	},
	setOptions: function(options){
		return this.trigger("setOptions", [options]);
	},
	unautocomplete: function() {
		return this.trigger("unautocomplete");
	}
});

$.Autocompleter = function(input, options) {

	var KEY = {
		UP: 38,
		DOWN: 40,
		DEL: 46,
		TAB: 9,
		RETURN: 13,
		ESC: 27,
		COMMA: 188,
		PAGEUP: 33,
		PAGEDOWN: 34,
		BACKSPACE: 8
	};

	// Create $ object for input element
	var $input = $(input).attr("autocomplete", "off").addClass(options.inputClass);

	var timeout;
	var previousValue = "";
	var cache = $.Autocompleter.Cache(options);
	var hasFocus = 0;
	var lastKeyPressCode;
	var config = {
		mouseDownOnSelect: false
	};
	var select = $.Autocompleter.Select(options, input, selectCurrent, config);

	var blockSubmit;

	// prevent form submit in opera when selecting with return key
	$.browser.opera && $(input.form).bind("submit.autocomplete", function() {
		if (blockSubmit) {
			blockSubmit = false;
			return false;
		}
	});

	// only opera doesn't trigger keydown multiple times while pressed, others don't work with keypress at all
	$input.bind(($.browser.opera ? "keypress" : "keydown") + ".autocomplete", function(event) {
		// a keypress means the input has focus
		// avoids issue where input had focus before the autocomplete was applied
		hasFocus = 1;
		// track last key pressed
		lastKeyPressCode = event.keyCode;
		switch(event.keyCode) {

			case KEY.UP:
				event.preventDefault();
				if ( select.visible() ) {
					select.prev();
				} else {
					onChange(0, true);
				}
				break;

			case KEY.DOWN:
				event.preventDefault();
				if ( select.visible() ) {
					select.next();
				} else {
					onChange(0, true);
				}
				break;

			case KEY.PAGEUP:
				event.preventDefault();
				if ( select.visible() ) {
					select.pageUp();
				} else {
					onChange(0, true);
				}
				break;

			case KEY.PAGEDOWN:
				event.preventDefault();
				if ( select.visible() ) {
					select.pageDown();
				} else {
					onChange(0, true);
				}
				break;

			// matches also semicolon
			case options.multiple && $.trim(options.multipleSeparator) == "," && KEY.COMMA:
			case KEY.TAB:
			case KEY.RETURN:
				if( selectCurrent() ) {
					// stop default to prevent a form submit, Opera needs special handling
					event.preventDefault();
					blockSubmit = true;
					return false;
				}
				break;

			case KEY.ESC:
				select.hide();
				break;

			default:
				clearTimeout(timeout);
				timeout = setTimeout(onChange, options.delay);
				break;
		}
	}).focus(function(){
		// track whether the field has focus, we shouldn't process any
		// results if the field no longer has focus
		hasFocus++;
	}).blur(function() {
		hasFocus = 0;
		if (!config.mouseDownOnSelect) {
			hideResults();
		}
	}).click(function() {
		// show select when clicking in a focused field
		if ( hasFocus++ > 1 && !select.visible() ) {
			onChange(0, true);
		}
	}).bind("search", function() {
		// TODO why not just specifying both arguments?
		var fn = (arguments.length > 1) ? arguments[1] : null;
		function findValueCallback(q, data) {
			var result;
			if( data && data.length ) {
				for (var i=0; i < data.length; i++) {
					if( data[i].result.toLowerCase() == q.toLowerCase() ) {
						result = data[i];
						break;
					}
				}
			}
			if( typeof fn == "function" ) fn(result);
			else $input.trigger("result", result && [result.data, result.value]);
		}
		$.each(trimWords($input.val()), function(i, value) {
			request(value, findValueCallback, findValueCallback);
		});
	}).bind("flushCache", function() {
		cache.flush();
	}).bind("setOptions", function() {
		$.extend(options, arguments[1]);
		// if we've updated the data, repopulate
		if ( "data" in arguments[1] )
			cache.populate();
	}).bind("unautocomplete", function() {
		select.unbind();
		$input.unbind();
		$(input.form).unbind(".autocomplete");
	});


	function selectCurrent() {
		var selected = select.selected();
		if( !selected )
			return false;

		var v = selected.result;
		previousValue = v;

		if ( options.multiple ) {
			var words = trimWords($input.val());
			if ( words.length > 1 ) {
				var seperator = options.multipleSeparator.length;
				var cursorAt = $(input).selection().start;
				var wordAt, progress = 0;
				$.each(words, function(i, word) {
					progress += word.length;
					if (cursorAt <= progress) {
						wordAt = i;
						return false;
					}
					progress += seperator;
				});
				words[wordAt] = v;
				// TODO this should set the cursor to the right position, but it gets overriden somewhere
				//$.Autocompleter.Selection(input, progress + seperator, progress + seperator);
				v = words.join( options.multipleSeparator );
			}
			v += options.multipleSeparator;
		}

		$input.val(v);
		hideResultsNow();
		$input.trigger("result", [selected.data, selected.value]);
		return true;
	}

	function onChange(crap, skipPrevCheck) {
		if( lastKeyPressCode == KEY.DEL ) {
			select.hide();
			return;
		}

		var currentValue = $input.val();

		if ( !skipPrevCheck && currentValue == previousValue )
			return;

		previousValue = currentValue;

		currentValue = lastWord(currentValue);
		if ( currentValue.length >= options.minChars) {
			$input.addClass(options.loadingClass);
			if (!options.matchCase)
				currentValue = currentValue.toLowerCase();
			request(currentValue, receiveData, hideResultsNow);
		} else {
			stopLoading();
			select.hide();
		}
	};

	function trimWords(value) {
		if (!value)
			return [""];
		if (!options.multiple)
			return [$.trim(value)];
		return $.map(value.split(options.multipleSeparator), function(word) {
			return $.trim(value).length ? $.trim(word) : null;
		});
	}

	function lastWord(value) {
		if ( !options.multiple )
			return value;
		var words = trimWords(value);
		if (words.length == 1)
			return words[0];
		var cursorAt = $(input).selection().start;
		if (cursorAt == value.length) {
			words = trimWords(value)
		} else {
			words = trimWords(value.replace(value.substring(cursorAt), ""));
		}
		return words[words.length - 1];
	}

	// fills in the input box w/the first match (assumed to be the best match)
	// q: the term entered
	// sValue: the first matching result
	function autoFill(q, sValue){
		// autofill in the complete box w/the first match as long as the user hasn't entered in more data
		// if the last user key pressed was backspace, don't autofill
		if( options.autoFill && (lastWord($input.val()).toLowerCase() == q.toLowerCase()) && lastKeyPressCode != KEY.BACKSPACE ) {
			// fill in the value (keep the case the user has typed)
			$input.val($input.val() + sValue.substring(lastWord(previousValue).length));
			// select the portion of the value not typed by the user (so the next character will erase)
			$(input).selection(previousValue.length, previousValue.length + sValue.length);
		}
	};

	function hideResults() {
		clearTimeout(timeout);
		timeout = setTimeout(hideResultsNow, 200);
	};

	function hideResultsNow() {
		var wasVisible = select.visible();
		select.hide();
		clearTimeout(timeout);
		stopLoading();
		if (options.mustMatch) {
			// call search and run callback
			$input.search(
				function (result){
					// if no value found, clear the input box
					if( !result ) {
						if (options.multiple) {
							var words = trimWords($input.val()).slice(0, -1);
							$input.val( words.join(options.multipleSeparator) + (words.length ? options.multipleSeparator : "") );
						}
						else {
							$input.val( "" );
							$input.trigger("result", null);
						}
					}
				}
			);
		}
	};

	function receiveData(q, data) {
		if ( data && data.length && hasFocus ) {
			stopLoading();
			select.display(data, q);
			autoFill(q, data[0].value);
			select.show();
		} else {
			hideResultsNow();
		}
	};

	function request(term, success, failure) {
		if (!options.matchCase)
			term = term.toLowerCase();
		var data = cache.load(term);
		// recieve the cached data
		if (data && data.length) {
			success(term, data);
		// if an AJAX url has been supplied, try loading the data now
		} else if( (typeof options.url == "string") && (options.url.length > 0) ){

			var extraParams = {
				timestamp: +new Date()
			};
			$.each(options.extraParams, function(key, param) {
				extraParams[key] = typeof param == "function" ? param() : param;
			});

			$.ajax({
				// try to leverage ajaxQueue plugin to abort previous requests
				mode: "abort",
				// limit abortion to this input
				port: "autocomplete" + input.name,
				dataType: options.dataType,
				url: options.url,
				data: $.extend({
					q: lastWord(term),
					limit: options.max
				}, extraParams),
				success: function(data) {
					var parsed = options.parse && options.parse(data) || parse(data);
					cache.add(term, parsed);
					success(term, parsed);
				}
			});
		} else {
			// if we have a failure, we need to empty the list -- this prevents the the [TAB] key from selecting the last successful match
			select.emptyList();
			failure(term);
		}
	};

	function parse(data) {
		var parsed = [];
		var rows = data.split("\n");
		for (var i=0; i < rows.length; i++) {
			var row = $.trim(rows[i]);
			if (row) {
				row = row.split("|");
				parsed[parsed.length] = {
					data: row,
					value: row[0],
					result: options.formatResult && options.formatResult(row, row[0]) || row[0]
				};
			}
		}
		return parsed;
	};

	function stopLoading() {
		$input.removeClass(options.loadingClass);
	};

};

$.Autocompleter.defaults = {
	inputClass: "ac_input",
	resultsClass: "ac_results",
	loadingClass: "ac_loading",
	minChars: 1,
	delay: 400,
	matchCase: false,
	matchSubset: true,
	matchContains: false,
	cacheLength: 10,
	max: 100,
	mustMatch: false,
	extraParams: {},
	selectFirst: true,
	formatItem: function(row) { return row[0]; },
	formatMatch: null,
	autoFill: false,
	width: 0,
	multiple: false,
	multipleSeparator: ", ",
	highlight: function(value, term) {
		return value.replace(new RegExp("(?![^&;]+;)(?!<[^<>]*)(" + term.replace(/([\^\$\(\)\[\]\{\}\*\.\+\?\|\\])/gi, "\\$1") + ")(?![^<>]*>)(?![^&;]+;)", "gi"), "<strong>$1</strong>");
	},
    scroll: true,
    scrollHeight: 180
};

$.Autocompleter.Cache = function(options) {

	var data = {};
	var length = 0;

	function matchSubset(s, sub) {
		if (!options.matchCase)
			s = s.toLowerCase();
		var i = s.indexOf(sub);
		if (options.matchContains == "word"){
			i = s.toLowerCase().search("\\b" + sub.toLowerCase());
		}
		if (i == -1) return false;
		return i == 0 || options.matchContains;
	};

	function add(q, value) {
		if (length > options.cacheLength){
			flush();
		}
		if (!data[q]){
			length++;
		}
		data[q] = value;
	}

	function populate(){
		if( !options.data ) return false;
		// track the matches
		var stMatchSets = {},
			nullData = 0;

		// no url was specified, we need to adjust the cache length to make sure it fits the local data store
		if( !options.url ) options.cacheLength = 1;

		// track all options for minChars = 0
		stMatchSets[""] = [];

		// loop through the array and create a lookup structure
		for ( var i = 0, ol = options.data.length; i < ol; i++ ) {
			var rawValue = options.data[i];
			// if rawValue is a string, make an array otherwise just reference the array
			rawValue = (typeof rawValue == "string") ? [rawValue] : rawValue;

			var value = options.formatMatch(rawValue, i+1, options.data.length);
			if ( value === false )
				continue;

			var firstChar = value.charAt(0).toLowerCase();
			// if no lookup array for this character exists, look it up now
			if( !stMatchSets[firstChar] )
				stMatchSets[firstChar] = [];

			// if the match is a string
			var row = {
				value: value,
				data: rawValue,
				result: options.formatResult && options.formatResult(rawValue) || value
			};

			// push the current match into the set list
			stMatchSets[firstChar].push(row);

			// keep track of minChars zero items
			if ( nullData++ < options.max ) {
				stMatchSets[""].push(row);
			}
		};

		// add the data items to the cache
		$.each(stMatchSets, function(i, value) {
			// increase the cache size
			options.cacheLength++;
			// add to the cache
			add(i, value);
		});
	}

	// populate any existing data
	setTimeout(populate, 25);

	function flush(){
		data = {};
		length = 0;
	}

	return {
		flush: flush,
		add: add,
		populate: populate,
		load: function(q) {
			if (!options.cacheLength || !length)
				return null;
			/*
			 * if dealing w/local data and matchContains than we must make sure
			 * to loop through all the data collections looking for matches
			 */
			if( !options.url && options.matchContains ){
				// track all matches
				var csub = [];
				// loop through all the data grids for matches
				for( var k in data ){
					// don't search through the stMatchSets[""] (minChars: 0) cache
					// this prevents duplicates
					if( k.length > 0 ){
						var c = data[k];
						$.each(c, function(i, x) {
							// if we've got a match, add it to the array
							if (matchSubset(x.value, q)) {
								csub.push(x);
							}
						});
					}
				}
				return csub;
			} else
			// if the exact item exists, use it
			if (data[q]){
				return data[q];
			} else
			if (options.matchSubset) {
				for (var i = q.length - 1; i >= options.minChars; i--) {
					var c = data[q.substr(0, i)];
					if (c) {
						var csub = [];
						$.each(c, function(i, x) {
							if (matchSubset(x.value, q)) {
								csub[csub.length] = x;
							}
						});
						return csub;
					}
				}
			}
			return null;
		}
	};
};

$.Autocompleter.Select = function (options, input, select, config) {
	var CLASSES = {
		ACTIVE: "ac_over"
	};

	var listItems,
		active = -1,
		data,
		term = "",
		needsInit = true,
		element,
		list;

	// Create results
	function init() {
		if (!needsInit)
			return;
		element = $("<div/>")
		.hide()
		.addClass(options.resultsClass)
		.css("position", "absolute")
		.appendTo(document.body);

		list = $("<ul/>").appendTo(element).mouseover( function(event) {
			if(target(event).nodeName && target(event).nodeName.toUpperCase() == 'LI') {
	            active = $("li", list).removeClass(CLASSES.ACTIVE).index(target(event));
			    $(target(event)).addClass(CLASSES.ACTIVE);
	        }
		}).click(function(event) {
			$(target(event)).addClass(CLASSES.ACTIVE);
			select();
			// TODO provide option to avoid setting focus again after selection? useful for cleanup-on-focus
			input.focus();
			return false;
		}).mousedown(function() {
			config.mouseDownOnSelect = true;
		}).mouseup(function() {
			config.mouseDownOnSelect = false;
		});

		if( options.width > 0 )
			element.css("width", options.width);

		needsInit = false;
	}

	function target(event) {
		var element = event.target;
		while(element && element.tagName != "LI")
			element = element.parentNode;
		// more fun with IE, sometimes event.target is empty, just ignore it then
		if(!element)
			return [];
		return element;
	}

	function moveSelect(step) {
		listItems.slice(active, active + 1).removeClass(CLASSES.ACTIVE);
		movePosition(step);
        var activeItem = listItems.slice(active, active + 1).addClass(CLASSES.ACTIVE);
        if(options.scroll) {
            var offset = 0;
            listItems.slice(0, active).each(function() {
				offset += this.offsetHeight;
			});
            if((offset + activeItem[0].offsetHeight - list.scrollTop()) > list[0].clientHeight) {
                list.scrollTop(offset + activeItem[0].offsetHeight - list.innerHeight());
            } else if(offset < list.scrollTop()) {
                list.scrollTop(offset);
            }
        }
	};

	function movePosition(step) {
		active += step;
		if (active < 0) {
			active = listItems.size() - 1;
		} else if (active >= listItems.size()) {
			active = 0;
		}
	}

	function limitNumberOfItems(available) {
		return options.max && options.max < available
			? options.max
			: available;
	}

	function fillList() {
		list.empty();
		var max = limitNumberOfItems(data.length);
		for (var i=0; i < max; i++) {
			if (!data[i])
				continue;
			var formatted = options.formatItem(data[i].data, i+1, max, data[i].value, term);
			if ( formatted === false )
				continue;
			var li = $("<li/>").html( options.highlight(formatted, term) ).addClass(i%2 == 0 ? "ac_even" : "ac_odd").appendTo(list)[0];
			$.data(li, "ac_data", data[i]);
		}
		listItems = list.find("li");
		if ( options.selectFirst ) {
			listItems.slice(0, 1).addClass(CLASSES.ACTIVE);
			active = 0;
		}
		// apply bgiframe if available
		if ( $.fn.bgiframe )
			list.bgiframe();
	}

	return {
		display: function(d, q) {
			init();
			data = d;
			term = q;
			fillList();
		},
		next: function() {
			moveSelect(1);
		},
		prev: function() {
			moveSelect(-1);
		},
		pageUp: function() {
			if (active != 0 && active - 8 < 0) {
				moveSelect( -active );
			} else {
				moveSelect(-8);
			}
		},
		pageDown: function() {
			if (active != listItems.size() - 1 && active + 8 > listItems.size()) {
				moveSelect( listItems.size() - 1 - active );
			} else {
				moveSelect(8);
			}
		},
		hide: function() {
			element && element.hide();
			listItems && listItems.removeClass(CLASSES.ACTIVE);
			active = -1;
		},
		visible : function() {
			return element && element.is(":visible");
		},
		current: function() {
			return this.visible() && (listItems.filter("." + CLASSES.ACTIVE)[0] || options.selectFirst && listItems[0]);
		},
		show: function() {
			var offset = $(input).offset();
			element.css({
				width: typeof options.width == "string" || options.width > 0 ? options.width : $(input).width(),
				top: offset.top + input.offsetHeight,
				left: offset.left
			}).show();
            if(options.scroll) {
                list.scrollTop(0);
                list.css({
					maxHeight: options.scrollHeight,
					overflow: 'auto'
				});

                if($.browser.msie && typeof document.body.style.maxHeight === "undefined") {
					var listHeight = 0;
					listItems.each(function() {
						listHeight += this.offsetHeight;
					});
					var scrollbarsVisible = listHeight > options.scrollHeight;
                    list.css('height', scrollbarsVisible ? options.scrollHeight : listHeight );
					if (!scrollbarsVisible) {
						// IE doesn't recalculate width when scrollbar disappears
						listItems.width( list.width() - parseInt(listItems.css("padding-left")) - parseInt(listItems.css("padding-right")) );
					}
                }

            }
		},
		selected: function() {
			var selected = listItems && listItems.filter("." + CLASSES.ACTIVE).removeClass(CLASSES.ACTIVE);
			return selected && selected.length && $.data(selected[0], "ac_data");
		},
		emptyList: function (){
			list && list.empty();
		},
		unbind: function() {
			element && element.remove();
		}
	};
};

$.fn.selection = function(start, end) {
	if (start !== undefined) {
		return this.each(function() {
			if( this.createTextRange ){
				var selRange = this.createTextRange();
				if (end === undefined || start == end) {
					selRange.move("character", start);
					selRange.select();
				} else {
					selRange.collapse(true);
					selRange.moveStart("character", start);
					selRange.moveEnd("character", end);
					selRange.select();
				}
			} else if( this.setSelectionRange ){
				this.setSelectionRange(start, end);
			} else if( this.selectionStart ){
				this.selectionStart = start;
				this.selectionEnd = end;
			}
		});
	}
	var field = this[0];
	if ( field.createTextRange ) {
		var range = document.selection.createRange(),
			orig = field.value,
			teststring = "<->",
			textLength = range.text.length;
		range.text = teststring;
		var caretAt = field.value.indexOf(teststring);
		field.value = orig;
		this.selection(caretAt, caretAt + textLength);
		return {
			start: caretAt,
			end: caretAt + textLength
		}
	} else if( field.selectionStart !== undefined ){
		return {
			start: field.selectionStart,
			end: field.selectionEnd
		}
	}
};

})(jQuery);
/*!
 * jquery.qtip. The jQuery tooltip plugin
 *
 * Copyright (c) 2009 Craig Thompson
 * http://craigsworks.com
 *
 * Licensed under MIT
 * http://www.opensource.org/licenses/mit-license.php
 *
 * Launch  : February 2009
 * Version : 1.0.0-rc3
 * Released: Tuesday 12th May, 2009 - 00:00
 * Debug: jquery.qtip.debug.js
 */
(function($) {
    // Implementation
    $.fn.qtip = function(options, blanket) {
        var i, id, interfaces, opts, obj, command, config, api;

        // Return API / Interfaces if requested
        if (typeof options == 'string') {
            // Make sure API data exists if requested
            if (typeof $(this).data('qtip') !== 'object')
                $.fn.qtip.log.error.call(self, 1, $.fn.qtip.constants.NO_TOOLTIP_PRESENT, false);

            // Return requested object
            if (options == 'api')
                return $(this).data('qtip').interfaces[ $(this).data('qtip').current ];
            else if (options == 'interfaces')
                return $(this).data('qtip').interfaces;
        }

        // Validate provided options
        else {
            // Set null options object if no options are provided
            if (!options) options = {};

            // Sanitize option data
            if (typeof options.content !== 'object' || (options.content.jquery && options.content.length > 0)) options.content = { text: options.content };
            if (typeof options.content.title !== 'object') options.content.title = { text: options.content.title };
            if (typeof options.position !== 'object') options.position = { corner: options.position };
            if (typeof options.position.corner !== 'object') options.position.corner = { target: options.position.corner, tooltip: options.position.corner };
            if (typeof options.show !== 'object') options.show = { when: options.show };
            if (typeof options.show.when !== 'object') options.show.when = { event: options.show.when };
            if (typeof options.show.effect !== 'object') options.show.effect = { type: options.show.effect };
            if (typeof options.hide !== 'object') options.hide = { when: options.hide };
            if (typeof options.hide.when !== 'object') options.hide.when = { event: options.hide.when };
            if (typeof options.hide.effect !== 'object') options.hide.effect = { type: options.hide.effect };
            if (typeof options.style !== 'object') options.style = { name: options.style };
            options.style = sanitizeStyle(options.style);

            // Build main options object
            opts = $.extend(true, {}, $.fn.qtip.defaults, options);

            // Inherit all style properties into one syle object and include original options
            opts.style = buildStyle.call({ options: opts }, opts.style);
            opts.user = $.extend(true, {}, options);
        };

        // Iterate each matched element
        // Return original elements as per jQuery guidelines
        return $(this).each(function() {
            // Check for API commands
            if (typeof options == 'string') {
                command = options.toLowerCase();
                interfaces = $(this).qtip('interfaces');

                // Make sure API data exists$('.qtip').qtip('destroy')
                if (typeof interfaces == 'object') {
                    // Check if API call is a BLANKET DESTROY command
                    if (blanket === true && command == 'destroy')
                        while (interfaces.length > 0) interfaces[interfaces.length - 1].destroy();

                    // API call is not a BLANKET DESTROY command
                    else {
                        // Check if supplied command effects this tooltip only (NOT BLANKET)
                        if (blanket !== true) interfaces = [ $(this).qtip('api') ];

                        // Execute command on chosen qTips
                        for (i = 0; i < interfaces.length; i++) {
                            // Destroy command doesn't require tooltip to be rendered
                            if (command == 'destroy') interfaces[i].destroy();

                            // Only call API if tooltip is rendered and it wasn't a destroy call
                            else if (interfaces[i].status.rendered === true) {
                                if (command == 'show') interfaces[i].show();
                                else if (command == 'hide') interfaces[i].hide();
                                else if (command == 'focus') interfaces[i].focus();
                                else if (command == 'disable') interfaces[i].disable(true);
                                else if (command == 'enable') interfaces[i].disable(false);
                            }
                        }
                    }
                }
            }

            // No API commands, continue with qTip creation
            else {
                // Create unique configuration object
                config = $.extend(true, {}, opts);
                config.hide.effect.length = opts.hide.effect.length;
                config.show.effect.length = opts.show.effect.length;

                // Sanitize target options
                if (config.position.container === false) config.position.container = $(document.body);
                if (config.position.target === false) config.position.target = $(this);
                if (config.show.when.target === false) config.show.when.target = $(this);
                if (config.hide.when.target === false) config.hide.when.target = $(this);

                // Determine tooltip ID (Reuse array slots if possible)
                id = $.fn.qtip.interfaces.length;
                for (i = 0; i < id; i++) {
                    if (typeof $.fn.qtip.interfaces[i] == 'undefined') {
                        id = i;
                        break;
                    }
                }

                // Instantiate the tooltip
                obj = new qTip($(this), config, id);

                // Add API references
                $.fn.qtip.interfaces[id] = obj;

                // Check if element already has qTip data assigned
                if (typeof $(this).data('qtip') == 'object') {
                    // Set new current interface id
                    if (typeof $(this).attr('qtip') === 'undefined')
                        $(this).data('qtip').current = $(this).data('qtip').interfaces.length;

                    // Push new API interface onto interfaces array
                    $(this).data('qtip').interfaces.push(obj);
                }

                // No qTip data is present, create now
                else $(this).data('qtip', { current: 0, interfaces: [obj] });

                // If prerendering is disabled, create tooltip on showEvent
                if (config.content.prerender === false && config.show.when.event !== false && config.show.ready !== true) {
                    config.show.when.target.bind(config.show.when.event + '.qtip-' + id + '-create', { qtip: id }, function(event) {
                        // Retrieve API interface via passed qTip Id
                        api = $.fn.qtip.interfaces[ event.data.qtip ];

                        // Unbind show event and cache mouse coords
                        api.options.show.when.target.unbind(api.options.show.when.event + '.qtip-' + event.data.qtip + '-create');
                        api.cache.mouse = { x: event.pageX, y: event.pageY };

                        // Render tooltip and start the event sequence
                        construct.call(api);
                        api.options.show.when.target.trigger(api.options.show.when.event);
                    });
                }

                // Prerendering is enabled, create tooltip now
                else {
                    // Set mouse position cache to top left of the element
                    obj.cache.mouse = {
                        x: config.show.when.target.offset().left,
                        y: config.show.when.target.offset().top
                    };

                    // Construct the tooltip
                    construct.call(obj);
                }
            }
            ;
        });
    };

    // Instantiator
    function qTip(target, options, id) {
        // Declare this reference
        var self = this;

        // Setup class attributes
        self.id = id;
        self.options = options;
        self.status = {
            animated: false,
            rendered: false,
            disabled: false,
            focused: false
        };
        self.elements = {
            target: target.addClass(self.options.style.classes.target),
            tooltip: null,
            wrapper: null,
            content: null,
            contentWrapper: null,
            title: null,
            button: null,
            tip: null,
            bgiframe: null
        };
        self.cache = {
            mouse: {},
            position: {},
            toggle: 0
        };
        self.timers = {};

        // Define exposed API methods
        $.extend(self, self.options.api,
        {
            show: function(event) {
                var returned, solo;

                // Make sure tooltip is rendered and if not, return
                if (!self.status.rendered)
                    return $.fn.qtip.log.error.call(self, 2, $.fn.qtip.constants.TOOLTIP_NOT_RENDERED, 'show');

                // Only continue if element is visible
                if (self.elements.tooltip.css('display') !== 'none') return self;

                // Clear animation queue
                self.elements.tooltip.stop(true, false);

                // Call API method and if return value is false, halt
                returned = self.beforeShow.call(self, event);
                if (returned === false) return self;

                // Define afterShow callback method
                function afterShow() {
                    // Call API method and focus if it isn't static
                    if (self.options.position.type !== 'static') self.focus();
                    self.onShow.call(self, event);

                    // Prevent antialias from disappearing in IE7 by removing filter attribute
                    if ($.browser.msie) self.elements.tooltip[0].style.removeAttribute('filter');
                }

                // Maintain toggle functionality if enabled
                self.cache.toggle = 1;

                // Update tooltip position if it isn't static
                if (self.options.position.type !== 'static')
                    self.updatePosition(event, (self.options.show.effect.length > 0));

                // Hide other tooltips if tooltip is solo
                if (typeof self.options.show.solo == 'object') solo = $(self.options.show.solo);
                else if (self.options.show.solo === true) solo = $('div.qtip').not(self.elements.tooltip);
                if (solo) solo.each(function() {
                    if ($(this).qtip('api').status.rendered === true) $(this).qtip('api').hide();
                });

                // Show tooltip
                if (typeof self.options.show.effect.type == 'function') {
                    self.options.show.effect.type.call(self.elements.tooltip, self.options.show.effect.length);
                    self.elements.tooltip.queue(function() {
                        afterShow();
                        $(this).dequeue();
                    });
                }
                else {
                    switch (self.options.show.effect.type.toLowerCase()) {
                        case 'fade':
                            self.elements.tooltip.fadeIn(self.options.show.effect.length, afterShow);
                            break;
                        case 'slide':
                            self.elements.tooltip.slideDown(self.options.show.effect.length, function() {
                                afterShow();
                                if (self.options.position.type !== 'static') self.updatePosition(event, true);
                            });
                            break;
                        case 'grow':
                            self.elements.tooltip.show(self.options.show.effect.length, afterShow);
                            break;
                        default:
                            self.elements.tooltip.show(null, afterShow);
                            break;
                    }

                    // Add active class to tooltip
                    self.elements.tooltip.addClass(self.options.style.classes.active);
                }

                // Log event and return
                return $.fn.qtip.log.error.call(self, 1, $.fn.qtip.constants.EVENT_SHOWN, 'show');
            },

            hide: function(event) {
                var returned;

                // Make sure tooltip is rendered and if not, return
                if (!self.status.rendered)
                    return $.fn.qtip.log.error.call(self, 2, $.fn.qtip.constants.TOOLTIP_NOT_RENDERED, 'hide');

                // Only continue if element is visible
                else if (self.elements.tooltip.css('display') === 'none') return self;

                // Stop show timer and animation queue
                clearTimeout(self.timers.show);
                self.elements.tooltip.stop(true, false);

                // Call API method and if return value is false, halt
                returned = self.beforeHide.call(self, event);
                if (returned === false) return self;

                // Define afterHide callback method
                function afterHide() {
                    self.onHide.call(self, event);
                }

                // Maintain toggle functionality if enabled
                self.cache.toggle = 0;

                // Hide tooltip
                if (typeof self.options.hide.effect.type == 'function') {
                    self.options.hide.effect.type.call(self.elements.tooltip, self.options.hide.effect.length);
                    self.elements.tooltip.queue(function() {
                        afterHide();
                        $(this).dequeue();
                    });
                }
                else {
                    switch (self.options.hide.effect.type.toLowerCase()) {
                        case 'fade':
                            self.elements.tooltip.fadeOut(self.options.hide.effect.length, afterHide);
                            break;
                        case 'slide':
                            self.elements.tooltip.slideUp(self.options.hide.effect.length, afterHide);
                            break;
                        case 'grow':
                            self.elements.tooltip.hide(self.options.hide.effect.length, afterHide);
                            break;
                        default:
                            self.elements.tooltip.hide(null, afterHide);
                            break;
                    }

                    // Remove active class to tooltip
                    self.elements.tooltip.removeClass(self.options.style.classes.active);
                }

                // Log event and return
                return $.fn.qtip.log.error.call(self, 1, $.fn.qtip.constants.EVENT_HIDDEN, 'hide');
            },

            updatePosition: function(event, animate) {
                var i, target, tooltip, coords, mapName, imagePos, newPosition, ieAdjust, ie6Adjust, borderAdjust, mouseAdjust, offset, curPosition, returned;

                // Make sure tooltip is rendered and if not, return
                if (!self.status.rendered)
                    return $.fn.qtip.log.error.call(self, 2, $.fn.qtip.constants.TOOLTIP_NOT_RENDERED, 'updatePosition');

                // If tooltip is static, return
                else if (self.options.position.type == 'static')
                    return $.fn.qtip.log.error.call(self, 1, $.fn.qtip.constants.CANNOT_POSITION_STATIC, 'updatePosition');

                // Define property objects
                target = {
                    position: { left: 0, top: 0 },
                    dimensions: { height: 0, width: 0 },
                    corner: self.options.position.corner.target
                };
                tooltip = {
                    position: self.getPosition(),
                    dimensions: self.getDimensions(),
                    corner: self.options.position.corner.tooltip
                };

                // Target is an HTML element
                if (self.options.position.target !== 'mouse') {
                    // If the HTML element is AREA, calculate position manually
                    if (self.options.position.target[0].nodeName.toLowerCase() == 'area') {
                        // Retrieve coordinates from coords attribute and parse into integers
                        coords = self.options.position.target.attr('coords').split(',');
                        for (i = 0; i < coords.length; i++) coords[i] = parseInt(coords[i]);

                        // Setup target position object
                        mapName = self.options.position.target.parent('map').attr('name');
                        imagePos = $('img[usemap="#' + mapName + '"]:first').offset();
                        target.position = {
                            left: Math.floor(imagePos.left + coords[0]),
                            top: Math.floor(imagePos.top + coords[1])
                        };

                        // Determine width and height of the area
                        switch (self.options.position.target.attr('shape').toLowerCase()) {
                            case 'rect':
                                target.dimensions = {
                                    width: Math.ceil(Math.abs(coords[2] - coords[0])),
                                    height: Math.ceil(Math.abs(coords[3] - coords[1]))
                                };
                                break;

                            case 'circle':
                                target.dimensions = {
                                    width: coords[2] + 1,
                                    height: coords[2] + 1
                                };
                                break;

                            case 'poly':
                                target.dimensions = {
                                    width: coords[0],
                                    height: coords[1]
                                };

                                for (i = 0; i < coords.length; i++) {
                                    if (i % 2 == 0) {
                                        if (coords[i] > target.dimensions.width)
                                            target.dimensions.width = coords[i];
                                        if (coords[i] < coords[0])
                                            target.position.left = Math.floor(imagePos.left + coords[i]);
                                    }
                                    else {
                                        if (coords[i] > target.dimensions.height)
                                            target.dimensions.height = coords[i];
                                        if (coords[i] < coords[1])
                                            target.position.top = Math.floor(imagePos.top + coords[i]);
                                    }
                                }

                                target.dimensions.width = target.dimensions.width - (target.position.left - imagePos.left);
                                target.dimensions.height = target.dimensions.height - (target.position.top - imagePos.top);
                                break;

                            default:
                                return $.fn.qtip.log.error.call(self, 4, $.fn.qtip.constants.INVALID_AREA_SHAPE, 'updatePosition');
                                break;
                        }

                        // Adjust position by 2 pixels (Positioning bug?)
                        target.dimensions.width -= 2;
                        target.dimensions.height -= 2;
                    }

                    // Target is the document
                    else if (self.options.position.target.add(document.body).length === 1) {
                        target.position = { left: $(document).scrollLeft(), top: $(document).scrollTop() };
                        target.dimensions = { height: $(window).height(), width: $(window).width() };
                    }

                    // Target is a regular HTML element, find position normally
                    else {
                        // Check if the target is another tooltip. If its animated, retrieve position from newPosition data
//                        if (typeof self.options.position.target.attr('qtip') !== 'undefined')
//                            target.position = self.options.position.target.qtip('api').cache.position;
//                        else
                        {
                            var bodyOffset = $('body').offset();
                            var selfOffset = self.options.position.target.offset();
                            target.position = {top: selfOffset.top - bodyOffset.top, left: selfOffset.left - bodyOffset.left};
                        }

                        // Setup dimensions objects
                        target.dimensions = {
                            height: self.options.position.target.outerHeight(),
                            width: self.options.position.target.outerWidth()
                        };
                    }

                    // Calculate correct target corner position
                    newPosition = $.extend({}, target.position);
                    if (target.corner.search(/right/i) !== -1)
                        newPosition.left += target.dimensions.width;

                    if (target.corner.search(/bottom/i) !== -1)
                        newPosition.top += target.dimensions.height;

                    if (target.corner.search(/((top|bottom)Middle)|center/) !== -1)
                        newPosition.left += (target.dimensions.width / 2);

                    if (target.corner.search(/((left|right)Middle)|center/) !== -1)
                        newPosition.top += (target.dimensions.height / 2);
                }

                // Mouse is the target, set position to current mouse coordinates
                else {
                    // Setup target position and dimensions objects
                    target.position = newPosition = { left: self.cache.mouse.x, top: self.cache.mouse.y };
                    target.dimensions = { height: 1, width: 1 };
                }

                // Calculate correct target corner position
                if (tooltip.corner.search(/right/i) !== -1)
                    newPosition.left -= tooltip.dimensions.width;

                if (tooltip.corner.search(/bottom/i) !== -1)
                    newPosition.top -= tooltip.dimensions.height;

                if (tooltip.corner.search(/((top|bottom)Middle)|center/) !== -1)
                    newPosition.left -= (tooltip.dimensions.width / 2);

                if (tooltip.corner.search(/((left|right)Middle)|center/) !== -1)
                    newPosition.top -= (tooltip.dimensions.height / 2);

                // Setup IE adjustment variables (Pixel gap bugs)
                ieAdjust = ($.browser.msie) ? 1 : 0; // And this is why I hate IE...
                ie6Adjust = ($.browser.msie && parseInt($.browser.version.charAt(0)) === 6) ? 1 : 0; // ...and even more so IE6!

                // Adjust for border radius
                if (self.options.style.border.radius > 0) {
                    if (tooltip.corner.search(/Left/) !== -1)
                        newPosition.left -= self.options.style.border.radius;
                    else if (tooltip.corner.search(/Right/) !== -1)
                        newPosition.left += self.options.style.border.radius;

                    if (tooltip.corner.search(/Top/) !== -1)
                        newPosition.top -= self.options.style.border.radius;
                    else if (tooltip.corner.search(/Bottom/) !== -1)
                        newPosition.top += self.options.style.border.radius;
                }

                // IE only adjustments (Pixel perfect!)
                if (ieAdjust) {
                    if (tooltip.corner.search(/top/) !== -1)
                        newPosition.top -= ieAdjust
                    else if (tooltip.corner.search(/bottom/) !== -1)
                        newPosition.top += ieAdjust

                    if (tooltip.corner.search(/left/) !== -1)
                        newPosition.left -= ieAdjust
                    else if (tooltip.corner.search(/right/) !== -1)
                        newPosition.left += ieAdjust

                    if (tooltip.corner.search(/leftMiddle|rightMiddle/) !== -1)
                        newPosition.top -= 1
                }

                // If screen adjustment is enabled, apply adjustments
                if (self.options.position.adjust.screen === true)
                    newPosition = screenAdjust.call(self, newPosition, target, tooltip);

                // If mouse is the target, prevent tooltip appearing directly under the mouse
                if (self.options.position.target === 'mouse' && self.options.position.adjust.mouse === true) {
                    if (self.options.position.adjust.screen === true && self.elements.tip)
                        mouseAdjust = self.elements.tip.attr('rel');
                    else
                        mouseAdjust = self.options.position.corner.tooltip;

                    newPosition.left += (mouseAdjust.search(/right/i) !== -1) ? -6 : 6;
                    newPosition.top += (mouseAdjust.search(/bottom/i) !== -1) ? -6 : 6;
                }

                // Initiate bgiframe plugin in IE6 if tooltip overlaps a select box or object element
                if (!self.elements.bgiframe && $.browser.msie && parseInt($.browser.version.charAt(0)) == 6) {
                    $('select, object').each(function() {
                        offset = $(this).offset();
                        offset.bottom = offset.top + $(this).height();
                        offset.right = offset.left + $(this).width();

                        if (newPosition.top + tooltip.dimensions.height >= offset.top
                                && newPosition.left + tooltip.dimensions.width >= offset.left)
                            bgiframe.call(self);
                    });
                }

                // Add user xy adjustments
                newPosition.left += self.options.position.adjust.x;
                newPosition.top += self.options.position.adjust.y;

                // Set new tooltip position if its moved, animate if enabled
                curPosition = self.getPosition();
                if (newPosition.left != curPosition.left || newPosition.top != curPosition.top) {
                    // Call API method and if return value is false, halt
                    returned = self.beforePositionUpdate.call(self, event);
                    if (returned === false) return self;

                    // Cache new position
                    self.cache.position = newPosition;

                    // Check if animation is enabled
                    if (animate === true) {
                        // Set animated status
                        self.status.animated = true;

                        // Animate and reset animated status on animation end
                        self.elements.tooltip.animate(newPosition, 200, 'swing', function() {
                            self.status.animated = false
                        });
                    }

                    // Set new position via CSS
                    else self.elements.tooltip.css(newPosition);

                    // Call API method and log event if its not a mouse move
                    self.onPositionUpdate.call(self, event);
                    if (typeof event !== 'undefined' && event.type && event.type !== 'mousemove')
                        $.fn.qtip.log.error.call(self, 1, $.fn.qtip.constants.EVENT_POSITION_UPDATED, 'updatePosition');
                }

                return self;
            },

            updateWidth: function(newWidth) {
                var hidden;

                // Make sure tooltip is rendered and if not, return
                if (!self.status.rendered)
                    return $.fn.qtip.log.error.call(self, 2, $.fn.qtip.constants.TOOLTIP_NOT_RENDERED, 'updateWidth');

                // Make sure supplied width is a number and if not, return
                else if (newWidth && typeof newWidth !== 'number')
                    return $.fn.qtip.log.error.call(self, 2, 'newWidth must be of type number', 'updateWidth');

                // Setup elements which must be hidden during width update
                hidden = self.elements.contentWrapper.siblings().add(self.elements.tip).add(self.elements.button);

                // Calculate the new width if one is not supplied
                if (!newWidth) {
                    // Explicit width is set
                    if (typeof self.options.style.width.value == 'number')
                        newWidth = self.options.style.width.value;

                    // No width is set, proceed with auto detection
                    else {
                        // Set width to auto initally to determine new width and hide other elements
                        self.elements.tooltip.css({ width: 'auto' });
                        hidden.hide();

                        // Set position and zoom to defaults to prevent IE hasLayout bug
                        if ($.browser.msie)
                            self.elements.wrapper.add(self.elements.contentWrapper.children()).css({ zoom: 'normal' });

                        // Set the new width
                        newWidth = self.getDimensions().width + 1;

                        // Make sure its within the maximum and minimum width boundries
                        if (!self.options.style.width.value) {
                            if (newWidth > self.options.style.width.max) newWidth = self.options.style.width.max
                            if (newWidth < self.options.style.width.min) newWidth = self.options.style.width.min
                        }

                    }

                }


                // Adjust newWidth by 1px if width is odd (IE6 rounding bug fix)
                if (newWidth % 2 !== 0) newWidth -= 1;

                // Set the new calculated width and unhide other elements
                self.elements.tooltip.width(newWidth);
                self.options.style.width.value = newWidth;
                hidden.show();

                // Set the border width, if enabled
                if (self.options.style.border.radius) {
                    self.elements.tooltip.find('.qtip-betweenCorners').each(function(i) {
                        $(this).width(newWidth - (self.options.style.border.radius * 2));
                    })
                }


                // IE only adjustments
                if ($.browser.msie) {
                    // Reset position and zoom to give the wrapper layout (IE hasLayout bug)
                    self.elements.wrapper.add(self.elements.contentWrapper.children()).css({ zoom: '1' });

                    // Set the new width
                    self.elements.wrapper.width(newWidth);

                    // Adjust BGIframe height and width if enabled
                    if (self.elements.bgiframe) self.elements.bgiframe.width(newWidth).height(self.getDimensions.height);
                }



                // Log event and return
                return $.fn.qtip.log.error.call(self, 1, $.fn.qtip.constants.EVENT_WIDTH_UPDATED, 'updateWidth');
            },

            updateStyle: function(name) {
                var tip, borders, context, corner, coordinates;

                // Make sure tooltip is rendered and if not, return
                if (!self.status.rendered)
                    return $.fn.qtip.log.error.call(self, 2, $.fn.qtip.constants.TOOLTIP_NOT_RENDERED, 'updateStyle');

                // Return if style is not defined or name is not a string
                else if (typeof name !== 'string' || !$.fn.qtip.styles[name])
                    return $.fn.qtip.log.error.call(self, 2, $.fn.qtip.constants.STYLE_NOT_DEFINED, 'updateStyle');

                // Set the new style object
                self.options.style = buildStyle.call(self, $.fn.qtip.styles[name], self.options.user.style);

                // Update initial styles of content and title elements
                self.elements.content.css(jQueryStyle(self.options.style));
                if (self.options.content.title.text !== false)
                    self.elements.title.css(jQueryStyle(self.options.style.title, true));

                // Update CSS border colour
                self.elements.contentWrapper.css({ borderColor: self.options.style.border.color });

                // Update tip color if enabled
                if (self.options.style.tip.corner !== false) {
                    if ($('<canvas>')[0].getContext) {
                        // Retrieve canvas context and clear
                        tip = self.elements.tooltip.find('.qtip-tip canvas:first');
                        context = tip[0].getContext('2d');
                        context.clearRect(0, 0, 300, 300);

                        // Draw new tip
                        corner = tip.parent('div[rel]:first').attr('rel');
                        coordinates = calculateTip(corner, self.options.style.tip.size.width, self.options.style.tip.size.height);
                        drawTip.call(self, tip, coordinates, self.options.style.tip.color || self.options.style.border.color);
                    }
                    else if ($.browser.msie) {
                        // Set new fillcolor attribute
                        tip = self.elements.tooltip.find('.qtip-tip [nodeName="shape"]');
                        tip.attr('fillcolor', self.options.style.tip.color || self.options.style.border.color);
                    }
                    ;
                }
                ;

                // Update border colors if enabled
                if (self.options.style.border.radius > 0) {
                    self.elements.tooltip.find('.qtip-betweenCorners').css({ backgroundColor: self.options.style.border.color });

                    if ($('<canvas>')[0].getContext) {
                        borders = calculateBorders(self.options.style.border.radius)
                        self.elements.tooltip.find('.qtip-wrapper canvas').each(function() {
                            // Retrieve canvas context and clear
                            context = $(this)[0].getContext('2d');
                            context.clearRect(0, 0, 300, 300);

                            // Draw new border
                            corner = $(this).parent('div[rel]:first').attr('rel')
                            drawBorder.call(self, $(this), borders[corner],
                                    self.options.style.border.radius, self.options.style.border.color);
                        });
                    }
                    else if ($.browser.msie) {
                        // Set new fillcolor attribute on each border corner
                        self.elements.tooltip.find('.qtip-wrapper [nodeName="arc"]').each(function() {
                            $(this).attr('fillcolor', self.options.style.border.color)
                        });
                    }
                    ;
                }
                ;

                // Log event and return
                return $.fn.qtip.log.error.call(self, 1, $.fn.qtip.constants.EVENT_STYLE_UPDATED, 'updateStyle');
            },

            updateContent: function(content, reposition) {
                var parsedContent, images, loadedImages;

                // Make sure tooltip is rendered and if not, return
                if (!self.status.rendered)
                    return $.fn.qtip.log.error.call(self, 2, $.fn.qtip.constants.TOOLTIP_NOT_RENDERED, 'updateContent');

                // Make sure content is defined before update
                else if (!content)
                    return $.fn.qtip.log.error.call(self, 2, $.fn.qtip.constants.NO_CONTENT_PROVIDED, 'updateContent');

                // Call API method and set new content if a string is returned
                parsedContent = self.beforeContentUpdate.call(self, content);
                if (typeof parsedContent == 'string') content = parsedContent;
                else if (parsedContent === false) return;

                // Set position and zoom to defaults to prevent IE hasLayout bug
                if ($.browser.msie) self.elements.contentWrapper.children().css({ zoom: 'normal' });

                // Append new content if its a DOM array and show it if hidden
                if (content.jquery && content.length > 0)
                    content.clone(true).appendTo(self.elements.content).show();

                // Content is a regular string, insert the new content
                else self.elements.content.html(content);

                // Check if images need to be loaded before position is updated to prevent mis-positioning
                images = self.elements.content.find('img[complete=false]');
                if (images.length > 0) {
                    loadedImages = 0;
                    images.each(function(i) {
                        $('<img src="' + $(this).attr('src') + '" />')
                                .load(function() {
                            if (++loadedImages == images.length) afterLoad();
                        });
                    });
                }
                else afterLoad();

                function afterLoad() {
                    // Update the tooltip width
                    self.updateWidth();

                    // If repositioning is enabled, update positions
                    if (reposition !== false) {
                        // Update position if tooltip isn't static
                        if (self.options.position.type !== 'static')
                            self.updatePosition(self.elements.tooltip.is(':visible'), true);

                        // Reposition the tip if enabled
                        if (self.options.style.tip.corner !== false)
                            positionTip.call(self);
                    }
                }

                // Call API method and log event
                self.onContentUpdate.call(self);
                return $.fn.qtip.log.error.call(self, 1, $.fn.qtip.constants.EVENT_CONTENT_UPDATED, 'loadContent');
            },

            loadContent: function(url, data, method) {
                var returned;

                // Make sure tooltip is rendered and if not, return
                if (!self.status.rendered)
                    return $.fn.qtip.log.error.call(self, 2, $.fn.qtip.constants.TOOLTIP_NOT_RENDERED, 'loadContent');

                // Call API method and if return value is false, halt
                returned = self.beforeContentLoad.call(self);
                if (returned === false) return self;

                // Load content using specified request type
                if (method == 'post')
                    $.post(url, data, setupContent);
                else if (method == 'get')
                    $.get(url, data, setupContent);
                else
                    $.ajax({
                        type: "GET",
                        url: url,
                        data: data,
                        success: function(json) {
                            options.api.buildContent.call(self, json);
                        },
                        dataType: "jsonp"
                    });


                function setupContent(content) {
                    // Call API method and log event
                    self.onContentLoad.call(self);
                    $.fn.qtip.log.error.call(self, 1, $.fn.qtip.constants.EVENT_CONTENT_LOADED, 'loadContent');

                    // Update the content
                    self.updateContent(content);
                }

                return self;
            },

            updateTitle: function(content) {
                // Make sure tooltip is rendered and if not, return
                if (!self.status.rendered)
                    return $.fn.qtip.log.error.call(self, 2, $.fn.qtip.constants.TOOLTIP_NOT_RENDERED, 'updateTitle');

                // Make sure content is defined before update
                else if (!content)
                    return $.fn.qtip.log.error.call(self, 2, $.fn.qtip.constants.NO_CONTENT_PROVIDED, 'updateTitle');

                // Call API method and if return value is false, halt
                returned = self.beforeTitleUpdate.call(self);
                if (returned === false) return self;

                // Set the new content and reappend the button if enabled
                if (self.elements.button) self.elements.button = self.elements.button.clone(true);
                self.elements.title.html(content)
                if (self.elements.button) self.elements.title.prepend(self.elements.button);

                // Call API method and log event
                self.onTitleUpdate.call(self);
                return $.fn.qtip.log.error.call(self, 1, $.fn.qtip.constants.EVENT_TITLE_UPDATED, 'updateTitle');
            },

            focus: function(event) {
                var curIndex, newIndex, elemIndex, returned;

                // Make sure tooltip is rendered and if not, return
                if (!self.status.rendered)
                    return $.fn.qtip.log.error.call(self, 2, $.fn.qtip.constants.TOOLTIP_NOT_RENDERED, 'focus');

                else if (self.options.position.type == 'static')
                    return $.fn.qtip.log.error.call(self, 1, $.fn.qtip.constants.CANNOT_FOCUS_STATIC, 'focus');

                // Set z-index variables
                curIndex = parseInt(self.elements.tooltip.css('z-index'));
                newIndex = 6000 + $('div.qtip[qtip]').length - 1;

                // Only update the z-index if it has changed and tooltip is not already focused
                if (!self.status.focused && curIndex !== newIndex) {
                    // Call API method and if return value is false, halt
                    returned = self.beforeFocus.call(self, event);
                    if (returned === false) return self;

                    // Loop through all other tooltips
                    $('div.qtip[qtip]').not(self.elements.tooltip).each(function() {
                        if ($(this).qtip('api').status.rendered === true) {
                            elemIndex = parseInt($(this).css('z-index'));

                            // Reduce all other tooltip z-index by 1
                            if (typeof elemIndex == 'number' && elemIndex > -1)
                                $(this).css({ zIndex: parseInt($(this).css('z-index')) - 1 });

                            // Set focused status to false
                            $(this).qtip('api').status.focused = false;
                        }
                    })

                    // Set the new z-index and set focus status to true
                    self.elements.tooltip.css({ zIndex: newIndex });
                    self.status.focused = true;

                    // Call API method and log event
                    self.onFocus.call(self, event);
                    $.fn.qtip.log.error.call(self, 1, $.fn.qtip.constants.EVENT_FOCUSED, 'focus');
                }
                ;

                return self;
            },

            disable: function(state) {
                // Make sure tooltip is rendered and if not, return
                if (!self.status.rendered)
                    return $.fn.qtip.log.error.call(self, 2, $.fn.qtip.constants.TOOLTIP_NOT_RENDERED, 'disable');

                if (state) {
                    // Tooltip is not already disabled, proceed
                    if (!self.status.disabled) {
                        // Set the disabled flag and log event
                        self.status.disabled = true;
                        $.fn.qtip.log.error.call(self, 1, $.fn.qtip.constants.EVENT_DISABLED, 'disable');
                    }

                    // Tooltip is already disabled, inform user via log
                    else  $.fn.qtip.log.error.call(self, 1, $.fn.qtip.constants.TOOLTIP_ALREADY_DISABLED, 'disable');
                }
                else {
                    // Tooltip is not already enabled, proceed
                    if (self.status.disabled) {
                        // Reassign events, set disable status and log
                        self.status.disabled = false;
                        $.fn.qtip.log.error.call(self, 1, $.fn.qtip.constants.EVENT_ENABLED, 'disable');
                    }

                    // Tooltip is already enabled, inform the user via log
                    else $.fn.qtip.log.error.call(self, 1, $.fn.qtip.constants.TOOLTIP_ALREADY_ENABLED, 'disable');
                }
                ;

                return self;
            },

            destroy: function() {
                var i, returned, interfaces;

                // Call API method and if return value is false, halt
                returned = self.beforeDestroy.call(self);
                if (returned === false) return self;

                // Check if tooltip is rendered
                if (self.status.rendered) {
                    // Remove event handlers and remove element
                    self.options.show.when.target.unbind('mousemove.qtip', self.updatePosition);
                    self.options.show.when.target.unbind('mouseout.qtip', self.hide);
                    self.options.show.when.target.unbind(self.options.show.when.event + '.qtip');
                    self.options.hide.when.target.unbind(self.options.hide.when.event + '.qtip');
                    self.elements.tooltip.unbind(self.options.hide.when.event + '.qtip');
                    self.elements.tooltip.unbind('mouseover.qtip', self.focus);
                    self.elements.tooltip.remove();
                }

                // Tooltip isn't yet rendered, remove render event
                else self.options.show.when.target.unbind(self.options.show.when.event + '.qtip-create');

                // Check to make sure qTip data is present on target element
                if (typeof self.elements.target.data('qtip') == 'object') {
                    // Remove API references from interfaces object
                    interfaces = self.elements.target.data('qtip').interfaces;
                    if (typeof interfaces == 'object' && interfaces.length > 0) {
                        // Remove API from interfaces array
                        for (i = 0; i < interfaces.length - 1; i++)
                            if (interfaces[i].id == self.id) interfaces.splice(i, 1)
                    }
                }
                delete $.fn.qtip.interfaces[self.id];

                // Set qTip current id to previous tooltips API if available
                if (typeof interfaces == 'object' && interfaces.length > 0)
                    self.elements.target.data('qtip').current = interfaces.length - 1;
                else
                    self.elements.target.removeData('qtip');

                // Call API method and log destroy
                self.onDestroy.call(self);
                $.fn.qtip.log.error.call(self, 1, $.fn.qtip.constants.EVENT_DESTROYED, 'destroy');

                return self.elements.target
            },

            getPosition: function() {
                var show, offset;

                // Make sure tooltip is rendered and if not, return
                if (!self.status.rendered)
                    return $.fn.qtip.log.error.call(self, 2, $.fn.qtip.constants.TOOLTIP_NOT_RENDERED, 'getPosition');

                show = (self.elements.tooltip.css('display') !== 'none') ? false : true;

                // Show and hide tooltip to make sure coordinates are returned
                if (show) self.elements.tooltip.css({ visiblity: 'hidden' }).show();
                offset = self.elements.tooltip.offset();
                if (show) self.elements.tooltip.css({ visiblity: 'visible' }).hide();

                return offset;
            },

            getDimensions: function() {
                var show, dimensions;

                // Make sure tooltip is rendered and if not, return
                if (!self.status.rendered)
                    return $.fn.qtip.log.error.call(self, 2, $.fn.qtip.constants.TOOLTIP_NOT_RENDERED, 'getDimensions');

                show = (!self.elements.tooltip.is(':visible')) ? true : false;

                // Show and hide tooltip to make sure dimensions are returned
                if (show) self.elements.tooltip.css({ visiblity: 'hidden' }).show();
                dimensions = {
                    height: self.elements.tooltip.outerHeight(),
                    width: self.elements.tooltip.outerWidth()
                };
                if (show) self.elements.tooltip.css({ visiblity: 'visible' }).hide();

                return dimensions;
            }
        });
    }

    ;

    // Define priamry construct function
    function construct() {
        var self, adjust, content, url, data, method, tempLength;
        self = this;

        // Call API method
        self.beforeRender.call(self);

        // Set rendered status to true
        self.status.rendered = true;

        // Create initial tooltip elements
        self.elements.tooltip = '<div qtip="' + self.id + '" ' +
                'class="qtip ' + (self.options.style.classes.tooltip || self.options.style) + '"' +
                'style="display:none; -moz-border-radius:0; -webkit-border-radius:0; border-radius:0;' +
                'position:' + self.options.position.type + ';">' +
                '  <div class="qtip-wrapper" style="position:relative; overflow:hidden; text-align:left;">' +
                '    <div class="qtip-contentWrapper" style="overflow:hidden;">' +
                '       <div class="qtip-content ' + self.options.style.classes.content + '"></div>' +
                '</div></div></div>';

        // Append to container element
        self.elements.tooltip = $(self.elements.tooltip);
        self.elements.tooltip.appendTo(self.options.position.container)

        // Setup tooltip qTip data
        self.elements.tooltip.data('qtip', { current: 0, interfaces: [self] });

        // Setup element references
        self.elements.wrapper = self.elements.tooltip.children('div:first');
        self.elements.contentWrapper = self.elements.wrapper.children('div:first').css({ background: self.options.style.background });
        self.elements.content = self.elements.contentWrapper.children('div:first').css(jQueryStyle(self.options.style));

        // Apply IE hasLayout fix to wrapper and content elements
        if ($.browser.msie) self.elements.wrapper.add(self.elements.content).css({ zoom: 1 });

        // Setup tooltip attributes
        if (self.options.hide.when.event == 'unfocus') self.elements.tooltip.attr('unfocus', true);

        // If an explicit width is set, updateWidth prior to setting content to prevent dirty rendering
        if (typeof self.options.style.width.value == 'number') self.updateWidth();

        // Create borders and tips if supported by the browser
        if ($('<canvas>')[0].getContext || $.browser.msie) {
            // Create border                               ``
            if (self.options.style.border.radius > 0)
                createBorder.call(self);
            else
                self.elements.contentWrapper.css({ border: self.options.style.border.width + 'px solid ' + self.options.style.border.color  });

            // Create tip if enabled
            if (self.options.style.tip.corner !== false)
                createTip.call(self);
        }

        // Neither canvas or VML is supported, tips and borders cannot be drawn!
        else {
            // Set defined border width
            self.elements.contentWrapper.css({ border: self.options.style.border.width + 'px solid ' + self.options.style.border.color  });

            // Reset border radius and tip
            self.options.style.border.radius = 0;
            self.options.style.tip.corner = false;

            // Inform via log
            $.fn.qtip.log.error.call(self, 2, $.fn.qtip.constants.CANVAS_VML_NOT_SUPPORTED, 'render');
        }

        // Use the provided content string or DOM array
        if ((typeof self.options.content.text == 'string' && self.options.content.text.length > 0)
                || (self.options.content.text.jquery && self.options.content.text.length > 0))
            content = self.options.content.text;

        // Use title string for content if present
        else if (typeof self.elements.target.attr('title') == 'string' && self.elements.target.attr('title').length > 0) {
            content = self.elements.target.attr('title').replace("\\n", '<br />');
            self.elements.target.attr('title', ''); // Remove title attribute to prevent default tooltip showing
        }

        // No title is present, use alt attribute instead
        else if (typeof self.elements.target.attr('alt') == 'string' && self.elements.target.attr('alt').length > 0) {
            content = self.elements.target.attr('alt').replace("\\n", '<br />');
            self.elements.target.attr('alt', ''); // Remove alt attribute to prevent default tooltip showing
        }

        // No valid content was provided, inform via log
        else {
            content = ' ';
            $.fn.qtip.log.error.call(self, 1, $.fn.qtip.constants.NO_VALID_CONTENT, 'render');
        }
        ;

        // Set the tooltips content and create title if enabled
        if (self.options.content.title.text !== false) createTitle.call(self);
        self.updateContent(content);

        // Assign events and toggle tooltip with focus
        assignEvents.call(self);
        if (self.options.show.ready === true) self.show();

        // Retrieve ajax content if provided
        if (self.options.content.url !== false) {
            url = self.options.content.url;
            data = self.options.content.data;
            method = self.options.content.method || 'get';
            self.loadContent(url, data, method);
        }
        ;

        // Call API method and log event
        self.onRender.call(self);
        $.fn.qtip.log.error.call(self, 1, $.fn.qtip.constants.EVENT_RENDERED, 'render');
    }

    ;

    // Create borders using canvas and VML
    function createBorder() {
        var self, i, width, radius, color, coordinates, containers, size, betweenWidth, betweenCorners, borderTop, borderBottom, borderCoord, sideWidth, vertWidth;
        self = this;

        // Destroy previous border elements, if present
        self.elements.wrapper.find('.qtip-borderBottom, .qtip-borderTop').remove();

        // Setup local variables
        width = self.options.style.border.width;
        radius = self.options.style.border.radius;
        color = self.options.style.border.color || self.options.style.tip.color;

        // Calculate border coordinates
        coordinates = calculateBorders(radius);

        // Create containers for the border shapes
        containers = {};
        for (i in coordinates) {
            // Create shape container
            containers[i] = '<div rel="' + i + '" style="' + ((i.search(/Left/) !== -1) ? 'left' : 'right') + ':0; ' +
                    'position:absolute; height:' + radius + 'px; width:' + radius + 'px; overflow:hidden; line-height:0.1px; font-size:1px">';

            // Canvas is supported
            if ($('<canvas>')[0].getContext)
                containers[i] += '<canvas height="' + radius + '" width="' + radius + '" style="vertical-align: top"></canvas>';

            // No canvas, but if it's IE use VML
            else if ($.browser.msie) {
                size = radius * 2 + 3;
                containers[i] += '<v:arc stroked="false" fillcolor="' + color + '" startangle="' + coordinates[i][0] + '" endangle="' + coordinates[i][1] + '" ' +
                        'style="width:' + size + 'px; height:' + size + 'px; margin-top:' + ((i.search(/bottom/) !== -1) ? -2 : -1) + 'px; ' +
                        'margin-left:' + ((i.search(/Right/) !== -1) ? coordinates[i][2] - 3.5 : -1) + 'px; ' +
                        'vertical-align:top; display:inline-block; behavior:url(#default#VML)"></v:arc>';

            }
            ;

            containers[i] += '</div>';
        }
        ;

        // Create between corners elements
        betweenWidth = self.getDimensions().width - (Math.max(width, radius) * 2);
        betweenCorners = '<div class="qtip-betweenCorners" style="height:' + radius + 'px; width:' + betweenWidth + 'px; ' +
                'overflow:hidden; background-color:' + color + '; line-height:0.1px; font-size:1px;">';

        // Create top border container
        borderTop = '<div class="qtip-borderTop" dir="ltr" style="height:' + radius + 'px; ' +
                'margin-left:' + radius + 'px; line-height:0.1px; font-size:1px; padding:0;">' +
                containers['topLeft'] + containers['topRight'] + betweenCorners;
        self.elements.wrapper.prepend(borderTop);

        // Create bottom border container
        borderBottom = '<div class="qtip-borderBottom" dir="ltr" style="height:' + radius + 'px; ' +
                'margin-left:' + radius + 'px; line-height:0.1px; font-size:1px; padding:0;">' +
                containers['bottomLeft'] + containers['bottomRight'] + betweenCorners;
        self.elements.wrapper.append(borderBottom);

        // Draw the borders if canvas were used (Delayed til after DOM creation)
        if ($('<canvas>')[0].getContext) {
            self.elements.wrapper.find('canvas').each(function() {
                borderCoord = coordinates[ $(this).parent('[rel]:first').attr('rel') ];
                drawBorder.call(self, $(this), borderCoord, radius, color);
            })
        }

        // Create a phantom VML element (IE won't show the last created VML element otherwise)
        else if ($.browser.msie) self.elements.tooltip.append('<v:image style="behavior:url(#default#VML);"></v:image>');

        // Setup contentWrapper border
        sideWidth = Math.max(radius, (radius + (width - radius)));
        vertWidth = Math.max(width - radius, 0);
        self.elements.contentWrapper.css({
            border: '0px solid ' + color,
            borderWidth: vertWidth + 'px ' + sideWidth + 'px'
        })
    }

    // Border canvas draw method
    function drawBorder(canvas, coordinates, radius, color) {
        // Create corner
        var context = canvas[0].getContext('2d');
        context.fillStyle = color;
        context.beginPath();
        context.arc(coordinates[0], coordinates[1], radius, 0, Math.PI * 2, false);
        context.fill();
    }

    // Create tip using canvas and VML
    function createTip(corner) {
        var self, color, coordinates, coordsize, path;
        self = this;

        // Destroy previous tip, if there is one
        if (self.elements.tip !== null) self.elements.tip.remove();

        // Setup color and corner values
        color = self.options.style.tip.color || self.options.style.border.color;
        if (self.options.style.tip.corner === false) return;
        else if (!corner) corner = self.options.style.tip.corner;

        // Calculate tip coordinates
        coordinates = calculateTip(corner, self.options.style.tip.size.width, self.options.style.tip.size.height);

        // Create tip element
        self.elements.tip = '<div class="' + self.options.style.classes.tip + '" dir="ltr" rel="' + corner + '" style="position:absolute; ' +
                'height:' + self.options.style.tip.size.height + 'px; width:' + self.options.style.tip.size.width + 'px; ' +
                'margin:0 auto; line-height:0.1px; font-size:1px;">';

        // Use canvas element if supported
        if ($('<canvas>')[0].getContext)
            self.elements.tip += '<canvas height="' + self.options.style.tip.size.height + '" width="' + self.options.style.tip.size.width + '"></canvas>';

        // Canvas not supported - Use VML (IE)
        else if ($.browser.msie) {
            // Create coordize and tip path using tip coordinates
            coordsize = self.options.style.tip.size.width + ',' + self.options.style.tip.size.height;
            path = 'm' + coordinates[0][0] + ',' + coordinates[0][1];
            path += ' l' + coordinates[1][0] + ',' + coordinates[1][1];
            path += ' ' + coordinates[2][0] + ',' + coordinates[2][1];
            path += ' xe';

            // Create VML element
            self.elements.tip += '<v:shape fillcolor="' + color + '" stroked="false" filled="true" path="' + path + '" coordsize="' + coordsize + '" ' +
                    'style="width:' + self.options.style.tip.size.width + 'px; height:' + self.options.style.tip.size.height + 'px; ' +
                    'line-height:0.1px; display:inline-block; behavior:url(#default#VML); ' +
                    'vertical-align:' + ((corner.search(/top/) !== -1) ? 'bottom' : 'top') + '"></v:shape>';

            // Create a phantom VML element (IE won't show the last created VML element otherwise)
            self.elements.tip += '<v:image style="behavior:url(#default#VML);"></v:image>';

            // Prevent tooltip appearing above the content (IE z-index bug)
            self.elements.contentWrapper.css('position', 'relative');
        }
        ;

        // Attach new tip to tooltip element
        self.elements.tooltip.prepend(self.elements.tip + '</div>');

        // Create element reference and draw the canvas tip (Delayed til after DOM creation)
        self.elements.tip = self.elements.tooltip.find('.' + self.options.style.classes.tip).eq(0);
        if ($('<canvas>')[0].getContext)
            drawTip.call(self, self.elements.tip.find('canvas:first'), coordinates, color);

        // Fix IE small tip bug
        if (corner.search(/top/) !== -1 && $.browser.msie && parseInt($.browser.version.charAt(0)) === 6)
            self.elements.tip.css({ marginTop: -4 });

        // Set the tip position
        positionTip.call(self, corner);
    }

    ;

    // Canvas tip drawing method
    function drawTip(canvas, coordinates, color) {
        // Setup properties
        var context = canvas[0].getContext('2d');
        context.fillStyle = color;

        // Create tip
        context.beginPath();
        context.moveTo(coordinates[0][0], coordinates[0][1]);
        context.lineTo(coordinates[1][0], coordinates[1][1]);
        context.lineTo(coordinates[2][0], coordinates[2][1]);
        context.fill();
    }

    ;

    function positionTip(corner) {
        var self, ieAdjust, paddingCorner, paddingSize, newMargin;
        self = this;

        // Return if tips are disabled or tip is not yet rendered
        if (self.options.style.tip.corner === false || !self.elements.tip) return;
        if (!corner) corner = self.elements.tip.attr('rel');

        // Setup adjustment variables
        ieAdjust = positionAdjust = ($.browser.msie) ? 1 : 0;

        // Set initial position
        self.elements.tip.css(corner.match(/left|right|top|bottom/)[0], 0);

        // Set position of tip to correct side
        if (corner.search(/top|bottom/) !== -1) {
            // Adjustments for IE6 - 0.5px border gap bug
            if ($.browser.msie) {
                if (parseInt($.browser.version.charAt(0)) === 6)
                    positionAdjust = (corner.search(/top/) !== -1) ? -3 : 1;
                else
                    positionAdjust = (corner.search(/top/) !== -1) ? 1 : 2;
            }
            ;

            if (corner.search(/Middle/) !== -1)
                self.elements.tip.css({ left: '50%', marginLeft: -(self.options.style.tip.size.width / 2) });

            else if (corner.search(/Left/) !== -1)
                self.elements.tip.css({ left: self.options.style.border.radius - ieAdjust });

            else if (corner.search(/Right/) !== -1)
                self.elements.tip.css({ right: self.options.style.border.radius + ieAdjust });

            if (corner.search(/top/) !== -1)
                self.elements.tip.css({ top: -positionAdjust });
            else
                self.elements.tip.css({ bottom: positionAdjust });

        }
        else if (corner.search(/left|right/) !== -1) {
            // Adjustments for IE6 - 0.5px border gap bug
            if ($.browser.msie)
                positionAdjust = (parseInt($.browser.version.charAt(0)) === 6) ? 1 : ((corner.search(/left/) !== -1) ? 1 : 2);

            if (corner.search(/Middle/) !== -1)
                self.elements.tip.css({ top: '50%', marginTop: -(self.options.style.tip.size.height / 2) });

            else if (corner.search(/Top/) !== -1)
                self.elements.tip.css({ top: self.options.style.border.radius - ieAdjust });

            else if (corner.search(/Bottom/) !== -1)
                self.elements.tip.css({ bottom: self.options.style.border.radius + ieAdjust });

            if (corner.search(/left/) !== -1)
                self.elements.tip.css({ left: -positionAdjust });
            else
                self.elements.tip.css({ right: positionAdjust });
        }
        ;

        // Adjust tooltip padding to compensate for tip
        paddingCorner = 'padding-' + corner.match(/left|right|top|bottom/)[0];
        paddingSize = self.options.style.tip.size[ (paddingCorner.search(/left|right/) !== -1) ? 'width' : 'height' ];
        self.elements.tooltip.css('padding', 0);
        self.elements.tooltip.css(paddingCorner, paddingSize);

        // Match content margin to prevent gap bug in IE6 ONLY
        if ($.browser.msie && parseInt($.browser.version.charAt(0)) == 6) {
            newMargin = parseInt(self.elements.tip.css('margin-top')) || 0;
            newMargin += parseInt(self.elements.content.css('margin-top')) || 0;

            self.elements.tip.css({ marginTop: newMargin });
        }
        ;
    }

    ;

    // Create title bar for content
    function createTitle() {
        var self = this;

        // Destroy previous title element, if present
        if (self.elements.title !== null) self.elements.title.remove();

        // Create title element
        self.elements.title = $('<div class="' + self.options.style.classes.title + '">')
                .css(jQueryStyle(self.options.style.title, true))
                .css({ zoom: ($.browser.msie) ? 1 : 0 })
                .prependTo(self.elements.contentWrapper);

        // Update title with contents if enabled
        if (self.options.content.title.text) self.updateTitle.call(self, self.options.content.title.text);

        // Create title close buttons if enabled
        if (self.options.content.title.button !== false
                && typeof self.options.content.title.button == 'string') {
            self.elements.button = $('<a class="' + self.options.style.classes.button + '" style="float:right; position: relative"></a>')
                    .css(jQueryStyle(self.options.style.button, true))
                    .html(self.options.content.title.button)
                    .prependTo(self.elements.title)
                    .click(function(event) {
                if (!self.status.disabled) self.hide(event)
            });
        }
        ;
    }

    ;

    // Assign hide and show events
    function assignEvents() {
        var self, showTarget, hideTarget, inactiveEvents;
        self = this;

        // Setup event target variables
        showTarget = self.options.show.when.target;
        hideTarget = self.options.hide.when.target;

        // Add tooltip as a hideTarget is its fixed
        if (self.options.hide.fixed) hideTarget = hideTarget.add(self.elements.tooltip);

        // Check if the hide event is special 'inactive' type
        if (self.options.hide.when.event == 'inactive') {
            // Define events which reset the 'inactive' event handler
            inactiveEvents = ['click', 'dblclick', 'mousedown', 'mouseup', 'mousemove',
                'mouseout', 'mouseenter', 'mouseleave', 'mouseover' ];

            // Define 'inactive' event timer method
            function inactiveMethod(event) {
                if (self.status.disabled === true) return;

                //Clear and reset the timer
                clearTimeout(self.timers.inactive);
                self.timers.inactive = setTimeout(function() {
                    // Unassign 'inactive' events
                    $(inactiveEvents).each(function() {
                        hideTarget.unbind(this + '.qtip-inactive');
                        self.elements.content.unbind(this + '.qtip-inactive');
                    });

                    // Hide the tooltip
                    self.hide(event);
                }
                        , self.options.hide.delay);
            }

            ;
        }

        // Check if the tooltip is 'fixed'
        else if (self.options.hide.fixed === true) {
            self.elements.tooltip.bind('mouseover.qtip', function() {
                if (self.status.disabled === true) return;

                // Reset the hide timer
                clearTimeout(self.timers.hide);
            });
        }
        ;

        // Define show event method
        function showMethod(event) {
            if (self.status.disabled === true) return;

            // If set, hide tooltip when inactive for delay period
            if (self.options.hide.when.event == 'inactive') {
                // Assign each reset event
                $(inactiveEvents).each(function() {
                    hideTarget.bind(this + '.qtip-inactive', inactiveMethod);
                    self.elements.content.bind(this + '.qtip-inactive', inactiveMethod);
                });

                // Start the inactive timer
                inactiveMethod();
            }
            ;

            // Clear hide timers
            clearTimeout(self.timers.show);
            clearTimeout(self.timers.hide);

            // Start show timer
            self.timers.show = setTimeout(function() {
                self.show(event);
            }, self.options.show.delay);
        }

        ;

        // Define hide event method
        function hideMethod(event) {
            if (self.status.disabled === true) return;

            // Prevent hiding if tooltip is fixed and event target is the tooltip
            if (self.options.hide.fixed === true
                    && self.options.hide.when.event.search(/mouse(out|leave)/i) !== -1
                    && $(event.relatedTarget).parents('div.qtip[qtip]').length > 0) {
                // Prevent default and popagation
                event.stopPropagation();
                event.preventDefault();

                // Reset the hide timer
                clearTimeout(self.timers.hide);
                return false;
            }
            ;

            // Clear timers and stop animation queue
            clearTimeout(self.timers.show);
            clearTimeout(self.timers.hide);
            self.elements.tooltip.stop(true, true);

            // If tooltip has displayed, start hide timer
            self.timers.hide = setTimeout(function() {
                self.hide(event);
            }, self.options.hide.delay);
        }

        ;

        // Both events and targets are identical, apply events using a toggle
        if ((self.options.show.when.target.add(self.options.hide.when.target).length === 1
                && self.options.show.when.event == self.options.hide.when.event
                && self.options.hide.when.event !== 'inactive')
                || self.options.hide.when.event == 'unfocus') {
            self.cache.toggle = 0;
            // Use a toggle to prevent hide/show conflicts
            showTarget.bind(self.options.show.when.event + '.qtip', function(event) {
                if (self.cache.toggle == 0) showMethod(event);
                else hideMethod(event);
            });
        }

        // Events are not identical, bind normally
        else {
            showTarget.bind(self.options.show.when.event + '.qtip', showMethod);

            // If the hide event is not 'inactive', bind the hide method
            if (self.options.hide.when.event !== 'inactive')
                hideTarget.bind(self.options.hide.when.event + '.qtip', hideMethod);
        }

        // Focus the tooltip on mouseover
        if (self.options.position.type.search(/(fixed|absolute)/) !== -1 && self.options.show.ready !== true) {
            self.elements.tooltip.bind('mouseover.qtip', self.focus);
        }

        // If mouse is the target, update tooltip position on mousemove
        if (self.options.position.target === 'mouse' && self.options.position.type !== 'static') {
            showTarget.bind('mousemove.qtip', function(event) {
                // Set the new mouse positions if adjustment is enabled
                self.cache.mouse = { x: event.pageX, y: event.pageY };

                // Update the tooltip position only if the tooltip is visible and adjustment is enabled
                if (self.status.disabled === false
                        && self.options.position.adjust.mouse === true
                        && self.options.position.type !== 'static'
                        && self.elements.tooltip.css('display') !== 'none')
                    self.updatePosition(event);
            });
        }
    }

    // Screen position adjustment
    function screenAdjust(position, target, tooltip) {
        var self, adjustedPosition, adjust, newCorner, overflow, corner;
        self = this;

        // Setup corner and adjustment variable
        if (tooltip.corner == 'center') return target.position // TODO: 'center' corner adjustment
        adjustedPosition = $.extend({}, position);
        newCorner = { x: false, y: false };

        // Define overflow properties
        overflow = {
            left: (adjustedPosition.left < $.fn.qtip.cache.screen.scroll.left),
            right: (adjustedPosition.left + tooltip.dimensions.width + 2 >= $.fn.qtip.cache.screen.width + $.fn.qtip.cache.screen.scroll.left),
            top: (adjustedPosition.top < $.fn.qtip.cache.screen.scroll.top),
            bottom: (adjustedPosition.top + tooltip.dimensions.height + 2 >= $.fn.qtip.cache.screen.height + $.fn.qtip.cache.screen.scroll.top)
        };

        // Determine new positioning properties
        adjust = {
            left: (overflow.left && (tooltip.corner.search(/right/i) != -1 || (tooltip.corner.search(/right/i) == -1 && !overflow.right))),
            right: (overflow.right && (tooltip.corner.search(/left/i) != -1 || (tooltip.corner.search(/left/i) == -1 && !overflow.left))),
            top: (overflow.top && tooltip.corner.search(/top/i) == -1),
            bottom: (overflow.bottom && tooltip.corner.search(/bottom/i) == -1) || (tooltip.corner.search(/top/i) != -1 && tooltip.position.top + '>' +  target.position.top)
        };

        //alert(tooltip.corner + ":" + (tooltip.corner.search(/top/i) != -1) + ':' + tooltip.position.top + '>' +  target.position.top);

        // Tooltip overflows off the left side of the screen
        if (adjust.left) {
            if (self.options.position.target !== 'mouse')
                adjustedPosition.left = target.position.left + target.dimensions.width;
            else
                adjustedPosition.left = self.cache.mouse.x;

            newCorner.x = 'left';
        }

        // Tooltip overflows off the right side of the screen
        else if (adjust.right) {
            if (self.options.position.target !== 'mouse')
                adjustedPosition.left = target.position.left - tooltip.dimensions.width;
            else
                adjustedPosition.left = self.cache.mouse.x - tooltip.dimensions.width;

            newCorner.x = 'right';
        }


        // Tooltip overflows off the top of the screen
        if (adjust.top) {
            if (self.options.position.target !== 'mouse')
                adjustedPosition.top = target.position.top + target.dimensions.height;
            else
                adjustedPosition.top = self.cache.mouse.y;

            newCorner.y = 'top';
        }

        // Tooltip overflows off the bottom of the screen
        else if (adjust.bottom) {
            if (self.options.position.target !== 'mouse')
                adjustedPosition.top = target.position.top - tooltip.dimensions.height;
            else
                adjustedPosition.top = self.cache.mouse.y - tooltip.dimensions.height;

            newCorner.y = 'bottom';
        }


        // Don't adjust if resulting position is negative
        if (adjustedPosition.left < 0) {
            adjustedPosition.left = position.left;
            newCorner.x = false;
        }

        if (adjustedPosition.top < 0) {
            adjustedPosition.top = position.top;
            newCorner.y = false;
        }


        // Change tip corner if positioning has changed and tips are enabled
        if (self.options.style.tip.corner !== false && (newCorner.x || newCorner.y)) {
            // Determine new corner properties
            adjustedPosition.corner = new String(tooltip.corner);

            function capitalize(s) {
                return s.charAt(0).toUpperCase() + s.substring(1).toLowerCase();
            }

            if (newCorner.x !== false) {
                adjustedPosition.corner = adjustedPosition.corner.replace(/(Left)|(Right)|(Middle)/g, capitalize(newCorner.x));
                adjustedPosition.corner = adjustedPosition.corner.replace(/(left)|(right)|(middle)/g, newCorner.x.toLowerCase());
            }
            if (newCorner.y !== false) {
                adjustedPosition.corner = adjustedPosition.corner.replace(/(top)|(bottom)/g, newCorner.y.toLowerCase());
                adjustedPosition.corner = adjustedPosition.corner.replace(/(Top)|(Bottom)/g, capitalize(newCorner.y));
            }

            // Adjust tip if position has changed and tips are enabled
            if (adjustedPosition.corner !== self.elements.tip.attr('rel')) {
                createTip.call(self, adjustedPosition.corner);
                self.options.position.corner.tooltip = adjustedPosition.corner;
            }
        }

        return adjustedPosition;
    }

    // Build a jQuery style object from supplied style object
    function jQueryStyle(style, sub) {
        var styleObj, i;

        styleObj = $.extend(true, {}, style);
        for (i in styleObj) {
            if (sub === true && i.search(/(tip|classes)/i) !== -1)
                delete styleObj[i];
            else if (!sub && i.search(/(width|border|tip|title|classes|user)/i) !== -1)
                delete styleObj[i];
        }

        return styleObj;
    }

    // Sanitize styles
    function sanitizeStyle(style) {
        if (typeof style.tip !== 'object') style.tip = { corner: style.tip };
        if (typeof style.tip.size !== 'object') style.tip.size = { width: style.tip.size, height: style.tip.size };
        if (typeof style.border !== 'object') style.border = { width: style.border };
        if (typeof style.width !== 'object') style.width = { value: style.width };
        if (typeof style.width.max == 'string') style.width.max = parseInt(style.width.max.replace(/([0-9]+)/i, "$1"));
        if (typeof style.width.min == 'string') style.width.min = parseInt(style.width.min.replace(/([0-9]+)/i, "$1"));

        // Convert deprecated x and y tip values to width/height
        if (typeof style.tip.size.x == 'number') {
            style.tip.size.width = style.tip.size.x;
            delete style.tip.size.x;
        }
        ;
        if (typeof style.tip.size.y == 'number') {
            style.tip.size.height = style.tip.size.y;
            delete style.tip.size.y;
        }
        ;

        return style;
    }

    ;

    // Build styles recursively with inheritance
    function buildStyle() {
        var self, i, styleArray, styleExtend, finalStyle, ieAdjust;
        self = this;

        // Build style options from supplied arguments
        styleArray = [true, {}];
        for (i = 0; i < arguments.length; i++)
            styleArray.push(arguments[i]);
        styleExtend = [ $.extend.apply($, styleArray) ];

        // Loop through each named style inheritance
        while (typeof styleExtend[0].name == 'string') {
            // Sanitize style data and append to extend array
            styleExtend.unshift(sanitizeStyle($.fn.qtip.styles[ styleExtend[0].name ]));
        }
        ;

        // Make sure resulting tooltip className represents final style
        styleExtend.unshift(true, {classes:{ tooltip: 'qtip-' + (arguments[0].name || 'defaults') }}, $.fn.qtip.styles.defaults);

        // Extend into a single style object
        finalStyle = $.extend.apply($, styleExtend);

        // Adjust tip size if needed (IE 1px adjustment bug fix)
        ieAdjust = ($.browser.msie) ? 1 : 0;
        finalStyle.tip.size.width += ieAdjust;
        finalStyle.tip.size.height += ieAdjust;

        // Force even numbers for pixel precision
        if (finalStyle.tip.size.width % 2 > 0) finalStyle.tip.size.width += 1;
        if (finalStyle.tip.size.height % 2 > 0) finalStyle.tip.size.height += 1;

        // Sanitize final styles tip corner value
        if (finalStyle.tip.corner === true)
            finalStyle.tip.corner = (self.options.position.corner.tooltip === 'center') ? false : self.options.position.corner.tooltip;

        return finalStyle;
    }

    ;

    // Tip coordinates calculator
    function calculateTip(corner, width, height) {
        // Define tip coordinates in terms of height and width values
        var tips = {
            bottomRight:   [
                [0,0],
                [width,height],
                [width,0]
            ],
            bottomLeft:    [
                [0,0],
                [width,0],
                [0,height]
            ],
            topRight:      [
                [0,height],
                [width,0],
                [width,height]
            ],
            topLeft:       [
                [0,0],
                [0,height],
                [width,height]
            ],
            topMiddle:     [
                [0,height],
                [width / 2,0],
                [width,height]
            ],
            bottomMiddle:  [
                [0,0],
                [width,0],
                [width / 2,height]
            ],
            rightMiddle:   [
                [0,0],
                [width,height / 2],
                [0,height]
            ],
            leftMiddle:    [
                [width,0],
                [width,height],
                [0,height / 2]
            ]
        };
        tips.leftTop = tips.bottomRight;
        tips.rightTop = tips.bottomLeft;
        tips.leftBottom = tips.topRight;
        tips.rightBottom = tips.topLeft;

        return tips[corner];
    }

    ;

    // Border coordinates calculator
    function calculateBorders(radius) {
        var borders;

        // Use canvas element if supported
        if ($('<canvas>')[0].getContext) {
            borders = {
                topLeft: [radius,radius], topRight: [0,radius],
                bottomLeft: [radius,0], bottomRight: [0,0]
            };
        }

        // Canvas not supported - Use VML (IE)
        else if ($.browser.msie) {
            borders = {
                topLeft: [-90,90,0], topRight: [-90,90,-radius],
                bottomLeft: [90,270,0], bottomRight: [90, 270,-radius]
            };
        }
        ;

        return borders;
    }

    ;

    // BGIFRAME JQUERY PLUGIN ADAPTION
    //   Special thanks to Brandon Aaron for this plugin
    //   http://plugins.jquery.com/project/bgiframe
    function bgiframe() {
        var self, html, dimensions;
        self = this;
        dimensions = self.getDimensions();

        // Setup iframe HTML string
        html = '<iframe class="qtip-bgiframe" frameborder="0" tabindex="-1" src="javascript:false" ' +
                'style="display:block; position:absolute; z-index:-1; filter:alpha(opacity=\'0\'); border: 1px solid red; ' +
                'height:' + dimensions.height + 'px; width:' + dimensions.width + 'px" />';

        // Append the new HTML and setup element reference
        self.elements.bgiframe = self.elements.wrapper.prepend(html).children('.qtip-bgiframe:first');
    }

    ;

    // Assign cache and event initialisation on document load
    $(document).ready(function() {
        // Setup library cache with window scroll and dimensions of document
        $.fn.qtip.cache = {
            screen: {
                scroll: { left: $(window).scrollLeft(), top: $(window).scrollTop() },
                width: $(window).width(),
                height: $(window).height()
            }
        };

        // Adjust positions of the tooltips on window resize or scroll if enabled
        var adjustTimer;
        $(window).bind('resize scroll', function(event) {
            clearTimeout(adjustTimer);
            adjustTimer = setTimeout(function() {
                // Readjust cached screen values
                if (event.type === 'scroll')
                    $.fn.qtip.cache.screen.scroll = { left: $(window).scrollLeft(), top: $(window).scrollTop() };
                else {
                    $.fn.qtip.cache.screen.width = $(window).width();
                    $.fn.qtip.cache.screen.height = $(window).height();
                }

                for (i = 0; i < $.fn.qtip.interfaces.length; i++) {
                    // Access current elements API
                    var api = $.fn.qtip.interfaces[i];
                    if (api.options.position.adjust.screen || api.options.position.adjust.scroll) {
                        // Update position if resize or scroll adjustments are enabled
                        if (api.status.rendered === true
                                && (api.options.position.type !== 'static'
                                || (api.options.position.adjust.scroll && event.type === 'scroll')
                                || (api.options.position.adjust.resize && event.type === 'resize'))) {
                            // Queue the animation so positions are updated correctly
                            api.updatePosition(event, true);
                        }
                        if (!api.options.position.adjust.scroll && event.type === 'scroll') {
                            api.hide(event);
                        }
                    }
                }
            }
            , 100);
        });

        // Hide unfocus toolipts on document mousedown
        $(document).bind('mousedown.qtip', function(event) {
            if ($(event.target).parents('div.qtip').length === 0) {
                $('.qtip[unfocus]').each(function() {
                    var api = $(this).qtip("api");

                    // Only hide if its visible and not the tooltips target
                    if ($(this).is(':visible') && !api.status.disabled
                            && $(event.target).add(api.elements.target).length > 1)
                        api.hide(event);
                })
            }
            ;
        })
    });

    // Define qTip API interfaces array
    $.fn.qtip.interfaces = []

    // Define log and constant place holders
    $.fn.qtip.log = { error: function() {
        return this;
    } };
    $.fn.qtip.constants = {};

    // Define configuration defaults
    $.fn.qtip.defaults = {
        // Content
        content: {
            prerender: false,
            text: false,
            url: false,
            data: null,
            title: {
                text: false,
                button: false
            }
        },
        // Position
        position: {
            target: false,
            corner: {
                target: 'bottomRight',
                tooltip: 'topLeft'
            },
            adjust: {
                x: 0, y: 0,
                mouse: true,
                screen: false,
                scroll: true,
                resize: true
            },
            type: 'absolute',
            container: false
        },
        // Effects
        show: {
            when: {
                target: false,
                event: 'mouseover'
            },
            effect: {
                type: 'fade',
                length: 100
            },
            delay: 140,
            solo: false,
            ready: false
        },
        hide: {
            when: {
                target: false,
                event: 'mouseout'
            },
            effect: {
                type: 'fade',
                length: 100
            },
            delay: 0,
            fixed: false
        },
        // Callbacks
        api: {
            beforeRender: function() {
            },
            onRender: function() {
            },
            beforePositionUpdate: function() {
            },
            onPositionUpdate: function() {
            },
            beforeShow: function() {
            },
            onShow: function() {
            },
            beforeHide: function() {
            },
            onHide: function() {
            },
            beforeContentUpdate: function() {
            },
            onContentUpdate: function() {
            },
            beforeContentLoad: function() {
            },
            onContentLoad: function() {
            },
            beforeTitleUpdate: function() {
            },
            onTitleUpdate: function() {
            },
            beforeDestroy: function() {
            },
            onDestroy: function() {
            },
            beforeFocus: function() {
            },
            onFocus: function() {
            }
        }
    };

    $.fn.qtip.styles = {
        defaults: {
            background: 'white',
            color: '#111',
            overflow: 'hidden',
            textAlign: 'left',
            width: {
                min: 0,
                max: 250
            },
            padding: '5px 9px',
            border: {
                width: 1,
                radius: 0,
                color: '#d3d3d3'
            },
            tip: {
                corner: false,
                color: false,
                size: { width: 13, height: 13 },
                opacity: 1
            },
            title: {
                background: '#e1e1e1',
                fontWeight: 'bold',
                padding: '7px 12px'
            },
            button: {
                cursor: 'pointer'
            },
            classes: {
                target: '',
                tip: 'qtip-tip',
                title: 'qtip-title',
                button: 'qtip-button',
                content: 'qtip-content',
                active: 'qtip-active'
            }
        },
        cream: {
            border: {
                width: 3,
                radius: 0,
                color: '#F9E98E'
            },
            title: {
                background: '#F0DE7D',
                color: '#A27D35'
            },
            background: '#FBF7AA',
            color: '#A27D35',

            classes: { tooltip: 'qtip-cream' }
        },
        light: {
            border: {
                width: 3,
                radius: 0,
                color: '#E2E2E2'
            },
            title: {
                background: '#f1f1f1',
                color: '#454545'
            },
            background: 'white',
            color: '#454545',

            classes: { tooltip: 'qtip-light' }
        },
        dark: {
            border: {
                width: 3,
                radius: 0,
                color: '#303030'
            },
            title: {
                background: '#404040',
                color: '#f3f3f3'
            },
            background: '#505050',
            color: '#f3f3f3',

            classes: { tooltip: 'qtip-dark' }
        },
        red: {
            border: {
                width: 3,
                radius: 0,
                color: '#CE6F6F'
            },
            title: {
                background: '#f28279',
                color: '#9C2F2F'
            },
            background: '#F79992',
            color: '#9C2F2F',

            classes: { tooltip: 'qtip-red' }
        },
        green: {
            border: {
                width: 3,
                radius: 0,
                color: '#A9DB66'
            },
            title: {
                background: '#b9db8c',
                color: '#58792E'
            },
            background: '#CDE6AC',
            color: '#58792E',

            classes: { tooltip: 'qtip-green' }
        },
        blue: {
            border: {
                width: 3,
                radius: 0,
                color: '#ADD9ED'
            },
            title: {
                background: '#D0E9F5',
                color: '#5E99BD'
            },
            background: '#E5F6FE',
            color: '#4D9FBF',

            classes: { tooltip: 'qtip-blue' }
        }
    };
})(jQuery);
/**
* hoverIntent r6 // 2011.02.26 // jQuery 1.5.1+
* <http://cherne.net/brian/resources/jquery.hoverIntent.html>
*
* @param  f  onMouseOver function || An object with configuration options
* @param  g  onMouseOut function  || Nothing (use configuration options object)
* @author    Brian Cherne brian(at)cherne(dot)net
*/
(function($){$.fn.hoverIntent=function(f,g){var cfg={sensitivity:7,interval:100,timeout:0};cfg=$.extend(cfg,g?{over:f,out:g}:f);var cX,cY,pX,pY;var track=function(ev){cX=ev.pageX;cY=ev.pageY};var compare=function(ev,ob){ob.hoverIntent_t=clearTimeout(ob.hoverIntent_t);if((Math.abs(pX-cX)+Math.abs(pY-cY))<cfg.sensitivity){$(ob).unbind("mousemove",track);ob.hoverIntent_s=1;return cfg.over.apply(ob,[ev])}else{pX=cX;pY=cY;ob.hoverIntent_t=setTimeout(function(){compare(ev,ob)},cfg.interval)}};var delay=function(ev,ob){ob.hoverIntent_t=clearTimeout(ob.hoverIntent_t);ob.hoverIntent_s=0;return cfg.out.apply(ob,[ev])};var handleHover=function(e){var ev=jQuery.extend({},e);var ob=this;if(ob.hoverIntent_t){ob.hoverIntent_t=clearTimeout(ob.hoverIntent_t)}if(e.type=="mouseenter"){pX=ev.pageX;pY=ev.pageY;$(ob).bind("mousemove",track);if(ob.hoverIntent_s!=1){ob.hoverIntent_t=setTimeout(function(){compare(ev,ob)},cfg.interval)}}else{$(ob).unbind("mousemove",track);if(ob.hoverIntent_s==1){ob.hoverIntent_t=setTimeout(function(){delay(ev,ob)},cfg.timeout)}}};return this.bind('mouseenter',handleHover).bind('mouseleave',handleHover)}})(jQuery);
(function($,undefined){$.extend($.ui,{timepicker:{version:"0.2.2"}});var PROP_NAME="timepicker";var tpuuid=new Date().getTime();function Timepicker(){this.debug=true;this._curInst=null;this._isInline=false;this._disabledInputs=[];this._timepickerShowing=false;this._inDialog=false;this._dialogClass="ui-timepicker-dialog";this._mainDivId="ui-timepicker-div";this._inlineClass="ui-timepicker-inline";this._currentClass="ui-timepicker-current";this._dayOverClass="ui-timepicker-days-cell-over";this.regional=[];this.regional[""]={hourText:"Hour",minuteText:"Minute",amPmText:["AM","PM"]};this._defaults={showOn:"focus",button:null,showAnim:"fadeIn",showOptions:{},appendText:"",onSelect:null,onClose:null,timeSeparator:":",showPeriod:false,showPeriodLabels:true,showLeadingZero:true,showMinutesLeadingZero:true,altField:"",defaultTime:"",onHourShow:null,onMinuteShow:null,zIndex:null,hours:{starts:0,ends:23},minutes:{starts:0,ends:55,interval:5},rows:4};$.extend(this._defaults,this.regional[""]);this.tpDiv=$('<div id="'+this._mainDivId+'" class="ui-timepicker ui-widget ui-helper-clearfix ui-corner-all " style="display: none"></div>')}$.extend(Timepicker.prototype,{markerClassName:"hasTimepicker",log:function(){if(this.debug){console.log.apply("",arguments)}},_widgetTimepicker:function(){return this.tpDiv},setDefaults:function(settings){extendRemove(this._defaults,settings||{});return this},_attachTimepicker:function(target,settings){var inlineSettings=null;for(var attrName in this._defaults){var attrValue=target.getAttribute("time:"+attrName);if(attrValue){inlineSettings=inlineSettings||{};try{inlineSettings[attrName]=eval(attrValue)}catch(err){inlineSettings[attrName]=attrValue}}}var nodeName=target.nodeName.toLowerCase();var inline=(nodeName=="div"||nodeName=="span");if(!target.id){this.uuid+=1;target.id="tp"+this.uuid}var inst=this._newInst($(target),inline);inst.settings=$.extend({},settings||{},inlineSettings||{});if(nodeName=="input"){this._connectTimepicker(target,inst)}else{if(inline){this._inlineTimepicker(target,inst)}}},_newInst:function(target,inline){var id=target[0].id.replace(/([^A-Za-z0-9_-])/g,"\\\\$1");return{id:id,input:target,inline:inline,tpDiv:(!inline?this.tpDiv:$('<div class="'+this._inlineClass+' ui-timepicker ui-widget  ui-helper-clearfix"></div>'))}},_connectTimepicker:function(target,inst){var input=$(target);inst.append=$([]);inst.trigger=$([]);if(input.hasClass(this.markerClassName)){return}this._attachments(input,inst);input.addClass(this.markerClassName).keydown(this._doKeyDown).keyup(this._doKeyUp).bind("setData.timepicker",function(event,key,value){inst.settings[key]=value}).bind("getData.timepicker",function(event,key){return this._get(inst,key)});$.data(target,PROP_NAME,inst)},_doKeyDown:function(event){var inst=$.timepicker._getInst(event.target);var handled=true;inst._keyEvent=true;if($.timepicker._timepickerShowing){switch(event.keyCode){case 9:$.timepicker._hideTimepicker();handled=false;break;case 13:$.timepicker._updateSelectedValue(inst);$.timepicker._hideTimepicker();return false;break;case 27:$.timepicker._hideTimepicker();break;default:handled=false}}else{if(event.keyCode==36&&event.ctrlKey){$.timepicker._showTimepicker(this)}else{handled=false}}if(handled){event.preventDefault();event.stopPropagation()}},_doKeyUp:function(event){var inst=$.timepicker._getInst(event.target);$.timepicker._setTimeFromField(inst);$.timepicker._updateTimepicker(inst)},_attachments:function(input,inst){var appendText=this._get(inst,"appendText");var isRTL=this._get(inst,"isRTL");if(inst.append){inst.append.remove()}if(appendText){inst.append=$('<span class="'+this._appendClass+'">'+appendText+"</span>");input[isRTL?"before":"after"](inst.append)}input.unbind("focus.timepicker",this._showTimepicker);if(inst.trigger){inst.trigger.remove()}var showOn=this._get(inst,"showOn");if(showOn=="focus"||showOn=="both"){input.bind("focus.timepicker",this._showTimepicker)}if(showOn=="button"||showOn=="both"){var button=this._get(inst,"button");$(button).bind("click.timepicker",function(){if($.timepicker._timepickerShowing&&$.timepicker._lastInput==input[0]){$.timepicker._hideTimepicker()}else{$.timepicker._showTimepicker(input[0])}return false})}},_inlineTimepicker:function(target,inst){var divSpan=$(target);if(divSpan.hasClass(this.markerClassName)){return}divSpan.addClass(this.markerClassName).append(inst.tpDiv).bind("setData.timepicker",function(event,key,value){inst.settings[key]=value}).bind("getData.timepicker",function(event,key){return this._get(inst,key)});$.data(target,PROP_NAME,inst);this._setTimeFromField(inst);this._updateTimepicker(inst);inst.tpDiv.show()},_showTimepicker:function(input){input=input.target||input;if(input.nodeName.toLowerCase()!="input"){input=$("input",input.parentNode)[0]}if($.timepicker._isDisabledTimepicker(input)||$.timepicker._lastInput==input){return}$.timepicker._hideTimepicker();var inst=$.timepicker._getInst(input);if($.timepicker._curInst&&$.timepicker._curInst!=inst){$.timepicker._curInst.tpDiv.stop(true,true)}var beforeShow=$.timepicker._get(inst,"beforeShow");extendRemove(inst.settings,(beforeShow?beforeShow.apply(input,[input,inst]):{}));inst.lastVal=null;$.timepicker._lastInput=input;$.timepicker._setTimeFromField(inst);if($.timepicker._inDialog){input.value=""}if(!$.timepicker._pos){$.timepicker._pos=$.timepicker._findPos(input);$.timepicker._pos[1]+=input.offsetHeight}var isFixed=false;$(input).parents().each(function(){isFixed|=$(this).css("position")=="fixed";return !isFixed});if(isFixed&&$.browser.opera){$.timepicker._pos[0]-=document.documentElement.scrollLeft;$.timepicker._pos[1]-=document.documentElement.scrollTop}var offset={left:$.timepicker._pos[0],top:$.timepicker._pos[1]};$.timepicker._pos=null;inst.tpDiv.css({position:"absolute",display:"block",top:"-1000px"});$.timepicker._updateTimepicker(inst);inst._hoursClicked=false;inst._minutesClicked=false;offset=$.timepicker._checkOffset(inst,offset,isFixed);inst.tpDiv.css({position:($.timepicker._inDialog&&$.blockUI?"static":(isFixed?"fixed":"absolute")),display:"none",left:offset.left+"px",top:offset.top+"px"});if(!inst.inline){var showAnim=$.timepicker._get(inst,"showAnim");var duration=$.timepicker._get(inst,"duration");var zIndex=$.timepicker._get(inst,"zIndex");var postProcess=function(){$.timepicker._timepickerShowing=true;var borders=$.timepicker._getBorders(inst.tpDiv);inst.tpDiv.find("iframe.ui-timepicker-cover").css({left:-borders[0],top:-borders[1],width:inst.tpDiv.outerWidth(),height:inst.tpDiv.outerHeight()})};if(!zIndex){zIndex=$(input).zIndex()+1}inst.tpDiv.zIndex(zIndex);if($.effects&&$.effects[showAnim]){inst.tpDiv.show(showAnim,$.timepicker._get(inst,"showOptions"),duration,postProcess)}else{inst.tpDiv[showAnim||"show"]((showAnim?duration:null),postProcess)}if(!showAnim||!duration){postProcess()}if(inst.input.is(":visible")&&!inst.input.is(":disabled")){inst.input.focus()}$.timepicker._curInst=inst}},_updateTimepicker:function(inst){var self=this;var borders=$.timepicker._getBorders(inst.tpDiv);inst.tpDiv.empty().append(this._generateHTML(inst)).find("iframe.ui-timepicker-cover").css({left:-borders[0],top:-borders[1],width:inst.tpDiv.outerWidth(),height:inst.tpDiv.outerHeight()}).end().find(".ui-timepicker-minute-cell").bind("click",{fromDoubleClick:false},$.proxy($.timepicker.selectMinutes,this)).bind("dblclick",{fromDoubleClick:true},$.proxy($.timepicker.selectMinutes,this)).end().find(".ui-timepicker-hour-cell").bind("click",{fromDoubleClick:false},$.proxy($.timepicker.selectHours,this)).bind("dblclick",{fromDoubleClick:true},$.proxy($.timepicker.selectHours,this)).end().find(".ui-timepicker td a").bind("mouseout",function(){$(this).removeClass("ui-state-hover");if(this.className.indexOf("ui-timepicker-prev")!=-1){$(this).removeClass("ui-timepicker-prev-hover")}if(this.className.indexOf("ui-timepicker-next")!=-1){$(this).removeClass("ui-timepicker-next-hover")}}).bind("mouseover",function(){if(!self._isDisabledTimepicker(inst.inline?inst.tpDiv.parent()[0]:inst.input[0])){$(this).parents(".ui-timepicker-calendar").find("a").removeClass("ui-state-hover");$(this).addClass("ui-state-hover");if(this.className.indexOf("ui-timepicker-prev")!=-1){$(this).addClass("ui-timepicker-prev-hover")}if(this.className.indexOf("ui-timepicker-next")!=-1){$(this).addClass("ui-timepicker-next-hover")}}}).end().find("."+this._dayOverClass+" a").trigger("mouseover").end()},_generateHTML:function(inst){var h,m,row,html="",showPeriod=(this._get(inst,"showPeriod")==true),showPeriodLabels=(this._get(inst,"showPeriodLabels")==true),showLeadingZero=(this._get(inst,"showLeadingZero")==true),amPmText=this._get(inst,"amPmText"),rows=this._get(inst,"rows"),amRows=rows/2,pmFirstRow=amRows+1,hours=Array(),hours_options=this._get(inst,"hours"),hoursPerRow=null,hourCounter=0,hourLabel=this._get(inst,"hourText");for(h=hours_options.starts;h<=hours_options.ends;h++){hours.push(h)}hoursPerRow=Math.round(hours.length/rows+0.49);html='<table class="ui-timepicker-table ui-widget-content ui-corner-all"><tr><td class="ui-timepicker-hours"><div class="ui-timepicker-title ui-widget-header ui-helper-clearfix ui-corner-all">'+hourLabel+'</div><table class="ui-timepicker">';for(row=1;row<=rows;row++){html+="<tr>";if(row==1&&showPeriodLabels){html+='<th rowspan="'+amRows.toString()+'" class="periods">'+amPmText[0]+"</th>"}if(row==pmFirstRow&&showPeriodLabels){html+='<th rowspan="'+amRows.toString()+'" class="periods">'+amPmText[1]+"</th>"}while(hourCounter<hoursPerRow*row){html+=this._generateHTMLHourCell(inst,hours[hourCounter],showPeriod,showLeadingZero);hourCounter++}html+="</tr>"}html+='</tr></table></td><td class="ui-timepicker-minutes">';html+=this._generateHTMLMinutes(inst);html+="</td></tr></table>";html+=($.browser.msie&&parseInt($.browser.version,10)<7&&!inst.inline?'<iframe src="javascript:false;" class="ui-timepicker-cover" frameborder="0"></iframe>':"");return html},_updateMinuteDisplay:function(inst){var newHtml=this._generateHTMLMinutes(inst);inst.tpDiv.find("td.ui-timepicker-minutes").html(newHtml).find(".ui-timepicker-minute-cell").bind("click",{fromDoubleClick:false},$.proxy($.timepicker.selectMinutes,this)).bind("dblclick",{fromDoubleClick:true},$.proxy($.timepicker.selectMinutes,this))},_generateHTMLMinutes:function(inst){var m,row,html="",rows=this._get(inst,"rows"),minutes=Array(),minutes_options=this._get(inst,"minutes"),minutesPerRow=null,minuteCounter=0,showMinutesLeadingZero=(this._get(inst,"showMinutesLeadingZero")==true),onMinuteShow=this._get(inst,"onMinuteShow"),minuteLabel=this._get(inst,"minuteText");if(!minutes_options.starts){minutes_options.starts=0}if(!minutes_options.ends){minutes_options.ends=59}for(m=minutes_options.starts;m<=minutes_options.ends;m+=minutes_options.interval){minutes.push(m)}minutesPerRow=Math.round(minutes.length/rows+0.49);if(onMinuteShow&&(onMinuteShow.apply((inst.input?inst.input[0]:null),[inst.hours,inst.minutes])==false)){for(minuteCounter=0;minuteCounter<minutes.length;minuteCounter+=1){m=minutes[minuteCounter];if(onMinuteShow.apply((inst.input?inst.input[0]:null),[inst.hours,m])){inst.minutes=m;break}}}html+='<div class="ui-timepicker-title ui-widget-header ui-helper-clearfix ui-corner-all">'+minuteLabel+'</div><table class="ui-timepicker">';minuteCounter=0;for(row=1;row<=rows;row++){html+="<tr>";while(minuteCounter<row*minutesPerRow){m=minutes[minuteCounter];html+=this._generateHTMLMinuteCell(inst,m,(m<10)&&showMinutesLeadingZero?"0"+m.toString():m.toString());minuteCounter++}html+="</tr>"}html+="</table>";return html},_generateHTMLHourCell:function(inst,hour,showPeriod,showLeadingZero){var displayHour=hour;if((hour>12)&&showPeriod){displayHour=hour-12}if((displayHour==0)&&showPeriod){displayHour=12}if((displayHour<10)&&showLeadingZero){displayHour="0"+displayHour}var html="";var enabled=true;var onHourShow=this._get(inst,"onHourShow");if(onHourShow){enabled=onHourShow.apply((inst.input?inst.input[0]:null),[hour])}if(enabled){html='<td class="ui-timepicker-hour-cell" data-timepicker-instance-id="#'+inst.id.replace("\\\\","\\")+'" data-hour="'+hour.toString()+'"><a class="ui-state-default '+(hour==inst.hours?"ui-state-active":"")+'">'+displayHour.toString()+"</a></td>"}else{html='<td><span class="ui-state-default ui-state-disabled '+(hour==inst.hours?" ui-state-active ":" ")+'">'+displayHour.toString()+"</span></td>"}return html},_generateHTMLMinuteCell:function(inst,minute,displayText){var html="";var enabled=true;var onMinuteShow=this._get(inst,"onMinuteShow");if(onMinuteShow){enabled=onMinuteShow.apply((inst.input?inst.input[0]:null),[inst.hours,minute])}if(enabled){html='<td class="ui-timepicker-minute-cell" data-timepicker-instance-id="#'+inst.id.replace("\\\\","\\")+'" data-minute="'+minute.toString()+'" ><a class="ui-state-default '+(minute==inst.minutes?"ui-state-active":"")+'" >'+displayText+"</a></td>"}else{html='<td><span class="ui-state-default ui-state-disabled" >'+displayText+"</span></td>"}return html},_isDisabledTimepicker:function(target){if(!target){return false}for(var i=0;i<this._disabledInputs.length;i++){if(this._disabledInputs[i]==target){return true}}return false},_checkOffset:function(inst,offset,isFixed){var tpWidth=inst.tpDiv.outerWidth();var tpHeight=inst.tpDiv.outerHeight();var inputWidth=inst.input?inst.input.outerWidth():0;var inputHeight=inst.input?inst.input.outerHeight():0;var viewWidth=document.documentElement.clientWidth+$(document).scrollLeft();var viewHeight=document.documentElement.clientHeight+$(document).scrollTop();offset.left-=(this._get(inst,"isRTL")?(tpWidth-inputWidth):0);offset.left-=(isFixed&&offset.left==inst.input.offset().left)?$(document).scrollLeft():0;offset.top-=(isFixed&&offset.top==(inst.input.offset().top+inputHeight))?$(document).scrollTop():0;offset.left-=Math.min(offset.left,(offset.left+tpWidth>viewWidth&&viewWidth>tpWidth)?Math.abs(offset.left+tpWidth-viewWidth):0);offset.top-=Math.min(offset.top,(offset.top+tpHeight>viewHeight&&viewHeight>tpHeight)?Math.abs(tpHeight+inputHeight):0);return offset},_findPos:function(obj){var inst=this._getInst(obj);var isRTL=this._get(inst,"isRTL");while(obj&&(obj.type=="hidden"||obj.nodeType!=1)){obj=obj[isRTL?"previousSibling":"nextSibling"]}var position=$(obj).offset();return[position.left,position.top]},_getBorders:function(elem){var convert=function(value){return{thin:1,medium:2,thick:3}[value]||value};return[parseFloat(convert(elem.css("border-left-width"))),parseFloat(convert(elem.css("border-top-width")))]},_checkExternalClick:function(event){if(!$.timepicker._curInst){return}var $target=$(event.target);if($target[0].id!=$.timepicker._mainDivId&&$target.parents("#"+$.timepicker._mainDivId).length==0&&!$target.hasClass($.timepicker.markerClassName)&&!$target.hasClass($.timepicker._triggerClass)&&$.timepicker._timepickerShowing&&!($.timepicker._inDialog&&$.blockUI)){$.timepicker._hideTimepicker()}},_hideTimepicker:function(input){var inst=this._curInst;if(!inst||(input&&inst!=$.data(input,PROP_NAME))){return}if(this._timepickerShowing){var showAnim=this._get(inst,"showAnim");var duration=this._get(inst,"duration");var postProcess=function(){$.timepicker._tidyDialog(inst);this._curInst=null};if($.effects&&$.effects[showAnim]){inst.tpDiv.hide(showAnim,$.timepicker._get(inst,"showOptions"),duration,postProcess)}else{inst.tpDiv[(showAnim=="slideDown"?"slideUp":(showAnim=="fadeIn"?"fadeOut":"hide"))]((showAnim?duration:null),postProcess)}if(!showAnim){postProcess()}var onClose=this._get(inst,"onClose");if(onClose){onClose.apply((inst.input?inst.input[0]:null),[(inst.input?inst.input.val():""),inst])}this._timepickerShowing=false;this._lastInput=null;if(this._inDialog){this._dialogInput.css({position:"absolute",left:"0",top:"-100px"});if($.blockUI){$.unblockUI();$("body").append(this.tpDiv)}}this._inDialog=false}},_tidyDialog:function(inst){inst.tpDiv.removeClass(this._dialogClass).unbind(".ui-timepicker")},_getInst:function(target){try{return $.data(target,PROP_NAME)}catch(err){throw"Missing instance data for this timepicker"}},_get:function(inst,name){return inst.settings[name]!==undefined?inst.settings[name]:this._defaults[name]},_setTimeFromField:function(inst){if(inst.input.val()==inst.lastVal){return}var defaultTime=this._get(inst,"defaultTime");var timeToParse=this._getCurrentTimeRounded(inst);if(defaultTime!=""){timeToParse=defaultTime}if((inst.inline==false)&&(inst.input.val()!="")){timeToParse=inst.input.val()}var timeVal=inst.lastVal=timeToParse;var time=this.parseTime(inst,timeVal);inst.hours=time.hours;inst.minutes=time.minutes;$.timepicker._updateTimepicker(inst)},_setTimeTimepicker:function(target,time){var inst=this._getInst(target);if(inst){this._setTime(inst,time);this._updateTimepicker(inst);this._updateAlternate(inst,time)}},_setTime:function(inst,time,noChange){var origHours=inst.hours;var origMinutes=inst.minutes;var time=this.parseTime(inst,time);inst.hours=time.hours;inst.minutes=time.minutes;if((origHours!=inst.hours||origMinutes!=inst.minuts)&&!noChange){inst.input.trigger("change")}this._updateTimepicker(inst);this._updateSelectedValue(inst)},_getCurrentTimeRounded:function(inst){var currentTime=new Date();var timeSeparator=this._get(inst,"timeSeparator");var currentMinutes=currentTime.getMinutes();currentMinutes=Math.round(currentMinutes/5)*5;return currentTime.getHours().toString()+timeSeparator+currentMinutes.toString()},parseTime:function(inst,timeVal){var retVal=new Object();retVal.hours=-1;retVal.minutes=-1;var timeSeparator=this._get(inst,"timeSeparator");var amPmText=this._get(inst,"amPmText");var p=timeVal.indexOf(timeSeparator);if(p==-1){return retVal}retVal.hours=parseInt(timeVal.substr(0,p),10);retVal.minutes=parseInt(timeVal.substr(p+1),10);var showPeriod=(this._get(inst,"showPeriod")==true);var timeValUpper=timeVal.toUpperCase();if((retVal.hours<12)&&(showPeriod)&&(timeValUpper.indexOf(amPmText[1].toUpperCase())!=-1)){retVal.hours+=12}if((retVal.hours==12)&&(showPeriod)&&(timeValUpper.indexOf(amPmText[0].toUpperCase())!=-1)){retVal.hours=0}return retVal},selectHours:function(event){var $td=$(event.currentTarget);var id=$td.attr("data-timepicker-instance-id");var newHours=$td.attr("data-hour");var fromDoubleClick=event.data.fromDoubleClick;var target=$(id);var inst=this._getInst(target[0]);$td.parents(".ui-timepicker-hours:first").find("a").removeClass("ui-state-active");$td.children("a").addClass("ui-state-active");inst.hours=newHours;this._updateSelectedValue(inst);inst._hoursClicked=true;if((inst._minutesClicked)||(fromDoubleClick)){$.timepicker._hideTimepicker();return false}var onMinuteShow=this._get(inst,"onMinuteShow");if(onMinuteShow){this._updateMinuteDisplay(inst)}return false},selectMinutes:function(event){var $td=$(event.currentTarget);var id=$td.attr("data-timepicker-instance-id");var newMinutes=$td.attr("data-minute");var fromDoubleClick=event.data.fromDoubleClick;var target=$(id);var inst=this._getInst(target[0]);$td.parents(".ui-timepicker-minutes:first").find("a").removeClass("ui-state-active");$td.children("a").addClass("ui-state-active");inst.minutes=newMinutes;this._updateSelectedValue(inst);inst._minutesClicked=true;if((inst._hoursClicked)||(fromDoubleClick)){$.timepicker._hideTimepicker();return false}return false},_updateSelectedValue:function(inst){if((inst.hours<0)||(inst.hours>23)){inst.hours=12}if((inst.minutes<0)||(inst.minutes>59)){inst.minutes=0}var period="";var showPeriod=(this._get(inst,"showPeriod")==true);var showLeadingZero=(this._get(inst,"showLeadingZero")==true);var amPmText=this._get(inst,"amPmText");var selectedHours=inst.hours?inst.hours:0;var selectedMinutes=inst.minutes?inst.minutes:0;var displayHours=selectedHours;if(!displayHours){displayHoyrs=0}if(showPeriod){if(inst.hours==0){displayHours=12}if(inst.hours<12){period=amPmText[0]}else{period=amPmText[1];if(displayHours>12){displayHours-=12}}}var h=displayHours.toString();if(showLeadingZero&&(displayHours<10)){h="0"+h}var m=selectedMinutes.toString();if(selectedMinutes<10){m="0"+m}var newTime=h+this._get(inst,"timeSeparator")+m;if(period.length>0){newTime+=" "+period}if(inst.input){inst.input.val(newTime);inst.input.trigger("change")}var onSelect=this._get(inst,"onSelect");if(onSelect){onSelect.apply((inst.input?inst.input[0]:null),[newTime,inst])}this._updateAlternate(inst,newTime);return newTime},_updateAlternate:function(inst,newTime){var altField=this._get(inst,"altField");if(altField){$(altField).each(function(i,e){$(e).val(newTime)})}}});$.fn.timepicker=function(options){if(!$.timepicker.initialized){$(document).mousedown($.timepicker._checkExternalClick).find("body").append($.timepicker.tpDiv);$.timepicker.initialized=true}var otherArgs=Array.prototype.slice.call(arguments,1);if(typeof options=="string"&&(options=="isDisabled"||options=="getTime"||options=="widget")){return $.timepicker["_"+options+"Timepicker"].apply($.timepicker,[this[0]].concat(otherArgs))}if(options=="option"&&arguments.length==2&&typeof arguments[1]=="string"){return $.timepicker["_"+options+"Timepicker"].apply($.timepicker,[this[0]].concat(otherArgs))}return this.each(function(){typeof options=="string"?$.timepicker["_"+options+"Timepicker"].apply($.timepicker,[this].concat(otherArgs)):$.timepicker._attachTimepicker(this,options)})};function extendRemove(target,props){$.extend(target,props);for(var name in props){if(props[name]==null||props[name]==undefined){target[name]=props[name]}}return target}$.timepicker=new Timepicker();$.timepicker.initialized=false;$.timepicker.uuid=new Date().getTime();$.timepicker.version="0.2.2";window["TP_jQuery_"+tpuuid]=$})(jQuery);
(function($) {

    /*
     * Auto-growing textareas; technique ripped from Facebook
     */
    $.fn.autogrow = function(options) {
        
        this.filter('textarea').each(function() {
            
            var $this       = $(this),
                minHeight   = $this.height(),
                lineHeight  = $this.css('lineHeight');
            
            var shadow = $('<div></div>').css({
                position:   'absolute',
                top:        -10000,
                left:       -10000,
                width:      $(this).width() - parseInt($this.css('paddingLeft')) - parseInt($this.css('paddingRight')),
                fontSize:   $this.css('fontSize'),
                fontFamily: $this.css('fontFamily'),
                lineHeight: $this.css('lineHeight'),
                resize:     'none'
            }).appendTo(document.body);
            
            var update = function() {
    
                var times = function(string, number) {
                    for (var i = 0, r = ''; i < number; i ++) r += string;
                    return r;
                };
                
                var val = this.value.replace(/</g, '&lt;')
                                    .replace(/>/g, '&gt;')
                                    .replace(/&/g, '&amp;')
                                    .replace(/\n$/, '<br/>&nbsp;')
                                    .replace(/\n/g, '<br/>')
                                    .replace(/ {2,}/g, function(space) { return times('&nbsp;', space.length -1) + ' ' });
                
                shadow.html(val);
                $(this).css('height', Math.max(shadow.height() + 20, minHeight));
            
            }
            
            $(this).change(update).keyup(update).keydown(update);
            this.refresh = update;

            update.apply(this);
            
        });
        
        return this;
        
    }
    
})(jQuery);
$(function(){var d=500;var b=null;var a=$('<div id="personPopupContainer"><div id="personPopupContent"></div></div>');var c={};$("body").append(a);$(".personPopupTrigger").live("mouseover",function(){var f=$(this).attr("rel");if(b){clearTimeout(b)}var g=$(this).offset();var e=$(this).width();a.css({left:(g.left+e)+"px",top:g.top-5+"px"});$("#personPopupContent").html('<img src="http://tongal.com/v2/images/loading-indicator.gif"/>');if(!c[f]){$.ajax({type:"GET",url:f,success:function(h){$("#personPopupContent").html(c[f]=h)}})}else{$("#personPopupContent").html(c[f])}a.css("display","block")});$(".personPopupTrigger").live("mouseout",function(){if(b){clearTimeout(b)}b=setTimeout(function(){a.css("display","none")},d)});$("#personPopupContainer").mouseover(function(){if(b){clearTimeout(b)}});$("#personPopupContainer").mouseout(function(){if(b){clearTimeout(b)}b=setTimeout(function(){a.css("display","none")},d)})});
window.dhtmlHistory={isIE:false,isOpera:false,isSafari:false,isKonquerer:false,isGecko:false,isSupported:false,create:function(d){var g=this;var f=navigator.userAgent.toLowerCase();var a=navigator.platform.toLowerCase();var h=navigator.vendor||"";if(h==="KDE"){this.isKonqueror=true;this.isSupported=false}else{if(typeof window.opera!=="undefined"){this.isOpera=true;this.isSupported=true}else{if(typeof document.all!=="undefined"){this.isIE=true;this.isSupported=true}else{if(h.indexOf("Apple Computer, Inc.")>-1){this.isSafari=true;this.isSupported=(a.indexOf("mac")>-1)}else{if(f.indexOf("gecko")!=-1){this.isGecko=true;this.isSupported=true}}}}}window.historyStorage.setup(d);if(this.isSafari){this.createSafari()}else{if(this.isOpera){this.createOpera()}}var b=this.getCurrentLocation();this.currentLocation=b;if(this.isIE){this.createIE(b)}var e=function(){g.firstLoad=null};this.addEventListener(window,"unload",e);if(this.isIE){this.ignoreLocationChange=true}else{if(!historyStorage.hasKey(this.PAGELOADEDSTRING)){this.ignoreLocationChange=true;this.firstLoad=true;historyStorage.put(this.PAGELOADEDSTRING,true)}else{this.ignoreLocationChange=false;this.fireOnNewListener=true}}var c=function(){g.checkLocation()};setInterval(c,100)},initialize:function(){if(this.isIE){if(!historyStorage.hasKey(this.PAGELOADEDSTRING)){this.fireOnNewListener=false;this.firstLoad=true;historyStorage.put(this.PAGELOADEDSTRING,true)}else{this.fireOnNewListener=true;this.firstLoad=false}}},addListener:function(a){this.listener=a;if(this.fireOnNewListener){this.fireHistoryEvent(this.currentLocation);this.fireOnNewListener=false}},addEventListener:function(c,b,a){if(c.addEventListener){c.addEventListener(b,a,false)}else{if(c.attachEvent){c.attachEvent("on"+b,function(){a(window.event)})}}},add:function(c,d){if(this.isSafari){c=this.removeHash(c);historyStorage.put(c,d);this.currentLocation=c;window.location.hash=c;this.putSafariState(c)}else{var b=this;var a=function(){if(b.currentWaitTime>0){b.currentWaitTime=b.currentWaitTime-b.waitTime}c=b.removeHash(c);if(document.getElementById(c)&&b.debugMode){var f="Exception: History locations can not have the same value as _any_ IDs that might be in the document, due to a bug in IE; please ask the developer to choose a history location that does not match any HTML IDs in this document. The following ID is already taken and cannot be a location: "+c;throw new Error(f)}historyStorage.put(c,d);b.ignoreLocationChange=true;b.ieAtomicLocationChange=true;b.currentLocation=c;window.location.hash=c;if(b.isIE){b.iframe.src="/v2/scripts/blank.html?"+c}b.ieAtomicLocationChange=false};window.setTimeout(a,this.currentWaitTime);this.currentWaitTime=this.currentWaitTime+this.waitTime}},isFirstLoad:function(){return this.firstLoad},getVersion:function(){return"0.6"},getCurrentLocation:function(){var a=(this.isSafari?this.getSafariState():this.getCurrentHash());return a},getCurrentHash:function(){var b=window.location.href;var a=b.indexOf("#");return(a>=0?b.substr(a+1):"")},PAGELOADEDSTRING:"DhtmlHistory_pageLoaded",listener:null,waitTime:200,currentWaitTime:0,currentLocation:null,iframe:null,safariHistoryStartPoint:null,safariStack:null,safariLength:null,ignoreLocationChange:null,fireOnNewListener:null,firstLoad:null,ieAtomicLocationChange:null,createIE:function(a){this.waitTime=400;var b=(historyStorage.debugMode?"width: 800px;height:80px;border:1px solid black;":historyStorage.hideStyles);var d="rshHistoryFrame";var c='<iframe frameborder="0" id="'+d+'" style="'+b+'" src="/v2/scripts/blank.html?'+a+'"></iframe>';document.write(c);this.iframe=document.getElementById(d)},createOpera:function(){this.waitTime=400;var a='<img src="javascript:location.href=\'javascript:dhtmlHistory.checkLocation();\';" style="'+historyStorage.hideStyles+'" />';document.write(a)},createSafari:function(){var e="rshSafariForm";var d="rshSafariStack";var c="rshSafariLength";var b=historyStorage.debugMode?historyStorage.showStyles:historyStorage.hideStyles;var a=(historyStorage.debugMode?"width:800px;height:20px;border:1px solid black;margin:0;padding:0;":historyStorage.hideStyles);var f='<form id="'+e+'" style="'+b+'"><input type="text" style="'+a+'" id="'+d+'" value="[]"/><input type="text" style="'+a+'" id="'+c+'" value=""/></form>';document.write(f);this.safariStack=document.getElementById(d);this.safariLength=document.getElementById(c);if(!historyStorage.hasKey(this.PAGELOADEDSTRING)){this.safariHistoryStartPoint=history.length;this.safariLength.value=this.safariHistoryStartPoint}else{this.safariHistoryStartPoint=this.safariLength.value}},getSafariStack:function(){var a=this.safariStack.value;return historyStorage.fromJSON(a)},getSafariState:function(){var a=this.getSafariStack();var b=a[history.length-this.safariHistoryStartPoint-1];return b},putSafariState:function(b){var a=this.getSafariStack();a[history.length-this.safariHistoryStartPoint]=b;this.safariStack.value=historyStorage.toJSON(a)},fireHistoryEvent:function(a){var b=historyStorage.get(a);this.listener.call(null,a,b)},checkLocation:function(){if(!this.isIE&&this.ignoreLocationChange){this.ignoreLocationChange=false;return}if(!this.isIE&&this.ieAtomicLocationChange){return}var a=this.getCurrentLocation();if(a==this.currentLocation){return}this.ieAtomicLocationChange=true;if(this.isIE&&this.getIframeHash()!=a){this.iframe.src="/v2/scripts/blank.html?"+a}else{if(this.isIE){return}}this.currentLocation=a;this.ieAtomicLocationChange=false;this.fireHistoryEvent(a)},getIframeHash:function(){var b=this.iframe.contentWindow.document;var a=String(b.location.search);if(a.length==1&&a.charAt(0)=="?"){a=""}else{if(a.length>=2&&a.charAt(0)=="?"){a=a.substring(1)}}return a},removeHash:function(b){var a;if(b===null||b===undefined){a=null}else{if(b===""){a=""}else{if(b.length==1&&b.charAt(0)=="#"){a=""}else{if(b.length>1&&b.charAt(0)=="#"){a=b.substring(1)}else{a=b}}}}return a},iframeLoaded:function(a){if(this.ignoreLocationChange){this.ignoreLocationChange=false;return}var b=String(a.search);if(b.length==1&&b.charAt(0)=="?"){b=""}else{if(b.length>=2&&b.charAt(0)=="?"){b=b.substring(1)}}window.location.hash=b;this.fireHistoryEvent(b)}};window.historyStorage={setup:function(b){if(typeof b!=="undefined"){if(b.debugMode){this.debugMode=b.debugMode}if(b.toJSON){this.toJSON=b.toJSON}if(b.fromJSON){this.fromJSON=b.fromJSON}}var d="rshStorageForm";var f="rshStorageField";var a=this.debugMode?historyStorage.showStyles:historyStorage.hideStyles;var e=(historyStorage.debugMode?"width: 800px;height:80px;border:1px solid black;":historyStorage.hideStyles);var c='<form id="'+d+'" style="'+a+'"><textarea id="'+f+'" style="'+e+'"></textarea></form>';document.write(c);this.storageField=document.getElementById(f);if(typeof window.opera!=="undefined"){this.storageField.focus()}},put:function(a,b){this.assertValidKey(a);if(this.hasKey(a)){this.remove(a)}this.storageHash[a]=b;this.saveHashTable()},get:function(a){this.assertValidKey(a);this.loadHashTable();var b=this.storageHash[a];if(b===undefined){b=null}return b},remove:function(a){this.assertValidKey(a);this.loadHashTable();delete this.storageHash[a];this.saveHashTable()},reset:function(){this.storageField.value="";this.storageHash={}},hasKey:function(a){this.assertValidKey(a);this.loadHashTable();return(typeof this.storageHash[a]!=="undefined")},isValidKey:function(a){return(typeof a==="string")},showStyles:"border:0;margin:0;padding:0;",hideStyles:"left:-1000px;top:-1000px;width:1px;height:1px;border:0;position:absolute;",debugMode:false,storageHash:{},hashLoaded:false,storageField:null,assertValidKey:function(a){var b=this.isValidKey(a);if(!b&&this.debugMode){throw new Error("Please provide a valid key for window.historyStorage. Invalid key = "+a+".")}},loadHashTable:function(){if(!this.hashLoaded){var a=this.storageField.value;if(a!==""&&a!==null){this.storageHash=this.fromJSON(a);this.hashLoaded=true}}},saveHashTable:function(){this.loadHashTable();var a=this.toJSON(this.storageHash);this.storageField.value=a},toJSON:function(a){return a.toJSONString()},fromJSON:function(a){return a.parseJSON()}};
(function(a){faq={removeEntry:function(c,b){a.ajax({url:"/dev/removeFaqEntry.json",data:{sectionId:c,entryId:b},dataType:"json",type:"POST",success:function(d){a('div[section-id="'+c+'"]').remove()}})},addEntry:function(c){var b=a('[name="question-'+c+'"]').val();var d=a('[name="answer-'+c+'"]').val();a.ajax({url:"/dev/createFaqEntry.json",data:{sectionId:c,question:b,answer:d},dataType:"json",type:"POST",success:function(e){a('div[section="section-'+c+'"]').append(a("#entry-template").html().replace(/#entry_id#/g,e.entity.id).replace(/#entry_question#/g,e.entity.question).replace(/#entry_answer#/g,e.entity.answerEscaped).replace(/#secton_id#/g,c))}})},addSection:function(){var b=a('input[name="section-name"]').val();a.ajax({url:"/dev/createFaqSection.json",data:{name:b},dataType:"json",type:"POST",success:function(c){a(".faq-titles").append(a("#section-template").html().replace(/#section_id#/g,c.entity.id).replace(/#section_name#/g,c.entity.name))}})},removeSection:function(b){a.ajax({url:"/dev/removeFaqSection.json",data:{sectionId:b},dataType:"json",type:"POST",success:function(c){a('div[section-id="'+b+'"]').remove()}})},attachEditSectionListener:function(c,d){var b=a(d);b.editable("/dev/updateFaqSection.text",{indicator:"<img src='/images/loading-indicator.gif' border='0'/>",tooltip:"Click to edit",cancel:"Cancel",submit:"OK",callback:function(f,e){},submitdata:function(f,e){return{sectionId:b.attr("section-id")}}})},attachEditQuestionListener:function(c,d){var b=a(d);b.editable("/dev/updateFaqEntry.text",{indicator:"<img src='/images/loading-indicator.gif' border='0'/>",tooltip:"Click to edit",cancel:"Cancel",submit:"OK",callback:function(f,e){},submitdata:function(f,e){return{entryId:b.attr("entry-question-id"),column:"question"}}})},attachEditAnswerListener:function(c,d){var b=a(d);b.editable("/dev/updateFaqEntry.text",{indicator:"<img src='/images/loading-indicator.gif' border='0'/>",type:"textarea",tooltip:"Click to edit",cancel:"Cancel",submit:"OK",callback:function(f,e){},submitdata:function(f,e){return{entryId:b.attr("entry-answer-id"),column:"answer"}}})},toggleWinnerFormsContent:function(c){var d=a(c.href.substring(c.href.indexOf("#")));var b=a("#formContent");d.html(b.html());d.find("form").attr("action",d.attr("fileurl"));d.slideDown("slow");return false}};a(document).ready(function(){if(a(".faq-titles input").length){a(".faq-titles input").hide();a(".faq-titles span.add-entry").hide();a('img[alt="FAQ"]').click(function(){a(".faq-titles input").toggle();a(".faq-titles span.add-entry").toggle()});a("span.edit-section-name").each(faq.attachEditSectionListener);a("[entry-question-id]").each(faq.attachEditQuestionListener);a("[entry-answer-id]").each(faq.attachEditAnswerListener)}})})(jQuery);
if(!window.voting){voting={maxFavourites:0,favourites:[],fnInitComplete:function(d,b){if(b.associatedSubmissions.length){voting.associatedSubmissions=b.associatedSubmissions;var a=$("<select></select>");a.append('<option value="-1">All</option>');for(var c in voting.associatedSubmissions){var e=$('<option value="'+voting.associatedSubmissions[c].id+'">'+voting.associatedSubmissions[c].title+"</option>");a.append(e)}$("#associatedSubmissionsFilter").append(a);a.bind("change",function(){if(this.value!=-1){voting.dataTable.fnFilter(this.options[this.selectedIndex].innerHTML)}else{voting.dataTable.fnFilter("")}})}},submit:function(a){$.ajax({url:"/dev/submitVoting.json?stageId="+common.params.stageId+"&force="+(a?"true":"false"),dataType:"json",cache:false,success:function(b){if(b.errorMessage){common.showMessage(b.errorMessage,"Attention",[{caption:"Mark undecided as neutral",handler:"voting.submit(true);"},{caption:"View undecided",handler:"voting.filterBy($('#show_undecided').attr('baseurl'), 100);"}])}else{common.showAutohideMessage("Voting results are submitted.","Success")}}})},vote:function(b,a,c){if(a!=4){voting.removeFromFavorites(b,1)}common.parseParameters();$.ajax({url:"/dev/voteForSubmission.json?stageId="+common.params.stageId+"&submissionId="+b+"&voteValue="+a,dataType:"json",submissionId:b,value:a,cache:false,success:function(d){if(d.errorMessage){common.showMessage(d.errorMessage,"Error")}else{$(".voting_"+this.submissionId).removeClass("selected");$("#vote_"+this.submissionId+"_"+this.value).addClass("selected");if(c){c.call(d)}}}});return false},addToFavorites:function(a){if(voting.favourites.length>=voting.maxFavourites){common.showMessage("You already chose "+voting.maxFavourites+" submissions.</br>You need to remove a submission from favorites if you want to add this one.");return}if($.inArray(a,voting.favourites)>=0){common.showMessage("This submission is already added.");return}voting.vote(a,4,function(c){var d=$('div[vid="EMPTY"]:first');var m=$('tr[submission-row="'+a+'"]');var b=m.find('[submission-data="image"] img');var i=m.find('[submission-data="title"] a');var f=m.find('[submission-data="author"] a');var k=m.find('[submission-data="text"]');var g=$("<img>");g.attr("src",b.attr("src"));g.addClass("submissionImage");g.css({width:"54px",height:"54px",marginRight:"40px"});g.attr("title",b.attr("title"));g.attr("alt",b.attr("alt"));var j=$("<a></a>");j.attr("href",i.attr("href"));j.attr("target","_blank");j.html(i.html());var l=$("<a></a>");l.attr("href",f.attr("href"));l.attr("title",f.attr("title"));l.html(f.html());l.addClass("user");var h=$('<a href="#" class="remove" onclick="return voting.removeFromFavorites(\''+a+"');\"><span>x</span> Remove</a>");d.empty();d.attr("vid",a);var e=$('<div id="text-content-'+a+'" style="display:none;border: solid 1px #666;padding:5px;width:200px;position:absolute;left:-100px;z-index:999999;background-color: white;"></div>');e.html(k.html());d.append(g).append("<br/>").append(j).append("<br/>").append(l).append("<br/>").append(h);if(k.html().length>0){d.attr("show-popup","text-content-"+a);d.append(e)}h.click(voting.removeFromFavorites);voting.favourites.push(a)});return false},createOrUpdateStage:function(a,b){a.ajaxSubmit({type:"POST",url:"/dev/createOrUpdateVotingStage.json",cache:false,dataType:"json",success:function(c){if(c.id){common.showAutohideMessage("Voting stage was successfully stored.","Success");if(b){b()}}else{common.showErrors(c)}}})},cutHere:function(a){common.parseParameters();common.showMessage("This operation cannot be undone. Cut at "+a+"?","Confirmation",[{caption:"Yes, and move to re-rank",handler:"common.hideMessage('"+common.popupDivId+"'); voting.cutAt("+a+", 'reRank');"},{caption:"Yes, and set up another voting",handler:"common.hideMessage('"+common.popupDivId+"'); voting.cutAt("+a+", 'voteAgain');"},{caption:"Cancel",handler:"common.hideMessage('"+common.popupDivId+"');"}]);return false},cutAt:function(at,callback){common.parseParameters();$.ajax({url:"/dev/setStageWatermark.json?stageId="+common.params.stageId+"&phaseId="+common.params.phaseId+"&watermark="+at,dataType:"json",cache:false,success:function(response){if(response.errorMessage){common.showMessage(response.errorMessage,"Error")}else{$("#stage-watermark").html("Current cut: "+at);eval("voting."+callback+"();")}}})},toggleImmunity:function(a){common.parseParameters();$.ajax({url:"/dev/toggleSubmissionImmunity.json?submissionId="+a+"&phaseId="+common.params.phaseId,dataType:"json",cache:false,error:function(){common.showMessage("Error occurred. Please try again later.","Error")},success:function(b){if(b.errorMessage){common.showMessage(b.errorMessage,"Error")}}});return true},toggleExcluded:function(a){common.parseParameters();$.ajax({url:"/dev/toggleSubmissionExcluded.json?submissionId="+a+"&phaseId="+common.params.phaseId,dataType:"json",cache:false,error:function(){common.showMessage("Error occurred. Please try again later.","Error")},success:function(b){if(b.errorMessage){common.showMessage(b.errorMessage,"Error")}}});return true},voteAgain:function(){voting.createVotingStage(voting.moveToJudging)},reRank:function(){voting.moveToJudging(true)},moveToJudging:function(a){common.parseParameters();$.ajax({url:"/dev/closeVotingStage.json?stageId="+common.params.stageId+"&phaseId="+common.params.phaseId+(a?"&rerank=true":""),dataType:"json",cache:false,success:function(b){if(b.errorMessage){common.showMessage(b.errorMessage,"Error")}else{$("#submissions span.primary-button").hide()}}});return false},createVotingStage:function(a){voting.editVotingStageById(0,a)},editVotingStageById:function(b,a){voting.createVotingStageCallback=a;$.ajax({url:"/dev/editVotingStageForm.html"+(b?"?stageId="+b:""),dataType:"html",cache:false,success:function(c){voting.editVotingStage(c,common.params.phaseId,b)}});return false},editVotingStage:function(e,c,d){common.disableEnterOnShowMessage=1;var a=common.confirm(e,function(f){if(f){$("#createStage input[name=stageId]").val(d);$("#createStage input[name=phaseId]").val(c);voting.createOrUpdateStage($("#createStage"),voting.createVotingStageCallback)}},"Voting stage");common.disableEnterOnShowMessage=0;var b;b=a.find("input[name=voter]");b.autocomplete("/dev/autocompleteUser.text",{formatItem:function(h,f,j,g){return h[0]}});b.result(function(f,h,g){voting.addVoter(h)});b=a.find("input[name=excludedVoter]");b.autocomplete("/dev/autocompleteUser.text",{formatItem:function(h,f,j,g){return h[0]}});b.result(function(f,h,g){voting.excludeVoter(h)});b=a.find("input[name=voterGroup]");b.autocomplete("/dev/autocompleteGroup.text",{formatItem:function(h,f,j,g){return h[0]}});b.result(function(f,h,g){voting.addVoterGroup(h)});return false},addVoter:function(c){var b=$("#voter_template").html();var d=c[1].replace("@","__2at2__").replace(".","__2point2__");var a=b.replace(/#id#/g,d);a=a.replace(/#name#/g,c[0]);$("#voters").append(a);$("input[name=voter]").val("")},excludeVoter:function(c){var b=$("#excluded_voter_template").html();var d=c[1].replace("@","__2at2__").replace(".","__2point2__");var a=b.replace(/#id#/g,d);a=a.replace(/#name#/g,c[0]);$("#excludedVoters").append(a);$("input[name=excludedVoter]").val("")},addVoterGroup:function(c){var b=$("#voterGroup_template").html();var d=c[1].replace("@","__2at2__").replace(".","__2point2__");var a=b.replace(/#id#/g,d);a=a.replace(/#name#/g,c[0]);$("#voterGroups").append(a);$("input[name=voterGroup]").val("")},getSummaryDataSheet:function(a){common.parseParameters();if(a){common.params.shortList=true}var b=rpc.buildQueryString(common.params,1);$("#generate_list").attr("href","/dev/getVotingSummaryDatasheet.html"+b);return true},getCurrentDataSheet:function(){common.parseParameters();var a=rpc.buildQueryString(common.params,1);$("#generate_list").attr("href","/dev/getVotingStageDatasheet.html"+a);return true},getTrackRecordsDataSheet:function(){common.parseParameters();var a=rpc.buildQueryString(common.params,1);$("#download-track-records").attr("href","/dev/getTrackRecordDatasheet.html"+a);return true},changeFilter:function(c){var a=$("#base_submission_filter");var b=a.find("option:selected").val();window.location=c+voting.filterSorting("base",b!="all"?b:null)},filterBy:function(b,a){window.location=b+voting.filterSorting("filterBy",a)},sortBy:function(b,a){window.location=b+voting.filterSorting("sortBy",a)},filterSorting:function(e,c){common.parseParameters();var d=["base","filterBy","sortBy","option","keyword"];var f="";for(var a=0;a<d.length;a++){var b=d[a];if(b!=e&&common.params[b]!==undefined&&common.params[b]!==null){f+="&"+b+"="+common.params[b]}else{if(b==e&&c!==null&&c!==undefined){f+="&"+e+"="+c}}}return f},switchShortList:function(b){var a=$("#short_list_switch").attr("checked");window.location=b+"&shortList="+(a?"true":"false")},removeFromFavorites:function(d,c){var b=$('div.my-top10 div[vid="'+d+'"]');d=b.attr("vid");function a(){b.html('<img src="/v2/images/video-placeholder.gif" style="width:54px;height:54px;margin-right:40px">');$("#add_to_favorites_"+d).show();$("#added_to_favorites_"+d).hide();b.attr("vid","EMPTY");voting.favourites.splice($.inArray(d,voting.favourites),1)}if(!c){voting.vote(d,2,a)}a();return false}}}$(document).ready(function(){if(document.location.href.indexOf("voting-stage.html")>=0){var a=common.getCookie("shownInstructions");if(!a){document.cookie="shownInstructions=on;path=/;expires="+new Date(new Date().getTime()+6000000).toUTCString()+";";$("#how-to-vote").click()}}$(window).bind("scroll",function(){var g=$("#discussion-popup-box").attr("stop");var f=$("#discussion-popup-box").attr("sleft");var e=$(window).scrollTop();var c=$(window).scrollLeft();var b=$("#discussion-popup-box").css("top");var d=$("#discussion-popup-box").css("left");$("#discussion-popup-box").css("top",(parseInt(b)-(e-g))+"px");$("#discussion-popup-box").css("left",(parseInt(d)-(c-f))+"px");$("#discussion-popup-box").attr("stop",$(window).scrollTop());$("#discussion-popup-box").attr("sleft",$(window).scrollLeft())});$("[show-popup]").each(function(c,d){var b=$(d);b.hoverIntent({over:function(){var e=$(this).attr("show-popup");$("#"+e).show()},out:function(){var e=$(this).attr("show-popup");$("#"+e).hide()},timeout:500})});$("div[vid] a.remove").each(function(b,c){$(c).click(voting.removeFromFavorites)})});
(function(a){if(!window.screening){screening={submit:function(b){a.ajax({url:"/dev/submitScreening.json?phaseId="+common.params.phaseId+"&force="+(b?"true":"false"),dataType:"json",cache:false,success:function(c){if(c.errorMessage){common.showMessage(c.errorMessage,"Attention",[{caption:"Mark undecided as accepted",handler:"screening.submit(true);"},{caption:"View undecided",handler:"voting.filterBy($('#show_undecided').attr('baseurl'), 0);"}])}else{common.showAutohideMessage("Screening is submitted.","Success");setTimeout('window.location = "/dev/screening.html?phaseId=" + common.params.phaseId;',7000)}}})},approve:function(b){a.ajax({url:"/dev/approveSubmission.json?phaseId="+common.params.phaseId+"&submissionId="+b,dataType:"json",submissionId:b,cache:false,success:function(c){if(c.errorMessage){common.showMessage(c.errorMessage,"Error")}else{a("#vote_"+this.submissionId+"_1").addClass("selected");a("#vote_"+this.submissionId+"_2").removeClass("selected");a("#reject_reason_"+b).hide()}}});return false},reject:function(b){a("#reject_reason_"+b).show();a("#reject_reason_"+b+" textarea").focus();return false},cancelRejection:function(b){a("#reject_reason_"+b).hide()},sendRejection:function(c){var b=a("#reject_reason_"+c+" textarea").val();if(b.replace(/(^\s+)|(\s+$)/,"")==""){common.showMessage("A rejection reason is required","Attention");a("#reject_reason_"+c+" textarea").val("");a("#reject_reason_"+c+" textarea").focus();return}a("#reject_reason_"+c).hide();a.ajax({url:"/dev/rejectSubmission.json?phaseId="+common.params.phaseId+"&submissionId="+c+"&reason="+encodeURIComponent(b),dataType:"json",submissionId:c,reason:b,cache:false,success:function(d){if(d.errorMessage){common.showMessage(d.errorMessage,"Error")}else{a("#vote_"+this.submissionId+"_2").addClass("selected");a("#vote_"+this.submissionId+"_1").removeClass("selected")}}})}}}})(jQuery);
(function(a){if(!window.ranking){ranking={data:[],init:function(){var b=ranking.data;if(b.length){a("table a.arrow").each(function(c,d){if(d.id.indexOf("moveup_")>=0){a(d).click(ranking.moveup)}else{if(d.id.indexOf("movedown_")>=0){a(d).click(ranking.movedown)}}})}},moveup:function(){var b=parseInt(a(this).attr("rownum"));ranking.swap(b,b-1);return false},movedown:function(c){var b=parseInt(a(this).attr("rownum"));ranking.swap(b,b+1);return false},swap:function(h,g){var l=ranking.data[h];ranking.data[h]=ranking.data[g];ranking.data[g]=l;var f=a('#submissions-table tr[vid="'+ranking.data[h]+'"]');var e=a('#submissions-table tr[vid="'+ranking.data[g]+'"]');var c=f.find("td.movable");var b=e.find("td.movable");var n=f.attr("vid");f.attr("vid",e.attr("vid"));e.attr("vid",n);for(var d=0;d<c.length;d++){var o=c[d].innerHTML;var m=b[d].innerHTML;b[d].innerHTML=o;c[d].innerHTML=m}common.attachPrizeExpandCollapse()},submit:function(){common.confirm("Are you sure you want to submit the current submissions order?",function(d){if(!d){return}var b="";for(var c=0;c<ranking.data.length;c++){if(b.length){b+=","}b+=ranking.data[c]}a.ajax({url:"/dev/submitRanking.json?phaseId="+common.params.phaseId+"&projectId="+common.params.projectId+"&submissionIds="+b,dataType:"json",cache:false,success:function(e){if(e.errorMessage){common.showMessage(e.errorMessage,"Error");a(".primary-button").show()}else{common.showAutohideMessage("The submission order has been applied.","Success");a(".arrow").hide()}}})})}}}a(document).ready(function(){ranking.init()})})(jQuery);
(function(a){exhibition={inited:0,editExhibition:function(e,d,b){if(!exhibition.inited){var c=a.colorbox.close;a.colorbox.close=function(){if(!exhibition.allowClose){if(!confirm("Do you want to discard the changes?")){return}}c()};exhibition.inited=1}a.fn.colorbox({href:"/dev/edit-exhibition.html?item="+encodeURIComponent(common.toJSON(e))+"&u="+encodeURIComponent(document.location.href)+"&_="+new Date().getTime(),iframe:true,innerWidth:d,innerHeight:b});return false},changeReportType:function(c){var b=a("#report-type option:selected").val();var d="";if(b=="individual"){d="individual-distribution-breakdown"}else{if(b=="summary"){d="exhibition-summary"}else{d="exhibition-distribution-"+b}}window.location="/dev/"+d+".html?projectId="+c},showSharingInfo:function(b){var c=a('tr.whos-sharing-table[submission-id="'+b+'"]');c.toggle()},changeNumberOfLevels:function(){var b=parseInt(a('select[name="numberOfLevels"] option:selected').val());a("form table tr.thresholds").each(function(c,d){if(c<b){a(d).show()}else{a(d).hide()}})}};a(document).ready(function(){exhibition.changeNumberOfLevels()})})(jQuery);

(function(){tongalXD=function(){var e,d,b=1,c,a=this;return{postMessage:function(h,k,j){if(!k){return}j=j||parent;if(!(j instanceof Array)){j=[j]}for(var f=0;f<j.length;f++){var g=j[f];if(g.postMessage){g.postMessage(h,k.replace(/([^:]+:\/\/[^\/]+).*/,"$1"))}else{if(k){g.location=k.replace(/#.*$/,"")+"#"+(+new Date)+(b++)+"&"+h}}}},receiveMessage:function(g,f){if(a.postMessage){if(g){c=function(h){if((typeof f==="string"&&h.origin!==f.replace(/([^:]+:\/\/[^\/]+).*/,"$1"))||(Object.prototype.toString.call(f)==="[object Function]"&&f(h.origin)===!1)){return !1}g(h)}}if(a.addEventListener){a[g?"addEventListener":"removeEventListener"]("message",c,!1)}else{a[g?"attachEvent":"detachEvent"]("onmessage",c)}}else{e&&clearInterval(e);e=null;if(g){e=setInterval(function(){var i=document.location.hash,h=/^#?\d+&/;if(i!==d&&h.test(i)){d=i;g({data:i.replace(h,"")})}},100)}}}}}()})();
(function(a){facebook={init:function(){if(!window.FB){setTimeout("facebook.init();",500)}else{FB.init({appId:"c5e1a1edbdae10f6bcd1fe59b61b7032",status:true,cookie:true,xfbml:true,channelUrl:"http://tongal.com/channel.html"});facebook.processUser()}},authenticate:function(){FB.getLoginStatus(function(b){if(b.session){var c=b.session.uid;document.cookie="fbuid="+c+";path=/";facebook.processUser()}})},processUser:function(){var b=common.getCookie("fbuid");if(b){var c=FB.Data.query("SELECT uid, first_name, last_name, pic, birthday_date, sex, hometown_location, email, current_location,username, website FROM user WHERE uid="+b);c.wait(facebook.authenticateCallback)}},authenticateCallback:function(b){if(b.length){document.cookie="fbuid="+0+";path=/"}else{return}facebook.data=b[0];facebook.data.create=facebook.createProfile||false;facebook.data.link=facebook.link||false;facebook.data.merge=facebook.merge||false;facebook.data.rememberMe=a("#rememberMeCheckbox").attr("checked")||false;facebook.data.city=facebook.data.current_location?common.toJSON(facebook.data.current_location):null;facebook.data.home=facebook.data.hometown_location?common.toJSON(facebook.data.hometown_location):null;delete facebook.data.current_location;delete facebook.data.hometown_location;a.ajax({url:"/dev/authenticateFacebook.json",type:"POST",dataType:"json",data:facebook.data,cache:false,confirmCreate:function(c){if(c){facebook.createProfile=true;facebook.authenticateCallback([facebook.data])}else{facebook.createProfile=false}},confirmMerge:function(c){if(c){facebook.merge=true;facebook.authenticateCallback([facebook.data])}else{facebook.merge=false}},success:function(l){var f=l.entity;var e=f.created||f.linked;if(e){var d=common.getCookie("ownRefid");var c="http://tongal.com/"+(d?"?refid="+d:"");var h={name:"",href:c,caption:"Tongal facilitates the creation of video content by bridging the gap between those who create it and those who need it.",media:[{type:"image",src:"http://tongal.com/images/for-creative.png",href:c}]};var j=[{text:"Go to Tongal",href:c}];facebook.publishStatus({message:"I just joined Tongal! Tongal offers creative people the unique opportunity to work with companies that need new and original video content.",attachment:h,links:j},0);facebook.doPublishStatus(true)}if(f.ask_create){common.confirm("<p>This Facebook account is not linked with any Tongal account.</p><p>If you already have a Tongal account, then click 'Cancel' and use it to sign-in first.</p> <p>After that, visit the &laquo;edit profile&raquo; section on your My Tongal page to link your Tongal and Facebook accounts.</p><p>If don't have a Tongal account, then click 'OK' to create one.</p>",this.confirmCreate)}else{if(f.ask_merge){common.confirm("<p>This Facebook account is already linked with another Tongal account: <strong>"+f.anotherAccount+"</strong></p><p>If that account is yours then click 'OK'.</p>",this.confirmMerge)}else{if(f.linked||f.alreadyLinked){if(!e){common.refreshPage()}else{setTimeout(common.refreshPage,1500)}}else{if(f.user){if(topBar.redirectOnSignIn){window.location=topBar.redirectOnSignIn;return}topBar.updateUser(l)}else{for(var g in l){var k=document.getElementById(g);if(k){k.innerHTML=l[g]}}}}}}}})}}})(jQuery);
(function($){edit={allowClose:true,editField:function(item,field,width,height,fieldW,fieldH){return edit.editItem("edit-text-property.html",item,field,width,height,"&width="+fieldW+"&height="+fieldH)},editPicture:function(item,field,width,height,pictureWidth,pictureHeight){return edit.editItem("edit-picture.html",item,field,width,height,"&width="+pictureWidth+"&height="+pictureHeight)},editItem:function(editUrl,item,field,width,height,additionalParams){$.fn.colorbox({href:"/dev/"+editUrl+"?item="+encodeURIComponent(common.toJSON(item))+"&field="+field+"&u="+encodeURIComponent(document.location.href)+(additionalParams||"")+"&_="+new Date().getTime(),iframe:true,innerWidth:width,innerHeight:height});return false}};tongalXD.receiveMessage(function(e){var msg=e.data;if(msg.indexOf("changed")==0){edit.allowClose=false}else{if(msg.indexOf("closeColorbox")==0){$.fn.colorbox.close()}else{if(msg.indexOf("saved")==0){common.refreshPage()}else{if(msg.indexOf("goTo:")==0){window.location=msg.substring("goTo:".length)}}}}});$(document).ready(function(){$("[date-format]").each(function(i,e){$(e).datepicker({dateFormat:$(e).attr("date-format"),beforeShow:function(){$("#ui-datepicker-div").maxZIndex()},onSelect:function(date,sender){var callback=$(e).attr("date-callback");if(callback){eval(callback+"("+date+")")}}})});$("[time-format]").each(function(i,e){$(e).timepicker({zIndex:200000,showPeriod:true})});$("[edit-action]").each(function(i,e){var $e=$(e);var caption=$e.attr("edit-caption");var action=$e.attr("edit-action");$e.hoverIntent({over:function(){this.keep=1;if(!this.editAnchor){var $this=$(this);var $a=$('<a href="#" onclick="return '+action+'">'+caption+"</a>");$a.addClass("edit-item");var offset=$this.offset();$("body").append($a);$a.editParent=this;$a.css({zIndex:5000,top:offset.top+"px",left:(offset.left+$this.width()-$a.width()-10)+"px"});$a.hoverIntent({over:function(){$a.keep=1},out:function(){if(!$a.editParent.keep){$a.hide()}$a.keep=0},timeout:200});this.editAnchor=$a}else{this.editAnchor.show()}},out:function(){if(!this.editAnchor.keep){this.editAnchor.hide()}this.keep=0},timeout:500})})})})(jQuery);
$(document).ready(function(){try{$("div#header div#top div.login:not(div.login-box a), [sign-in]").click(function(){$("div.login-box").show();return false});$("div.login-box").click(function(c){c=c||window.event;var b=c.target||c.srcElement;if(b.tagName.toLowerCase()=="a"){window.location=b.href}return false});$("div.login-box input[type=checkbox]").click(function(){var b=$(this).attr("checked");setTimeout("$('div.login-box input[type=checkbox]').attr('checked', "+b+");",100);return false});$("div.login-box label[for=remember-me-cb]").click(function(){var b=$("div.login-box input[type=checkbox]").attr("checked");setTimeout("$('div.login-box input[type=checkbox]').attr('checked', "+!b+");",100);return false});$("body").click(function(){var c=$(this);var b=c.parents(".login");if(b.length){return false}c.find("div.login-box").hide();$(".ac_results").hide()});$("div#slideshow div.slides").cycle({slideExpr:" .slide",cleartypeNoBg:" true",fx:"scrollHorz",next:".right-arrow",prev:".left-arrow",timeout:60000,pager:".controls"})}catch(a){}});
$(document).ready(function(){$("body.new-home div#content div.tabs li a").click(function(){$("div#content div.tabs li a").removeClass("active");$(this).addClass("active");$("div#content div.tab-content").removeClass("active");$("div#"+$(this).attr("rel")+"-content").addClass("active");return false});$("div.tabs ul.tabs-strip li a").click(function(){$("div.tabs ul.tabs-strip li").removeClass("active");$(this).parent().addClass("active");$("div.user-info div.tabs div.tab-content").removeClass("active");$("div#"+$(this).attr("rel")+"-content").addClass("active");return false});$("div.tabs ul.tabs-strip1 li a").click(function(){if(this.href.indexOf("#")<0){return true}$("div.tabs ul.tabs-strip1 li").removeClass("active");$(this).parent().addClass("active");$("div.box2 div.box2-bottom div.column2 div.tabs div.tab-content").removeClass("active");$("div#"+$(this).attr("rel")+"-content").addClass("active");return false});$("div.tabs ul.tabs-strip4 li a").click(function(){$("div.tabs ul.tabs-strip4 li").removeClass("active");$(this).parent().addClass("active");$("div.video-gallery > div.tab-content").removeClass("active");$("div#"+$(this).attr("rel")+"-content").addClass("active");return false});$("div.video-gallery div#winning-videos-tab-content ul.tabs-strip5 li a").click(function(){$("div.tabs div#winning-videos-tab-content ul.tabs-strip5 li").removeClass("active");$(this).parent().addClass("active");$("div.video-gallery div#winning-videos-tab-content div.tab-content").removeClass("active");$("div#"+$(this).attr("rel")+"-content").addClass("active");return false});$("div.video-gallery div#staff-picks-tab-content ul.tabs-strip5 li a").click(function(){$("div.tabs div#staff-picks-tab-content ul.tabs-strip5 li").removeClass("active");$(this).parent().addClass("active");$("div.video-gallery div#staff-picks-tab-content div.tab-content").removeClass("active");$("div#"+$(this).attr("rel")+"-content").addClass("active");return false});$("div.winning-videos ul.tabs-strip5 li a").click(function(){$("div.winning-videos ul.tabs-strip5 li").removeClass("active");$(this).parent().addClass("active");$("div.winning-videos div.tab-content").removeClass("active");$("div#"+$(this).attr("rel")+"-content").addClass("active");return false});$("div#content div.two-column-layout3 ul.tabs-strip6 li a").click(function(){$("div#content div.two-column-layout3 ul.tabs-strip6 li").removeClass("active");$(this).parent().addClass("active");$("div#content div.two-column-layout3 div.tabs div.tab-content").removeClass("active");$("div#"+$(this).attr("rel")+"-content").addClass("active");return false});$("div#content div.three-column-layout1 div#main div.overview ul.tabs-strip2 li a").click(function(){$("div#content div.three-column-layout1 div#main div.overview ul.tabs-strip2 li").removeClass("active");$(this).parent().addClass("active");$("div#content div.three-column-layout1 div#main div.overview div.tab-content").removeClass("active");$("div#"+$(this).attr("rel")+"-content").addClass("active");return false});$("div#content div.three-column-layout1 div#main div.awards ul.tabs-strip3 li a, div#content div.inner-main ul.tabs-strip3 li a").click(function(){$("div#content div.three-column-layout1 div#main div.awards ul.tabs-strip3 li,div#content div.inner-main ul.tabs-strip3 li").removeClass("active");$(this).parent().addClass("active");$("div#content div.three-column-layout1 div#main div.awards div.tab-content, div#content div.inner-main div.tab-content").removeClass("active");$("div#"+$(this).attr("rel")+"-content").addClass("active");return false})});
(function(a){popups={popupStatus:{},loadPopup:function(b){if(!popups.popupStatus[b]){a("#popup-background").css({opacity:"0.7"});a("#popup-background").show();a(b).show();popups.popupStatus[b]=1}},disablePopup:function(){for(var b in popups.popupStatus){if(popups.popupStatus[b]){a("#popup-background").hide();a(b).hide();delete popups.popupStatus[b]}}},centerPopup:function(d){var c=a(window).width();var g=a(window).height();var b=a(d);var f=b.height();var e=b.width();b.css({position:"absolute",top:((g-f)/2+a(window).scrollTop())+"px",left:((c-e)/2+a(window).scrollLeft())+"px"});a("#popup-background").css({width:c,height:window.top.document.body.scrollHeight})},showSignIn:function(){popups.disablePopup();setTimeout("$('div.login-box').show();$('#email-field').focus();",157);return true},showPopup:function(b){if(b){popups.loadPopup("#"+b);popups.centerPopup("#"+b)}}};a(document).ready(function(){a("a[popup],a[requires-sign-up]").each(function(c,d){var b=a(d);b.click(function(){var e=b.attr("popup");if(!topBar.user&&b.attr("requires-sign-up")){e=b.attr("requires-sign-up")}if(!e&&topBar.user&&b.attr("requires-sign-up")){if(!b.attr("pass-signed")){common.showMessage("You've already joined!","Info")}else{return true}}else{document.cookie="prevUrl="+a(d).attr("href")+";path=/;expires="+new Date(new Date().getTime()+600000).toUTCString()+";path=/;";popups.showPopup(e)}return false})});a(".close").click(function(){popups.disablePopup()});a("#popup-background").click(function(){popups.disablePopup()});a(document).keypress(function(b){if(b.keyCode==27){popups.disablePopup()}})})})(jQuery);
(function($){if(!window.common){$.ajaxSetup({beforeSend:function(request){common.parseParameters();if(this.type=="GET"&&common.params.userId){this.url=this.url+(this.url.indexOf("?")<0?"?":"&")+"userId="+common.params.userId}},error:function(event,request,options,error){if(event.status==401){common.showMessage("You need to be signed-in to perform this action","Unauthenticated");return}if(event.status==403){common.setLocation("/dev/403.html");return}if(event.status&&window.location.href.indexOf("401.html")<0&&window.location.href.indexOf("403.html")<0&&window.location.href.indexOf("404.html")<0&&window.location.href.indexOf("500.html")<0&&window.location.href.indexOf("503.html")<0){document.cookie="from_page="+encodeURIComponent(window.location.href)+";path=/;expires="+new Date(new Date().getTime()+600000).toUTCString()+";";document.cookie="referrer_page="+encodeURIComponent(document.referrer)+";path=/;expires="+new Date(new Date().getTime()+600000).toUTCString()+";"}common.parseParameters()}});common={shown:null,setLocation:function(location){if(window.location.href.indexOf(location)<0){window.location=(location)}},closeEditForm:function(){$.fn.colorbox.close()},getCookie:function(name){var cookies=document.cookie.split(";");var nameEQ=name+"=";for(var i=0;i<cookies.length;i++){var c=cookies[i].replace(/(^\s+)/,"");if(!c.indexOf(nameEQ)){c=decodeURIComponent(c.substr(nameEQ.length));return c}}return null},toggle2:function(item){var display=item.css("display");item.css("display",display=="none"?"block":"none")},refreshPage:function(withHash,timeout){if(timeout){return setTimeout("common.refreshPage("+(withHash||false)+")",timeout)}if(!withHash&&window.location.hash&&window.location.hash.indexOf("sign-in")){window.location=window.location.href.substring(0,window.location.href.indexOf("#"))}else{window.location.reload(true)}},showErrors:function(r){var errors="";for(var name in r.errors){if(r.errors[name]){$("#"+name.replace(/\./g,"-")+"-error").html(r.errors[name]);$('form [name="'+name+'"]').addClass("error-input");if(errors.length>0){errors+=", "}errors+=r.errors[name]}}if(r.errorMessage){common.showMessage(r.errorMessage,"Error");errors=r.errorMessage}return errors},checkCboxReady:function(e){e=e||window.event;var src=(e&&(e.target||e.srcElement))||this;return $(src).attr("cboxattached")=="1"},popupDivBgId:"show-message-popup-bg",popupDivId:"show-message-popup",popupDivContentId:"show-message-popup-content",showAutohideMessage:function(message,title){common.showMessage(message,title);setTimeout("common.hideMessage();",5500)},showMessage:function(message,title,buttons,div,handler){var popupDivId=div||this.popupDivId;if(!$("#"+popupDivId).length){$("body").append('<div id="'+popupDivId+'"></div>');$("body").append('<div id="'+this.popupDivContentId+'"></div>');common.createRoundCornerDiv(popupDivId,this.popupDivContentId)}if(message==tables.stripHtml(message)){message="<p>"+message+"</p>"}var content=$("#"+this.popupDivContentId);var popup=$("#"+popupDivId);common.blockPage();popup.css("position","fixed");popup.css("top","-10500px");content.empty();if(title){content.append('<div class="title"><h3>'+title+"</h3></div>")}content.append(message);buttons=buttons||[{caption:"OK",handler:"common.hideMessage('"+popupDivId+"');"+(handler||"")}];var buttonsHTML='<div style="float:right"><nobr>';for(var i=0;i<buttons.length;i++){buttonsHTML+='<span class="primary-button vil-track-clicks" style="margin-left:15px;"><input type="button" onclick="'+buttons[i].handler+'" value="'+buttons[i].caption+'" /></span>'}buttonsHTML+="</nobr></div>";content.append(buttonsHTML);common.showCenteredPopup(popup);if(!common.disableEnterOnShowMessage){content.find("input[type=text], input[type=password]").bind("keydown",function(e){e=e||window.event;if(e.keyCode==13){content.find("input[value=OK]").click();return false}else{return true}})}return popup},showMessage3:function(message,title,buttons,div,handler){var popupDivId=div||this.popupDivId;if(!$("#"+popupDivId).length){$("body").append('<div id="'+popupDivId+'"></div>');$("body").append('<div id="'+this.popupDivContentId+'"></div>')}if(message==tables.stripHtml(message)){message="<p>"+message+"</p>"}var $popWrapper=$('<div class="pop-wrapper"></div>');var $popGeneric=$('<div class="pop-generic"></div>');var $wrapper=$('<div class="wrapper"></div>');var $aClose=$('<a class="close" href="#"></a>');var $heading=$('<div class="heading"></div>');var $header=$("<h3></h3>");var $bottom=$('<div class="pop-generic-bottom"></div>');$header.html(title||"Information");$popWrapper.append($popGeneric);$popGeneric.append($wrapper);$wrapper.append($aClose);$wrapper.append($heading);$wrapper.append(message);$popGeneric.append($bottom);var content=$("#"+this.popupDivContentId);var popup=$("#"+popupDivId);popup.append($popWrapper);common.blockPage();popup.css("position","fixed");popup.css("top","-10500px");content.empty();buttons=buttons||[{caption:"OK",handler:"common.hideMessage('"+popupDivId+"');"+(handler||"")}];var buttonsHTML="";for(var i=0;i<buttons.length;i++){buttonsHTML+='<input type="button" class="univ-btn vil-track-clicks" value="'+buttons[i].caption+'" onclick="'+buttons[i].handler+'"/>'}$aClose.click(function(){eval("common.hideMessage('"+popupDivId+"');"+(handler||""))});$bottom.append(buttonsHTML);common.showCenteredPopup(popup);if(!common.disableEnterOnShowMessage){content.find("input[type=text], input[type=password]").bind("keydown",function(e){e=e||window.event;if(e.keyCode==13){content.find("input[value=OK]").click();return false}else{return true}})}return popup},showCenteredPopup:function(popup,zindex){popup.css("position","fixed");popup.show();var height=popup.height();var width=popup.width();popup.hide();popup.css("top",($(window).height()-height)/2);popup.css("left",($(window).width()-width)/2);popup.css("z-index",10000000);popup.show()},hideMessage:function(div){$("#"+(div||this.popupDivId)).hide();common.releasePage()},blockPage:function(){if(!$("#"+this.popupDivBgId).length){$("body").append('<div id="'+this.popupDivBgId+'"></div>')}var bg=$("#"+this.popupDivBgId);bg.css({width:$(window).width()+"px",height:$(window).height()+"px",position:"fixed",top:0,left:0,backgroundColor:"black",opacity:0.7,zIndex:29000});bg.show()},releasePage:function(){$("#"+this.popupDivBgId).hide()},showEmbed:function(){common.showMessage($("#embedMenu").html());$("input.embedText").val(common.embedCode);$("input[selectable=true]").click(function(){this.select()});return false},showPermalinkDialog:function(){common.showMessage($("#permalinkDialog").html());$("input[selectable=true]").click(function(){this.select()});return false},confirmCallback:function(r){this.hideMessage();this.confirmCallbackFunction(r)},confirm:function(message,callback,title){this.confirmCallbackFunction=callback;return this.showMessage(message,title||"Confirmation",[{caption:"OK",handler:"common.confirmCallback(1);"},{caption:"Cancel",handler:"common.confirmCallback(0);"}])},showContent:function($container,$animation){if(this.shown){this.hideContent(this.shown.container,this.shown.animation)}this.shown={container:$container,animation:$animation};$($container).show($animation,"",500);$($container+" .mceEditor").each(function(){tinyMCE.execCommand("mceAddControl",false,this.id)});if(window.vil&&vil.infobubbles){vil.infobubbles.init()}return false},hideTimout:null,hideContent2:function($container){this.hideTimeout=setTimeout('common.hideContent("'+$container+'");',500)},hideContent:function($container,$animation){this.hideTinyMCE($container);this.shown=null;$($container).hide($animation||"","",500);return false},hideTinyMCE:function($container){$($container+" .mceEditor").each(function(i,element){if(tinyMCE.get(element.id)){tinyMCE.execCommand("mceRemoveControl",false,element.id)}})},showQuickView2:function($container,$parent,$category){if(this.hideTimeout){clearTimeout(this.hideTimeout)}$category=$category||this;if($category.shown){this.hideContent($category.shown.container,"")}$category.shown={container:$container,animation:""};$(".quick-view").hide("","",500);var offset=$($parent).offset();var jContainer=$($container);if(jContainer.length){jContainer.show("","",0);var element=jContainer[0];var width=element.clientWidth;var height=element.clientHeight;jContainer.css({position:"fixed","z-index":100000});var top=(offset.top-(height-80)/2-20-$(window).scrollTop());if(top<0){top=0}if(top+height>$(window).height()){top=$(window).height()-height-20}jContainer.css("top",Math.min(top,100)+"px");jContainer.css("left",Math.max(20,(($(window).width()-width)/2-$(window).scrollLeft()))+"px");if(jContainer.attr("tabparam")){common.setAjaxParameter(jContainer.attr("tabparam"),$container)}}return false},clearElement:function(element){if(element&&element.hasChildNodes()){while(element.childNodes.length){element.removeChild(element.firstChild)}}},isEmpty:function(element){return element.innerHTML.replace(/(<[^>]*>)/g,"").replace(/(\s+)|(&nbsp;)/g,"").length==0},pendingAjaxCalls:{},setLoading:function(containerId){if(containerId.constructor==String&&containerId.indexOf("-tab-area")>=0){return}var container=containerId.constructor==String?document.getElementById(containerId):containerId;if(container){container.tngLoading=1;this.pendingAjaxCalls[containerId]=setTimeout("common.doSetLoading('"+containerId+"');",200)}},stopLoading:function(containerId,force){try{if(common.IE&&containerId.constructor==String&&containerId.indexOf("-tab-area")>=0){return}var container=containerId.constructor==String?document.getElementById(containerId):containerId;container.tngLoading=0;clearTimeout(this.pendingAjaxCalls[containerId]);$(container.parentNode).find("div.loading-indicator").remove();$(container).show();if(!force&&containerId.constructor==String){setTimeout("$('#"+containerId+"').show();",500)}if(force&&containerId.constructor==String){$("#"+containerId).show()}}catch(e){}},insertAfter:function(what,after){var parent=after.parentNode;if(after.nextSibling){parent.insertBefore(what,after.nextSibling)}else{parent.appendChild(what)}},doSetLoading:function(containerId){var container=document.getElementById(containerId);if(container&&container.tngLoading){var indicator=$(container).parent().find("div.loading-indicator");if(!indicator.length){var loadingDiv=document.createElement("div");loadingDiv.className="loading-indicator";loadingDiv.style.width="100%";loadingDiv.style.height="20%";loadingDiv.style.textAlign="center";loadingDiv.style.verticalAlign="middle";var img=new Image();img.src="/v2/images/loading-indicator.gif";img.style.border="none";img.style.margin="20px";loadingDiv.appendChild(img);common.insertAfter(loadingDiv,container)}else{indicator.show()}$(container).hide(500)}},parseParameters:function(force){if(!this.params||force){this.params={};this.ajaxParams={};this.parseRequestParameters(document.location.href);this.parseAjaxParameters(document.location.hash)}},parseRequestParameters:function(url){var i;var index=url.indexOf("?");var hash=url.indexOf("#",index);if(hash<0){hash=url.length}if(index>=0){var _params=url.substring(index+1,hash);var items=_params.split("&");for(i=0;i<items.length;i++){var nameValue=items[i].split("=");this.params[nameValue[0]]=nameValue[1]}}else{var mapping={project:"projectId",submission:"submissionId",phase:"phaseId",profile:"userId",user:"userId",group:"groupId","eval":"eval",subs:"subs",fb:"fb",reminderId:"reminderId",email:"email",sc:"sc"};for(i in mapping){var path="/"+i+"/";index=url.indexOf(path);if(index>0){var start=index+path.length;var end=url.indexOf("/",start);if(end<0){end=hash}this.params[mapping[i]]=url.substring(start,end)}}}},parseAjaxParameters:function(_params){if(_params){_params=_params.replace(/(^#!)|(^#)/,"");var items=_params.split("&");for(var i=0;i<items.length;i++){var nameValue=items[i].split("_");this.ajaxParams[nameValue[0]]=nameValue[1]}}},setAjaxParameter:function(name,value){if(value){this.ajaxParams[name]=value}else{delete this.ajaxParams[name]}var params="";for(var i in this.ajaxParams){if(i&&this.ajaxParams[i]){if(params.length>0){params+="&"}params+=i+"_"+this.ajaxParams[i]}}window.location.hash="!"+params},attachPrizeExpandCollapse:function(){$(".phase-prizes").show();$("h3.trigger").toggle(function(){$(this).addClass("closed")},function(){$(this).removeClass("closed")});$("h3.trigger").click(function(){$(this).next(".phase-prizes").slideToggle(500)});var popups=$(".video-pop");if(multimedia.html5){popups.each(function(i,src){src=$(src);src.attr("href",src.attr("submissionpage"))})}else{if(!common.ie7&&!common.ie8){popups.colorbox()}}popups.attr("cboxattached","1");popups.find("img").attr("cboxattached","1");common.attachPopups()},attachPopups:function(){if(this.attachPopupsTimeout){clearTimeout(this.attachPopupsTimeout)}this.attachPopupsTimeout=setTimeout("common.doAttachPopups();",1000)},doAttachPopups:function(){this.attachPopupsTimeout=null;var anchors=$("a[popupid]");anchors.each(function(i,a){var div=$("#"+a.getAttribute("popupid"));if(div.length){div[0].anchor=a}});anchors=$("a[popupid],div.quick-view");anchors.each(function(i,a){var $a=$(a);$a.unbind();$a.bind("mouseover",common.anchorMouseOver);$a.bind("mouseout",common.anchorMouseOut);if(a.tagName.toLowerCase()=="div"){var $close=$a.find("p.closebutton a");$close.unbind();$close.bind("click",common.popupClose)}})},anchorMouseOver:function(e){e=e||window.event;var src=e.target||e.srcElement;while(src.parentNode&&!(src.className=="quick-view"||src.getAttribute("popupid"))){src=src.parentNode}common.showQuickView2("#"+(src.getAttribute("popupid")||src.id),src.anchor||src)},anchorMouseOut:function(e){e=e||window.event;var src=e.target||e.srcElement;while(src.parentNode&&!(src.className=="quick-view"||src.getAttribute("popupid"))){src=src.parentNode}common.hideContent2("#"+(src.getAttribute("popupid")||src.id))},popupClose:function(e){e=e||window.event;var src=e.target||e.srcElement;while(src.parentNode&&src.className!="quick-view"){src=src.parentNode}$(src).hide(200);return false},createInvisibleDiv:function(id){var div=document.getElementById(id);if(!div){div=document.createElement("div");div.id=id;div.style.position="absolute";div.style.top="-10500px";document.getElementsByTagName("body")[0].appendChild(div)}return div},createRoundCornerDiv:function(parentId,contentId){var parent=document.getElementById(parentId);var content=document.getElementById(contentId);if(!content){return}content.style.display="block";var classes=[["TL","T","TR"],["L","C","R"],["BL","B","BR"]];var t=document.createElement("table");t.setAttribute("cellspacing","0");t.setAttribute("cellpadding","0");t.className="corners";parent.appendChild(t);var ccell;for(var i=0;i<3;i++){var row=t.insertRow(i);for(var j=0;j<3;j++){var cell=row.insertCell(j);cell.className="corner_"+classes[i][j];if(i==j&&i==1){ccell=cell}}}t.cvMiddleCell=ccell;ccell.appendChild(content);return ccell},ie6:/MSIE (5\.5|6).+Win/.test(navigator.userAgent),ie7:/MSIE 7/.test(navigator.userAgent),ie8:/MSIE 8/.test(navigator.userAgent),IE:/MSIE .+Win/.test(navigator.userAgent),FF:/Firefox/.test(navigator.userAgent),iPad:/(iPad)|(iPhone)/i.test(navigator.userAgent),android:/(android)/i.test(navigator.userAgent),GChrome:/Chrome/i.test(navigator.userAgent),safari:/Apple/.test(navigator.userAgent),escape:{"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\","&":"\\u0026"},escapeChar:function(c){if(!this.escape[c]){this.escape[c]="\\u"+("0000"+(+(c.charCodeAt(0))).toString(16)).slice(-4)}return this.escape[c]},escapeString:function(s,quotes){if(!s){return""}var parts=s.split("");for(var i=0;i<parts.length;i++){var c=parts[i];var cc=c.charCodeAt(0);if(c=='"'||c=="&"||c=="\\"||cc<32||cc>=128){parts[i]=this.escapeChar(parts[i])}}return quotes?'"'+parts.join("")+'"':parts.join("")},toJSON:function(o){if(window.JSON){return JSON.stringify(o)}if(o==null){return"null"}if(o.constructor==String){return common.escapeString(o,1)}if(o.constructor==Number||o.constructor==Boolean){return o.toString()}var v=[];if(o&&o.constructor==Array){for(var i=0;i<o.length;i++){v.push(common.toJSON(o[i]))}return"["+v.join(",")+"]"}else{for(var attr in o){if(o[attr]==null){v.push('"'+attr+'": null')}else{if(typeof o[attr]!="function"){v.push(common.escapeString(attr)+": "+common.toJSON(o[attr]))}}}return"{"+v.join(",")+"}"}},checkAuthenticated:function(){$.ajax({url:"/dev/checkAuthenticated.json",dataType:"json",cache:false,success:function(){}})},getStarted:function(){if(topBar.user){common.setLocation("/home.shtml")}else{common.showContent("#registration")}},attachAjaxTabs:function(){$("a").each(function(i,link){var href=link.href;if(href&&href.indexOf("#")>=0&&href.indexOf("javascript:")<0){var jlink=$(link);if(!jlink.attr("attachedAnchor")){var subparam=jlink.attr("tabparam");if(href.length>href.indexOf("#")+1||(subparam&&subparam.indexOf("hide_")==0)){jlink.click(common.clickAnchor);jlink.attr("attachedAnchor",1)}}}})},clickAnchor:function(e){e=e||window.event;var link=e.target||e.srcElement;while(link&&link.tagName&&link.tagName.toLowerCase()!="a"){link=link.parentNode}if(link&&link.tagName.toLowerCase()=="a"){var tab=link.getAttribute("tabparam")||"tab";if(link.getAttribute("defaultLink")=="true"&&!document.location.hash){}else{if(tab.indexOf("hide_")==0){common.setAjaxParameter(tab.substring(5))}else{common.setAjaxParameter(tab,link.href.substring(link.href.indexOf("#")+1))}}}return false},chooseAjaxTab:function(defaultTab,tabParam){if(defaultTab=="#NONE"){defaultTab=null}var clicked=0;var tabIndex=tabParam||"tab";common.parseParameters();if(common.ajaxParams){common.ajaxParams[tabIndex]=common.ajaxParams[tabIndex]||defaultTab;if(common.ajaxParams[tabIndex]){var activeTab=$('a[href="#'+common.ajaxParams[tabIndex]+'"]');if(!activeTab.length){activeTab=$('a[href="#'+defaultTab+'"]')}if(clicked=activeTab.length){activeTab.click()}}}return clicked},reportError:function(code){if(code){$.ajax({type:"GET",code:code,url:"/dev/reportError.json?url="+encodeURIComponent((common.getCookie("from_page")||window.location.href)+" "+(common.getCookie("referrer_page")||""))+"&code="+code,cache:false,dataType:"text",success:function(){},error:function(event,request,options,error){setTimeout("common.reportError("+code+");",1000)}})}},toggleContent:function(src){$(src).slideToggle("slow");return false},tabNavigation:function(){var tabContainers=$("div.tab-content > div");common.parseParameters();var click=$("div.tab-container ul.tabs a").click(function(){tabContainers.hide().filter(this.hash).show();$("div.tab-container ul.tabs a").removeClass("selected");$(this).addClass("selected");return false});if(!common.chooseAjaxTab()){click.filter(":first").click()}},createCheckboxWithLabel:function(parent,checkboxId,caption,checkboxFirst){var label;var checkbox;if(parent.addEventListener){checkbox=document.createElement("input");checkbox.type="checkbox";checkbox.name=checkboxId;checkbox.id=checkboxId;label=document.createElement("label");label.setAttribute("for",checkbox.id);label.style.cursor="pointer"}else{checkbox=document.createElement('<input type="checkbox" name="'+checkboxId+'" id="'+checkboxId+"/>");label=document.createElement('<label for="'+checkboxId+'"/>')}label.innerHTML=caption;var elements;if(checkboxFirst){elements=[checkbox,label]}else{elements=[label,checkbox]}parent.appendChild(elements[0]);parent.appendChild(elements[1]);return checkbox},replaceFacebookImage:function(){if(!$("#RES_ID_fb_login_image").length){setTimeout("common.replaceFacebookImage();",1000);return}$(".fbconnect_login_button img").attr("src","http://tongal.com/v2/images/facebook.png")},showBlanket:function(){var blanket=$("#dialog-blanket");if(!blanket.length){$('<div id="dialog-blanket">').css({position:"absolute",top:0,left:0,height:$(document).height(),width:"100%",opacity:0.7,backgroundColor:"black",zIndex:5000}).appendTo(document.body).hide();blanket=$("#dialog-blanket")}blanket.fadeIn(500)},hideBlanket:function(){$("#dialog-blanket").fadeOut(500)},hideMessage2:function(item){var id=item?item.attr("id"):"messageDialog_"+common.dialog;$("#"+id).qtip("api").hide()},showMessage2:function(title,message,dialogId){var html=message.constructor==String;if(html){return}if(!common.dialog){common.dialog=1}else{common.dialog++}dialogId=dialogId||"";dialogId+=common.dialog;var id="messageDialog_"+common.dialog;var item=$('<div id="'+id+'"></div>');$("body").append(item);var options={content:{title:{text:title,button:'<img src="/v2/images/closebutton.png"/>'},text:html?dialogId?message.replace(/@id@/g,dialogId):message:"Loading...",url:html?null:message.url+"&formId="+dialogId},position:{target:$("body"),when:"dblclick",type:"absolute",corner:"center",adjust:{scroll:false,screen:false}},show:{ready:true,solo:false},hide:true,style:{width:{max:1000},padding:"14px",border:{width:9,radius:9,color:"#666666"},name:"light"}};item.qtip(options);return item},redirectToHomePage:function(){window.location="http://tongal.com//dev/home.html"},showCboxPopup:function(sender,width,height){$.fn.colorbox({href:$(sender).attr("href"),iframe:true,innerWidth:width,innerHeight:height,onComplete:function(){$("#cboxLoadedContent").css({backgroundColor:"#FFF"})}});return false}}}if(!window.multimedia){multimedia={html5:common.iPad||common.android,swfVersion:28}}if(!window.tables){tables={eventCopy:function(from,to){from=(from.jquery)?from:$(from);to=(to.jquery)?to:$(to);var events;if(!from.size()||!(events=from[0].events||from[0].$events)||!to.size()){return}to.each(function(){for(var type in events){for(var handler in events[type]){$.event.add(this,type,events[type][handler],events[type][handler].data)}}})},addListener:function(element,eventType,callback){if(element){if(element.length===undefined||element===window){element=[element]}for(var j=0;j<element.length;j++){var events=eventType.split(/(\s*,\s*)/);for(var i=0;i<events.length;i++){try{if(element[j]){if(element[j].attachEvent){element[j].attachEvent("on"+events[i],callback)}else{if(element[j].addEventListener){element[j].addEventListener(events[i],callback,0)}}}}catch(err){}}}}},copyElement:function(from,to){common.clearElement(to);if(from.className){to.className=from.className}var children=from.childNodes;if(!children){return}for(var i=0;i<children.length;i++){var c=children[i];if(c.tagName){var node=document.createElement(c.tagName);this.copyElement(c,node);node.sourceElement=c;this.addListener(node,"click",function(e){e=e||window.event;var target=e.target||e.srcElement;if(target&&target.sourceElement){$(target.sourceElement).click()}});to.appendChild(node)}else{if(c.nodeValue){to.appendChild(document.createTextNode(c.nodeValue))}}}},stripHtml:function(s){return s&&s.replace(/(<[^>]*>)/g,"")},init:function(){if(this.inited){return}this.inited=1;$.fn.dataTableExt.aTypes.push(tables.columnTypeDetector);$.fn.dataTableExt.oSort["numeric-comma-asc"]=tables.numeric_comma_asc;$.fn.dataTableExt.oSort["numeric-comma-desc"]=tables.numeric_comma_desc;$.fn.dataTableExt.oSort["voting-points-asc"]=tables.voting_points_asc;$.fn.dataTableExt.oSort["voting-points-desc"]=tables.voting_points_desc;$.fn.dataTableExt.oSort["rank-asc"]=tables.rank_asc;$.fn.dataTableExt.oSort["rank-desc"]=tables.rank_desc;$.fn.fireEvent=function(eventType){return this.each(function(){var event;if(document.createEvent){event=document.createEvent("HTMLEvents");event.initEvent(eventType,true,true);return !this.dispatchEvent(event)}else{event=document.createEventObject();return this.fireEvent("on"+eventType,event)}})}},columnTypeDetector:function(sData){sData=tables.stripHtml(sData).replace(/(^\s+)|(\s+$)/g,"");if(/^\d+\s->\s\[/.test(sData)){return"voting-points"}if(/^((\$|#)[\d,\.]+)|(Pending)$/.test(sData)||sData==""){return"rank"}var sValidChars="0123456789-,.";var Char;var bDecimal=0;for(var i=0;i<sData.length;i++){Char=sData.charAt(i);if(sValidChars.indexOf(Char)==-1){return null}if(Char==","||Char=="."){if(bDecimal){return null}bDecimal=1}}return"numeric-comma"},numeric_comma_asc:function(a,b){var x=(a=="-")?0:tables.stripHtml(a).replace(/,/,".").replace(/\s+|\+/g,"");var y=(b=="-")?0:tables.stripHtml(b).replace(/,/,".").replace(/\s+|\+/g,"");x=parseFloat(x);y=parseFloat(y);return((x<y)?-1:((x>y)?1:0))},numeric_comma_desc:function(a,b){return -tables.numeric_comma_asc(a,b)},voting_points_asc:function(a,b){a=tables.stripHtml(a);b=tables.stripHtml(b);var x=a.substring(0,a.indexOf(" "));var y=b.substring(0,b.indexOf(" "));x=parseInt(x);y=parseInt(y);return x-y},voting_points_desc:function(a,b){return -tables.voting_points_asc(a,b)},rank_asc:function(a,b){a=tables.stripHtml(a).replace(/Pending/,"");b=tables.stripHtml(b).replace(/Pending/,"");if(a==""&&b!=""){return 1}if(b==""&&a!=""){return -1}if(b==""&&a==""){return 0}var c1=a.charAt(0);var c2=b.charAt(0);if(c1=="#"&&c2=="$"){return 1}if(c2=="#"&&c1=="$"){return -1}a=a.replace(/,/g,"");b=b.replace(/,/g,"");var x=parseFloat(a.substring(1));var y=parseFloat(b.substring(1));return c1=="#"?x-y:y-x},rank_desc:function(a,b){return -tables.rank_asc(a,b)}};tables.init()}if(!window.documentsDownload){documentsDownload={toggleContent:function(src){var div=$(src.href.substring(src.href.indexOf("#")));var form=$("#formContent");div.html(form.html());div.find("form").attr("action",div.attr("fileurl"));div.slideDown("slow");return false}}}$(function(){common.tabNavigation()});$(document).ready(function(){if(common.ie6){common.setLocation("/browser-not-supported.shtml");return}$("a[contentlink]").click(function(e){e=e||window.event;var src=e.target||e.srcElement;while(src.tagName.toLowerCase()!="a"){src=src.parentNode}src=$(src);rpc.loadAjaxContent(src.attr("contentlink"),src.attr("href").substring(src.attr("href").indexOf("#")+1));return false});common.chooseAjaxTab();common.attachPrizeExpandCollapse();if($("#signin").length){common.createRoundCornerDiv("signin","signin-content");$("#signin input").bind("keydown",function(e){e=e||window.event;if(e.keyCode==13){topBar.signin();return false}else{return true}})}if($("#registration").length){common.createRoundCornerDiv("registration","registration-content");$("#registration input, #registration select").bind("keydown",function(e){e=e||window.event;if(e.keyCode==13){topBar.register();return false}else{return true}})}if($("#reset-password").length){common.createRoundCornerDiv("reset-password","reset-password-content")}common.tzo=new Date().getTimezoneOffset();document.cookie="timezoneOffset="+escape(common.tzo*(-1))+";path=/;expires="+new Date(new Date().getTime()+6000000000).toUTCString()+";";$(".watch-video").colorbox();common.attachAjaxTabs();$("#main-nav li a").click(function(){common.params={}});if(window.facebook){facebook.init()}common.replaceFacebookImage()})})(jQuery);$(document).ready(function(){$("[coming-soon]").click(function(){common.showMessage("Not yet ready. Coming soon.");return false});$("div[link]").click(function(){window.location=$(this).attr("link")});$("a[toggle]").click(function(){var a=$(this).attr("toggle");$('[section="'+a+'"]').toggle();return false});$(".twitter-popup").click(function(e){var c=575;var a=400;var g=($(window).width()-c)/2;var f=($(window).height()-a)/2;var b=this.href;var d="status=1,width="+c+",height="+a+",top="+f+",left="+g;window.open(b,"twitter",d);return false})});
(function($){rpc={buildQueryString:function(params,noCache){if(!params){return""}if(noCache){params._=new Date().getTime()}var queryString="";for(var i in params){if(params[i]!==null&&params[i]!==undefined){if(queryString.length>0){queryString+="&"}if(params[i].constructor==Object){queryString+=i+"="+encodeURIComponent(common.toJSON(params[i]))}else{queryString+=i+"="+encodeURIComponent(params[i])}}}return queryString==""?"":"?"+queryString},makeJsonCall:function(method,params,successMessage,callback){rpc.doMakeJsonCall(method,params,successMessage,callback);return false},doMakeJsonCall:function(method,params,successMessage,callback){$.ajax({url:"/dev/"+method+".json"+rpc.buildQueryString(params),dataType:"json",cache:false,success:function(response){if(response.errorMessage){common.showMessage(response.errorMessage,"Error")}else{if(successMessage){if(successMessage.indexOf("@entity@")>=0){common.showAutohideMessage(successMessage.replace(/(@entity@)/g,response.entity),"Success")}else{common.showAutohideMessage(successMessage,"Success")}}}if(callback){callback(response)}}})},setProperty:function(method,id,value){var params={id:id,value:value};return rpc.makeJsonCall(method,params)},loadAjaxContent:function(link,target){common.setLoading(target);$.ajax({url:link,dataType:"text",cache:false,success:function(html){common.stopLoading(target);$("#"+target).html(html);common.stopLoading(target)}})},ajaxFormSubmit:function(formId,callback){var form=$(formId);form.find(".error").empty();form.find(".error-input").each(function(i,e){$(e).removeClass("error-input")});rpc.clearHints(form);var validate=form.attr("validate");if(validate){var valid=eval(validate);if(!valid){return}}var $form=form;if(form[0].tagName.toLowerCase()!="form"){$form=$("<form></form>");$form.append(form.find("input,textarea,select"))}if($form.find('input[type="file"]').length){$form.attr("enctype","multipart/form-data");$form.attr("method","POST")}$form.ajaxSubmit({url:"/dev/"+form.attr("ajaxaction"),dataType:"json",type:"POST",success:function(r){if(r.success){if(form.attr("successmessage")){common.showAutohideMessage(form.attr("successmessage"),"Success")}if(form.attr("successfulredirect")){window.location=form.attr("successfulredirect")}if(form.attr("callback")){eval(form.attr("callback")+"("+common.toJSON(r.entity)+")")}if(callback){callback.call()}form.find("input[hinttext],textarea[hinttext]").each(function(i,el){var $el=$(el);if($el.val()==""||$el.attr("hinttext")==$el.val()){$el.val($el.attr("hinttext"))}else{$el.prevColor=$el.css("color");$el.css("color","#000")}})}else{var errors=common.showErrors(r);if(form.attr("error-message")){common.showMessage(form.attr("error-message").replace("#errors#",errors),"Error")}}},handleError:function(e){alert(e)}});if(form[0].tagName.toLowerCase()!="form"){form.remove()}},clearHints:function(form){form.find("input[hinttext],textarea[hinttext]").each(function(i,el){var $el=$(el);if($el.val()==$el.attr("hinttext")){$el.val("");$el.prevColor=$el.css("color");$el.css("color","#000")}})},restoreHint:function(form){form.find("input[hinttext],textarea[hinttext]").each(function(i,el){var item=$(el);item.css("color",this.prevColor);item.val(item.attr("hinttext"))})},attachAutocompleteInputs:function(form){$(form).find("input[autocompleteaction]").each(function(i,e){var $e=$(e);var autocompleteaction=$e.attr("autocompleteaction");var autocompletecallback=$e.attr("autocompletecallback");var autocompleteformat=$e.attr("autocompleteformat");var autocompleteoptions=eval("("+($e.attr("autocompleteoptions")||"{}")+")");if(autocompleteaction.indexOf("()")>0){autocompleteaction=eval(autocompleteaction)}var formatItem=autocompleteformat?eval(autocompleteformat):function(data,i,n,value){return data[0]};if($e.attr("autocompleteAttached")){$.extend(autocompleteoptions,{url:"/dev/"+autocompleteaction});$e.setOptions(autocompleteoptions)}else{$.extend(autocompleteoptions,{formatItem:formatItem});$e.autocomplete("/dev/"+autocompleteaction,autocompleteoptions);$e.result(eval(autocompletecallback))}$e.attr("autocompleteAttached",1)})},attachSubmitControls:function(){$("form[ajaxaction]").each(function(i,e){var inputs=$(e).find("input");inputs.bind("keydown",function(event){event=event||window.event;var src=event.target||event.srcElement;if(event.keyCode==13){if(!$(e).attr("disable-on-enter")){rpc.ajaxFormSubmit(e);return false}}else{return true}});var submits=$(e).find("[ajaxsubmit]");submits.click(function(){if(window.tinyMCE){tinyMCE.triggerSave()}rpc.ajaxFormSubmit(e)})})},processFormHints:function(){var inputs=$("input[hinttext],textarea[hinttext]");inputs.each(function(i,e){var $e=$(e);if($e.initialized){return}$e.initialized=1;if($e.val()==""||$e.attr("hinttext")==$e.val()){$e.val($e.attr("hinttext"))}else{$e.prevColor=$e.css("color");$e.css("color","#000")}$e.bind("focus",function(){var $this=$(this);if($this.val()==$this.attr("hinttext")){$this.val("");this.prevColor=$this.css("color");$this.css("color","#000")}});$e.bind("blur",function(){var $this=$(this);if($this.val()==""){$this.css("color",this.prevColor);$this.val($this.attr("hinttext"))}})})},processJSFields:function(){var inputs=$("input[jsvalue]");inputs.each(function(i,e){var $e=$(e);if($e.initialized){return}$e.initialized=1;var value=$e.attr("jsvalue");try{$e.val(eval(value))}catch(e){}})}};$(document).ready(function(){rpc.attachSubmitControls();rpc.processFormHints();rpc.processJSFields();rpc.attachAutocompleteInputs("form")})})(jQuery);
(function(a){if(!window.topBar){topBar={loadCurrentUser:function(){common.parseParameters();if(common.params.email){a("#registerForm input[name=email-address]").val(common.params.email)}a.ajax({url:"/dev/topbar.json"+(common.params.refid?"?refid="+common.params.refid:""),dataType:"json",cache:false,success:topBar.updateUser})},updateInfoBubbles:function(){if(window.vil&&vil.infobubbles){a("span.vil-infobubble").attr("editable",topBar.superAdmin?"true":"false");vil.infobubbles.init()}else{setTimeout("topBar.updateInfoBubbles();",330)}},userLoadedCallback:[],updateUser:function(f){f=f.entity||{};var d;if(f.news){var b=a("#top div.news ul");b.empty();for(d=0;d<f.news.length;d++){var c=f.news[d];b.append('<li><a href="'+c.url+'">'+(c.title.length>80?c.title.substring(0,80)+"...":c.title)+"</a></li>")}b.cycle({slideExpr:" li",cleartypeNoBg:" true",fx:"fade",timeout:15000})}if(f.socialLogins){var h=a("#social-logins, .social-logins");var g=a(".social-login ul");for(d=0;d<f.socialLogins.length;d++){var e=f.socialLogins[d];h.append('<li class="'+e.name+'"><a href="http://tongal.com/dev/oauthenticate.html?serviceId='+e.id+'&link=false">&nbsp;</a></li>');g.append('<li class="'+e.name+'"><a href="http://tongal.com/dev/oauthenticate.html?serviceId='+e.id+'&link=false">&nbsp;</a></li>')}}if(f.user){topBar.user=f.user;topBar.superAdmin=f.user.superAdmin;if(topBar.userLoadedCallback.length){a.each(topBar.userLoadedCallback,function(j,k){k()})}topBar.updateInfoBubbles();a("#logged-in div p").html(topBar.user.memberProfile.memberName);a("#logged-in").show();a("#non-logged-in").hide();Cufon.replace("#logged-in div p",{fontFamily:"Covered By Your Grace",hover:"True"})}else{a("#logged-in").hide();a("#non-logged-in").show()}a("#user-area-waiting").hide()},checkSigned:function(){if(topBar.user){window.location=topBar.redirectOnSignIn||"/profile/"+topBar.user.id}},isSignedIn:function(){if(!topBar.user){popups.showPopup("register-popup");return false}else{return true}},signedin:function(b){var c=common.getCookie("prevUrl");if(c){document.cookie="prevUrl=;expires=0;path=/;";setTimeout("window.location = '"+c+"';",500)}else{setTimeout("window.location = '/mytongal';",500)}},signin:function(){var b=a("#signinForm").serialize();common.setLoading("signinForm");a(".error").empty();a.ajax({type:"GET",url:"/dev/signin.json",cache:false,data:b,dataType:"json",success:function(d){if(d.user){topBar.updateUser(d);var c=common.getCookie("prevUrl");if(c){document.cookie="prevUrl='';expires=0";setTimeout("window.location = '"+c+"';",500)}else{setTimeout("window.location = '/dev/my-tongal.html?userId=' + r.user.id;",500)}}else{common.stopLoading("signinForm");common.showErrors(d)}}})},signout:function(){a.ajax({type:"GET",url:"/dev/signout.json",cache:false,dataType:"json",success:function(b){if(b.success){topBar.updateUser(b);setTimeout('window.location = "/Welcome";',500)}}})},register:function(){var b=a("#registerForm-2");if(!b.length){b=a("#registerForm")}var c=b.serialize();a("#why-register").hide();common.setLoading("registration-form");a(".error").empty();a.ajax({type:"POST",url:"/dev/register.json",cache:false,data:c,dataType:"json",success:function(e){if(e.success){if(topBar.redirectOnSignIn){window.location=topBar.redirectOnSignIn;return}topBar.updateUser(e);var d=common.getCookie("prevUrl");if(d){document.cookie="prevUrl='';expires=0";setTimeout("window.location = '"+d+"';",500)}else{window.location="/v2/welcome"}}else{a("#why-register").show(500);common.stopLoading("registration-form");for(name in e.errors){a("#"+name+"-error").html(e.errors[name])}}}})},setCurrentMenuItem:function(){var f=document.location;if(f.href.indexOf("/v2/project/")>0){return}var c=a("#main-nav li a");for(var d=0;d<c.length;d++){var b=f.pathname.indexOf("/v2/")+"/v2/".length;var e=c[d].pathname.indexOf("/v2/")+"/v2/".length;c[d].parentNode.className=f.pathname.substring(b,b+5)==c[d].pathname.substring(e,e+5)?"selected":""}},requireEmail:function(){common.showMessage(a("#completeEmail").html(),"One more thing",[{caption:"Get Started",handler:"topBar.enteredEmail();"}]);a("#"+common.popupDivContentId+" input").bind("keydown",function(b){b=b||window.event;if(b.keyCode==13){topBar.enteredEmail();return false}else{return true}})},enteredEmail:function(){var b=a("#"+common.popupDivContentId+" input[name=email]").val();if(!/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i.test(b)){a("#"+common.popupDivContentId+" span.error").html("Email is not valid");return}a("#"+common.popupDivContentId+" form").ajaxSubmit({type:"POST",url:"/dev/updateEmail.json",cache:false,dataType:"json",success:function(c){if(c.success){common.hideMessage(common.popupDivId)}else{a("#"+common.popupDivContentId+" span.error").html(c.errorMessage)}}})},validateRegistration:function(){var p=a("#register-popup input[name=first_name]").val();var q=a("#register-popup input[name=last_name]").val();var j=a("#register-popup input[name=email]").val();var d=a("#register-popup input[name=password1]").val();var c=a("#register-popup input[name=password2]").val();var e=a("#register-popup select[name=date] option:selected").val();var i=a("#register-popup select[name=month] option:selected").val();var k=a("#register-popup select[name=year] option:selected").val();var m=a("#register-popup select[name=gender] option:selected").val();var h=a("#register-popup input[name=accept]").attr("checked");var n={};if(a.trim(p).length==0){n.first_name="Required"}if(a.trim(q).length==0){n.last_name="Required"}if(a.trim(j).length==0){n.email="Required"}else{if(!/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i.test(j)){n.email="Invalid"}}if(d.length==0){n.password1="Required"}if(c.length==0){n.password2="Required"}if(d!=c){n.password2="Does not match"}if(m=="-1"){n.gender="Required"}if(e=="-1"){n.date="Required";n.whole_date="Required"}if(i=="-1"){n.month="Required";n.whole_date="Required"}if(k=="-1"){n.year="Required";n.whole_date="Required"}if(e!="-1"&&i!="-1"&&k!="-1"){var b=new Date();e=parseInt(e);i=parseInt(i);k=parseInt(k);var g=b.getYear();if(g<200){g+=1900}var f=b.getMonth()+1;var o=b.getDate();var l=0;if(g-k<14){if(g-k<13){l=1}else{if(f<i){l=1}else{if(f==i&&o<e){l=1}}}}if(l){n.whole_date="must be at least 13 years old"}}if(!h){n.accept="Required"}return !common.showErrors({errors:n})}}}a(document).ready(function(){topBar.loadCurrentUser()})})(jQuery);
(function(a){countdown={countdowns:[],start:function(b,d,c){this.countdowns[this.countdowns.length]={targetDiv:b,after:c||0,target:d}},calculateAge:function(i,g,f){var d=i.target;var h=new Date(d);var b=new Date().getTime()>i.after?new Date():0;var c=new Date(h-b);var e=Math.floor(c.valueOf()/1000);var j;if(e>0){j=((Math.floor(e/g))%f).toString();if(j.length<2){j="0"+j}}else{j="--"}return j},countBack:function(c){var b;var d="<li>Days <span> %%D%%</span></li><li>Hours <span> %%H%%</span></li><li>Min <span> %%M%%</span></li><li class='last'>Sec <span> %%S%%</span></li>";b=d.replace(/%%D%%/g,this.calculateAge(c,86400,100000));b=b.replace(/%%H%%/g,this.calculateAge(c,3600,24));b=b.replace(/%%M%%/g,this.calculateAge(c,60,60));b=b.replace(/%%S%%/g,this.calculateAge(c,1,60));var e=document.getElementById(c.targetDiv);if(e){if(b.indexOf("--")<0){e.innerHTML=b}else{e.innerHTML="<li>Phase Complete</li>"}}},iterate:function(){for(var b=0;b<this.countdowns.length;b++){this.countBack(this.countdowns[b])}setTimeout("countdown.iterate();",990)}};countdown.iterate()})(jQuery);
(function(a){projects={inited:0,editProjectArea:function(f,e,d,b){if(!projects.inited){var c=a.colorbox.close;a.colorbox.close=function(){if(!edit.allowClose){if(!confirm("Do you want to discard the changes?")){return}}c()};projects.inited=1}a.fn.colorbox({href:"/dev/edit-project-area.html?item="+encodeURIComponent(common.toJSON(f))+"&area="+e+"&u="+encodeURIComponent(document.location.href),iframe:true,innerWidth:d,innerHeight:b});return false},createProject:function(){a.fn.colorbox({href:"/dev/create-project.html?u="+encodeURIComponent(document.location.href)+"&_="+new Date().getTime(),iframe:true,innerWidth:600,innerHeight:400});return false},setProjectSponsor:function(b,d,c){a("input[name=sponsorId]").val(d[1])},showPhaseDetails:function(b){a(".phase-description:not(#phase-info-"+b+")").hide(500);common.toggleContent("#phase-info-"+b)},initialize:function(g){var p=["days","hours"];var o=[91,24];for(var h=0;h<g.length;h++){var m=g[h];var d=m.item.split("|");var n=m.length%60;m.length=Math.floor(m.length/60);var b=m.length%60;m.length=Math.floor(m.length/60);var r=m.length%24;m.length=Math.floor(m.length/24);var c=[m.length,r,b,n];var e;for(var f=0;f<p.length;f++){var q=a('select[name="'+d[0]+"-"+p[f]+"-"+d[1]+'"]')[0];if(m.enabled){for(e=0;e<=o[f];e++){var l=new Option(e,e<10?"0"+e:e);q.options.add(l);if(e==c[f]){l.selected=true}}}else{e=c[f];q.options.add(new Option(e,e<10?"0"+e:e))}}}},addSubmissionAttributeType:function(b){var f=a("#select-submissionAttrTypes-"+b)[0];var d=f.options[f.selectedIndex];var e=d.value;if(e&&e!="0"&&!a("#submissionAttrTypes_container_"+e+"-"+b).length){var c=a("#submissionAttrTypes_container_template-"+b).html();c=c.replace(/@next\.id@/g,e);c=c.replace(/@next\.name@/g,d.innerHTML);a("#submissionAttrTypes-"+b).append("<tr>"+c+"</tr>")}},addContestPhase:function(b){window.location="http://tongal.com/dev/add-contest-phase.html?phaseType="+a("select[name=newPhaseType]").val()+"&projectId="+b+"&u="+encodeURIComponent(document.location.href)+"&_="+new Date().getTime()},removePhase:function(b){if(confirm("Remove this phase?")){a.ajax({type:"GET",url:"/dev/removeContestPhase.json?projectId="+a("input[name=projectId]").val()+"&phaseId="+b,cache:false,dataType:"json",success:function(c){if(c.success){a('li[phase-id="'+b+'"]').remove();a("#tab-"+b).remove()}else{common.showErrors(c)}}})}},reorderPhases:function(){if(projects.updatePhasesTimeout){clearTimeout(projects.updatePhasesTimeout)}projects.updatePhasesTimeout=setTimeout("projects.updatePhases();",5000)},updatePhases:function(){var b="";a("div#content ul.tabs-strip3 li[phase-id]").each(function(c,d){b+=a(d).attr("phase-id")+";"});a.ajax({type:"GET",url:"/dev/reorderPhases.json?projectId="+a("input[name=projectId]").val()+"&phaseIds="+b,cache:false,dataType:"json",success:function(c){if(c.success){}else{common.showErrors(c)}}})},removeFile:function(b,c){common.confirm("Do you want to remove &laquo;"+c+"&raquo;?",function(d){if(d){a.ajax({url:"/dev/removeProjectFile.json?fileId="+b,dataType:"json",cache:false,success:function(){a('li[file-id="'+b+'"]').remove()}})}});return false},uploadFile:function(){a("#add-project-file").ajaxSubmit({type:"POST",url:"/dev/addProjectFile.json",cache:false,iframe:true,dataType:"json",success:function(){common.refreshPage()}})}};projectEdit={archiveStatusSet:function(c){var b=c.entity;a("#archive-project-button").val(b?"Restore":"Hide")},changeExhibition:function(b){b=b||window.event;var c=b.target||b.srcElement;if(!a(c).is(":checked")){return confirm("Do you want to remove existing exhibition phase?")}return true},makeChiefJudge:function(b,c){a.ajax({type:"GET",url:"/dev/makeChiefJudge.json?projectId="+b+"&memberId="+c,cache:false,dataType:"json",success:function(d){if(d.success){common.refreshPage()}else{common.showErrors(d)}}});return false},grantRevokeJudgePermissions:function(b,c){a.ajax({type:"GET",url:"/dev/grantRevokeJudgePermissions.json?projectId="+b+"&memberId="+c,cache:false,dataType:"json",success:function(d){if(d.success){common.refreshPage()}else{common.showErrors(d)}}});return false},addJudge:function(b,d,c){a.ajax({type:"GET",url:"/dev/addJudge.json?projectId="+projectEdit.projectId+"&memberId="+d[1],cache:false,dataType:"json",success:function(e){if(e.success){common.refreshPage()}else{common.showErrors(e)}}});return false},removeJudge:function(b,c){a.ajax({type:"GET",url:"/dev/removeJudge.json?projectId="+b+"&memberId="+c,cache:false,dataType:"json",success:function(d){if(d.success){common.refreshPage()}else{common.showErrors(d)}}});return false},savedProject:function(b){},selectPhaseType:function(b,d,c){a("#create-project-form input[name=startPhaseType]").val(d[1])},selectPhase:function(b,d,c){a("#create-project-form input[name=startPhase]").val(d[1])},attributeCreated:function(b){a("select").each(function(c,f){var g=a(f).attr("id");if(g.indexOf("select-submissionAttrTypes")==0){var d=a("<option></option>");d.val(b.id);d.html(b.name+"(Required)");a(f).append(d);d.attr("selected","selected");projects.addSubmissionAttributeType(g.substring("select-submissionAttrTypes-".length))}})},removeDocumentFromPhase:function(c,b){a.ajax({url:"/dev/removeDocument.json",data:{documentId:c},success:function(){a("#contestPhaseDocuments_container_"+c+"-"+b).remove()}});return false},documentAdded:function(b){var f=b.id;var e=b.contestPhase.code;var c=a("#subtab-documents-"+e+" table tr:first");var d='<tr><td style="margin-top:10px;" id="contestPhaseDocuments_container_'+f+"-"+e+'"><nobr>    <input type="hidden" name="contestPhaseDocumentsId-'+e+'" value="'+f+'"/>        '+b.name+'    <a href="#" onclick="projectEdit.removeDocumentFromPhase(\''+f+"', '"+e+"')\">x</a></nobr></td></tr>";a(d).insertAfter(c);var g='<div id="uploadDocument'+e+'" action="javascript:return false;"      successmessage="Document has been successfully added."      ajaxaction="addDocument.json"      callback="projectEdit.documentAdded"      disable-on-enter="true"><input type="hidden" name="contestPhaseId" value="'+e+'"/><table>    <tr>        <td>Name</td>        <td><input type="text" name="name"/></td>    </tr>    <tr>        <td>Document</td>        <td><input type="file" name="data"/></td>    </tr>    <tr>        <td colspan="2" style="text-align: right;">            <input type="button" value="Add" onclick="rpc.ajaxFormSubmit(\'#uploadDocument'+e+"')\"/>        </td>    </tr></table></div>";a("#subtab-documents-"+e+" table tr:last td").html(g);rpc.attachSubmitControls()}};a(document).ready(function(){a("body.edit a[rel]").click(function(){var b=a(this).parents(".tab-content:first");b.find("div.content").hide();a("div#"+a(this).attr("rel")).show();return false})})})(jQuery);
(function(a){if(!window.submissions){submissions={main:function(){var b="submission-area";common.parseParameters();common.setLoading(b);a.ajax({url:"/dev/mainSubmission.block"+rpc.buildQueryString(common.params,1),dataType:"text",cache:1,success:function(c){common.stopLoading("submission-area");a("#submission-area").html(c)}})},buySubmission:function(b){common.confirm("<label>Amount</label>&nbsp;&nbsp;<input type='text' id='buySubmissionAmount'/><br/>",function(d){if(d){var c=a("#buySubmissionAmount").val();if(c.replace(/(^\s+)|(\s+$)/,"")!=""){a.ajax({url:"/dev/buySubmission.json?submissionId="+b+"&amount="+c,dataType:"json",cache:false,success:function(e){common.showMessage(e.message,"Status")}})}}},"Enter the amount")},movePortfolioItemUp:function(d,c,b){a.ajax({url:"/dev/moveUpInPortfolio.json?submissionId="+d+"&userId="+b,dataType:"json",cache:false,success:function(e){if(e.success){document.location.href=c}else{alert(e.errorMessage)}}});return false},movePortfolioItemDown:function(d,c,b){a.ajax({url:"/dev/moveDownInPortfolio.json?submissionId="+d+"&userId="+b,dataType:"json",cache:false,success:function(e){if(e.success){document.location.href=c}else{alert(e.errorMessage)}}});return false},submissionForm:function(e,c){var b=e+"-form";a("#tabs-area ul.tabs li a").removeClass("selected");a("#a-"+b).addClass("selected");common.parseParameters();common.setLoading(b);var d=common.params;d.contentType=e;if(c){d.submissionId=c}a.ajax({url:"/dev/submissionForm.block"+rpc.buildQueryString(d),dataType:"text",target:b,cache:false,success:function(f){common.stopLoading(this.target);a("#Text-form").empty();a("#Image-form").empty();a("#Video-form").empty();a("#"+b).html(f)}});return false},submitYoutubeShare:function(b){a("#show-message-popup").hide();a("#show-message-popup-content form").ajaxSubmit({type:"POST",url:"/dev/publishSubmissionToYoutube.json",cache:false,dataType:"json",success:function(c){if(c.errorMessage){common.showMessage(c.errorMessage,"Error",null,null,"submissions.shareOnYouTube("+b+");")}else{if(c.id&&!c.viewCount){a("#youtubeStatus").html("Your <a target='_blank' href='http://www.youtube.com/"+a("#show-message-popup-content input[name=token1]").val()+"'>Share</a> is Being Processed");common.refreshPage()}else{if(c.id){a("#youtubeStatus").html("<strong>"+c.viewCount+"</strong> Views on Your YouTube");common.refreshPage()}}}}})},submitSmsShare:function(b){a("#show-message-popup").hide();a("#show-message-popup-content form").ajaxSubmit({type:"POST",url:"/dev/sendSubmissionViaSMS.json",cache:false,dataType:"json",success:function(c){if(c.errorMessage){common.showMessage(c.errorMessage,"Error",null,null,"submissions.shareSMS("+b+");")}else{common.showMessage("Your message has been sent.","Success")}}})},shareOnYouTube:function(b,c){if(c){a('#youtubeMenu input[name="submissionId"]').val(c)}if(!b){common.showMessage('<p>You need to <a href="#sing-in-2" onclick="common.closeEditForm(); common.hideMessage(common.popupDivId); return common.showContent(\'#signin\');" class="signIn">Sign In</a> in order to share this video on YouTube.</p><p>If you don\'t have Tongal account yet you need to <a href="/v2/profile">Sign-up</a></p>');return false}common.confirm(a("#youtubeMenu").html(),function(d){if(d){submissions.submitYoutubeShare(b)}},"YouTube sign-in");return false},checkSignedIn:function(b,c){if(b==""){return true}if(c==""){common.showMessage('<p>You need to <a href="#sing-in-2" onclick="common.closeEditForm(); common.hideMessage(common.popupDivId); return common.showContent(\'#signin\');" class="signIn">Sign In</a> in order to share this video.</p><p>If you don\'t have Tongal account yet you need to <a href="/v2/profile">Sign-up</a></p>');return false}return true},shareSMS:function(e){if(!e){common.showMessage('<p>You need to <a href="#sing-in-2" onclick="common.closeEditForm(); common.hideMessage(common.popupDivId); return common.showContent(\'#signin\');" class="signIn">Sign In</a> in order to share this video via SMS.</p><p>If you don\'t have Tongal account yet you need to <a href="/v2/profile">Sign-up</a></p>');return false}common.confirm(a("#smsMenu").html(),function(m){if(m){var l=a("#show-message-popup-content form input[name=number]");var o=a("#show-message-popup-content form input[name=text]");var k=a("#show-message-popup-content form input[name=sign]");var n=a("#smsMenu form input[name=text]");var j=a("#smsMenu form input[name=number]");var i=a("#smsMenu form input[name=sign]");n.val(o.val());i.val(k.val());j.val(l.val());submissions.submitSmsShare(e)}},"SMS");var f=a("#show-message-popup-content form input[name=number]");var h=a("#show-message-popup-content form input[name=text]");var d=a("#show-message-popup-content form input[name=sign]");var g=a("#smsMenu form input[name=text]");var c=a("#smsMenu form input[name=number]");var b=a("#smsMenu form input[name=sign]");h.val(g.val());d.val(b.val());f.val(c.val());submissions.smsTextChanged();a("#show-message-popup-content form input[name=text]").bind("keyup",submissions.smsTextChanged);a("#show-message-popup-content form input[name=sign]").bind("keyup",submissions.smsTextChanged);return false},smsTextChanged:function(){var c=a("#show-message-popup-content form input[name=submissionUrl]");var e=a("#show-message-popup-content form input[name=text]");var b=a("#show-message-popup-content form input[name=sign]");var d=e.val()+" "+c.val()+" "+b.val();if(d.length>160){return false}a("#show-message-popup-content form td.preview").html(d);return true},uploadTool:function(b){window.open("/v2/upload-tool.html?type="+b+"&root=dev",null,"screenX=200;screenY=200;dialogWidth=900px;dialogHeight=640px;resizable=yes;help=no;unadorned=yes;location=no;menubar=no;toolbar=no;center:yes");return false},sendSubmission:function(b){if(this.sentSubmission){common.showMessage("You submission is being sent to the server.","Status");return}if(!a("#submit-termsAndConditions").attr("checked")){common.showMessage("You must confirm you have read terms&conditions before submitting.","Attention");return}this.sentSubmission=new Date().getTime();a(".error").empty();a("#submissionForm input[name=submitTime]").attr("value",new Date().getTime());if(a("#video-input").length){var c=new Date().getTime()+"$"+Math.random();document.cookie="upload_id="+c+";path=/;expires="+new Date(new Date().getTime()+600000).toUTCString()+";";upload.startProgress(c)}if(submissions.maxLength&&a("#submission-text").val()&&a("#submission-text").val().length>submissions.maxLength){this.sentSubmission=false;common.showMessage(submissions.type+" may not exceed the limit of "+submissions.maxLength+" characters. Please restate.","Attention");return}a("#submissionForm").ajaxSubmit({type:"POST",url:"/dev/sendSubmission.json",cache:false,iframe:true,phaseName:b,dataType:"json",error:function(g,f,e,d){delete submissions.sentSubmission;common.showMessage("Error occurred during processing this request. Please try to submit again later or <a href='/about/contact'>contact us</a>")},success:function(d){submissions.sentSubmission=null;a("#uploadProgressBar").hide();document.cookie="upload_id=;";var h=common.params.userId||topBar.user.id;if(d.success){document.cookie="agreedTerms=true;path=/;expires="+new Date(new Date().getTime()+6000000000).toUTCString()+";";var f=a("#publishToFeedLink").html();var i="published_"+f;if(a("#publishToFeed").attr("checked")&&!common.getCookie(i)){var l="http://tongal.com/project/"+f;var g={name:"",href:l,caption:a("meta[name=description]").attr("content"),media:[{type:"image",src:a("#publishToFeedImage").html(),href:l}]};var j=[{text:"Go to Tongal",href:l}];document.cookie=i+"=true;path=/;expires="+new Date(new Date().getTime()+86400000*2).toUTCString()+";"}var k=a("#submissionForm input[name=title]").val();var m=a("#submissionForm input[name=contentType]").val();common.parseParameters();a("div#main div.inner-main.submission-form").html("<h3 style='color:black;'>You have successfully submitted your "+submissions.type+". You can review or change it on <a href='/mytongal?tab=submissions&"+(common.params.userId?"userId="+(common.params.userId||""):"")+"'>your profile page</a>.</h3>"+(m=="Video"?"<p>Include your collaborators in the credits for your video <a href='/work/"+d.submissionId+"'>&laquo;"+k+"&raquo;</a></p>":""))}else{common.showMessage(d.errorMessage||"Some required fields are not filled or not valid. Please verify "+(d.errorMessage||""),"Attention");for(var e in d.errors){if(d.errors[e]){a("#"+e+"-error").html(d.errors[e].replace(/(Portfolio page)/,"<a href='/mytongal?tab=submissions'>Portfolio page</a>"))}}if(d.uploaded){submissions.setUploadedFile(d.uploaded)}}}})},setUploadedFile:function(b){a("#uploadedLabel").show();a("#uploadedFile").show();a("#uploadedFile").html('Uploaded file: <a href="/resources'+b.link+'">'+b.original+"</a>. To submit another file use the control below:");a("#submissionForm input[name=uploadedFile]").attr("value",b.fullname);a("#submissionForm input[name=originalFilename]").attr("value",b.original);a("#video-input").html('<input name="upload" type="file" size="25"/><span class="error" id="upload-error"></span>')},changeThumbnail:function(b,c){common.setLoading(b);a.ajax({url:"/dev/changeThumbnail.json?submissionId="+c,dataType:"json",cache:false,submissionId:c,element:b,success:function(d){common.stopLoading(this.element);if(d.errorMessage){common.showMessage(d.errorMessage,"Error")}else{a('tr.details[submission-id="'+c+'"] div.submission-content img').attr("src","/resources/"+d.entity.thumbnail)}}});return false},restore:function(b,c){common.setLoading(b);a.ajax({url:"/dev/restoreSubmission.json?submissionId="+c,dataType:"json",cache:false,submissionId:c,element:b,success:function(e){common.stopLoading(this.element);if(e.errorMessage){common.showMessage(e.errorMessage,"Error")}else{var d=a('tr[submission-id="'+c+'"]');d.removeClass("removed");d.find(' li[action="remove"], li[action="edit"]').show();d.find(' li[action="restore"]').hide()}}});return false},remove:function(b,c){common.setLoading(b);a.ajax({url:"/dev/removeSubmission.json?submissionId="+c,dataType:"json",cache:false,submissionId:c,element:b,success:function(e){common.stopLoading(this.element);if(e.errorMessage){common.showMessage(e.errorMessage,"Error")}else{var d=a('tr[submission-id="'+c+'"]');d.addClass("removed");d.find(' li[action="remove"], li[action="edit"]').hide();d.find(' li[action="restore"]').show()}}});return false},improveVideoQuality:function(b){a.ajax({url:"/dev/improveVideoQuality.json?submissionId="+b,dataType:"json",cache:false,success:function(){common.showAutohideMessage("Reconverting is scheduled. Please check it out in 15 minutes.","Success")}});return false},addToPortfolio:function(c,b){a.ajax({url:"/dev/addToPortfolio.json?submissionId="+c+(b?"&contributorId="+b:""),dataType:"json",cache:false,success:function(){var d=a('tr[submission-id="'+(b?"cont-":"")+c+'"]');d.find(' li[action="addToPortfolio"]').hide();d.find(' li[action="removeFromPortfolio"]').show()}});return false},removeFromPortfolio:function(c,b){a.ajax({url:"/dev/removeFromPortfolio.json?submissionId="+c+(b?"&contributorId="+b:""),dataType:"json",cache:false,success:function(){var d=a('tr[submission-id="'+(b?"cont-":"")+c+'"]');d.find(' li[action="addToPortfolio"]').show();d.find(' li[action="removeFromPortfolio"]').hide()}});return false},convertVideoForMobile:function(b){a.ajax({url:"/dev/convertVideoForMobile.json?submissionId="+b,dataType:"json",cache:false,success:function(){common.showAutohideMessage("Reconverting is scheduled. Please check it out in 15 minutes.","Success")}});return false},getRestoreRemoveButton:function(b,c){if(!b){return'<a href="#" onclick="return submissions.restore(this, \''+c+'\');"><img style="width:10px;height:10px;border:none;" src="http://tongal.com/v2/images/add.png" alt="Restore submission" title="Restore submission"/></a>'}else{return'<a href="#" onclick="return submissions.remove(this, \''+c+'\');"><img style="width:10px;height:10px;border:none;" src="http://tongal.com/v2/images/remove.png" alt="Remove submission" title="Remove submission"/></a>'}},tokens:[],adLink:function(b,c){if(a.inArray(b,submissions.tokens)>=0){return}if(c){setTimeout("submissions.adLink('"+b+"');",c*1000);return}submissions.tokens[submissions.tokens.length]=b;a.ajax({url:"/dev/incCounter2.json?token="+b,dataType:"text",cache:false});return true},linkYoutube:function(){a(".error").empty();a("#edit-share form").ajaxSubmit({url:"/dev/linkYoutube.json",dataType:"json",method:"post",cache:false,success:function(b){if(b.success){common.refreshPage()}else{common.showErrors(b)}}})},removeWord:function(b,c){rpc.makeJsonCall("removeContentAnalysisWord",{word:c},null,function(d){a("#"+b+"_"+c).remove()})},contentAnalysis:function(b){rpc.makeJsonCall("buildContentAnalysis",{phaseId:b},null,function(h){var l=a("<div></div>");var j=a("<div></div>");j.css({height:"400px",width:"400px",overflow:"auto"});var e="rnd_"+new Date().getTime();var k=a("<table></table>");var i=a("<tr></tr>");i.append("<td>&nbsp;Word&nbsp;</td>");i.append("<td>&nbsp;Occurrence&nbsp;</td>");i.append("<td>&nbsp;Submissions&nbsp;</td>");i.append("<td>&nbsp;Remove&nbsp;</td>");k.append(i);for(var c in h.entity.totalCounts){var m=h.entity.totalCounts[c];i=a('<tr id="'+e+"_"+c+'" class="breakdown-row"></tr>');var f=a('<a href="#" word>'+c+"</a>");var d=a("<td></td>");d.append(f);i.append(d);i.append("<td>&nbsp;"+m[0]+"&nbsp;</td>");i.append("<td>&nbsp;"+m[1]+"&nbsp;</td>");var g="'"+e+"', '"+c+"'";i.append('<td><input type="checkbox" onclick="submissions.removeWord('+g+')"/></td>');k.append(i)}j.append(k);l.append(j);common.showMessage(l.html(),"Content breakdown")});return false},chooseBaseSubmission:function(){var b=a("#based-on").val();a("div[submission-id]").removeClass("active");a("div[submission-id="+b+"]").addClass("active")},clicksBaseSubmissions:function(){a("div[submission-id]").removeClass("active");a(this).addClass("active");var b=a(this).attr("submission-id");a("#based-on").val(b)},expandSubmission:function(){var b=a(this).attr("submission-id");a('tr.details[submission-id="'+b+'"]').toggle();a(this).toggleClass("selected")},formatSubmissionKeyword:function(b){return b[0]+" ("+b[1]+")"},filter:function(b,d,c){if(d){a('#submissions-filter input[name="keyword"]').val(d[0])}a("#submissions-filter").submit()},clearAutoComplete:function(){a('#submissions-filter input[name="keyword"]').val("");a('#submissions-filter input[name="autocompleteKeyword"]').val("");return false}}}a(document).ready(function(){a("div[submission-id]").click(submissions.clicksBaseSubmissions);a("#based-on").bind("change",submissions.chooseBaseSubmission);a("table.edit-submissions tr.short").click(submissions.expandSubmission);common.parseParameters();var b=common.params.basedon;if(b){a('div[submission-id="'+b+'"]').click()}a("[show-assets-id]").click(function(){var c=a(this).attr("show-assets-id");var d=a('span[submission-assets="'+c+'"]');if(d.css("display")=="none"){d.show()}else{d.hide()}})})})(jQuery);
(function(a){sponsors={createNew:function(){a.ajax({url:"/dev/createSponsor.json",cache:false,success:function(b){if(b.success){window.location="/sponsor/"+b.entity.alias}else{alert(b.errorMessage)}}})},editProperties:function(c,e,b){if(!sponsors.inited){var d=a.colorbox.close;a.colorbox.close=function(){if(!edit.allowClose){if(!confirm("Do you want to discard the changes?")){return}}d()};sponsors.inited=1}a.fn.colorbox({href:"/dev/edit-sponsor-properties.html?item="+encodeURIComponent(common.toJSON(c))+"&u="+encodeURIComponent(document.location.href)+"&_="+new Date().getTime(),iframe:true,innerWidth:e,innerHeight:b});return false},addLink:function(){var b=new Date().getTime();a("#links-table").append('<tr id="link-'+b+'"><td>    <input type="text" name="links" size="40" hinttext="Type or paste a link"/></td><td>    <a href="#" onclick="return sponsors.removeLink('+b+');">x</a></td></tr>');rpc.processFormHints()},removeLink:function(b){a("tr#link-"+b).remove();return false},updated:function(b){tongalXD.postMessage("goTo:/sponsor/"+b.alias,sponsors.parentUrl,parent)},follow:function(b){a.ajax({url:"/dev/follow.json?sponsorId="+b,cache:false,success:function(){common.refreshPage()}})},unfollow:function(b){a.ajax({url:"/dev/unfollow.json?sponsorId="+b,cache:false,success:function(){common.refreshPage()}})},showTeam:function(){alert("TODO")},addGroupMember:function(f,h,g){var c=h[0];var i=h[1];var b=h[2];if(a('td[member-id="'+i+'"]').length){return}a("form#sponsor-properties").append('<input type="hidden" name="teamId" value="'+i+'"/>');var e='<td member-id="'+i+'"><a href="/tongaler/'+i+'"><img src="'+b+'" alt="'+c+'" title="'+c+'" style="width:40px;height:40px;"></a></td>';var d="<td>"+c+' <a href="#" style="font-size:12px" class="remove" onclick="return sponsors.removeGroupMember('+i+');">Remove</a></td>';a("#sponsor-group-members").append(a("<tr></tr>").append(e).append(d))},removeGroupMember:function(b){a('td[member-id="'+b+'"]').parent().remove();a('form#sponsor-properties [name="teamId"][value="'+b+'"]').remove();return false}}})(jQuery);
(function(a){forum={topicCreated:function(b){window.location="/forum?topicId="+b.id}}})(jQuery);
(function($){discussion={activeText:{},maxLength:300,replyComment:function(comment,author){if(!topBar.isSignedIn()){return false}var parent=$("li[commentId="+comment.id+"]");parent.find("div.comment-2nd-level").show();var ta=parent.find("div.comment-2nd-level textarea");ta.val("@"+author+"\r\n");ta.focus();ta=ta[0];var end=ta.value.length;if(ta.setSelectionRange){ta.focus();ta.setSelectionRange(end,end)}else{if(ta.createTextRange){var range=ta.createTextRange();range.collapse(true);range.moveEnd("character",end);range.moveStart("character",end);range.select()}else{ta.focus()}}ta.refresh();return false},likeComment:function(sender,comment,memberName){if(!topBar.isSignedIn()){return false}var value=$(sender).attr("like-action");$.ajax({url:"/dev/likeComment.json?item="+common.toJSON(comment)+"&value="+value,dataType:"json",cache:false,success:function(result){if(result.success){var parent=$("li[commentId="+comment.id+"]");var likes=parent.find("div.likes");var likeLink=$("li#like-"+comment.id+" a");if(value==1){discussion.addLike(likes,memberName);likeLink.html("Unlike");likeLink.attr("like-action","-1")}else{discussion.removeLike(likes,memberName);likeLink.html("Like");likeLink.attr("like-action","1")}}else{common.showMessage(result.errorMessage,"Error")}}});return false},addLike:function(div,name){div.find("a.fav-icon").show();var liked=div.find("h2");var names=[];liked.each(function(i,e){names.push($(e).html())});names.push(name);var span=div.find("span");span.empty();for(var i=0;i<names.length;i++){span.append("<h2>"+names[i]+(i<names.length-1?", ":"")+"</h2>")}},removeLike:function(div,name){var liked=div.find("h2");var names=[];liked.each(function(i,e){var nextName=$(e).html();if(name!=nextName){names.push(nextName)}});var span=div.find("span");span.empty();for(var i=0;i<names.length;i++){if(i>0){span.append(", ")}span.append("<h2>"+names[i]+"</h2>")}if(names.length==0){div.find("a.fav-icon").hide()}},removeComment:function(commentId){if(!topBar.isSignedIn()){return false}$.ajax({url:"/dev/removeFeedback.json?itemId="+commentId,dataType:"json",cache:false,success:function(result){if(result.success){$("[commentId="+commentId+"]").remove()}else{common.showMessage(result.errorMessage,"Error")}}});return false},commentControlFocus:function(container,message,force,maxLength){var textArea=container.find("textarea");var currentVal=textArea.val();if(currentVal==""){textArea.val(message||"")}else{if(textArea.val().indexOf(message)<0){var val=textArea.val();if(val>""&&!/\s+$/.test(val)){val+=" "}textArea.val(val+message)}}container.find(".chars-left").show();discussion.countCharacters(textArea,maxLength||256)},countCharacters:function(){var myField=$(this);var maxChar=discussion.maxLength;var counter=myField.parents("div.discussion-element:first .chars-left");var val=myField.val();if(val.length>maxChar){myField.val(val.substring(0,maxChar));counter.html("No chars left")}else{var left=maxChar-val.length;counter.html(left+" char"+(left==1?"":"s")+" left")}},countCharacters2:function(myFieldId,countId,limit){var myField=$("#"+myFieldId);var maxChar=limit;var counter=$("#"+countId);var val=myField.val();if(val.length>maxChar){myField.val(val.substring(0,maxChar));counter.html("No chars left")}else{var left=maxChar-val.length;counter.html(left+" char"+(left==1?"":"s")+" left")}},postComment:function(sender){if(!topBar.isSignedIn()){return false}common.parseParameters();var $this=$(sender);var discussionArea=$this.parents("div.discussion-element:first");rpc.clearHints(discussionArea);var div=$this.attr("div");var feedbackType=$this.attr("feedbackType");var item=eval("("+$this.attr("item")+")");var text=discussionArea.find("textarea").val();if($.trim(text)==""){return false}$.ajax({url:"/dev/postComment.json",type:"POST",data:"item="+common.toJSON(item)+(feedbackType?"&feedbackType="+feedbackType:"")+"&comment="+encodeURIComponent(common.escapeString(tables.stripHtml(text)))+(common.params.userId?"&userId="+common.params.userId:""),dataType:"json",success:function(result){var postsList=discussionArea.find("div.news ul:first");var photo=result.entity.author.memberProfile.photoFilePath;var pic;if(photo){if(photo.indexOf("http")==0){pic=photo}else{pic="http://tongal.com/resources/"+photo}}else{pic="http://tongal.com/images/profile-pictures/"+(result.entity.author.memberProfile.gender?result.entity.author.memberProfile.gender.value.toLowerCase()+"-"+(result.entity.author.memberProfile.id%3)+".jpg":"decline-to-answer-"+(result.entity.author.memberProfile.id%2)+".jpg")}var customStyle='style="'+discussionArea.find("div.description").attr("style")+'"';var item='<li class="clearfix" commentid="'+result.entity.id+'"> <div class="image"> <a href="/tongaler/'+result.entity.author.alias+'"><img src="'+pic+'" alt="'+result.entity.author.memberProfile.memberName+'" title="'+result.entity.author.memberProfile.memberName+'" style="width:72px;height:73px;"></a> </div> <div class="description" '+customStyle+'> <h2><a href="/tongaler/'+result.entity.author.alias+'" title="'+result.entity.author.memberProfile.memberName+'">'+result.entity.author.memberProfile.memberName+"</a></h2> <p>"+result.entity.item.valueUnescaped+'</p> <div class="metadata"> <p class="date"><span> moments ago </span></p> <ul class="clearfix controls" style="display: none; "> <li><a href="#" onclick="return discussion.removeComment('+result.entity.id+');">Delete</a></li> </ul> </div> </div> </li>';var newItem=$(item);postsList.prepend(newItem);newItem.mouseenter(function(){$(this).find("ul.controls").show()}).mouseleave(function(){$(this).find("ul.controls").hide()});Cufon.replace("div#content div.box3 div.box3-bottom div.column1 h2",{fontFamily:"Rockwell Std",hover:"True"});rpc.restoreHint(discussionArea)}});return false},replaceWithActiveText:function(id){$("#wall-item-info-"+id).html(discussion.activeText[id]);return false},commentComment:function(sender,comment){if(!topBar.isSignedIn()){return false}var parent=$("li[commentId="+comment.id+"]");parent.find("div.comment-2nd-level").show();parent.find("div.comment-2nd-level textarea").focus();return false},discussionBox:function(item,parent,title,noteType){$(".discussion-box-view").remove();var divId="discussion-popup-box";var html=$("#discussion-place-holder").html().replace(/@id@/g,item.id).replace(/@title@/g,title||"");$("#content").append("<div id='discussion-popup-box'></div>");$("#content").append(html);common.createRoundCornerDiv("discussion-popup-box","discussion-popup-"+item.id);common.showQuickView2("#"+divId,parent,discussion);var mainDiv=$("#"+divId);mainDiv.addClass("discussion-box-view");mainDiv.find("p.closebutton a").click(function(){$(".discussion-box-view").remove();return false});discussion.displayThread("discussion-box-content-"+item.id,item,noteType||"JudgeNote");$("#discussion-popup-box").attr("stop",$(window).scrollTop());$("#discussion-popup-box").attr("sleft",$(window).scrollLeft());return false},displayThread:function(div,item,feedbackType,suffix,limit){limit=limit||0;suffix=suffix||"";common.setLoading(div);$.ajax({url:"/dev/discussionThread.html",dataType:"html",element:div,cache:false,type:"POST",data:{item:common.toJSON(item),container:div,feedbackType:feedbackType},error:function(event){alert("Error:"+event.status)},success:function(result){common.stopLoading(this.element);var container=$("#"+this.element);container.html(result);$("td.corner_C").css({width:"710px"});discussion.attachMouseOverControls()}});return false},attachMouseOverControls:function(){var textareas=$("div.discussion-element textarea");textareas.click(discussion.countCharacters);textareas.bind("keyup",discussion.countCharacters);textareas.bind("keydown",discussion.countCharacters);textareas.bind("change",discussion.countCharacters);$("div.comment-2nd-level textarea").autogrow();$("div.comment-2nd-level textarea").keydown(function(e){e=e||window.event;var src=e.target||e.srcElement;if(e.keyCode==27){$(src).val("");$(src).parents("div.comment-2nd-level").hide()}if(e.keyCode==13&&!e.shiftKey){var item=eval("("+$(src).attr("feedback-item")+")");$.ajax({url:"/dev/postComment.json",type:"POST",data:"item="+common.toJSON(item)+"&comment="+encodeURIComponent(common.escapeString(tables.stripHtml($(src).val()))),dataType:"json",success:function(result){$(src).val("");$(src).parents("div.comment-2nd-level").hide();var discussionArea=$(src).parents("li[commentId]:first").find("div.comment-2nd-level.active:first");var postsList=discussionArea.find("table");var photo=result.entity.author.memberProfile.photoFilePath;var pic;if(photo){if(photo.indexOf("http")==0){pic=photo}else{pic="http://tongal.com/resources/"+photo}}else{pic="http://tongal.com/images/headshot-"+(result.entity.author.memberProfile.gender||"Decline to answer")+".png"}var customStyle='style="'+discussionArea.find("div.description").attr("style")+'"';var item1='<td style="width:44px;vertical-align:top;"><div class="image"> <a href="/v2/profile/'+result.entity.author.alias+'"><img src="'+pic+'" alt="'+result.entity.author.memberProfile.memberName+'" title="'+result.entity.author.memberProfile.memberName+'" style="width:42px;height:42px;"></a> </div></td>';var item2='<td><h2 style="font-size:12px;"><a href="/v2/profile/'+result.entity.author.alias+'" title="'+result.entity.author.memberProfile.memberName+'">'+result.entity.author.memberProfile.memberName+"</a></h2> <p>"+result.entity.item.valueUnescaped+'</p> <div class="metadata"> <p class="date"><span> moments ago </span></p> <ul class="clearfix controls" style="display: none; "> <li><a href="#" onclick="return discussion.removeComment('+result.entity.id+');">Delete</a></li> </ul> </div></td>';var row=$('<tr commentid="'+result.entity.id+'"></tr>');postsList.append(row);row.append(item1).append(item2);row.mouseenter(function(){$(this).find("ul.controls").show()}).mouseleave(function(){$(this).find("ul.controls").hide()});Cufon.replace("div#content div.box3 div.box3-bottom div.column1 h2",{fontFamily:"Rockwell Std",hover:"True"})}});return false}else{return true}});$("div.news ul li div.description, div.comment-2nd-level tr,div#content div.news ul li div.description").mouseenter(function(){$(this).find("ul.controls").show()}).mouseleave(function(){$(this).find("ul.controls").hide()});$("textarea:not([non-expandable])").autogrow()},removeForumPost:function(topicId){$.ajax({url:"/dev/removeForumTopic.json",data:{topicId:topicId},dataType:"json",success:function(){window.location="/forum"}})}};$(document).ready(discussion.attachMouseOverControls)})(jQuery);
(function(a){profile={expanded:0,expandSubmissionArea:function(){if(profile.expanded){return}profile.expanded=1;var d=225;var c=d*8/16;var b=d+"px";var e={duration:1000};a("div#content div.column1 div.overlay").show();a("#content").animate({left:"-="+b,width:"+="+b},e);a("#content div.column1-container").animate({left:"+="+b,width:"-="+b},e);a("#content div.column2").animate({left:"+="+b,width:"+="+b},e);a("div#content div.column2 div.player a img").animate({width:"+="+b,height:"+="+c+"px"},e);a("div#content div.column2 div.news div.description").animate({width:"+="+b},e);a("div#content div.notepad-submission-detail-box textarea").animate({width:"+="+b},e);a("div#content div.column1 div.overlay").animate({opacity:"0.8"},e);a("div#content div.column2 div.player a.play-arrow").animate({left:"+="+d/2+"px",top:"+="+c/2+"px"},a.extend(e,{complete:function(){a("div#content div.column2 div.player a img").hide();a("div#content div.column2 div.player a.play-arrow").hide();var f=a("div#content div.column2 div.player a.play-arrow").attr("code");common.parseParameters();var g=/(iPad)|(iPhone)/i.test(navigator.userAgent)||common.params.html5;if(!g){a("div#content div.column2 div.player").prepend(a('<iframe width="650" height="360" scrolling="no" src="http://tongal.com/video/'+f+'" frameborder="0" allowfullscreen></iframe>'))}}}))},squeezeSubmissionArea:function(){if(!profile.expanded){return}profile.expanded=0;a("div#content div.column2 div.player iframe").remove();a("div#content div.column2 div.player a img").show();a("div#content div.column2 div.player a.play-arrow").show();var d=-225;var c=d*8/16;var b=d+"px";var e={duration:1000};a("#content").animate({left:"-="+b,width:"+="+b},e);a("#content div.column1-container").animate({left:"+="+b,width:"-="+b},e);a("#content div.column2").animate({left:"+="+b,width:"+="+b},e);a("div#content div.notepad-submission-detail-box textarea").animate({width:"+="+b},e);a("div#content div.column2 div.news div.description").animate({width:"+="+b},{duration:0});a("div#content div.column2 div.player a img").animate({width:"+="+b,height:"+="+c+"px"},e);a("div#content div.column1 div.overlay").animate({opacity:"0.0"},e);a("div#content div.column2 div.player a.play-arrow").animate({left:"+="+d/2+"px",top:"+="+c/2+"px"},a.extend(e,{complete:function(){a("div#content div.column1 div.overlay").hide()}}))},setCity:function(c,e,d){a('#updatePaymentAddressInfo input[name="city.name"]').val(e[0]);a('#updatePaymentAddressInfo input[name="city.id"]').val(e[1]);if(e.length>2){var b=e[2];if(b=="p"){a('#updatePaymentAddressInfo input[name="province.name"]').val(e[3]);a('#updatePaymentAddressInfo input[name="province.id"]').val(e[4]);a('#updatePaymentAddressInfo input[name="city.province.id"]').val(e[4])}if(b=="c"){a('#updatePaymentAddressInfo input[name="country.name"]').val(e[3]);a('#updatePaymentAddressInfo input[name="country.id"]').val(e[4]);a('#updatePaymentAddressInfo input[name="city.country.id"]').val(e[4])}rpc.attachAutocompleteInputs()}if(e.length>4){a('#updatePaymentAddressInfo input[name="country.name"]').val(e[6]);a('#updatePaymentAddressInfo input[name="country.id"]').val(e[7]);a('#updatePaymentAddressInfo input[name="city.country.id"]').val(e[7]);rpc.attachAutocompleteInputs()}},setProvince:function(b,d,c){a('#updatePaymentAddressInfo input[name="province.name"]').val(d[0]);a('#updatePaymentAddressInfo input[name="province.id"]').val(d[1]);if(a('#updatePaymentAddressInfo input[name="city.province.id"]').val()!=d[1]){a('#updatePaymentAddressInfo input[name="city.id"]').val(0);a('#updatePaymentAddressInfo input[name="city.province.id"]').val(0);a('#updatePaymentAddressInfo input[name="city.country.id"]').val(0)}a('#updatePaymentAddressInfo input[name="city.id"]').val(0);if(d.length>3){a('#updatePaymentAddressInfo input[name="country.name"]').val(d[3]);a('#updatePaymentAddressInfo input[name="country.id"]').val(d[4]);a('#updatePaymentAddressInfo input[name="province.country.id"]').val(d[4])}rpc.attachAutocompleteInputs()},formatAutocompleteCity:function(d,b,e,c){return d[0]+(d.length>2?", "+d[3]:"")+(d.length>5?", "+d[6]:"")},formatAutocompleteProvince:function(d,b,e,c){return d[0]+(d.length>2?", "+d[3]:"")},setCountry:function(b,d,c){a('#updatePaymentAddressInfo input[name="country.name"]').val(d[0]);a('#updatePaymentAddressInfo input[name="country.id"]').val(d[1]);if(a('#updatePaymentAddressInfo input[name="city.country.id"]').val()!=d[1]){a('#updatePaymentAddressInfo input[name="city.id"]').val(0);a('#updatePaymentAddressInfo input[name="city.province.id"]').val(0);a('#updatePaymentAddressInfo input[name="city.country.id"]').val(0)}if(a('#updatePaymentAddressInfo input[name="province.country.id"]').val()!=d[1]){a('#updatePaymentAddressInfo input[name="province.id"]').val(0);a('#updatePaymentAddressInfo input[name="province.country.id"]').val(0);a('#updatePaymentAddressInfo input[name="province.name"]').val("")}rpc.attachAutocompleteInputs()},getAutocompleteCityUrl:function(){return"autocompleteCity.text?provinceId="+(a('#updatePaymentAddressInfo input[name="province.id"]').val()||0)+"&countryId="+(a('#updatePaymentAddressInfo input[name="country.id"]').val()||0)},getAutocompleteProvinceUrl:function(){return"autocompleteProvince.text?countryId="+(a('#updatePaymentAddressInfo input[name="country.id"]').val()||0)},clearCity:function(){a('#updatePaymentAddressInfo input[name="city.id"]').val(0);a('#updatePaymentAddressInfo input[name="city.province.id"]').val(0);a('#updatePaymentAddressInfo input[name="city.country.id"]').val(0);profile.clearProvince();profile.clearCountry()},clearProvince:function(){a('#updatePaymentAddressInfo input[name="province.id"]').val(0);a('#updatePaymentAddressInfo input[name="province.country.id"]').val(0);a('#updatePaymentAddressInfo input[name="province.id"]').val(0);a('#updatePaymentAddressInfo input[name="city.province.id"]').val(0)},clearCountry:function(){a('#updatePaymentAddressInfo input[name="city.country.id"]').val(0);a('#updatePaymentAddressInfo input[name="province.country.id"]').val(0);a('#updatePaymentAddressInfo input[name="country.id"]').val(0)},formatAutocompleteUser:function(f,d,g,e){var b=f[2];var c=f[0];return'<img src="'+b+'" alt="'+c+'" title="'+c+'" style="width:36px;height:36px;">'+c+' <p align="right">'+f[3]+"</p>"},startFollowing:function(b){a.ajax({url:"/dev/startFollowing.json",data:{userId:b},dataType:"json",cache:false,success:function(){common.refreshPage()}})},stopFollowing:function(b,c){common.confirm("Do you want to stop following "+c+"?",function(d){if(d){a.ajax({url:"/dev/stopFollowing.json",data:{userId:b},dataType:"json",cache:false,success:function(){common.refreshPage()}})}},"Warning")},showPaymentAddressInfo:function(){if(profile.paymentAddressInfo){if(profile.paymentAddressInfo.message){a("#message").html(profile.paymentAddressInfo.message)}a("#updatePaymentAddressInfo").customDeserialize(profile.paymentAddressInfo)}if(profile.paymentAddressInfo&&profile.paymentAddressInfo.complete){a("#paymentAddressInfo .showPaymentAddressInfo").show();a("#paymentAddressInfo .editPaymentAddressInfo").hide();if(profile.paymentAddressInfo.owner.memberProfile.paymentType){profile.showPaymentAddressInfoSection(profile.paymentAddressInfo.owner.memberProfile.paymentType.value)}else{profile.showPaymentAddressInfoSection("PayPal")}}else{a("#paymentAddressInfo .showPaymentAddressInfo").hide();a("#paymentAddressInfo .editPaymentAddressInfo").show()}a("#paymentAddressInfo").show();profile.changePaymentType()},updatedPaymentAddressInfo:function(b){profile.paymentAddressInfo=b;profile.showPaymentAddressInfo()},updateSubmissionAddressInfo:function(){a("#address-form-container").hide();a("#submission-form-container").show()},uploadDocument:function(b){common.setLoading("notification_upload_document_"+b);a("#documentUploadForm_"+b).ajaxSubmit({type:"POST",url:"/dev/uploadDocument.json",iframe:true,cache:false,dataType:"json",success:function(d){common.stopLoading("notification_upload_document_"+b);if(d.success){var c=a("#notification_upload_document_"+b);c.find("a").hide();c.find(".vil-infobubble").remove();c.append("You can verify the doc in several minutes (refresh this page for that)");c.append('<span class="vil-infobubble" code="verify.pending.documents" editable="false" size="16" trigger="click" theme="cream" scroll="false" position="bottomMiddle"></span>');setTimeout("vil.infobubbles.init();",1500);common.showAutohideMessage("Your document is uploaded.","Success")}else{common.showMessage("Upload failed. "+d.error,"Error")}}})},changePaymentType:function(){var c=a("#updatePaymentAddressInfo select")[0];var b=c.options[c.selectedIndex].innerHTML;profile.showPaymentAddressInfoSection(b)},showPaymentAddressInfoSection:function(c){var d=["PayPal","Check"];for(var b=0;b<d.length;b++){if(c==d[b]){a("#paymentAddressInfo .address-for-"+d[b]).show()}else{a("#paymentAddressInfo .address-for-"+d[b]).hide()}}},editPaymentAddressInfo:function(){profile.paymentAddressInfo.complete=0;profile.showPaymentAddressInfo()},updateSubscriptions:function(){var b=a("#subscriptions-form").serialize();a.ajax({url:"/dev/updateSubscriptions.json",data:b,cache:false,dataType:"text",success:function(){common.showAutohideMessage("Subscription settings were saved.","Success")}})},populateMessage:function(c,b){a(c).attr("href","/dev/notificationText.html?templateId=17&senderId="+b+"&message="+encodeURIComponent(a("#invitationMessage2").val()));a(c).colorbox({iframe:true,width:"630px",height:"80%",onComplete:function(){a("#cboxOverlay").hide();setTimeout("$('iframe').css({'background-color':'white'});",500)}});return false},inviteFriends:function(){var b=a("#register-popup form").serialize();a(".error").empty();a.ajax({type:"POST",url:"/dev/inviteFriends.json",data:b,dataType:"json",cache:false,success:function(c){if(c.success){popups.disablePopup("register-popup");common.showAutohideMessage("Your invitation has been sent successfully!","Success")}else{common.showErrors(c)}}});return false},deactivateAccount:function(c,b){common.confirm("Do you want to deactivate this user's account?",function(d){if(d){a.ajax({type:"GET",url:"/dev/deactivateAccount.json",data:{userId:b,active:c},dataType:"json",cache:false,success:function(e){if(e.success){a("#deactivate-quick-button").remove()}}})}});return false},flagAccount:function(b,c){a.ajax({type:"GET",url:"/dev/flagAccount.json",data:{userId:c,flag:b},dataType:"json",cache:false,success:function(d){if(d.success){a("#flag-user").remove()}}});return false},hideAccount:function(b,c){a.ajax({type:"GET",url:"/dev/hideAccount.json",data:{userId:c,flag:b},dataType:"json",cache:false,success:function(d){if(d.success){a("#hide-user").remove()}}});return false},showFollowings:function(){a("#followers-popup").hide();a("#following-popup").show();return false},showFollowers:function(){a("#following-popup").hide();a("#followers-popup").show();return false},showTrackRecord:function(b){a.ajax({url:"/dev/user-track-record.html",dataType:"html",cache:false,type:"GET",data:{memberId:b},error:function(c){alert("Error:"+c.status)},success:function(c){common.showMessage(c)}});return false}};a(document).ready(function(){a("div#content div.column2 div.player a").click(function(){profile.expandSubmissionArea();return false});a("div.box2 div.box2-bottom div.column1").click(profile.squeezeSubmissionArea)})})(jQuery);
(function(a){analytics={track:function(){common.parseParameters();var c=new Image();var b=screen.width+"x"+screen.height;c.src="http://tongal.com/dev/trackVisit.gif?u="+encodeURIComponent(document.location.href)+"&scr="+b+"&r="+encodeURIComponent(document.referrer)+"&_="+new Date().getTime()+(common.params.refid?"&refid="+common.params.refid:"")},getSummary:function(){a.ajax({url:"http://tongal.com/dev/getPageSummary.json?u="+encodeURIComponent(document.location.href)+(analytics.startDatePicker?"&from="+analytics.startDatePicker:"")+(analytics.endDatePicker?"&to="+analytics.endDatePicker:"")+"&_="+new Date().getTime(),type:"get",dataType:"json",cache:"false",success:analytics.showSummary})},getShareSummary:function(b){a.ajax({url:"http://tongal.com/dev/getShareSummary.json?submissionId="+(b!=1?common.params.submissionId:0)+"&_="+new Date().getTime(),type:"get",dataType:"json",cache:"false",success:analytics.showShareSummary})},showSummaryIcon:function(){if(topBar.user.superAdmin){var b=a("<img src='http://tongal.com/v2/images/ta.png'/>");b.css({position:"fixed",top:"3px",left:"3px",width:"20px",height:"20px",cursor:"pointer"});a("body").append(b);b.attr("title","View page visitors summary");b.click(analytics.getSummary)}},showShareSummaryIcon:function(){common.parseParameters();if(topBar.user.superAdmin&&common.params.submissionId){var b=a("<img src='http://tongal.com/v2/images/open-share.png'/>");b.css({position:"fixed",top:"27px",left:"3px",width:"20px",height:"20px",cursor:"pointer"});a("body").append(b);b.attr("title","View share summary");b.click(analytics.getShareSummary)}},showSummary:function(c){analytics.startDatePicker=c.total.startDate;analytics.endDatePicker=c.total.endDate;var b=a("<table></table>");var e=[];var d=[];analytics.appendSummary(b,c,e,d);var f=a("<div></div>");f.append(b);common.showMessage(f.html(),"Visitors summary");a.each(e,function(g,h){a("#"+h).datepicker({dateFormat:"yy-mm-dd",beforeShow:function(){a("#ui-datepicker-div").maxZIndex()},onSelect:function(i,j){analytics[j.id]=i}})});a.each(d,function(g,h){a("#"+h.id).click(function(){common.hideMessage();h.callback()})})},showShareSummary:function(c){var b=a("<table></table>");var d;var e;for(var g in c){d=a("<tr></tr>");e=a("<td></td>");e.html(g);d.append(e);e=a("<td></td>");e.html(c[g]);d.append(e);b.append(d)}d=a("<tr></tr>");e=a("<td></td>");e.attr("colspan",2);e.html('<a href="javascript:analytics.getShareSummary(1)">View all</a>');d.append(e);b.append(d);var f=a("<div></div>");f.append(b);common.showMessage(f.html(),"Referrers summary")},showProjectsSummary:function(c,b){c=c||analytics.projectSummaryDiv;analytics.projectSummaryDiv=c;b=b||analytics.projectSummaryLoadingAreaDiv;analytics.projectSummaryLoadingAreaDiv=b;a.ajax({url:"http://tongal.com/dev/getProjectsSummary.json?allOpen=true"+(analytics.startDatePicker?"&from="+analytics.startDatePicker:"")+(analytics.endDatePicker?"&to="+analytics.endDatePicker:"")+"&_="+new Date().getTime(),type:"get",dataType:"json",cache:"false",success:function(e){var l=e.summary;var j=a("<div></div>");j.css({width:"600px"});var m=a("<table></table>");var f=[["From","To",""],[{type:"date",value:e.start,id:"startDatePicker"},{type:"date",value:e.end,id:"endDatePicker"},{type:"button",value:"Refresh",callback:analytics.showProjectsSummary,id:"refreshStats"}]];var k=[],d=[];var g;for(g=0;g<f.length;g++){analytics.appendRow(f[g],d,k,m)}for(g in l){var h=l[g];h.link="http://tongal.com/project/"+g;analytics.appendSummary(m,h)}common.stopLoading(b);a(j).html(m);a(c).html(j);a(c).show();a.each(d,function(n,o){a("#"+o).datepicker({dateFormat:"yy-mm-dd",beforeShow:function(){a("#ui-datepicker-div").maxZIndex()},onSelect:function(i,p){analytics[p.id]=i}})});a.each(k,function(n,o){a("#"+o.id).click(function(){common.hideMessage();o.callback()})})}})},appendSummary:function(k,g,c,h){var j=g.total;var f=[["From","To",""],[{type:"date",value:j.startDate,id:"startDatePicker"},{type:"date",value:j.endDate,id:"endDatePicker"},{type:"button",value:"Refresh",callback:analytics.getSummary,id:"refreshStats"}],[{type:"link",value:"Download summary",link:"/dev/getVisitorsDatasheet.html?u="+encodeURIComponent(document.location.href.replace(/#.*$/,""))+"&from="+j.startDate+"&to="+j.endDate},"",""],["&nbsp;",!g.title?"":{type:"link",value:g.title,link:g.link},"&nbsp;"],["","Unique","Total"],["Registered",j.uniqueRegistered,j.totalRegistered],["Non-registered",j.uniqueAnonymous,j.totalAnonymous],["All",j.uniqueViews,j.totalViews],["&nbsp;","&nbsp;","&nbsp;"],["&nbsp;","Top Referrers","&nbsp;"]];var b=0;for(var d in g.sources){f[f.length]=[d==""?"Direct":{type:"link",value:d.substring(0,Math.min(45,d.indexOf("?")>0?d.indexOf("?"):d.length)),link:d},g.sources[d],"&nbsp;"];if(++b==5){break}}f[f.length]=["&nbsp;","&nbsp;","&nbsp;"];for(var e=(c?0:2);e<f.length;e++){analytics.appendRow(f[e],c,h,k)}},appendRow:function(n,e,l,m){var i=a("<tr></tr>");if(n){for(var h=0;h<n.length;h++){var f=a("<td></td>");var k=n[h];if(k){if(k.type){switch(k.type){case"date":var c=a('<input type="text" value="'+k.value+'"/>');c.attr("id",k.id);e[e.length]=k.id;f.append(c);break;case"button":var b=a('<input type="button" value="'+k.value+'"/>');b.attr("id",k.id);f.append(b);l[l.length]=k;break;case"link":var g=a("<a></a>");g.attr("href",k.link);if(k.link.indexOf("Datasheet")<=0){g.attr("target","_blank")}g.html(k.value);f.append(g);break}}else{f.html(!k||k==""?"N/A":k)}}i.append(f)}m.append(i)}}};a.maxZIndex=a.fn.maxZIndex=function(b){var c={inc:10,group:"*"};a.extend(c,b);var d=0;a(c.group).each(function(){var e=parseInt(a(this).css("z-index"));d=e>d?e:d});if(!this.jquery){return d}return this.each(function(){d+=c.inc;a(this).css("z-index",d)})};a(document).ready(function(){analytics.track();topBar.userLoadedCallback[topBar.userLoadedCallback.length]=analytics.showSummaryIcon})})(jQuery);
(function(a){if(!window.upload){upload={elements:null,uploadButton:null,progressBarHandler:null,uploadId:null,failures:0,failures2:0,refreshProgress:function(){a.ajax({url:"/dev/getFileUploadStatus.json?upload_id="+this.uploadId,dataType:"json",cache:false,success:function(b){try{upload.updateProgress(b)}catch(c){upload.updateProgress()}},error:function(){if(upload.failures2>20){a("uploadProgressBar").update("Estimation is not available.");upload.failures2=0}upload.failures2++;upload.updateProgress()}})},updateProgress:function(g){if(!g){setTimeout("upload.refreshProgress()",1000)}else{if(g.totalSize==0){if(upload.failures<5){a("#ajaxVideoUploadStatus_timeElapsed").html("Waiting when upload starts...");setTimeout("upload.refreshProgress()",1000)}else{a("#ajaxVideoUploadStatus_timeElapsed").html("Cannot upload file. Make sure it doesn't exceed 2GB.")}upload.failures++}else{if(g.inProgress&&g.status!="done"){var d=(g.bytesRead/g.totalSize)*100;var c=1024;var h=c*c;var f=h*c;var b=g.totalSize<c?g.totalSize+"b":g.totalSize<h?(g.totalSize/c).toFixed(2)+"K":g.totalSize<f?(g.totalSize/h).toFixed(2)+"M":(g.totalSize/f).toFixed(2)+"G";var e=g.bytesRead<c?g.bytesRead+"b":g.bytesRead<h?(g.bytesRead/c).toFixed(2)+"K":g.bytesRead<f?(g.bytesRead/h).toFixed(2)+"M":(g.bytesRead/f).toFixed(2)+"G";a("#ajaxVideoUploadStatus").progressbar("option","value",Math.ceil(d));a("#uploadProgressBar").attr("title",g.elapsedTime);a("#ajaxVideoUploadStatus_timeElapsed").html(g.elapsedTime+". Uploaded: "+e+" of "+b);setTimeout("upload.refreshProgress()",1000)}else{a("#ajaxVideoUploadStatus").progressbar("option","value",100);setTimeout("upload.hideProgressBar()",1500)}}}return true},hideProgressBar:function(){a("#uploadProgressBar").hide()},startProgress:function(b){if(a("#uploadProgressBar").length){a("#uploadProgressBar").show();this.uploadId=b;this.failures=0;a("#ajaxVideoUploadStatus").progressbar({value:0});setTimeout("upload.refreshProgress()",1500)}return true}}}})(jQuery);
(function(a){messages={composeMessage:function(){popups.showPopup("compose-new")},markUnread:function(){a("#group-message-actions").ajaxSubmit({url:"/dev/markUnread.json",cache:false,success:function(b){if(b.success){common.refreshPage()}else{alert(b.errorMessage)}}})},reportMessage:function(){common.confirm("Do you want to remove selected messages?",function(b){if(b){a("#group-message-actions").ajaxSubmit({url:"/dev/reportMessages.json",cache:false,success:function(c){if(c.success){common.refreshPage()}else{alert(c.errorMessage)}}})}})},deleteMessage:function(){common.confirm("Do you want to remove selected messages?",function(b){if(b){a("#group-message-actions").ajaxSubmit({url:"/dev/deleteMessages.json",cache:false,success:function(c){if(c.success){common.refreshPage()}else{alert(c.errorMessage)}}})}})},addRecipient:function(d,f,e){var b=f[0];var h=f[1];var g='<span member-id="'+h+'"> <a href="#" style="font-size:14px"">'+b+'</a> <a href="#" style="font-size:12px" class="remove" onclick="return messages.removeRecipient('+h+');">x</a><input type="hidden" name="to" value="'+h+'"/></span>';a("#to-names").append(g);var c=a("#to-names").find("span").length;if(c>=3){a("#compose-new input[autocompleteaction]").hide()}else{a("#compose-new input[autocompleteaction]").css({width:(425-a("#to-names").width())+"px"})}a("#compose-new input[autocompleteaction]").val("")},removeRecipient:function(b){a('span[member-id="'+b+'"]').remove();var c=a("#to-names").find("span").length;if(c<3){a("#compose-new input[autocompleteaction]").show()}a("#compose-new input[autocompleteaction]").css({width:(420-a("#to-names").width())+"px"})},messageSent:function(){popups.disablePopup("compose-new");a("#compose-new div.recipients").empty()},changeBox:function(){window.location="/mytongal?tab=messages&subtab="+a("select[name=box] option:selected").val()+"&_="+new Date().getTime()}};a(document).ready(function(){a("tr[message-id]").css({cursor:"pointer"});a("tr[message-id] td:not(.checkbox)").click(function(){var b=a(this).parent().attr("message-id");window.location="/dev/message-thread.html?messageThreadId="+b+"&_="+new Date().getTime()+"&tab=messages"})})})(jQuery);
(function(a){collaborators={collaboratorSubmissionRoles:{},close:function(c,b){c=c||collaborators.currentSubmissionId;if(!b){a("#popup-background").hide();delete collaborators.currentSubmissionId}a("#add-collaborator-"+c).hide();return false},closeInfoBox:function(c,b){c=c||collaborators.currentSubmissionId;if(!b){a("#popup-background").hide();delete collaborators.currentSubmissionId}a("#review-submission-info-"+c).hide();return false},addCollaborator:function(f){f=f||collaborators.currentSubmissionId;var d=a("#add-collaborator-"+f).parent();collaborators.currentSubmissionId=f;if(d[0].id!="collaborators"){var e=d.html();d.empty();a("#collaborators").append(e);rpc.attachSubmitControls()}var b=collaborators.centerPopup("#add-collaborator-"+f);if(!b.attr("inited")){common.disableEnterOnShowMessage=0;if(!collaborators.collaborators){collaborators.collaborators={}}var c=b.find("input[name=add_collaborator]");c.keydown(function(h){h=h||window.event;if(h.keyCode==13){if(a("div.ac_results:visible").length){return true}var g=c.val();collaborators.addTypedCollaborator([g,g],b);c.val("");return false}return true});c.autocomplete("/dev/autocompleteUser.text",{formatItem:function(j,g,m,h){var l=j[0];var k=j[2];if(k){k='<img src="'+k+'" style="width:36px;height:36px;float:left;margin:3px;"/>'}else{k=""}return k+l}});c.result(function(g,i,h){collaborators.addTypedCollaborator(i,b);c.val("");return false});b.find("input[name=addEmail]").click(function(){var g=b.find("input[name=email]").val();collaborators.addTypedCollaborator([g,g])});b.find("input[name=email]").bind("keydown",function(h){h=h||window.event;if(h.keyCode==13){var g=b.find("input[name=email]").val();collaborators.addTypedCollaborator([g,g]);return false}return true});b.attr("inited",true)}return false},reviewSubmissionInfo:function(d){d=d||collaborators.currentSubmissionId;var b=a("#review-submission-info-"+d).parent();collaborators.currentSubmissionId=d;if(b[0].id!="collaborators"){var c=b.html();b.empty();a("#collaborators").append(c);rpc.attachSubmitControls()}collaborators.centerPopup("#review-submission-info-"+d);return false},addTypedCollaborator:function(g,c){var b=g[0];var d=g[1];var e=g[2];if(c.find('li[user-id="'+d+'"]').length){common.showMessage(b+" has been already listed as a collaborator.");return}var n=a("#collaborators_template").html();var h=n.replace(/#user_id#/g,d);h=h.replace(/#name#/g,g[0]);if(e){e='<img src="'+e+'" style="width:72px;height:72px;"/>'}else{e=""}h=h.replace(/#photo#/g,e);var j=a(h);var m=c.find("ul.collaborator-list.collaborator");var l=false;for(var f=0;f<m.length;f++){var o=a(m[f]).find("li img");if(o.length<5){a(m[f]).append(j);collaborators.attachActionListeners(j);l=true;break}}if(!l){var k=a('<ul class="collaborator-list clearfix collaborator"></ul>');m.parent().append(k);k.append(j);collaborators.centerPopup(c);collaborators.attachActionListeners(j)}if(!collaborators.collaborators[collaborators.currentSubmissionId]){collaborators.collaborators[collaborators.currentSubmissionId]={}}if(!collaborators.collaborators[collaborators.currentSubmissionId][d]){collaborators.collaborators[collaborators.currentSubmissionId][d]=[]}},attachActionListeners:function(b){b.find('[dialog-action="remove"]').click(function(){b.remove();var c=b.attr("user-id");delete collaborators.collaborators[collaborators.currentSubmissionId][c];return false});b.find('[dialog-action="edit"]').click(function(){var c=b.attr("user-id");var e=collaborators.centerPopup("#roles");var f=a('li[user-id="'+c+'"] ul li:first a').html();if(!f){f=a('li[user-id="'+c+'"] ul li:first').html()}a("h3[roles-for]").html("for "+(f||c));e.find("input[user-id]").each(function(){a(this).attr("user-id",c)});collaborators.close(null,true);var d="";a('#roles input[type="checkbox"]').each(function(g,h){var j=parseInt(a(h).val());d+=a.inArray(j,collaborators.collaborators[collaborators.currentSubmissionId][c])+",";if(a.inArray(j,collaborators.collaborators[collaborators.currentSubmissionId][c])>=0){a(h).attr("checked","checked")}else{a(h).attr("checked",false)}});return false})},storeRoles:function(f){var b=a(f).attr("user-id");var d="";var c="";collaborators.collaborators[collaborators.currentSubmissionId][b]=[];a('#roles input[type="checkbox"]').each(function(g,h){var j=a(h).val();if(a(h).attr("checked")){if(c>""){c+=", "}collaborators.collaborators[collaborators.currentSubmissionId][b].push(parseInt((a(h).val())));c+=a(h).parent().find("label").html()}});a('li[roles="collaborator_roles_'+b+'"]').html(c);collaborators.closeRoles()},editCollaboratorRoles:function(e,c,o){var b="edit_roles_"+e+"_"+o;if(!a("#"+b).length){var d=document.createElement("div");d.id=b;a("body")[0].appendChild(d);var r=document.createElement("div");r.id=b+"_content";d.appendChild(r);var l=document.createElement("div");l.innerHTML='<h3 style="text-align:center">Roles of '+c+"</h3><p/>";r.appendChild(l);var p=document.createElement("ul");var k=(collaborators.collaborators&&collaborators.collaborators.collaboratorRoles)||{};var n="user_"+o;k=k[n]||[];for(var g=0;g<collaborators.collaborators.roles.length;g++){var h=collaborators.collaborators.roles[g];if(h.id!=321){var q=document.createElement("li");p.appendChild(q);var m=common.createCheckboxWithLabel(q,"role_"+e+"_"+o+"_"+h.id,h.value,1);for(var f=0;f<k.length;f++){if(h.id==k[f].id){m.checked=true;break}}m.roleId=h.id;m.roleValue=h.value}}r.appendChild(p);a(r).append('<div style="float:right;"><span class="primary-button vil-track-clicks" style="margin-left:15px;"><input type="button" onclick="collaborators.updateRoles(\''+e+"', '"+o+'\',1);" value="OK" /></span><span class="primary-button vil-track-clicks" style="margin-left:15px;"><input type="button" onclick="collaborators.updateRoles(\''+e+"', '"+o+'\',0);" value="Cancel" /></span></div>');common.createRoundCornerDiv(b,r.id)}common.showCenteredPopup(a("#"+b),40000)},saveCollaborators:function(){var c=a("#add-collaborator-"+collaborators.currentSubmissionId);var d=c.find("form");var e=d.serialize();var b=common.toJSON(collaborators.collaborators[collaborators.currentSubmissionId]);e+="&collaboratorRoles="+encodeURIComponent(b);a.ajax({type:"POST",url:"/dev/updateCollaborators.json",data:e,dataType:"json",cache:false,success:function(h){var g="";for(var f in h.errors){g+="<p>"+h.errors[f]+"</p>"}if(h.success){common.showAutohideMessage("Collaborators updated successfully!","Success");common.refreshPage(1)}else{common.showMessage(g)}}})},approveCollaborators:function(e){var b=a("#review-submission-info-"+collaborators.currentSubmissionId);var c=b.find("form");if(!e){var g=c.find('input[name="submission.code"]').val();var f=a("textarea#approve_reject_reason-"+g).val().replace(/^\s+|\s+$/,"");if(f==""){alert("You need to provide a rejection reason.");return}}var d=c.serialize();a.ajax({type:"POST",url:"/dev/approveAdditionalInfo.json",data:d+"&approved="+e,dataType:"json",cache:false,success:function(j){var i="";for(var h in j.errors){i+="<p>"+j.errors[h]+"</p>"}if(j.success){common.showAutohideMessage("Submission information "+(e?"approved":"rejected")+" successfully!","Success");if(!collaborators.noRefresh){common.refreshPage(1)}}else{common.showMessage(i)}}})},centerPopup:function(d){var c=a(window).width();var g=a(window).height();var b=a(d);var f=b.height();var e=b.width();b.css({position:"fixed",zIndex:9999,top:((g-f)/2)+"px",left:((c-e)/2)+"px"});if(!a("#popup-background").length){a("body").append('<div id="popup-background"></div>')}a("#popup-background").css({width:c,height:window.top.document.body.scrollHeight,backgroundColor:"black",opacity:"0.7"});a("#popup-background").show();b.show();return b},closeRoles:function(){a("#roles").hide();collaborators.addCollaborator();return false}};a(document).ready(function(){var b=a("#roles").parent().html();a("#roles").parent().empty();if(!a("#collaborators").length){a("body").append('<div id="collaborators"></div>')}a("#collaborators").append(b)})})(jQuery);
(function(a){locations={locations:{},close:function(c,b){c=c||locations.currentSubmissionId;if(!b){a("#popup-background").hide();delete locations.currentSubmissionId}a("#add-location-"+c).hide();return false},addLocation:function(d){d=d||locations.currentSubmissionId;var b=a("#add-location-"+d).parent();locations.currentSubmissionId=d;if(b[0].id!="locations"){var c=b.html();b.empty();a("#collaborators").append(c);rpc.attachSubmitControls()}locations.popup=collaborators.centerPopup("#add-location-"+d);return false},addTypedLocation:function(){var b=locations.popup;var h=b.find("textarea");var d=h.val();var e=a('<a href="#" onclick="return locations.remove();">x</a>');var j=b.find("ul.collaborator-list.location");var g=false;for(var c=0;c<j.length;c++){var k=a(j[c]).find("a");if(k.length<5){a(j[c]).append(a("<li></li>").html(d+"&nbsp;").append(e));g=true;break}}if(!g){var f=a('<ul class="collaborator-list clearfix location"></ul>');j.parent().append(f);f.append(a("<li></li>").html(d+"&nbsp;").append(e));locations.centerPopup(b)}if(!locations.locations[locations.currentSubmissionId]){locations.locations[locations.currentSubmissionId]=[]}locations.locations[locations.currentSubmissionId].push(d);h.val("")},remove:function(g){g=g||window.event;var d=a(g.target||g.srcElement);var f=d.parent();d.remove();d=f;var b=d.html().replace(/&nbsp;$/,"");d.remove();var c=a.inArray(b,locations.locations[locations.currentSubmissionId]);locations.locations[locations.currentSubmissionId].splice(c,1);return false},saveLocations:function(){var c=a("#add-location-"+locations.currentSubmissionId);var d=c.find("form");var e=d.serialize();var b=common.toJSON(locations.locations[locations.currentSubmissionId]);e+="&locations="+encodeURIComponent(b);a.ajax({type:"POST",url:"/dev/updateLocations.json",data:e,dataType:"json",cache:false,success:function(h){var g="";for(var f in h.errors){g+="<p>"+h.errors[f]+"</p>"}if(h.success){common.showAutohideMessage("Locations updated successfully!","Success");location.hash="#";common.refreshPage()}else{common.showMessage(g)}}})}}})(jQuery);
(function(a){musics={musics:{},close:function(c,b){c=c||musics.currentSubmissionId;if(!b){a("#popup-background").hide();delete musics.currentSubmissionId}a("#add-music-"+c).hide();return false},addMusic:function(d){d=d||musics.currentSubmissionId;var b=a("#add-music-"+d).parent();musics.currentSubmissionId=d;if(b[0].id!="musics"){var c=b.html();b.empty();a("#collaborators").append(c);rpc.attachSubmitControls()}musics.popup=collaborators.centerPopup("#add-music-"+d);return false},addTypedMusic:function(){var b=musics.popup;var h=b.find("textarea");var d=h.val();var e=a('<a href="#" onclick="return musics.remove();">x</a>');var j=b.find("ul.collaborator-list.music");var g=false;for(var c=0;c<j.length;c++){var k=a(j[c]).find("a");if(k.length<5){a(j[c]).append(a("<li></li>").html(d+"&nbsp;").append(e));g=true;break}}if(!g){var f=a('<ul class="collaborator-list clearfix music"></ul>');j.parent().append(f);f.append(a("<li></li>").html(d+"&nbsp;").append(e));musics.centerPopup(b)}if(!musics.musics[musics.currentSubmissionId]){musics.musics[musics.currentSubmissionId]=[]}musics.musics[musics.currentSubmissionId].push(d);h.val("")},remove:function(g){g=g||window.event;var c=a(g.target||g.srcElement);var d=c.parent();c.remove();c=d;var f=c.html().replace(/&nbsp;$/,"");c.remove();var b=a.inArray(f,musics.musics[musics.currentSubmissionId]);musics.musics[musics.currentSubmissionId].splice(b,1);return false},saveMusics:function(){var c=a("#add-music-"+musics.currentSubmissionId);var d=c.find("form");var e=d.serialize();var b=common.toJSON(musics.musics[musics.currentSubmissionId]);e+="&musics="+encodeURIComponent(b);a.ajax({type:"POST",url:"/dev/updateMusics.json",data:e,dataType:"json",cache:false,success:function(h){var g="";for(var f in h.errors){g+="<p>"+h.errors[f]+"</p>"}if(h.success){common.showAutohideMessage("Music updated successfully!","Success");location.hash="#";common.refreshPage()}else{common.showMessage(g)}}})}}})(jQuery);
if(!window.geopage){var geopage={markers:[],initialize:function(){if(geopage.initialized){return}geopage.initialized=1;if(window.google&&google.maps){var b=new google.maps.LatLng(36.879621,-96.064453);var a={zoom:4,center:b,mapTypeId:google.maps.MapTypeId.ROADMAP};geopage.resize();geopage.map=new google.maps.Map(document.getElementById("map_canvas"),a);$(window).bind("resize",geopage.resize);$("input:radio").click(geopage.chooseCategory);google.maps.event.addListener(geopage.map,"bounds_changed",function(){if(geopage.disableRefresh){geopage.disableRefresh=false;return}if(geopage.refreshTimer){clearTimeout(geopage.refreshTimer)}geopage.refreshTimer=setTimeout("geopage.refreshMarkers();",500)})}rpc.attachAutocompleteInputs();$("#contestSubmitters,#contestWinners,#winnersSponsor,#submittersSponsor").bind("click",function(){$("#contestSubmitters").val("");$("#contestWinners").val("");$("#winnersSponsor").val("");$("#submittersSponsor").val("")})},formatAutocompletePhase:function(a){return a[0]+", "+a[2]},setContestPhaseSubmitters:function(a,c,b){delete geopage.sponsorId;geopage.phaseId=c[1];geopage.submitters=true;geopage.refreshMarkers()},setContestPhaseWinners:function(a,c,b){delete geopage.sponsorId;geopage.phaseId=c[1];geopage.submitters=false;geopage.refreshMarkers()},setSponsorSubmitters:function(a,c,b){delete geopage.phaseId;geopage.sponsorId=c[1];geopage.submitters=true;geopage.refreshMarkers()},setSponsorWinners:function(a,c,b){delete geopage.phaseId;geopage.sponsorId=c[1];geopage.submitters=false;geopage.refreshMarkers()},chooseCategory:function(){delete geopage.phaseId;delete geopage.sponsorId;geopage.refreshMarkers()},resize:function(){$("#map_canvas").css("width",($("#content").width()-200)+"px");$("#map_canvas").css("height",($(window).height()-$("#content").offset().top-100)+"px");$("#legend").css("height",($(window).height()-$("#content").offset().top-100)+"px")},attachMembers:function(b,g){var e="<table cellpadding=0 cellspacing=10 style='border:0'>";var a=40;for(var d=0;d<g.members.length;d++){var h=g.members[d];e+="<tr>";if(h.id){var c=h.firstName+" "+h.lastName;e+="<td><a href='/tongaler/"+h.id+"'><img src='"+h.pic+"' height=40 style='border:0'/><a/></td><td stye='vertical-align:middle;'><a href='/tongaler/"+h.id+"'>"+c+"</a></td>";a+=50}else{if(h.message){e+="<td colspan=2>"+h.message+"</td>";a+=30}}e+="</tr>"}e+="</table>";var f=new google.maps.InfoWindow({content:"<div style='height:"+a+"px;'><p style='padding-bottom:3px;margin:0;'>"+e+"</p></div>"});b._tInfoWindow=f;google.maps.event.addListener(b,"click",function(){try{for(var j=0;j<geopage.markers.length;j++){if(geopage.markers[j]._tInfoWindow){geopage.markers[j]._tInfoWindow.close()}}}catch(k){}f.open(geopage.map,b);geopage.disableRefresh=true})},refreshMarkers:function(){var i=geopage.map.getBounds();var a=i.getSouthWest();var b=i.getNorthEast();var e=a.lat();var f=a.lng();var g=b.lat();var h=b.lng();if(e>=g){e=-90;g=90}if(f>=h){f=-180;h=180}var c=$("#map_loading");if(!geopage.loader){c.css("position","fixed");c.css("z-index",1);c.css("text-align","center");c.css("vertical-align","middle");var d=new Image();d.src="/v2/images/loading-indicator.gif";d.style.border="none";d.style.marginTop="20%";c[0].appendChild(d);geopage.loader=1}c.css("top",$("#legend").offset().top);c.css("left",$("#legend").offset().left);c.css("width",$("#legend").width());c.css("height",$("#legend").height());c.show();$("#legend").fadeTo(0,0.5);$.ajax({url:"/dev/getLocations.json?swlat="+e+"&swlng="+f+"&nelat="+g+"&nelng="+h+(geopage.phaseId?"&phaseId="+geopage.phaseId:"")+(geopage.sponsorId?"&sponsorId="+geopage.sponsorId:"")+(geopage.submitters?"&submitters="+geopage.submitters:"")+"&show="+$("input:radio:checked").val(),dataType:"json",cache:false,success:function(n){$("#map_loading").hide();$("#legend").fadeTo(0,1);var m;for(m=0;m<n.data.length;m++){var j=n.data[m];var l=new google.maps.LatLng(j.lat,j.lng);var o;if(j.total<10){o=new google.maps.MarkerImage("/v2/images/globe/small-marker.png")}else{if(j.total<40){o=new google.maps.MarkerImage("/v2/images/globe/middle-marker.png")}else{o=new google.maps.MarkerImage("/v2/images/globe/big-marker.png")}}var k=new google.maps.Marker({position:l,map:geopage.map,icon:o});if(geopage.markers.length>m&&geopage.markers[m]){geopage.markers[m].setMap(null);if(geopage.markers[m]._tInfoWindow){geopage.markers[m]._tInfoWindow.close()}}geopage.markers[m]=k;geopage.attachMembers(k,j)}for(m=n.data.length;m<geopage.markers.length;m++){if(geopage.markers[m]){geopage.markers[m].setMap(null);if(geopage.markers[m]._tInfoWindow){geopage.markers[m]._tInfoWindow.close()}geopage.markers[m]=null}}}});return true}}}$(document).ready(function(){jQuery.fn.selText=function(){var c=this[0];var a,b;if($.browser.msie){a=document.body.createTextRange();a.moveToElementText(c);a.select()}else{if($.browser.mozilla||$.browser.opera){b=window.getSelection();a=document.createRange();a.selectNodeContents(c);b.removeAllRanges();b.addRange(a)}else{if($.browser.safari){b=window.getSelection();b.setBaseAndExtent(c,0,c,1)}}}return this};window.geopage.initialize()});
(function(a){calendar={subscribeProject:function(b,c){a.ajax({url:"/dev/subscribeProject.json",data:{projectId:b},success:function(){var d=a('a[calendar-item-id="calendar-'+b+'"]:not(.close)');d.html("Added");d.css({"background-color":"#666"});c()}});return false},unsubscribeProject:function(b){common.setLoading("list-wrap-"+b);a.ajax({url:"/dev/unsubscribeProject.json",data:{projectId:b},success:function(c){if(c.success){common.refreshPage(false,300)}}});return false},changeNotifications:function(c,b){a.ajax({url:"/dev/changeSubscriptionNotification.json",data:{projectId:c,notifications:b},success:function(d){if(d.success){common.showMessage(b?"Notifications are On":"Notifications are Off");a("#notification-"+c+"-"+(b?"on":"off")).show();a("#notification-"+c+"-"+(b?"off":"on")).hide()}}});return false},showSubscriptionPopup:function(){var b=a('div[calendar-item-id="'+calendar.eventId+'"]:not(.date)');if(b.length){b.show()}else{a.ajax({url:"/dev/project-subscriptions.html",data:{projectId:calendar.projectId},cache:false,success:function(c){calendar.element.parent().append(c);calendar.element.parent().find("a.close[calendar-item-id]").click(function(g){g=g||window.event;var f=g.target||g.srcElement;var d=a(f).attr("calendar-item-id");a('div[calendar-item-id="'+d+'"]:not(.date)').remove();return false});a('div[calendar-item-id="'+calendar.eventId+'"]:not(.date)').show()}})}return false}};a(document).ready(function(){if(calendar.initialized){return}calendar.initialized=1;a("a[event-id]:not(.close)").each(function(b,d){var c=a(d).attr("event-id");a(d).click(function(){a("div[event-id]").hide();a('div[event-id="'+c+'"]').show();return false})});a("a.close[event-id]").click(function(d){d=d||window.event;var c=d.target||d.srcElement;var b=a(c).attr("event-id");a('div[event-id="'+b+'"]').hide();return false});a("a[calendar-item-id]:not(.close),div.date[calendar-item-id]").each(function(c,f){var d=a(f).attr("calendar-item-id");a(f).css({cursor:"pointer"});var b=a(f).attr("calendar-item-subscribe");a(f).click(function(){a("div[calendar-item-id]:not(.date)").hide();calendar.projectId=d.substring(d.indexOf("-")+1);calendar.element=a(f);calendar.eventId=d;if(b){calendar.subscribeProject(calendar.projectId,calendar.showSubscriptionPopup)}else{calendar.showSubscriptionPopup()}return false})})})})(jQuery);
(function(a){seasons={changeSeasonView:function(c){var b=a("#season-ranks option:selected").val();window.location="/dev/season-projects.html?seasonId="+c+"&season-ranks="+b}};a(document).ready(function(){a("li[open-details-id]").click(function(){var b=a(this).attr("open-details-id");a('li[details-id="'+b+'"]').toggle()})})})(jQuery);
(function(a){gigs={editGigsProperties:function(b,c){gigs.createVotingStageCallback=c;a.ajax({url:"/dev/editGigsPropertiesForm.html",dataType:"html",data:{projectId:b},cache:false,success:function(d){gigs.showEditGigDialog(d,b)}});return false},showEditGigDialog:function(e,d){common.disableEnterOnShowMessage=1;var b=common.confirm(e,function(f){if(f){a('#createStage input[name="projectId"]').val(d);gigs.createOrUpdateGig(a("#createStage"),gigs.createVotingStageCallback)}},"Gig properties");common.disableEnterOnShowMessage=0;var c;c=b.find("input[name=gigParticipant]");c.autocomplete("/dev/autocompleteUser.text",{formatItem:function(h,f,j,g){return h[0]}});c.result(function(f,h,g){gigs.addGigParticipant(h)});return false},addGigParticipant:function(d){var c=a("#gigParticipant_template").html();var e=d[1].replace("@","__2at2__").replace(".","__2point2__");var b=c.replace(/#id#/g,e);b=b.replace(/#name#/g,d[0]);a("#gigParticipants").append(b);a("input[name=gigParticipant]").val("")},createOrUpdateGig:function(b,c){b.ajaxSubmit({type:"POST",url:"/dev/saveGigsProperties.json",cache:false,dataType:"json",success:function(d){if(d.id){common.showAutohideMessage("The gig was successfully updated.","Success");if(c){c()}}else{common.showErrors(d)}}})},}})(jQuery);
(function(a){revisions={updatedRevision:function(b){common.parseParameters();document.location.href="/dev/revisions-page.html?submissionId="+common.params.submissionId+(common.params.userId?"&userId="+common.params.userId:"")+"&revisionId="+b.id},submitRevisionResponse:function(){var e=a("#revisionsForm");e.find(".error").empty();var b=0;if(e.find('input[type="file"]').val()==""){b=1;a("#fileData-error").html("Please upload a file")}var f=parseInt(a('[name="totalResponses"]').val());for(var d=0;d<f;d++){var c=a('[name="responses-'+d+'"]').val();if(c.replace(/(^\s+|\s|$)/,"")==""){a("#responses-"+d+"-error").html("Please provide a comment");b=1}}if(!b){e.ajaxSubmit({url:"/dev/saveRevisionResponses.json",success:function(){common.refreshPage()}})}},openRevision:function(b){if(confirm("Once you have submitted your comments to this revision, you cannot add new ones. Proceed?")){revisions.revisionId=b;if(a('textarea[name="newComment"]').val().replace(/(^\s+|\s+$)/,"").length>0){a("#add-comment").removeAttr("callback");rpc.ajaxFormSubmit("#add-comment",revisions.doOpenRevision)}else{revisions.doOpenRevision()}}},doOpenRevision:function(){a.ajax({url:"/dev/openRevision.json",data:{revisionId:revisions.revisionId},success:function(b){common.refreshPage()}})},closeRevision:function(b){a.ajax({url:"/dev/closeRevision.json",data:{revisionId:b},success:function(d){var c=d.entity;common.parseParameters();document.location.href="/dev/revisions-page.html?submissionId="+common.params.submissionId+"&revisionId="+c.id+(common.params.userId?"&userId="+common.params.userId:"")}})},acceptItem:function(c,b){if(!b||confirm("Do you want to accept this item?")){a.ajax({url:"/dev/accept-revision-item.json",data:{itemId:c},success:function(){common.refreshPage()}})}return false},rejectItem:function(c,b){if(!b||confirm("Do you want to reject this item?")){a("#reject_reason_"+c).show()}return false},cancelItemRejection:function(b){a("#reject_reason_"+b).hide();return false},sendItemRejection:function(c){var b=a("#reject_reason_"+c+" textarea").val();if(b.replace(/(^\s+)|(\s+$)/,"")==""){common.showMessage("A rejection reason is required","Attention");a("#reject_reason_"+c+" textarea").val("");a("#reject_reason_"+c+" textarea").focus();return}a("#reject_reason_"+c).hide();a.ajax({url:"/dev/reject-revision-item.json",data:{itemId:c,reason:b},dataType:"json",cache:false,success:function(d){if(d.errorMessage){common.showMessage(d.errorMessage,"Error")}else{common.refreshPage()}}})}}})(jQuery);

window.dhtmlHistory.create({toJSON: function(o) {
    return common.toJSON(o);
} , fromJSON: function(s) {
    return eval('(' + s + ')');
}});

window.onload = function() {
        dhtmlHistory.initialize();
        dhtmlHistory.addListener(function(newLocation, historyData) {
            if (!newLocation) {
               if (dhtmlHistory.prev) common.refreshPage();
            } else {
               setTimeout("common.parseParameters(1);common.chooseAjaxTab()", 155);
               dhtmlHistory.prev = 1;
           }
        });
};
