[ Index ]

PHP Cross Reference of Drupal 6 (gatewave)

title

Body

[close]

/sites/gatewave.org/files/js/ -> js_dfbb8c4fa33e7702eacc2e436fa32f86.js (source)

   1  /*
   2   * jQuery JavaScript Library v1.3.2
   3   * http://jquery.com/
   4   *
   5   * Copyright (c) 2009 John Resig
   6   * Dual licensed under the MIT and GPL licenses.
   7   * http://docs.jquery.com/License
   8   *
   9   * Date: 2009-02-19 17:34:21 -0500 (Thu, 19 Feb 2009)
  10   * Revision: 6246
  11   */
  12  (function(){var l=this,g,y=l.jQuery,p=l.$,o=l.jQuery=l.$=function(E,F){return new o.fn.init(E,F)},D=/^[^<]*(<(.|\s)+>)[^>]*$|^#([\w-]+)$/,f=/^.[^:#\[\.,]*$/;o.fn=o.prototype={init:function(E,H){E=E||document;if(E.nodeType){this[0]=E;this.length=1;this.context=E;return this}if(typeof E==="string"){var G=D.exec(E);if(G&&(G[1]||!H)){if(G[1]){E=o.clean([G[1]],H)}else{var I=document.getElementById(G[3]);if(I&&I.id!=G[3]){return o().find(E)}var F=o(I||[]);F.context=document;F.selector=E;return F}}else{return o(H).find(E)}}else{if(o.isFunction(E)){return o(document).ready(E)}}if(E.selector&&E.context){this.selector=E.selector;this.context=E.context}return this.setArray(o.isArray(E)?E:o.makeArray(E))},selector:"",jquery:"1.3.2",size:function(){return this.length},get:function(E){return E===g?Array.prototype.slice.call(this):this[E]},pushStack:function(F,H,E){var G=o(F);G.prevObject=this;G.context=this.context;if(H==="find"){G.selector=this.selector+(this.selector?" ":"")+E}else{if(H){G.selector=this.selector+"."+H+"("+E+")"}}return G},setArray:function(E){this.length=0;Array.prototype.push.apply(this,E);return this},each:function(F,E){return o.each(this,F,E)},index:function(E){return o.inArray(E&&E.jquery?E[0]:E,this)},attr:function(F,H,G){var E=F;if(typeof F==="string"){if(H===g){return this[0]&&o[G||"attr"](this[0],F)}else{E={};E[F]=H}}return this.each(function(I){for(F in E){o.attr(G?this.style:this,F,o.prop(this,E[F],G,I,F))}})},css:function(E,F){if((E=="width"||E=="height")&&parseFloat(F)<0){F=g}return this.attr(E,F,"curCSS")},text:function(F){if(typeof F!=="object"&&F!=null){return this.empty().append((this[0]&&this[0].ownerDocument||document).createTextNode(F))}var E="";o.each(F||this,function(){o.each(this.childNodes,function(){if(this.nodeType!=8){E+=this.nodeType!=1?this.nodeValue:o.fn.text([this])}})});return E},wrapAll:function(E){if(this[0]){var F=o(E,this[0].ownerDocument).clone();if(this[0].parentNode){F.insertBefore(this[0])}F.map(function(){var G=this;while(G.firstChild){G=G.firstChild}return G}).append(this)}return this},wrapInner:function(E){return this.each(function(){o(this).contents().wrapAll(E)})},wrap:function(E){return this.each(function(){o(this).wrapAll(E)})},append:function(){return this.domManip(arguments,true,function(E){if(this.nodeType==1){this.appendChild(E)}})},prepend:function(){return this.domManip(arguments,true,function(E){if(this.nodeType==1){this.insertBefore(E,this.firstChild)}})},before:function(){return this.domManip(arguments,false,function(E){this.parentNode.insertBefore(E,this)})},after:function(){return this.domManip(arguments,false,function(E){this.parentNode.insertBefore(E,this.nextSibling)})},end:function(){return this.prevObject||o([])},push:[].push,sort:[].sort,splice:[].splice,find:function(E){if(this.length===1){var F=this.pushStack([],"find",E);F.length=0;o.find(E,this[0],F);return F}else{return this.pushStack(o.unique(o.map(this,function(G){return o.find(E,G)})),"find",E)}},clone:function(G){var E=this.map(function(){if(!o.support.noCloneEvent&&!o.isXMLDoc(this)){var I=this.outerHTML;if(!I){var J=this.ownerDocument.createElement("div");J.appendChild(this.cloneNode(true));I=J.innerHTML}return o.clean([I.replace(/ jQuery\d+="(?:\d+|null)"/g,"").replace(/^\s*/,"")])[0]}else{return this.cloneNode(true)}});if(G===true){var H=this.find("*").andSelf(),F=0;E.find("*").andSelf().each(function(){if(this.nodeName!==H[F].nodeName){return}var I=o.data(H[F],"events");for(var K in I){for(var J in I[K]){o.event.add(this,K,I[K][J],I[K][J].data)}}F++})}return E},filter:function(E){return this.pushStack(o.isFunction(E)&&o.grep(this,function(G,F){return E.call(G,F)})||o.multiFilter(E,o.grep(this,function(F){return F.nodeType===1})),"filter",E)},closest:function(E){var G=o.expr.match.POS.test(E)?o(E):null,F=0;return this.map(function(){var H=this;while(H&&H.ownerDocument){if(G?G.index(H)>-1:o(H).is(E)){o.data(H,"closest",F);return H}H=H.parentNode;F++}})},not:function(E){if(typeof E==="string"){if(f.test(E)){return this.pushStack(o.multiFilter(E,this,true),"not",E)}else{E=o.multiFilter(E,this)}}var F=E.length&&E[E.length-1]!==g&&!E.nodeType;return this.filter(function(){return F?o.inArray(this,E)<0:this!=E})},add:function(E){return this.pushStack(o.unique(o.merge(this.get(),typeof E==="string"?o(E):o.makeArray(E))))},is:function(E){return !!E&&o.multiFilter(E,this).length>0},hasClass:function(E){return !!E&&this.is("."+E)},val:function(K){if(K===g){var E=this[0];if(E){if(o.nodeName(E,"option")){return(E.attributes.value||{}).specified?E.value:E.text}if(o.nodeName(E,"select")){var I=E.selectedIndex,L=[],M=E.options,H=E.type=="select-one";if(I<0){return null}for(var F=H?I:0,J=H?I+1:M.length;F<J;F++){var G=M[F];if(G.selected){K=o(G).val();if(H){return K}L.push(K)}}return L}return(E.value||"").replace(/\r/g,"")}return g}if(typeof K==="number"){K+=""}return this.each(function(){if(this.nodeType!=1){return}if(o.isArray(K)&&/radio|checkbox/.test(this.type)){this.checked=(o.inArray(this.value,K)>=0||o.inArray(this.name,K)>=0)}else{if(o.nodeName(this,"select")){var N=o.makeArray(K);o("option",this).each(function(){this.selected=(o.inArray(this.value,N)>=0||o.inArray(this.text,N)>=0)});if(!N.length){this.selectedIndex=-1}}else{this.value=K}}})},html:function(E){return E===g?(this[0]?this[0].innerHTML.replace(/ jQuery\d+="(?:\d+|null)"/g,""):null):this.empty().append(E)},replaceWith:function(E){return this.after(E).remove()},eq:function(E){return this.slice(E,+E+1)},slice:function(){return this.pushStack(Array.prototype.slice.apply(this,arguments),"slice",Array.prototype.slice.call(arguments).join(","))},map:function(E){return this.pushStack(o.map(this,function(G,F){return E.call(G,F,G)}))},andSelf:function(){return this.add(this.prevObject)},domManip:function(J,M,L){if(this[0]){var I=(this[0].ownerDocument||this[0]).createDocumentFragment(),F=o.clean(J,(this[0].ownerDocument||this[0]),I),H=I.firstChild;if(H){for(var G=0,E=this.length;G<E;G++){L.call(K(this[G],H),this.length>1||G>0?I.cloneNode(true):I)}}if(F){o.each(F,z)}}return this;function K(N,O){return M&&o.nodeName(N,"table")&&o.nodeName(O,"tr")?(N.getElementsByTagName("tbody")[0]||N.appendChild(N.ownerDocument.createElement("tbody"))):N}}};o.fn.init.prototype=o.fn;function z(E,F){if(F.src){o.ajax({url:F.src,async:false,dataType:"script"})}else{o.globalEval(F.text||F.textContent||F.innerHTML||"")}if(F.parentNode){F.parentNode.removeChild(F)}}function e(){return +new Date}o.extend=o.fn.extend=function(){var J=arguments[0]||{},H=1,I=arguments.length,E=false,G;if(typeof J==="boolean"){E=J;J=arguments[1]||{};H=2}if(typeof J!=="object"&&!o.isFunction(J)){J={}}if(I==H){J=this;--H}for(;H<I;H++){if((G=arguments[H])!=null){for(var F in G){var K=J[F],L=G[F];if(J===L){continue}if(E&&L&&typeof L==="object"&&!L.nodeType){J[F]=o.extend(E,K||(L.length!=null?[]:{}),L)}else{if(L!==g){J[F]=L}}}}}return J};var b=/z-?index|font-?weight|opacity|zoom|line-?height/i,q=document.defaultView||{},s=Object.prototype.toString;o.extend({noConflict:function(E){l.$=p;if(E){l.jQuery=y}return o},isFunction:function(E){return s.call(E)==="[object Function]"},isArray:function(E){return s.call(E)==="[object Array]"},isXMLDoc:function(E){return E.nodeType===9&&E.documentElement.nodeName!=="HTML"||!!E.ownerDocument&&o.isXMLDoc(E.ownerDocument)},globalEval:function(G){if(G&&/\S/.test(G)){var F=document.getElementsByTagName("head")[0]||document.documentElement,E=document.createElement("script");E.type="text/javascript";if(o.support.scriptEval){E.appendChild(document.createTextNode(G))}else{E.text=G}F.insertBefore(E,F.firstChild);F.removeChild(E)}},nodeName:function(F,E){return F.nodeName&&F.nodeName.toUpperCase()==E.toUpperCase()},each:function(G,K,F){var E,H=0,I=G.length;if(F){if(I===g){for(E in G){if(K.apply(G[E],F)===false){break}}}else{for(;H<I;){if(K.apply(G[H++],F)===false){break}}}}else{if(I===g){for(E in G){if(K.call(G[E],E,G[E])===false){break}}}else{for(var J=G[0];H<I&&K.call(J,H,J)!==false;J=G[++H]){}}}return G},prop:function(H,I,G,F,E){if(o.isFunction(I)){I=I.call(H,F)}return typeof I==="number"&&G=="curCSS"&&!b.test(E)?I+"px":I},className:{add:function(E,F){o.each((F||"").split(/\s+/),function(G,H){if(E.nodeType==1&&!o.className.has(E.className,H)){E.className+=(E.className?" ":"")+H}})},remove:function(E,F){if(E.nodeType==1){E.className=F!==g?o.grep(E.className.split(/\s+/),function(G){return !o.className.has(F,G)}).join(" "):""}},has:function(F,E){return F&&o.inArray(E,(F.className||F).toString().split(/\s+/))>-1}},swap:function(H,G,I){var E={};for(var F in G){E[F]=H.style[F];H.style[F]=G[F]}I.call(H);for(var F in G){H.style[F]=E[F]}},css:function(H,F,J,E){if(F=="width"||F=="height"){var L,G={position:"absolute",visibility:"hidden",display:"block"},K=F=="width"?["Left","Right"]:["Top","Bottom"];function I(){L=F=="width"?H.offsetWidth:H.offsetHeight;if(E==="border"){return}o.each(K,function(){if(!E){L-=parseFloat(o.curCSS(H,"padding"+this,true))||0}if(E==="margin"){L+=parseFloat(o.curCSS(H,"margin"+this,true))||0}else{L-=parseFloat(o.curCSS(H,"border"+this+"Width",true))||0}})}if(H.offsetWidth!==0){I()}else{o.swap(H,G,I)}return Math.max(0,Math.round(L))}return o.curCSS(H,F,J)},curCSS:function(I,F,G){var L,E=I.style;if(F=="opacity"&&!o.support.opacity){L=o.attr(E,"opacity");return L==""?"1":L}if(F.match(/float/i)){F=w}if(!G&&E&&E[F]){L=E[F]}else{if(q.getComputedStyle){if(F.match(/float/i)){F="float"}F=F.replace(/([A-Z])/g,"-$1").toLowerCase();var M=q.getComputedStyle(I,null);if(M){L=M.getPropertyValue(F)}if(F=="opacity"&&L==""){L="1"}}else{if(I.currentStyle){var J=F.replace(/\-(\w)/g,function(N,O){return O.toUpperCase()});L=I.currentStyle[F]||I.currentStyle[J];if(!/^\d+(px)?$/i.test(L)&&/^\d/.test(L)){var H=E.left,K=I.runtimeStyle.left;I.runtimeStyle.left=I.currentStyle.left;E.left=L||0;L=E.pixelLeft+"px";E.left=H;I.runtimeStyle.left=K}}}}return L},clean:function(F,K,I){K=K||document;if(typeof K.createElement==="undefined"){K=K.ownerDocument||K[0]&&K[0].ownerDocument||document}if(!I&&F.length===1&&typeof F[0]==="string"){var H=/^<(\w+)\s*\/?>$/.exec(F[0]);if(H){return[K.createElement(H[1])]}}var G=[],E=[],L=K.createElement("div");o.each(F,function(P,S){if(typeof S==="number"){S+=""}if(!S){return}if(typeof S==="string"){S=S.replace(/(<(\w+)[^>]*?)\/>/g,function(U,V,T){return T.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i)?U:V+"></"+T+">"});var O=S.replace(/^\s+/,"").substring(0,10).toLowerCase();var Q=!O.indexOf("<opt")&&[1,"<select multiple='multiple'>","</select>"]||!O.indexOf("<leg")&&[1,"<fieldset>","</fieldset>"]||O.match(/^<(thead|tbody|tfoot|colg|cap)/)&&[1,"<table>","</table>"]||!O.indexOf("<tr")&&[2,"<table><tbody>","</tbody></table>"]||(!O.indexOf("<td")||!O.indexOf("<th"))&&[3,"<table><tbody><tr>","</tr></tbody></table>"]||!O.indexOf("<col")&&[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"]||!o.support.htmlSerialize&&[1,"div<div>","</div>"]||[0,"",""];L.innerHTML=Q[1]+S+Q[2];while(Q[0]--){L=L.lastChild}if(!o.support.tbody){var R=/<tbody/i.test(S),N=!O.indexOf("<table")&&!R?L.firstChild&&L.firstChild.childNodes:Q[1]=="<table>"&&!R?L.childNodes:[];for(var M=N.length-1;M>=0;--M){if(o.nodeName(N[M],"tbody")&&!N[M].childNodes.length){N[M].parentNode.removeChild(N[M])}}}if(!o.support.leadingWhitespace&&/^\s/.test(S)){L.insertBefore(K.createTextNode(S.match(/^\s*/)[0]),L.firstChild)}S=o.makeArray(L.childNodes)}if(S.nodeType){G.push(S)}else{G=o.merge(G,S)}});if(I){for(var J=0;G[J];J++){if(o.nodeName(G[J],"script")&&(!G[J].type||G[J].type.toLowerCase()==="text/javascript")){E.push(G[J].parentNode?G[J].parentNode.removeChild(G[J]):G[J])}else{if(G[J].nodeType===1){G.splice.apply(G,[J+1,0].concat(o.makeArray(G[J].getElementsByTagName("script"))))}I.appendChild(G[J])}}return E}return G},attr:function(J,G,K){if(!J||J.nodeType==3||J.nodeType==8){return g}var H=!o.isXMLDoc(J),L=K!==g;G=H&&o.props[G]||G;if(J.tagName){var F=/href|src|style/.test(G);if(G=="selected"&&J.parentNode){J.parentNode.selectedIndex}if(G in J&&H&&!F){if(L){if(G=="type"&&o.nodeName(J,"input")&&J.parentNode){throw"type property can't be changed"}J[G]=K}if(o.nodeName(J,"form")&&J.getAttributeNode(G)){return J.getAttributeNode(G).nodeValue}if(G=="tabIndex"){var I=J.getAttributeNode("tabIndex");return I&&I.specified?I.value:J.nodeName.match(/(button|input|object|select|textarea)/i)?0:J.nodeName.match(/^(a|area)$/i)&&J.href?0:g}return J[G]}if(!o.support.style&&H&&G=="style"){return o.attr(J.style,"cssText",K)}if(L){J.setAttribute(G,""+K)}var E=!o.support.hrefNormalized&&H&&F?J.getAttribute(G,2):J.getAttribute(G);return E===null?g:E}if(!o.support.opacity&&G=="opacity"){if(L){J.zoom=1;J.filter=(J.filter||"").replace(/alpha\([^)]*\)/,"")+(parseInt(K)+""=="NaN"?"":"alpha(opacity="+K*100+")")}return J.filter&&J.filter.indexOf("opacity=")>=0?(parseFloat(J.filter.match(/opacity=([^)]*)/)[1])/100)+"":""}G=G.replace(/-([a-z])/ig,function(M,N){return N.toUpperCase()});if(L){J[G]=K}return J[G]},trim:function(E){return(E||"").replace(/^\s+|\s+$/g,"")},makeArray:function(G){var E=[];if(G!=null){var F=G.length;if(F==null||typeof G==="string"||o.isFunction(G)||G.setInterval){E[0]=G}else{while(F){E[--F]=G[F]}}}return E},inArray:function(G,H){for(var E=0,F=H.length;E<F;E++){if(H[E]===G){return E}}return -1},merge:function(H,E){var F=0,G,I=H.length;if(!o.support.getAll){while((G=E[F++])!=null){if(G.nodeType!=8){H[I++]=G}}}else{while((G=E[F++])!=null){H[I++]=G}}return H},unique:function(K){var F=[],E={};try{for(var G=0,H=K.length;G<H;G++){var J=o.data(K[G]);if(!E[J]){E[J]=true;F.push(K[G])}}}catch(I){F=K}return F},grep:function(F,J,E){var G=[];for(var H=0,I=F.length;H<I;H++){if(!E!=!J(F[H],H)){G.push(F[H])}}return G},map:function(E,J){var F=[];for(var G=0,H=E.length;G<H;G++){var I=J(E[G],G);if(I!=null){F[F.length]=I}}return F.concat.apply([],F)}});var C=navigator.userAgent.toLowerCase();o.browser={version:(C.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/)||[0,"0"])[1],safari:/webkit/.test(C),opera:/opera/.test(C),msie:/msie/.test(C)&&!/opera/.test(C),mozilla:/mozilla/.test(C)&&!/(compatible|webkit)/.test(C)};o.each({parent:function(E){return E.parentNode},parents:function(E){return o.dir(E,"parentNode")},next:function(E){return o.nth(E,2,"nextSibling")},prev:function(E){return o.nth(E,2,"previousSibling")},nextAll:function(E){return o.dir(E,"nextSibling")},prevAll:function(E){return o.dir(E,"previousSibling")},siblings:function(E){return o.sibling(E.parentNode.firstChild,E)},children:function(E){return o.sibling(E.firstChild)},contents:function(E){return o.nodeName(E,"iframe")?E.contentDocument||E.contentWindow.document:o.makeArray(E.childNodes)}},function(E,F){o.fn[E]=function(G){var H=o.map(this,F);if(G&&typeof G=="string"){H=o.multiFilter(G,H)}return this.pushStack(o.unique(H),E,G)}});o.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(E,F){o.fn[E]=function(G){var J=[],L=o(G);for(var K=0,H=L.length;K<H;K++){var I=(K>0?this.clone(true):this).get();o.fn[F].apply(o(L[K]),I);J=J.concat(I)}return this.pushStack(J,E,G)}});o.each({removeAttr:function(E){o.attr(this,E,"");if(this.nodeType==1){this.removeAttribute(E)}},addClass:function(E){o.className.add(this,E)},removeClass:function(E){o.className.remove(this,E)},toggleClass:function(F,E){if(typeof E!=="boolean"){E=!o.className.has(this,F)}o.className[E?"add":"remove"](this,F)},remove:function(E){if(!E||o.filter(E,[this]).length){o("*",this).add([this]).each(function(){o.event.remove(this);o.removeData(this)});if(this.parentNode){this.parentNode.removeChild(this)}}},empty:function(){o(this).children().remove();while(this.firstChild){this.removeChild(this.firstChild)}}},function(E,F){o.fn[E]=function(){return this.each(F,arguments)}});function j(E,F){return E[0]&&parseInt(o.curCSS(E[0],F,true),10)||0}var h="jQuery"+e(),v=0,A={};o.extend({cache:{},data:function(F,E,G){F=F==l?A:F;var H=F[h];if(!H){H=F[h]=++v}if(E&&!o.cache[H]){o.cache[H]={}}if(G!==g){o.cache[H][E]=G}return E?o.cache[H][E]:H},removeData:function(F,E){F=F==l?A:F;var H=F[h];if(E){if(o.cache[H]){delete o.cache[H][E];E="";for(E in o.cache[H]){break}if(!E){o.removeData(F)}}}else{try{delete F[h]}catch(G){if(F.removeAttribute){F.removeAttribute(h)}}delete o.cache[H]}},queue:function(F,E,H){if(F){E=(E||"fx")+"queue";var G=o.data(F,E);if(!G||o.isArray(H)){G=o.data(F,E,o.makeArray(H))}else{if(H){G.push(H)}}}return G},dequeue:function(H,G){var E=o.queue(H,G),F=E.shift();if(!G||G==="fx"){F=E[0]}if(F!==g){F.call(H)}}});o.fn.extend({data:function(E,G){var H=E.split(".");H[1]=H[1]?"."+H[1]:"";if(G===g){var F=this.triggerHandler("getData"+H[1]+"!",[H[0]]);if(F===g&&this.length){F=o.data(this[0],E)}return F===g&&H[1]?this.data(H[0]):F}else{return this.trigger("setData"+H[1]+"!",[H[0],G]).each(function(){o.data(this,E,G)})}},removeData:function(E){return this.each(function(){o.removeData(this,E)})},queue:function(E,F){if(typeof E!=="string"){F=E;E="fx"}if(F===g){return o.queue(this[0],E)}return this.each(function(){var G=o.queue(this,E,F);if(E=="fx"&&G.length==1){G[0].call(this)}})},dequeue:function(E){return this.each(function(){o.dequeue(this,E)})}});
  13  /*
  14   * Sizzle CSS Selector Engine - v0.9.3
  15   *  Copyright 2009, The Dojo Foundation
  16   *  Released under the MIT, BSD, and GPL Licenses.
  17   *  More information: http://sizzlejs.com/
  18   */
  19  (function(){var R=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?/g,L=0,H=Object.prototype.toString;var F=function(Y,U,ab,ac){ab=ab||[];U=U||document;if(U.nodeType!==1&&U.nodeType!==9){return[]}if(!Y||typeof Y!=="string"){return ab}var Z=[],W,af,ai,T,ad,V,X=true;R.lastIndex=0;while((W=R.exec(Y))!==null){Z.push(W[1]);if(W[2]){V=RegExp.rightContext;break}}if(Z.length>1&&M.exec(Y)){if(Z.length===2&&I.relative[Z[0]]){af=J(Z[0]+Z[1],U)}else{af=I.relative[Z[0]]?[U]:F(Z.shift(),U);while(Z.length){Y=Z.shift();if(I.relative[Y]){Y+=Z.shift()}af=J(Y,af)}}}else{var ae=ac?{expr:Z.pop(),set:E(ac)}:F.find(Z.pop(),Z.length===1&&U.parentNode?U.parentNode:U,Q(U));af=F.filter(ae.expr,ae.set);if(Z.length>0){ai=E(af)}else{X=false}while(Z.length){var ah=Z.pop(),ag=ah;if(!I.relative[ah]){ah=""}else{ag=Z.pop()}if(ag==null){ag=U}I.relative[ah](ai,ag,Q(U))}}if(!ai){ai=af}if(!ai){throw"Syntax error, unrecognized expression: "+(ah||Y)}if(H.call(ai)==="[object Array]"){if(!X){ab.push.apply(ab,ai)}else{if(U.nodeType===1){for(var aa=0;ai[aa]!=null;aa++){if(ai[aa]&&(ai[aa]===true||ai[aa].nodeType===1&&K(U,ai[aa]))){ab.push(af[aa])}}}else{for(var aa=0;ai[aa]!=null;aa++){if(ai[aa]&&ai[aa].nodeType===1){ab.push(af[aa])}}}}}else{E(ai,ab)}if(V){F(V,U,ab,ac);if(G){hasDuplicate=false;ab.sort(G);if(hasDuplicate){for(var aa=1;aa<ab.length;aa++){if(ab[aa]===ab[aa-1]){ab.splice(aa--,1)}}}}}return ab};F.matches=function(T,U){return F(T,null,null,U)};F.find=function(aa,T,ab){var Z,X;if(!aa){return[]}for(var W=0,V=I.order.length;W<V;W++){var Y=I.order[W],X;if((X=I.match[Y].exec(aa))){var U=RegExp.leftContext;if(U.substr(U.length-1)!=="\\"){X[1]=(X[1]||"").replace(/\\/g,"");Z=I.find[Y](X,T,ab);if(Z!=null){aa=aa.replace(I.match[Y],"");break}}}}if(!Z){Z=T.getElementsByTagName("*")}return{set:Z,expr:aa}};F.filter=function(ad,ac,ag,W){var V=ad,ai=[],aa=ac,Y,T,Z=ac&&ac[0]&&Q(ac[0]);while(ad&&ac.length){for(var ab in I.filter){if((Y=I.match[ab].exec(ad))!=null){var U=I.filter[ab],ah,af;T=false;if(aa==ai){ai=[]}if(I.preFilter[ab]){Y=I.preFilter[ab](Y,aa,ag,ai,W,Z);if(!Y){T=ah=true}else{if(Y===true){continue}}}if(Y){for(var X=0;(af=aa[X])!=null;X++){if(af){ah=U(af,Y,X,aa);var ae=W^!!ah;if(ag&&ah!=null){if(ae){T=true}else{aa[X]=false}}else{if(ae){ai.push(af);T=true}}}}}if(ah!==g){if(!ag){aa=ai}ad=ad.replace(I.match[ab],"");if(!T){return[]}break}}}if(ad==V){if(T==null){throw"Syntax error, unrecognized expression: "+ad}else{break}}V=ad}return aa};var I=F.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|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*_-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF_-]|\\.)+)(?:\((['"]*)((?:\([^\)]+\)|[^\2\(\)]*)+)\2\))?/},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(T){return T.getAttribute("href")}},relative:{"+":function(aa,T,Z){var X=typeof T==="string",ab=X&&!/\W/.test(T),Y=X&&!ab;if(ab&&!Z){T=T.toUpperCase()}for(var W=0,V=aa.length,U;W<V;W++){if((U=aa[W])){while((U=U.previousSibling)&&U.nodeType!==1){}aa[W]=Y||U&&U.nodeName===T?U||false:U===T}}if(Y){F.filter(T,aa,true)}},">":function(Z,U,aa){var X=typeof U==="string";if(X&&!/\W/.test(U)){U=aa?U:U.toUpperCase();for(var V=0,T=Z.length;V<T;V++){var Y=Z[V];if(Y){var W=Y.parentNode;Z[V]=W.nodeName===U?W:false}}}else{for(var V=0,T=Z.length;V<T;V++){var Y=Z[V];if(Y){Z[V]=X?Y.parentNode:Y.parentNode===U}}if(X){F.filter(U,Z,true)}}},"":function(W,U,Y){var V=L++,T=S;if(!U.match(/\W/)){var X=U=Y?U:U.toUpperCase();T=P}T("parentNode",U,V,W,X,Y)},"~":function(W,U,Y){var V=L++,T=S;if(typeof U==="string"&&!U.match(/\W/)){var X=U=Y?U:U.toUpperCase();T=P}T("previousSibling",U,V,W,X,Y)}},find:{ID:function(U,V,W){if(typeof V.getElementById!=="undefined"&&!W){var T=V.getElementById(U[1]);return T?[T]:[]}},NAME:function(V,Y,Z){if(typeof Y.getElementsByName!=="undefined"){var U=[],X=Y.getElementsByName(V[1]);for(var W=0,T=X.length;W<T;W++){if(X[W].getAttribute("name")===V[1]){U.push(X[W])}}return U.length===0?null:U}},TAG:function(T,U){return U.getElementsByTagName(T[1])}},preFilter:{CLASS:function(W,U,V,T,Z,aa){W=" "+W[1].replace(/\\/g,"")+" ";if(aa){return W}for(var X=0,Y;(Y=U[X])!=null;X++){if(Y){if(Z^(Y.className&&(" "+Y.className+" ").indexOf(W)>=0)){if(!V){T.push(Y)}}else{if(V){U[X]=false}}}}return false},ID:function(T){return T[1].replace(/\\/g,"")},TAG:function(U,T){for(var V=0;T[V]===false;V++){}return T[V]&&Q(T[V])?U[1]:U[1].toUpperCase()},CHILD:function(T){if(T[1]=="nth"){var U=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(T[2]=="even"&&"2n"||T[2]=="odd"&&"2n+1"||!/\D/.test(T[2])&&"0n+"+T[2]||T[2]);T[2]=(U[1]+(U[2]||1))-0;T[3]=U[3]-0}T[0]=L++;return T},ATTR:function(X,U,V,T,Y,Z){var W=X[1].replace(/\\/g,"");if(!Z&&I.attrMap[W]){X[1]=I.attrMap[W]}if(X[2]==="~="){X[4]=" "+X[4]+" "}return X},PSEUDO:function(X,U,V,T,Y){if(X[1]==="not"){if(X[3].match(R).length>1||/^\w/.test(X[3])){X[3]=F(X[3],null,null,U)}else{var W=F.filter(X[3],U,V,true^Y);if(!V){T.push.apply(T,W)}return false}}else{if(I.match.POS.test(X[0])||I.match.CHILD.test(X[0])){return true}}return X},POS:function(T){T.unshift(true);return T}},filters:{enabled:function(T){return T.disabled===false&&T.type!=="hidden"},disabled:function(T){return T.disabled===true},checked:function(T){return T.checked===true},selected:function(T){T.parentNode.selectedIndex;return T.selected===true},parent:function(T){return !!T.firstChild},empty:function(T){return !T.firstChild},has:function(V,U,T){return !!F(T[3],V).length},header:function(T){return/h\d/i.test(T.nodeName)},text:function(T){return"text"===T.type},radio:function(T){return"radio"===T.type},checkbox:function(T){return"checkbox"===T.type},file:function(T){return"file"===T.type},password:function(T){return"password"===T.type},submit:function(T){return"submit"===T.type},image:function(T){return"image"===T.type},reset:function(T){return"reset"===T.type},button:function(T){return"button"===T.type||T.nodeName.toUpperCase()==="BUTTON"},input:function(T){return/input|select|textarea|button/i.test(T.nodeName)}},setFilters:{first:function(U,T){return T===0},last:function(V,U,T,W){return U===W.length-1},even:function(U,T){return T%2===0},odd:function(U,T){return T%2===1},lt:function(V,U,T){return U<T[3]-0},gt:function(V,U,T){return U>T[3]-0},nth:function(V,U,T){return T[3]-0==U},eq:function(V,U,T){return T[3]-0==U}},filter:{PSEUDO:function(Z,V,W,aa){var U=V[1],X=I.filters[U];if(X){return X(Z,W,V,aa)}else{if(U==="contains"){return(Z.textContent||Z.innerText||"").indexOf(V[3])>=0}else{if(U==="not"){var Y=V[3];for(var W=0,T=Y.length;W<T;W++){if(Y[W]===Z){return false}}return true}}}},CHILD:function(T,W){var Z=W[1],U=T;switch(Z){case"only":case"first":while(U=U.previousSibling){if(U.nodeType===1){return false}}if(Z=="first"){return true}U=T;case"last":while(U=U.nextSibling){if(U.nodeType===1){return false}}return true;case"nth":var V=W[2],ac=W[3];if(V==1&&ac==0){return true}var Y=W[0],ab=T.parentNode;if(ab&&(ab.sizcache!==Y||!T.nodeIndex)){var X=0;for(U=ab.firstChild;U;U=U.nextSibling){if(U.nodeType===1){U.nodeIndex=++X}}ab.sizcache=Y}var aa=T.nodeIndex-ac;if(V==0){return aa==0}else{return(aa%V==0&&aa/V>=0)}}},ID:function(U,T){return U.nodeType===1&&U.getAttribute("id")===T},TAG:function(U,T){return(T==="*"&&U.nodeType===1)||U.nodeName===T},CLASS:function(U,T){return(" "+(U.className||U.getAttribute("class"))+" ").indexOf(T)>-1},ATTR:function(Y,W){var V=W[1],T=I.attrHandle[V]?I.attrHandle[V](Y):Y[V]!=null?Y[V]:Y.getAttribute(V),Z=T+"",X=W[2],U=W[4];return T==null?X==="!=":X==="="?Z===U:X==="*="?Z.indexOf(U)>=0:X==="~="?(" "+Z+" ").indexOf(U)>=0:!U?Z&&T!==false:X==="!="?Z!=U:X==="^="?Z.indexOf(U)===0:X==="$="?Z.substr(Z.length-U.length)===U:X==="|="?Z===U||Z.substr(0,U.length+1)===U+"-":false},POS:function(X,U,V,Y){var T=U[2],W=I.setFilters[T];if(W){return W(X,V,U,Y)}}}};var M=I.match.POS;for(var O in I.match){I.match[O]=RegExp(I.match[O].source+/(?![^\[]*\])(?![^\(]*\))/.source)}var E=function(U,T){U=Array.prototype.slice.call(U);if(T){T.push.apply(T,U);return T}return U};try{Array.prototype.slice.call(document.documentElement.childNodes)}catch(N){E=function(X,W){var U=W||[];if(H.call(X)==="[object Array]"){Array.prototype.push.apply(U,X)}else{if(typeof X.length==="number"){for(var V=0,T=X.length;V<T;V++){U.push(X[V])}}else{for(var V=0;X[V];V++){U.push(X[V])}}}return U}}var G;if(document.documentElement.compareDocumentPosition){G=function(U,T){var V=U.compareDocumentPosition(T)&4?-1:U===T?0:1;if(V===0){hasDuplicate=true}return V}}else{if("sourceIndex" in document.documentElement){G=function(U,T){var V=U.sourceIndex-T.sourceIndex;if(V===0){hasDuplicate=true}return V}}else{if(document.createRange){G=function(W,U){var V=W.ownerDocument.createRange(),T=U.ownerDocument.createRange();V.selectNode(W);V.collapse(true);T.selectNode(U);T.collapse(true);var X=V.compareBoundaryPoints(Range.START_TO_END,T);if(X===0){hasDuplicate=true}return X}}}}(function(){var U=document.createElement("form"),V="script"+(new Date).getTime();U.innerHTML="<input name='"+V+"'/>";var T=document.documentElement;T.insertBefore(U,T.firstChild);if(!!document.getElementById(V)){I.find.ID=function(X,Y,Z){if(typeof Y.getElementById!=="undefined"&&!Z){var W=Y.getElementById(X[1]);return W?W.id===X[1]||typeof W.getAttributeNode!=="undefined"&&W.getAttributeNode("id").nodeValue===X[1]?[W]:g:[]}};I.filter.ID=function(Y,W){var X=typeof Y.getAttributeNode!=="undefined"&&Y.getAttributeNode("id");return Y.nodeType===1&&X&&X.nodeValue===W}}T.removeChild(U)})();(function(){var T=document.createElement("div");T.appendChild(document.createComment(""));if(T.getElementsByTagName("*").length>0){I.find.TAG=function(U,Y){var X=Y.getElementsByTagName(U[1]);if(U[1]==="*"){var W=[];for(var V=0;X[V];V++){if(X[V].nodeType===1){W.push(X[V])}}X=W}return X}}T.innerHTML="<a href='#'></a>";if(T.firstChild&&typeof T.firstChild.getAttribute!=="undefined"&&T.firstChild.getAttribute("href")!=="#"){I.attrHandle.href=function(U){return U.getAttribute("href",2)}}})();if(document.querySelectorAll){(function(){var T=F,U=document.createElement("div");U.innerHTML="<p class='TEST'></p>";if(U.querySelectorAll&&U.querySelectorAll(".TEST").length===0){return}F=function(Y,X,V,W){X=X||document;if(!W&&X.nodeType===9&&!Q(X)){try{return E(X.querySelectorAll(Y),V)}catch(Z){}}return T(Y,X,V,W)};F.find=T.find;F.filter=T.filter;F.selectors=T.selectors;F.matches=T.matches})()}if(document.getElementsByClassName&&document.documentElement.getElementsByClassName){(function(){var T=document.createElement("div");T.innerHTML="<div class='test e'></div><div class='test'></div>";if(T.getElementsByClassName("e").length===0){return}T.lastChild.className="e";if(T.getElementsByClassName("e").length===1){return}I.order.splice(1,0,"CLASS");I.find.CLASS=function(U,V,W){if(typeof V.getElementsByClassName!=="undefined"&&!W){return V.getElementsByClassName(U[1])}}})()}function P(U,Z,Y,ad,aa,ac){var ab=U=="previousSibling"&&!ac;for(var W=0,V=ad.length;W<V;W++){var T=ad[W];if(T){if(ab&&T.nodeType===1){T.sizcache=Y;T.sizset=W}T=T[U];var X=false;while(T){if(T.sizcache===Y){X=ad[T.sizset];break}if(T.nodeType===1&&!ac){T.sizcache=Y;T.sizset=W}if(T.nodeName===Z){X=T;break}T=T[U]}ad[W]=X}}}function S(U,Z,Y,ad,aa,ac){var ab=U=="previousSibling"&&!ac;for(var W=0,V=ad.length;W<V;W++){var T=ad[W];if(T){if(ab&&T.nodeType===1){T.sizcache=Y;T.sizset=W}T=T[U];var X=false;while(T){if(T.sizcache===Y){X=ad[T.sizset];break}if(T.nodeType===1){if(!ac){T.sizcache=Y;T.sizset=W}if(typeof Z!=="string"){if(T===Z){X=true;break}}else{if(F.filter(Z,[T]).length>0){X=T;break}}}T=T[U]}ad[W]=X}}}var K=document.compareDocumentPosition?function(U,T){return U.compareDocumentPosition(T)&16}:function(U,T){return U!==T&&(U.contains?U.contains(T):true)};var Q=function(T){return T.nodeType===9&&T.documentElement.nodeName!=="HTML"||!!T.ownerDocument&&Q(T.ownerDocument)};var J=function(T,aa){var W=[],X="",Y,V=aa.nodeType?[aa]:aa;while((Y=I.match.PSEUDO.exec(T))){X+=Y[0];T=T.replace(I.match.PSEUDO,"")}T=I.relative[T]?T+"*":T;for(var Z=0,U=V.length;Z<U;Z++){F(T,V[Z],W)}return F.filter(X,W)};o.find=F;o.filter=F.filter;o.expr=F.selectors;o.expr[":"]=o.expr.filters;F.selectors.filters.hidden=function(T){return T.offsetWidth===0||T.offsetHeight===0};F.selectors.filters.visible=function(T){return T.offsetWidth>0||T.offsetHeight>0};F.selectors.filters.animated=function(T){return o.grep(o.timers,function(U){return T===U.elem}).length};o.multiFilter=function(V,T,U){if(U){V=":not("+V+")"}return F.matches(V,T)};o.dir=function(V,U){var T=[],W=V[U];while(W&&W!=document){if(W.nodeType==1){T.push(W)}W=W[U]}return T};o.nth=function(X,T,V,W){T=T||1;var U=0;for(;X;X=X[V]){if(X.nodeType==1&&++U==T){break}}return X};o.sibling=function(V,U){var T=[];for(;V;V=V.nextSibling){if(V.nodeType==1&&V!=U){T.push(V)}}return T};return;l.Sizzle=F})();o.event={add:function(I,F,H,K){if(I.nodeType==3||I.nodeType==8){return}if(I.setInterval&&I!=l){I=l}if(!H.guid){H.guid=this.guid++}if(K!==g){var G=H;H=this.proxy(G);H.data=K}var E=o.data(I,"events")||o.data(I,"events",{}),J=o.data(I,"handle")||o.data(I,"handle",function(){return typeof o!=="undefined"&&!o.event.triggered?o.event.handle.apply(arguments.callee.elem,arguments):g});J.elem=I;o.each(F.split(/\s+/),function(M,N){var O=N.split(".");N=O.shift();H.type=O.slice().sort().join(".");var L=E[N];if(o.event.specialAll[N]){o.event.specialAll[N].setup.call(I,K,O)}if(!L){L=E[N]={};if(!o.event.special[N]||o.event.special[N].setup.call(I,K,O)===false){if(I.addEventListener){I.addEventListener(N,J,false)}else{if(I.attachEvent){I.attachEvent("on"+N,J)}}}}L[H.guid]=H;o.event.global[N]=true});I=null},guid:1,global:{},remove:function(K,H,J){if(K.nodeType==3||K.nodeType==8){return}var G=o.data(K,"events"),F,E;if(G){if(H===g||(typeof H==="string"&&H.charAt(0)==".")){for(var I in G){this.remove(K,I+(H||""))}}else{if(H.type){J=H.handler;H=H.type}o.each(H.split(/\s+/),function(M,O){var Q=O.split(".");O=Q.shift();var N=RegExp("(^|\\.)"+Q.slice().sort().join(".*\\.")+"(\\.|$)");if(G[O]){if(J){delete G[O][J.guid]}else{for(var P in G[O]){if(N.test(G[O][P].type)){delete G[O][P]}}}if(o.event.specialAll[O]){o.event.specialAll[O].teardown.call(K,Q)}for(F in G[O]){break}if(!F){if(!o.event.special[O]||o.event.special[O].teardown.call(K,Q)===false){if(K.removeEventListener){K.removeEventListener(O,o.data(K,"handle"),false)}else{if(K.detachEvent){K.detachEvent("on"+O,o.data(K,"handle"))}}}F=null;delete G[O]}}})}for(F in G){break}if(!F){var L=o.data(K,"handle");if(L){L.elem=null}o.removeData(K,"events");o.removeData(K,"handle")}}},trigger:function(I,K,H,E){var G=I.type||I;if(!E){I=typeof I==="object"?I[h]?I:o.extend(o.Event(G),I):o.Event(G);if(G.indexOf("!")>=0){I.type=G=G.slice(0,-1);I.exclusive=true}if(!H){I.stopPropagation();if(this.global[G]){o.each(o.cache,function(){if(this.events&&this.events[G]){o.event.trigger(I,K,this.handle.elem)}})}}if(!H||H.nodeType==3||H.nodeType==8){return g}I.result=g;I.target=H;K=o.makeArray(K);K.unshift(I)}I.currentTarget=H;var J=o.data(H,"handle");if(J){J.apply(H,K)}if((!H[G]||(o.nodeName(H,"a")&&G=="click"))&&H["on"+G]&&H["on"+G].apply(H,K)===false){I.result=false}if(!E&&H[G]&&!I.isDefaultPrevented()&&!(o.nodeName(H,"a")&&G=="click")){this.triggered=true;try{H[G]()}catch(L){}}this.triggered=false;if(!I.isPropagationStopped()){var F=H.parentNode||H.ownerDocument;if(F){o.event.trigger(I,K,F,true)}}},handle:function(K){var J,E;K=arguments[0]=o.event.fix(K||l.event);K.currentTarget=this;var L=K.type.split(".");K.type=L.shift();J=!L.length&&!K.exclusive;var I=RegExp("(^|\\.)"+L.slice().sort().join(".*\\.")+"(\\.|$)");E=(o.data(this,"events")||{})[K.type];for(var G in E){var H=E[G];if(J||I.test(H.type)){K.handler=H;K.data=H.data;var F=H.apply(this,arguments);if(F!==g){K.result=F;if(F===false){K.preventDefault();K.stopPropagation()}}if(K.isImmediatePropagationStopped()){break}}}},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),fix:function(H){if(H[h]){return H}var F=H;H=o.Event(F);for(var G=this.props.length,J;G;){J=this.props[--G];H[J]=F[J]}if(!H.target){H.target=H.srcElement||document}if(H.target.nodeType==3){H.target=H.target.parentNode}if(!H.relatedTarget&&H.fromElement){H.relatedTarget=H.fromElement==H.target?H.toElement:H.fromElement}if(H.pageX==null&&H.clientX!=null){var I=document.documentElement,E=document.body;H.pageX=H.clientX+(I&&I.scrollLeft||E&&E.scrollLeft||0)-(I.clientLeft||0);H.pageY=H.clientY+(I&&I.scrollTop||E&&E.scrollTop||0)-(I.clientTop||0)}if(!H.which&&((H.charCode||H.charCode===0)?H.charCode:H.keyCode)){H.which=H.charCode||H.keyCode}if(!H.metaKey&&H.ctrlKey){H.metaKey=H.ctrlKey}if(!H.which&&H.button){H.which=(H.button&1?1:(H.button&2?3:(H.button&4?2:0)))}return H},proxy:function(F,E){E=E||function(){return F.apply(this,arguments)};E.guid=F.guid=F.guid||E.guid||this.guid++;return E},special:{ready:{setup:B,teardown:function(){}}},specialAll:{live:{setup:function(E,F){o.event.add(this,F[0],c)},teardown:function(G){if(G.length){var E=0,F=RegExp("(^|\\.)"+G[0]+"(\\.|$)");o.each((o.data(this,"events").live||{}),function(){if(F.test(this.type)){E++}});if(E<1){o.event.remove(this,G[0],c)}}}}}};o.Event=function(E){if(!this.preventDefault){return new o.Event(E)}if(E&&E.type){this.originalEvent=E;this.type=E.type}else{this.type=E}this.timeStamp=e();this[h]=true};function k(){return false}function u(){return true}o.Event.prototype={preventDefault:function(){this.isDefaultPrevented=u;var E=this.originalEvent;if(!E){return}if(E.preventDefault){E.preventDefault()}E.returnValue=false},stopPropagation:function(){this.isPropagationStopped=u;var E=this.originalEvent;if(!E){return}if(E.stopPropagation){E.stopPropagation()}E.cancelBubble=true},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=u;this.stopPropagation()},isDefaultPrevented:k,isPropagationStopped:k,isImmediatePropagationStopped:k};var a=function(F){var E=F.relatedTarget;while(E&&E!=this){try{E=E.parentNode}catch(G){E=this}}if(E!=this){F.type=F.data;o.event.handle.apply(this,arguments)}};o.each({mouseover:"mouseenter",mouseout:"mouseleave"},function(F,E){o.event.special[E]={setup:function(){o.event.add(this,F,a,E)},teardown:function(){o.event.remove(this,F,a)}}});o.fn.extend({bind:function(F,G,E){return F=="unload"?this.one(F,G,E):this.each(function(){o.event.add(this,F,E||G,E&&G)})},one:function(G,H,F){var E=o.event.proxy(F||H,function(I){o(this).unbind(I,E);return(F||H).apply(this,arguments)});return this.each(function(){o.event.add(this,G,E,F&&H)})},unbind:function(F,E){return this.each(function(){o.event.remove(this,F,E)})},trigger:function(E,F){return this.each(function(){o.event.trigger(E,F,this)})},triggerHandler:function(E,G){if(this[0]){var F=o.Event(E);F.preventDefault();F.stopPropagation();o.event.trigger(F,G,this[0]);return F.result}},toggle:function(G){var E=arguments,F=1;while(F<E.length){o.event.proxy(G,E[F++])}return this.click(o.event.proxy(G,function(H){this.lastToggle=(this.lastToggle||0)%F;H.preventDefault();return E[this.lastToggle++].apply(this,arguments)||false}))},hover:function(E,F){return this.mouseenter(E).mouseleave(F)},ready:function(E){B();if(o.isReady){E.call(document,o)}else{o.readyList.push(E)}return this},live:function(G,F){var E=o.event.proxy(F);E.guid+=this.selector+G;o(document).bind(i(G,this.selector),this.selector,E);return this},die:function(F,E){o(document).unbind(i(F,this.selector),E?{guid:E.guid+this.selector+F}:null);return this}});function c(H){var E=RegExp("(^|\\.)"+H.type+"(\\.|$)"),G=true,F=[];o.each(o.data(this,"events").live||[],function(I,J){if(E.test(J.type)){var K=o(H.target).closest(J.data)[0];if(K){F.push({elem:K,fn:J})}}});F.sort(function(J,I){return o.data(J.elem,"closest")-o.data(I.elem,"closest")});o.each(F,function(){if(this.fn.call(this.elem,H,this.fn.data)===false){return(G=false)}});return G}function i(F,E){return["live",F,E.replace(/\./g,"`").replace(/ /g,"|")].join(".")}o.extend({isReady:false,readyList:[],ready:function(){if(!o.isReady){o.isReady=true;if(o.readyList){o.each(o.readyList,function(){this.call(document,o)});o.readyList=null}o(document).triggerHandler("ready")}}});var x=false;function B(){if(x){return}x=true;if(document.addEventListener){document.addEventListener("DOMContentLoaded",function(){document.removeEventListener("DOMContentLoaded",arguments.callee,false);o.ready()},false)}else{if(document.attachEvent){document.attachEvent("onreadystatechange",function(){if(document.readyState==="complete"){document.detachEvent("onreadystatechange",arguments.callee);o.ready()}});if(document.documentElement.doScroll&&l==l.top){(function(){if(o.isReady){return}try{document.documentElement.doScroll("left")}catch(E){setTimeout(arguments.callee,0);return}o.ready()})()}}}o.event.add(l,"load",o.ready)}o.each(("blur,focus,load,resize,scroll,unload,click,dblclick,mousedown,mouseup,mousemove,mouseover,mouseout,mouseenter,mouseleave,change,select,submit,keydown,keypress,keyup,error").split(","),function(F,E){o.fn[E]=function(G){return G?this.bind(E,G):this.trigger(E)}});o(l).bind("unload",function(){for(var E in o.cache){if(E!=1&&o.cache[E].handle){o.event.remove(o.cache[E].handle.elem)}}});(function(){o.support={};var F=document.documentElement,G=document.createElement("script"),K=document.createElement("div"),J="script"+(new Date).getTime();K.style.display="none";K.innerHTML='   <link/><table></table><a href="/a" style="color:red;float:left;opacity:.5;">a</a><select><option>text</option></select><object><param/></object>';var H=K.getElementsByTagName("*"),E=K.getElementsByTagName("a")[0];if(!H||!H.length||!E){return}o.support={leadingWhitespace:K.firstChild.nodeType==3,tbody:!K.getElementsByTagName("tbody").length,objectAll:!!K.getElementsByTagName("object")[0].getElementsByTagName("*").length,htmlSerialize:!!K.getElementsByTagName("link").length,style:/red/.test(E.getAttribute("style")),hrefNormalized:E.getAttribute("href")==="/a",opacity:E.style.opacity==="0.5",cssFloat:!!E.style.cssFloat,scriptEval:false,noCloneEvent:true,boxModel:null};G.type="text/javascript";try{G.appendChild(document.createTextNode("window."+J+"=1;"))}catch(I){}F.insertBefore(G,F.firstChild);if(l[J]){o.support.scriptEval=true;delete l[J]}F.removeChild(G);if(K.attachEvent&&K.fireEvent){K.attachEvent("onclick",function(){o.support.noCloneEvent=false;K.detachEvent("onclick",arguments.callee)});K.cloneNode(true).fireEvent("onclick")}o(function(){var L=document.createElement("div");L.style.width=L.style.paddingLeft="1px";document.body.appendChild(L);o.boxModel=o.support.boxModel=L.offsetWidth===2;document.body.removeChild(L).style.display="none"})})();var w=o.support.cssFloat?"cssFloat":"styleFloat";o.props={"for":"htmlFor","class":"className","float":w,cssFloat:w,styleFloat:w,readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",tabindex:"tabIndex"};o.fn.extend({_load:o.fn.load,load:function(G,J,K){if(typeof G!=="string"){return this._load(G)}var I=G.indexOf(" ");if(I>=0){var E=G.slice(I,G.length);G=G.slice(0,I)}var H="GET";if(J){if(o.isFunction(J)){K=J;J=null}else{if(typeof J==="object"){J=o.param(J);H="POST"}}}var F=this;o.ajax({url:G,type:H,dataType:"html",data:J,complete:function(M,L){if(L=="success"||L=="notmodified"){F.html(E?o("<div/>").append(M.responseText.replace(/<script(.|\s)*?\/script>/g,"")).find(E):M.responseText)}if(K){F.each(K,[M.responseText,L,M])}}});return this},serialize:function(){return o.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?o.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||/select|textarea/i.test(this.nodeName)||/text|hidden|password|search/i.test(this.type))}).map(function(E,F){var G=o(this).val();return G==null?null:o.isArray(G)?o.map(G,function(I,H){return{name:F.name,value:I}}):{name:F.name,value:G}}).get()}});o.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","),function(E,F){o.fn[F]=function(G){return this.bind(F,G)}});var r=e();o.extend({get:function(E,G,H,F){if(o.isFunction(G)){H=G;G=null}return o.ajax({type:"GET",url:E,data:G,success:H,dataType:F})},getScript:function(E,F){return o.get(E,null,F,"script")},getJSON:function(E,F,G){return o.get(E,F,G,"json")},post:function(E,G,H,F){if(o.isFunction(G)){H=G;G={}}return o.ajax({type:"POST",url:E,data:G,success:H,dataType:F})},ajaxSetup:function(E){o.extend(o.ajaxSettings,E)},ajaxSettings:{url:location.href,global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:function(){return l.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest()},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},ajax:function(M){M=o.extend(true,M,o.extend(true,{},o.ajaxSettings,M));var W,F=/=\?(&|$)/g,R,V,G=M.type.toUpperCase();if(M.data&&M.processData&&typeof M.data!=="string"){M.data=o.param(M.data)}if(M.dataType=="jsonp"){if(G=="GET"){if(!M.url.match(F)){M.url+=(M.url.match(/\?/)?"&":"?")+(M.jsonp||"callback")+"=?"}}else{if(!M.data||!M.data.match(F)){M.data=(M.data?M.data+"&":"")+(M.jsonp||"callback")+"=?"}}M.dataType="json"}if(M.dataType=="json"&&(M.data&&M.data.match(F)||M.url.match(F))){W="jsonp"+r++;if(M.data){M.data=(M.data+"").replace(F,"="+W+"$1")}M.url=M.url.replace(F,"="+W+"$1");M.dataType="script";l[W]=function(X){V=X;I();L();l[W]=g;try{delete l[W]}catch(Y){}if(H){H.removeChild(T)}}}if(M.dataType=="script"&&M.cache==null){M.cache=false}if(M.cache===false&&G=="GET"){var E=e();var U=M.url.replace(/(\?|&)_=.*?(&|$)/,"$1_="+E+"$2");M.url=U+((U==M.url)?(M.url.match(/\?/)?"&":"?")+"_="+E:"")}if(M.data&&G=="GET"){M.url+=(M.url.match(/\?/)?"&":"?")+M.data;M.data=null}if(M.global&&!o.active++){o.event.trigger("ajaxStart")}var Q=/^(\w+:)?\/\/([^\/?#]+)/.exec(M.url);if(M.dataType=="script"&&G=="GET"&&Q&&(Q[1]&&Q[1]!=location.protocol||Q[2]!=location.host)){var H=document.getElementsByTagName("head")[0];var T=document.createElement("script");T.src=M.url;if(M.scriptCharset){T.charset=M.scriptCharset}if(!W){var O=false;T.onload=T.onreadystatechange=function(){if(!O&&(!this.readyState||this.readyState=="loaded"||this.readyState=="complete")){O=true;I();L();T.onload=T.onreadystatechange=null;H.removeChild(T)}}}H.appendChild(T);return g}var K=false;var J=M.xhr();if(M.username){J.open(G,M.url,M.async,M.username,M.password)}else{J.open(G,M.url,M.async)}try{if(M.data){J.setRequestHeader("Content-Type",M.contentType)}if(M.ifModified){J.setRequestHeader("If-Modified-Since",o.lastModified[M.url]||"Thu, 01 Jan 1970 00:00:00 GMT")}J.setRequestHeader("X-Requested-With","XMLHttpRequest");J.setRequestHeader("Accept",M.dataType&&M.accepts[M.dataType]?M.accepts[M.dataType]+", */*":M.accepts._default)}catch(S){}if(M.beforeSend&&M.beforeSend(J,M)===false){if(M.global&&!--o.active){o.event.trigger("ajaxStop")}J.abort();return false}if(M.global){o.event.trigger("ajaxSend",[J,M])}var N=function(X){if(J.readyState==0){if(P){clearInterval(P);P=null;if(M.global&&!--o.active){o.event.trigger("ajaxStop")}}}else{if(!K&&J&&(J.readyState==4||X=="timeout")){K=true;if(P){clearInterval(P);P=null}R=X=="timeout"?"timeout":!o.httpSuccess(J)?"error":M.ifModified&&o.httpNotModified(J,M.url)?"notmodified":"success";if(R=="success"){try{V=o.httpData(J,M.dataType,M)}catch(Z){R="parsererror"}}if(R=="success"){var Y;try{Y=J.getResponseHeader("Last-Modified")}catch(Z){}if(M.ifModified&&Y){o.lastModified[M.url]=Y}if(!W){I()}}else{o.handleError(M,J,R)}L();if(X){J.abort()}if(M.async){J=null}}}};if(M.async){var P=setInterval(N,13);if(M.timeout>0){setTimeout(function(){if(J&&!K){N("timeout")}},M.timeout)}}try{J.send(M.data)}catch(S){o.handleError(M,J,null,S)}if(!M.async){N()}function I(){if(M.success){M.success(V,R)}if(M.global){o.event.trigger("ajaxSuccess",[J,M])}}function L(){if(M.complete){M.complete(J,R)}if(M.global){o.event.trigger("ajaxComplete",[J,M])}if(M.global&&!--o.active){o.event.trigger("ajaxStop")}}return J},handleError:function(F,H,E,G){if(F.error){F.error(H,E,G)}if(F.global){o.event.trigger("ajaxError",[H,F,G])}},active:0,httpSuccess:function(F){try{return !F.status&&location.protocol=="file:"||(F.status>=200&&F.status<300)||F.status==304||F.status==1223}catch(E){}return false},httpNotModified:function(G,E){try{var H=G.getResponseHeader("Last-Modified");return G.status==304||H==o.lastModified[E]}catch(F){}return false},httpData:function(J,H,G){var F=J.getResponseHeader("content-type"),E=H=="xml"||!H&&F&&F.indexOf("xml")>=0,I=E?J.responseXML:J.responseText;if(E&&I.documentElement.tagName=="parsererror"){throw"parsererror"}if(G&&G.dataFilter){I=G.dataFilter(I,H)}if(typeof I==="string"){if(H=="script"){o.globalEval(I)}if(H=="json"){I=l["eval"]("("+I+")")}}return I},param:function(E){var G=[];function H(I,J){G[G.length]=encodeURIComponent(I)+"="+encodeURIComponent(J)}if(o.isArray(E)||E.jquery){o.each(E,function(){H(this.name,this.value)})}else{for(var F in E){if(o.isArray(E[F])){o.each(E[F],function(){H(F,this)})}else{H(F,o.isFunction(E[F])?E[F]():E[F])}}}return G.join("&").replace(/%20/g,"+")}});var m={},n,d=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];function t(F,E){var G={};o.each(d.concat.apply([],d.slice(0,E)),function(){G[this]=F});return G}o.fn.extend({show:function(J,L){if(J){return this.animate(t("show",3),J,L)}else{for(var H=0,F=this.length;H<F;H++){var E=o.data(this[H],"olddisplay");this[H].style.display=E||"";if(o.css(this[H],"display")==="none"){var G=this[H].tagName,K;if(m[G]){K=m[G]}else{var I=o("<"+G+" />").appendTo("body");K=I.css("display");if(K==="none"){K="block"}I.remove();m[G]=K}o.data(this[H],"olddisplay",K)}}for(var H=0,F=this.length;H<F;H++){this[H].style.display=o.data(this[H],"olddisplay")||""}return this}},hide:function(H,I){if(H){return this.animate(t("hide",3),H,I)}else{for(var G=0,F=this.length;G<F;G++){var E=o.data(this[G],"olddisplay");if(!E&&E!=="none"){o.data(this[G],"olddisplay",o.css(this[G],"display"))}}for(var G=0,F=this.length;G<F;G++){this[G].style.display="none"}return this}},_toggle:o.fn.toggle,toggle:function(G,F){var E=typeof G==="boolean";return o.isFunction(G)&&o.isFunction(F)?this._toggle.apply(this,arguments):G==null||E?this.each(function(){var H=E?G:o(this).is(":hidden");o(this)[H?"show":"hide"]()}):this.animate(t("toggle",3),G,F)},fadeTo:function(E,G,F){return this.animate({opacity:G},E,F)},animate:function(I,F,H,G){var E=o.speed(F,H,G);return this[E.queue===false?"each":"queue"](function(){var K=o.extend({},E),M,L=this.nodeType==1&&o(this).is(":hidden"),J=this;for(M in I){if(I[M]=="hide"&&L||I[M]=="show"&&!L){return K.complete.call(this)}if((M=="height"||M=="width")&&this.style){K.display=o.css(this,"display");K.overflow=this.style.overflow}}if(K.overflow!=null){this.style.overflow="hidden"}K.curAnim=o.extend({},I);o.each(I,function(O,S){var R=new o.fx(J,K,O);if(/toggle|show|hide/.test(S)){R[S=="toggle"?L?"show":"hide":S](I)}else{var Q=S.toString().match(/^([+-]=)?([\d+-.]+)(.*)$/),T=R.cur(true)||0;if(Q){var N=parseFloat(Q[2]),P=Q[3]||"px";if(P!="px"){J.style[O]=(N||1)+P;T=((N||1)/R.cur(true))*T;J.style[O]=T+P}if(Q[1]){N=((Q[1]=="-="?-1:1)*N)+T}R.custom(T,N,P)}else{R.custom(T,S,"")}}});return true})},stop:function(F,E){var G=o.timers;if(F){this.queue([])}this.each(function(){for(var H=G.length-1;H>=0;H--){if(G[H].elem==this){if(E){G[H](true)}G.splice(H,1)}}});if(!E){this.dequeue()}return this}});o.each({slideDown:t("show",1),slideUp:t("hide",1),slideToggle:t("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(E,F){o.fn[E]=function(G,H){return this.animate(F,G,H)}});o.extend({speed:function(G,H,F){var E=typeof G==="object"?G:{complete:F||!F&&H||o.isFunction(G)&&G,duration:G,easing:F&&H||H&&!o.isFunction(H)&&H};E.duration=o.fx.off?0:typeof E.duration==="number"?E.duration:o.fx.speeds[E.duration]||o.fx.speeds._default;E.old=E.complete;E.complete=function(){if(E.queue!==false){o(this).dequeue()}if(o.isFunction(E.old)){E.old.call(this)}};return E},easing:{linear:function(G,H,E,F){return E+F*G},swing:function(G,H,E,F){return((-Math.cos(G*Math.PI)/2)+0.5)*F+E}},timers:[],fx:function(F,E,G){this.options=E;this.elem=F;this.prop=G;if(!E.orig){E.orig={}}}});o.fx.prototype={update:function(){if(this.options.step){this.options.step.call(this.elem,this.now,this)}(o.fx.step[this.prop]||o.fx.step._default)(this);if((this.prop=="height"||this.prop=="width")&&this.elem.style){this.elem.style.display="block"}},cur:function(F){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null)){return this.elem[this.prop]}var E=parseFloat(o.css(this.elem,this.prop,F));return E&&E>-10000?E:parseFloat(o.curCSS(this.elem,this.prop))||0},custom:function(I,H,G){this.startTime=e();this.start=I;this.end=H;this.unit=G||this.unit||"px";this.now=this.start;this.pos=this.state=0;var E=this;function F(J){return E.step(J)}F.elem=this.elem;if(F()&&o.timers.push(F)&&!n){n=setInterval(function(){var K=o.timers;for(var J=0;J<K.length;J++){if(!K[J]()){K.splice(J--,1)}}if(!K.length){clearInterval(n);n=g}},13)}},show:function(){this.options.orig[this.prop]=o.attr(this.elem.style,this.prop);this.options.show=true;this.custom(this.prop=="width"||this.prop=="height"?1:0,this.cur());o(this.elem).show()},hide:function(){this.options.orig[this.prop]=o.attr(this.elem.style,this.prop);this.options.hide=true;this.custom(this.cur(),0)},step:function(H){var G=e();if(H||G>=this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;var E=true;for(var F in this.options.curAnim){if(this.options.curAnim[F]!==true){E=false}}if(E){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;this.elem.style.display=this.options.display;if(o.css(this.elem,"display")=="none"){this.elem.style.display="block"}}if(this.options.hide){o(this.elem).hide()}if(this.options.hide||this.options.show){for(var I in this.options.curAnim){o.attr(this.elem.style,I,this.options.orig[I])}}this.options.complete.call(this.elem)}return false}else{var J=G-this.startTime;this.state=J/this.options.duration;this.pos=o.easing[this.options.easing||(o.easing.swing?"swing":"linear")](this.state,J,0,1,this.options.duration);this.now=this.start+((this.end-this.start)*this.pos);this.update()}return true}};o.extend(o.fx,{speeds:{slow:600,fast:200,_default:400},step:{opacity:function(E){o.attr(E.elem.style,"opacity",E.now)},_default:function(E){if(E.elem.style&&E.elem.style[E.prop]!=null){E.elem.style[E.prop]=E.now+E.unit}else{E.elem[E.prop]=E.now}}}});if(document.documentElement.getBoundingClientRect){o.fn.offset=function(){if(!this[0]){return{top:0,left:0}}if(this[0]===this[0].ownerDocument.body){return o.offset.bodyOffset(this[0])}var G=this[0].getBoundingClientRect(),J=this[0].ownerDocument,F=J.body,E=J.documentElement,L=E.clientTop||F.clientTop||0,K=E.clientLeft||F.clientLeft||0,I=G.top+(self.pageYOffset||o.boxModel&&E.scrollTop||F.scrollTop)-L,H=G.left+(self.pageXOffset||o.boxModel&&E.scrollLeft||F.scrollLeft)-K;return{top:I,left:H}}}else{o.fn.offset=function(){if(!this[0]){return{top:0,left:0}}if(this[0]===this[0].ownerDocument.body){return o.offset.bodyOffset(this[0])}o.offset.initialized||o.offset.initialize();var J=this[0],G=J.offsetParent,F=J,O=J.ownerDocument,M,H=O.documentElement,K=O.body,L=O.defaultView,E=L.getComputedStyle(J,null),N=J.offsetTop,I=J.offsetLeft;while((J=J.parentNode)&&J!==K&&J!==H){M=L.getComputedStyle(J,null);N-=J.scrollTop,I-=J.scrollLeft;if(J===G){N+=J.offsetTop,I+=J.offsetLeft;if(o.offset.doesNotAddBorder&&!(o.offset.doesAddBorderForTableAndCells&&/^t(able|d|h)$/i.test(J.tagName))){N+=parseInt(M.borderTopWidth,10)||0,I+=parseInt(M.borderLeftWidth,10)||0}F=G,G=J.offsetParent}if(o.offset.subtractsBorderForOverflowNotVisible&&M.overflow!=="visible"){N+=parseInt(M.borderTopWidth,10)||0,I+=parseInt(M.borderLeftWidth,10)||0}E=M}if(E.position==="relative"||E.position==="static"){N+=K.offsetTop,I+=K.offsetLeft}if(E.position==="fixed"){N+=Math.max(H.scrollTop,K.scrollTop),I+=Math.max(H.scrollLeft,K.scrollLeft)}return{top:N,left:I}}}o.offset={initialize:function(){if(this.initialized){return}var L=document.body,F=document.createElement("div"),H,G,N,I,M,E,J=L.style.marginTop,K='<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>';M={position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"};for(E in M){F.style[E]=M[E]}F.innerHTML=K;L.insertBefore(F,L.firstChild);H=F.firstChild,G=H.firstChild,I=H.nextSibling.firstChild.firstChild;this.doesNotAddBorder=(G.offsetTop!==5);this.doesAddBorderForTableAndCells=(I.offsetTop===5);H.style.overflow="hidden",H.style.position="relative";this.subtractsBorderForOverflowNotVisible=(G.offsetTop===-5);L.style.marginTop="1px";this.doesNotIncludeMarginInBodyOffset=(L.offsetTop===0);L.style.marginTop=J;L.removeChild(F);this.initialized=true},bodyOffset:function(E){o.offset.initialized||o.offset.initialize();var G=E.offsetTop,F=E.offsetLeft;if(o.offset.doesNotIncludeMarginInBodyOffset){G+=parseInt(o.curCSS(E,"marginTop",true),10)||0,F+=parseInt(o.curCSS(E,"marginLeft",true),10)||0}return{top:G,left:F}}};o.fn.extend({position:function(){var I=0,H=0,F;if(this[0]){var G=this.offsetParent(),J=this.offset(),E=/^body|html$/i.test(G[0].tagName)?{top:0,left:0}:G.offset();J.top-=j(this,"marginTop");J.left-=j(this,"marginLeft");E.top+=j(G,"borderTopWidth");E.left+=j(G,"borderLeftWidth");F={top:J.top-E.top,left:J.left-E.left}}return F},offsetParent:function(){var E=this[0].offsetParent||document.body;while(E&&(!/^body|html$/i.test(E.tagName)&&o.css(E,"position")=="static")){E=E.offsetParent}return o(E)}});o.each(["Left","Top"],function(F,E){var G="scroll"+E;o.fn[G]=function(H){if(!this[0]){return null}return H!==g?this.each(function(){this==l||this==document?l.scrollTo(!F?H:o(l).scrollLeft(),F?H:o(l).scrollTop()):this[G]=H}):this[0]==l||this[0]==document?self[F?"pageYOffset":"pageXOffset"]||o.boxModel&&document.documentElement[G]||document.body[G]:this[0][G]}});o.each(["Height","Width"],function(I,G){var E=I?"Left":"Top",H=I?"Right":"Bottom",F=G.toLowerCase();o.fn["inner"+G]=function(){return this[0]?o.css(this[0],F,false,"padding"):null};o.fn["outer"+G]=function(K){return this[0]?o.css(this[0],F,false,K?"margin":"border"):null};var J=G.toLowerCase();o.fn[J]=function(K){return this[0]==l?document.compatMode=="CSS1Compat"&&document.documentElement["client"+G]||document.body["client"+G]:this[0]==document?Math.max(document.documentElement["client"+G],document.body["scroll"+G],document.documentElement["scroll"+G],document.body["offset"+G],document.documentElement["offset"+G]):K===g?(this.length?o.css(this[0],J):null):this.css(J,typeof K==="string"?K:K+"px")}})})();;
  20  // $Id: drupal.js,v 1.41.2.4 2009/07/21 08:59:10 goba Exp $
  21  
  22  var Drupal = Drupal || { 'settings': {}, 'behaviors': {}, 'themes': {}, 'locale': {} };
  23  
  24  /**
  25   * Set the variable that indicates if JavaScript behaviors should be applied
  26   */
  27  Drupal.jsEnabled = document.getElementsByTagName && document.createElement && document.createTextNode && document.documentElement && document.getElementById;
  28  
  29  /**
  30   * Attach all registered behaviors to a page element.
  31   *
  32   * Behaviors are event-triggered actions that attach to page elements, enhancing
  33   * default non-Javascript UIs. Behaviors are registered in the Drupal.behaviors
  34   * object as follows:
  35   * @code
  36   *    Drupal.behaviors.behaviorName = function () {
  37   *      ...
  38   *    };
  39   * @endcode
  40   *
  41   * Drupal.attachBehaviors is added below to the jQuery ready event and so
  42   * runs on initial page load. Developers implementing AHAH/AJAX in their
  43   * solutions should also call this function after new page content has been
  44   * loaded, feeding in an element to be processed, in order to attach all
  45   * behaviors to the new content.
  46   *
  47   * Behaviors should use a class in the form behaviorName-processed to ensure
  48   * the behavior is attached only once to a given element. (Doing so enables
  49   * the reprocessing of given elements, which may be needed on occasion despite
  50   * the ability to limit behavior attachment to a particular element.)
  51   *
  52   * @param context
  53   *   An element to attach behaviors to. If none is given, the document element
  54   *   is used.
  55   */
  56  Drupal.attachBehaviors = function(context) {
  57    context = context || document;
  58    if (Drupal.jsEnabled) {
  59      // Execute all of them.
  60      jQuery.each(Drupal.behaviors, function() {
  61        this(context);
  62      });
  63    }
  64  };
  65  
  66  /**
  67   * Encode special characters in a plain-text string for display as HTML.
  68   */
  69  Drupal.checkPlain = function(str) {
  70    str = String(str);
  71    var replace = { '&': '&amp;', '"': '&quot;', '<': '&lt;', '>': '&gt;' };
  72    for (var character in replace) {
  73      var regex = new RegExp(character, 'g');
  74      str = str.replace(regex, replace[character]);
  75    }
  76    return str;
  77  };
  78  
  79  /**
  80   * Translate strings to the page language or a given language.
  81   *
  82   * See the documentation of the server-side t() function for further details.
  83   *
  84   * @param str
  85   *   A string containing the English string to translate.
  86   * @param args
  87   *   An object of replacements pairs to make after translation. Incidences
  88   *   of any key in this array are replaced with the corresponding value.
  89   *   Based on the first character of the key, the value is escaped and/or themed:
  90   *    - !variable: inserted as is
  91   *    - @variable: escape plain text to HTML (Drupal.checkPlain)
  92   *    - %variable: escape text and theme as a placeholder for user-submitted
  93   *      content (checkPlain + Drupal.theme('placeholder'))
  94   * @return
  95   *   The translated string.
  96   */
  97  Drupal.t = function(str, args) {
  98    // Fetch the localized version of the string.
  99    if (Drupal.locale.strings && Drupal.locale.strings[str]) {
 100      str = Drupal.locale.strings[str];
 101    }
 102  
 103    if (args) {
 104      // Transform arguments before inserting them
 105      for (var key in args) {
 106        switch (key.charAt(0)) {
 107          // Escaped only
 108          case '@':
 109            args[key] = Drupal.checkPlain(args[key]);
 110          break;
 111          // Pass-through
 112          case '!':
 113            break;
 114          // Escaped and placeholder
 115          case '%':
 116          default:
 117            args[key] = Drupal.theme('placeholder', args[key]);
 118            break;
 119        }
 120        str = str.replace(key, args[key]);
 121      }
 122    }
 123    return str;
 124  };
 125  
 126  /**
 127   * Format a string containing a count of items.
 128   *
 129   * This function ensures that the string is pluralized correctly. Since Drupal.t() is
 130   * called by this function, make sure not to pass already-localized strings to it.
 131   *
 132   * See the documentation of the server-side format_plural() function for further details.
 133   *
 134   * @param count
 135   *   The item count to display.
 136   * @param singular
 137   *   The string for the singular case. Please make sure it is clear this is
 138   *   singular, to ease translation (e.g. use "1 new comment" instead of "1 new").
 139   *   Do not use @count in the singular string.
 140   * @param plural
 141   *   The string for the plural case. Please make sure it is clear this is plural,
 142   *   to ease translation. Use @count in place of the item count, as in "@count
 143   *   new comments".
 144   * @param args
 145   *   An object of replacements pairs to make after translation. Incidences
 146   *   of any key in this array are replaced with the corresponding value.
 147   *   Based on the first character of the key, the value is escaped and/or themed:
 148   *    - !variable: inserted as is
 149   *    - @variable: escape plain text to HTML (Drupal.checkPlain)
 150   *    - %variable: escape text and theme as a placeholder for user-submitted
 151   *      content (checkPlain + Drupal.theme('placeholder'))
 152   *   Note that you do not need to include @count in this array.
 153   *   This replacement is done automatically for the plural case.
 154   * @return
 155   *   A translated string.
 156   */
 157  Drupal.formatPlural = function(count, singular, plural, args) {
 158    var args = args || {};
 159    args['@count'] = count;
 160    // Determine the index of the plural form.
 161    var index = Drupal.locale.pluralFormula ? Drupal.locale.pluralFormula(args['@count']) : ((args['@count'] == 1) ? 0 : 1);
 162  
 163    if (index == 0) {
 164      return Drupal.t(singular, args);
 165    }
 166    else if (index == 1) {
 167      return Drupal.t(plural, args);
 168    }
 169    else {
 170      args['@count['+ index +']'] = args['@count'];
 171      delete args['@count'];
 172      return Drupal.t(plural.replace('@count', '@count['+ index +']'));
 173    }
 174  };
 175  
 176  /**
 177   * Generate the themed representation of a Drupal object.
 178   *
 179   * All requests for themed output must go through this function. It examines
 180   * the request and routes it to the appropriate theme function. If the current
 181   * theme does not provide an override function, the generic theme function is
 182   * called.
 183   *
 184   * For example, to retrieve the HTML that is output by theme_placeholder(text),
 185   * call Drupal.theme('placeholder', text).
 186   *
 187   * @param func
 188   *   The name of the theme function to call.
 189   * @param ...
 190   *   Additional arguments to pass along to the theme function.
 191   * @return
 192   *   Any data the theme function returns. This could be a plain HTML string,
 193   *   but also a complex object.
 194   */
 195  Drupal.theme = function(func) {
 196    for (var i = 1, args = []; i < arguments.length; i++) {
 197      args.push(arguments[i]);
 198    }
 199  
 200    return (Drupal.theme[func] || Drupal.theme.prototype[func]).apply(this, args);
 201  };
 202  
 203  /**
 204   * Parse a JSON response.
 205   *
 206   * The result is either the JSON object, or an object with 'status' 0 and 'data' an error message.
 207   */
 208  Drupal.parseJson = function (data) {
 209    if ((data.substring(0, 1) != '{') && (data.substring(0, 1) != '[')) {
 210      return { status: 0, data: data.length ? data : Drupal.t('Unspecified error') };
 211    }
 212    return eval('(' + data + ');');
 213  };
 214  
 215  /**
 216   * Freeze the current body height (as minimum height). Used to prevent
 217   * unnecessary upwards scrolling when doing DOM manipulations.
 218   */
 219  Drupal.freezeHeight = function () {
 220    Drupal.unfreezeHeight();
 221    var div = document.createElement('div');
 222    $(div).css({
 223      position: 'absolute',
 224      top: '0px',
 225      left: '0px',
 226      width: '1px',
 227      height: $('body').css('height')
 228    }).attr('id', 'freeze-height');
 229    $('body').append(div);
 230  };
 231  
 232  /**
 233   * Unfreeze the body height
 234   */
 235  Drupal.unfreezeHeight = function () {
 236    $('#freeze-height').remove();
 237  };
 238  
 239  /**
 240   * Wrapper around encodeURIComponent() which avoids Apache quirks (equivalent of
 241   * drupal_urlencode() in PHP). This function should only be used on paths, not
 242   * on query string arguments.
 243   */
 244  Drupal.encodeURIComponent = function (item, uri) {
 245    uri = uri || location.href;
 246    item = encodeURIComponent(item).replace(/%2F/g, '/');
 247    return (uri.indexOf('?q=') != -1) ? item : item.replace(/%26/g, '%2526').replace(/%23/g, '%2523').replace(/\/\//g, '/%252F');
 248  };
 249  
 250  /**
 251   * Get the text selection in a textarea.
 252   */
 253  Drupal.getSelection = function (element) {
 254    if (typeof(element.selectionStart) != 'number' && document.selection) {
 255      // The current selection
 256      var range1 = document.selection.createRange();
 257      var range2 = range1.duplicate();
 258      // Select all text.
 259      range2.moveToElementText(element);
 260      // Now move 'dummy' end point to end point of original range.
 261      range2.setEndPoint('EndToEnd', range1);
 262      // Now we can calculate start and end points.
 263      var start = range2.text.length - range1.text.length;
 264      var end = start + range1.text.length;
 265      return { 'start': start, 'end': end };
 266    }
 267    return { 'start': element.selectionStart, 'end': element.selectionEnd };
 268  };
 269  
 270  /**
 271   * Build an error message from ahah response.
 272   */
 273  Drupal.ahahError = function(xmlhttp, uri) {
 274    if (xmlhttp.status == 200) {
 275      if (jQuery.trim($(xmlhttp.responseText).text())) {
 276        var message = Drupal.t("An error occurred. \n@uri\n@text", {'@uri': uri, '@text': xmlhttp.responseText });
 277      }
 278      else {
 279        var message = Drupal.t("An error occurred. \n@uri\n(no information available).", {'@uri': uri, '@text': xmlhttp.responseText });
 280      }
 281    }
 282    else {
 283      var message = Drupal.t("An HTTP error @status occurred. \n@uri", {'@uri': uri, '@status': xmlhttp.status });
 284    }
 285    return message;
 286  }
 287  
 288  // Global Killswitch on the <html> element
 289  if (Drupal.jsEnabled) {
 290    // Global Killswitch on the <html> element
 291    $(document.documentElement).addClass('js');
 292    // 'js enabled' cookie
 293    document.cookie = 'has_js=1; path=/';
 294    // Attach all behaviors.
 295    $(document).ready(function() {
 296      Drupal.attachBehaviors(this);
 297    });
 298  }
 299  
 300  /**
 301   * The default themes.
 302   */
 303  Drupal.theme.prototype = {
 304  
 305    /**
 306     * Formats text for emphasized display in a placeholder inside a sentence.
 307     *
 308     * @param str
 309     *   The text to format (plain-text).
 310     * @return
 311     *   The formatted text (html).
 312     */
 313    placeholder: function(str) {
 314      return '<em>' + Drupal.checkPlain(str) + '</em>';
 315    }
 316  };
 317  ;
 318  /* $Id: admin_menu.js,v 1.7.2.9 2010/02/20 23:53:18 sun Exp $ */
 319  
 320  $(document).ready(function() {
 321    if (!$('#admin-menu').length) {
 322      return;
 323    }
 324  
 325    // Apply margin-top if enabled; directly applying marginTop doesn't work in IE.
 326    if (Drupal && Drupal.settings && Drupal.settings.admin_menu) {
 327      if (Drupal.settings.admin_menu.margin_top) {
 328        $('body').addClass('admin-menu');
 329      }
 330      if (Drupal.settings.admin_menu.position_fixed) {
 331        $('#admin-menu').css('position', 'fixed');
 332      }
 333      // Move page tabs into administration menu.
 334      if (Drupal.settings.admin_menu.tweak_tabs) {
 335        $('ul.tabs.primary li').each(function() {
 336          $(this).addClass('admin-menu-tab').appendTo('#admin-menu > ul');
 337        });
 338        $('ul.tabs.secondary').appendTo('#admin-menu > ul > li.admin-menu-tab.active').removeClass('secondary');
 339      }
 340      // Collapse fieldsets on Modules page. For why multiple selectors see #111719.
 341      if (Drupal.settings.admin_menu.tweak_modules) {
 342        $('#system-modules fieldset:not(.collapsed), #system-modules-1 fieldset:not(.collapsed)').addClass('collapsed');
 343      }
 344    }
 345  
 346    // Hover emulation for IE 6.
 347    if ($.browser.msie && parseInt(jQuery.browser.version) == 6) {
 348      $('#admin-menu li').hover(function() {
 349        $(this).addClass('iehover');
 350      }, function() {
 351        $(this).removeClass('iehover');
 352      });
 353    }
 354  
 355    // Delayed mouseout.
 356    $('#admin-menu li').hover(function() {
 357      // Stop the timer.
 358      clearTimeout(this.sfTimer);
 359      // Display child lists.
 360      $('> ul', this).css({left: 'auto', display: 'block'})
 361        // Immediately hide nephew lists.
 362        .parent().siblings('li').children('ul').css({left: '-999em', display: 'none'});
 363    }, function() {
 364      // Start the timer.
 365      var uls = $('> ul', this);
 366      this.sfTimer = setTimeout(function() {
 367        uls.css({left: '-999em', display: 'none'});
 368      }, 400);
 369    });
 370  });
 371  ;
 372  // $Id: panels.js,v 1.2.4.1 2009/10/05 22:40:35 merlinofchaos Exp $
 373  
 374  (function ($) {
 375    Drupal.Panels = {};
 376  
 377    Drupal.Panels.autoAttach = function() {
 378      if ($.browser.msie) {
 379        // If IE, attach a hover event so we can see our admin links.
 380        $("div.panel-pane").hover(
 381          function() {
 382            $('div.panel-hide', this).addClass("panel-hide-hover"); return true;
 383          },
 384          function() {
 385            $('div.panel-hide', this).removeClass("panel-hide-hover"); return true;
 386          }
 387        );
 388        $("div.admin-links").hover(
 389          function() {
 390            $(this).addClass("admin-links-hover"); return true;
 391          },
 392          function(){
 393            $(this).removeClass("admin-links-hover"); return true;
 394          }
 395        );
 396      }
 397    };
 398  
 399    $(Drupal.Panels.autoAttach);
 400  })(jQuery);
 401  ;
 402  // $Id: collapse.js,v 1.17 2008/01/29 10:58:25 goba Exp $
 403  
 404  /**
 405   * Toggle the visibility of a fieldset using smooth animations
 406   */
 407  Drupal.toggleFieldset = function(fieldset) {
 408    if ($(fieldset).is('.collapsed')) {
 409      // Action div containers are processed separately because of a IE bug
 410      // that alters the default submit button behavior.
 411      var content = $('> div:not(.action)', fieldset);
 412      $(fieldset).removeClass('collapsed');
 413      content.hide();
 414      content.slideDown( {
 415        duration: 'fast',
 416        easing: 'linear',
 417        complete: function() {
 418          Drupal.collapseScrollIntoView(this.parentNode);
 419          this.parentNode.animating = false;
 420          $('div.action', fieldset).show();
 421        },
 422        step: function() {
 423          // Scroll the fieldset into view
 424          Drupal.collapseScrollIntoView(this.parentNode);
 425        }
 426      });
 427    }
 428    else {
 429      $('div.action', fieldset).hide();
 430      var content = $('> div:not(.action)', fieldset).slideUp('fast', function() {
 431        $(this.parentNode).addClass('collapsed');
 432        this.parentNode.animating = false;
 433      });
 434    }
 435  };
 436  
 437  /**
 438   * Scroll a given fieldset into view as much as possible.
 439   */
 440  Drupal.collapseScrollIntoView = function (node) {
 441    var h = self.innerHeight || document.documentElement.clientHeight || $('body')[0].clientHeight || 0;
 442    var offset = self.pageYOffset || document.documentElement.scrollTop || $('body')[0].scrollTop || 0;
 443    var posY = $(node).offset().top;
 444    var fudge = 55;
 445    if (posY + node.offsetHeight + fudge > h + offset) {
 446      if (node.offsetHeight > h) {
 447        window.scrollTo(0, posY);
 448      } else {
 449        window.scrollTo(0, posY + node.offsetHeight - h + fudge);
 450      }
 451    }
 452  };
 453  
 454  Drupal.behaviors.collapse = function (context) {
 455    $('fieldset.collapsible > legend:not(.collapse-processed)', context).each(function() {
 456      var fieldset = $(this.parentNode);
 457      // Expand if there are errors inside
 458      if ($('input.error, textarea.error, select.error', fieldset).size() > 0) {
 459        fieldset.removeClass('collapsed');
 460      }
 461  
 462      // Turn the legend into a clickable link and wrap the contents of the fieldset
 463      // in a div for easier animation
 464      var text = this.innerHTML;
 465        $(this).empty().append($('<a href="#">'+ text +'</a>').click(function() {
 466          var fieldset = $(this).parents('fieldset:first')[0];
 467          // Don't animate multiple times
 468          if (!fieldset.animating) {
 469            fieldset.animating = true;
 470            Drupal.toggleFieldset(fieldset);
 471          }
 472          return false;
 473        }))
 474        .after($('<div class="fieldset-wrapper"></div>')
 475        .append(fieldset.children(':not(legend):not(.action)')))
 476        .addClass('collapse-processed');
 477    });
 478  };
 479  ;
 480  // $Id: ajax-responder.js,v 1.18.2.24 2010/08/27 22:09:48 merlinofchaos Exp $
 481  /**
 482   * @file
 483   *
 484   * CTools flexible AJAX responder object.
 485   */
 486  
 487  (function ($) {
 488    Drupal.CTools = Drupal.CTools || {};
 489    Drupal.CTools.AJAX = Drupal.CTools.AJAX || {};
 490    Drupal.CTools.AJAX.commands = Drupal.CTools.AJAX.commands || {};
 491    Drupal.CTools.AJAX.commandCache = Drupal.CTools.AJAX.comandCache || {} ;
 492    Drupal.CTools.AJAX.scripts = {};
 493    Drupal.CTools.AJAX.css = {};
 494  
 495    /**
 496     * Success callback for an ajax request.
 497     *
 498     * This function expects to receive a packet of data from a JSON object
 499     * which is essentially a list of commands. Each commands must have a
 500     * 'command' setting and this setting must resolve to a function in the
 501     * Drupal.CTools.AJAX.commands space.
 502     */
 503    Drupal.CTools.AJAX.respond = function(data) {
 504      for (i in data) {
 505        if (data[i]['command'] && Drupal.CTools.AJAX.commands[data[i]['command']]) {
 506          Drupal.CTools.AJAX.commands[data[i]['command']](data[i]);
 507        }
 508      }
 509    };
 510  
 511    /**
 512     * Grab the response from the server and store it.
 513     */
 514    Drupal.CTools.AJAX.warmCache = function () {
 515      // Store this expression for a minor speed improvement.
 516      $this = $(this);
 517      var old_url = $this.attr('href');
 518      // If we are currently fetching, or if we have fetched this already which is
 519      // ideal for things like pagers, where the previous page might already have
 520      // been seen in the cache.
 521      if ($this.hasClass('ctools-fetching') || Drupal.CTools.AJAX.commandCache[old_url]) {
 522        return false;
 523      }
 524  
 525      // Grab all the links that match this url and add the fetching class.
 526      // This allows the caching system to grab each url once and only once
 527      // instead of grabbing the url once per <a>.
 528      var $objects = $('a[href=' + old_url + ']')
 529      $objects.addClass('ctools-fetching');
 530      try {
 531        url = old_url.replace(/\/nojs(\/|$)/g, '/ajax$1');
 532        $.ajax({
 533          type: "POST",
 534          url: url,
 535          data: { 'js': 1, 'ctools_ajax': 1},
 536          global: true,
 537          success: function (data) {
 538            Drupal.CTools.AJAX.commandCache[old_url] = data;
 539            $objects.addClass('ctools-cache-warmed').trigger('ctools-cache-warm', [data]);
 540          },
 541          complete: function() {
 542            $objects.removeClass('ctools-fetching');
 543          },
 544          dataType: 'json'
 545        });
 546      }
 547      catch (err) {
 548        $objects.removeClass('ctools-fetching');
 549        return false;
 550      }
 551  
 552      return false;
 553    };
 554  
 555    /**
 556     * Cachable click handler to fetch the commands out of the cache or from url.
 557     */
 558    Drupal.CTools.AJAX.clickAJAXCacheLink = function () {
 559      $this = $(this);
 560      if ($this.hasClass('ctools-fetching')) {
 561        $this.bind('ctools-cache-warm', function (event, data) {
 562          Drupal.CTools.AJAX.respond(data);
 563        });
 564        return false;
 565      }
 566      else {
 567        if ($this.hasClass('ctools-cache-warmed') && Drupal.CTools.AJAX.commandCache[$this.attr('href')]) {
 568          Drupal.CTools.AJAX.respond(Drupal.CTools.AJAX.commandCache[$this.attr('href')]);
 569          return false;
 570        }
 571        else {
 572          return Drupal.CTools.AJAX.clickAJAXLink.apply(this);
 573        }
 574      }
 575    };
 576  
 577    /**
 578     * Generic replacement click handler to open the modal with the destination
 579     * specified by the href of the link.
 580     */
 581    Drupal.CTools.AJAX.clickAJAXLink = function() {
 582      if ($(this).hasClass('ctools-ajaxing')) {
 583        return false;
 584      }
 585  
 586      var url = $(this).attr('href');
 587      var object = $(this);
 588      $(this).addClass('ctools-ajaxing');
 589      try {
 590        url = url.replace(/\/nojs(\/|$)/g, '/ajax$1');
 591        $.ajax({
 592          type: "POST",
 593          url: url,
 594          data: { 'js': 1, 'ctools_ajax': 1},
 595          global: true,
 596          success: Drupal.CTools.AJAX.respond,
 597          error: function(xhr) {
 598            Drupal.CTools.AJAX.handleErrors(xhr, url);
 599          },
 600          complete: function() {
 601            $('.ctools-ajaxing').removeClass('ctools-ajaxing');
 602          },
 603          dataType: 'json'
 604        });
 605      }
 606      catch (err) {
 607        alert("An error occurred while attempting to process " + url);
 608        $('.ctools-ajaxing').removeClass('ctools-ajaxing');
 609        return false;
 610      }
 611  
 612      return false;
 613    };
 614  
 615    /**
 616     * Generic replacement click handler to open the modal with the destination
 617     * specified by the href of the link.
 618     */
 619    Drupal.CTools.AJAX.clickAJAXButton = function() {
 620      if ($(this).hasClass('ctools-ajaxing')) {
 621        return false;
 622      }
 623  
 624      // Put our button in.
 625      this.form.clk = this;
 626  
 627      var url = Drupal.CTools.AJAX.findURL(this);
 628      $(this).addClass('ctools-ajaxing');
 629      var object = $(this);
 630      try {
 631        if (url) {
 632          url = url.replace(/\/nojs(\/|$)/g, '/ajax$1');
 633          $.ajax({
 634            type: "POST",
 635            url: url,
 636            data: { 'js': 1, 'ctools_ajax': 1},
 637            global: true,
 638            success: Drupal.CTools.AJAX.respond,
 639            error: function(xhr) {
 640              Drupal.CTools.AJAX.handleErrors(xhr, url);
 641            },
 642            complete: function() {
 643              $('.ctools-ajaxing').removeClass('ctools-ajaxing');
 644            },
 645            dataType: 'json'
 646          });
 647        }
 648        else {
 649          var form = this.form;
 650          url = $(form).attr('action');
 651          setTimeout(function() { Drupal.CTools.AJAX.ajaxSubmit(form, url); }, 1);
 652        }
 653      }
 654      catch (err) {
 655        alert("An error occurred while attempting to process " + url);
 656        $(this).removeClass('ctools-ajaxing');
 657        return false;
 658      }
 659      return false;
 660    };
 661  
 662    /**
 663     * Event handler to submit an AJAX form.
 664     *
 665     * Using a secondary event ensures that our form submission is last, which
 666     * is needed when submitting wysiwyg controlled forms, for example.
 667     */
 668    Drupal.CTools.AJAX.ajaxSubmit = function (form, url) {
 669      $form = $(form);
 670  
 671      if ($form.hasClass('ctools-ajaxing')) {
 672        return false;
 673      }
 674  
 675      $form.addClass('ctools-ajaxing');
 676  
 677      try {
 678        url = url.replace(/\/nojs(\/|$)/g, '/ajax$1');
 679  
 680        var ajaxOptions = {
 681          type: 'POST',
 682          url: url,
 683          data: { 'js': 1, 'ctools_ajax': 1},
 684          global: true,
 685          success: Drupal.CTools.AJAX.respond,
 686          error: function(xhr) {
 687            Drupal.CTools.AJAX.handleErrors(xhr, url);
 688          },
 689          complete: function() {
 690            $('.ctools-ajaxing').removeClass('ctools-ajaxing');
 691            $('div.ctools-ajaxing-temporary').remove();
 692          },
 693          dataType: 'json'
 694        };
 695  
 696        // If the form requires uploads, use an iframe instead and add data to
 697        // the submit to support this and use the proper response.
 698        if ($form.attr('enctype') == 'multipart/form-data') {
 699          $form.append('<input type="hidden" name="ctools_multipart" value="1">');
 700          ajaxIframeOptions = {
 701            success: Drupal.CTools.AJAX.iFrameJsonRespond,
 702            iframe: true
 703          };
 704          ajaxOptions = $.extend(ajaxOptions, ajaxIframeOptions);
 705        }
 706  
 707        $form.ajaxSubmit(ajaxOptions);
 708      }
 709      catch (err) {
 710        alert("An error occurred while attempting to process " + url);
 711        $('.ctools-ajaxing').removeClass('ctools-ajaxing');
 712        $('div.ctools-ajaxing-temporary').remove();
 713        return false;
 714      }
 715    };
 716  
 717    /**
 718     * Wrapper for handling JSON responses from an iframe submission
 719     */
 720    Drupal.CTools.AJAX.iFrameJsonRespond = function(data) {
 721      var myJson = eval(data);
 722      Drupal.CTools.AJAX.respond(myJson);
 723    }
 724  
 725    /**
 726     * Display error in a more fashion way
 727     */
 728    Drupal.CTools.AJAX.handleErrors = function(xhr, path) {
 729      var error_text = '';
 730  
 731      if ((xhr.status == 500 && xhr.responseText) || xhr.status == 200) {
 732        error_text = xhr.responseText;
 733  
 734        // Replace all &lt; and &gt; by < and >
 735        error_text = error_text.replace("/&(lt|gt);/g", function (m, p) {
 736          return (p == "lt")? "<" : ">";
 737        });
 738  
 739        // Now, replace all html tags by empty spaces
 740        error_text = error_text.replace(/<("[^"]*"|'[^']*'|[^'">])*>/gi,"");
 741  
 742        // Fix end lines
 743        error_text = error_text.replace(/[\n]+\s+/g,"\n");
 744      }
 745      else if (xhr.status == 500) {
 746        error_text = xhr.status + ': ' + Drupal.t("Internal server error. Please see server or PHP logs for error information.");
 747      }
 748      else {
 749        error_text = xhr.status + ': ' + xhr.statusText;
 750      }
 751  
 752      alert(Drupal.t("An error occurred at @path.\n\nError Description: @error", {'@path': path, '@error': error_text}));
 753    }
 754  
 755    /**
 756     * Generic replacement for change handler to execute ajax method.
 757     */
 758    Drupal.CTools.AJAX.changeAJAX = function () {
 759      if ($(this).hasClass('ctools-ajaxing')) {
 760        return false;
 761      }
 762  
 763      var url = Drupal.CTools.AJAX.findURL(this);
 764      $(this).addClass('ctools-ajaxing');
 765      var object = $(this);
 766      var form_id = $(object).parents('form').get(0).id;
 767      try {
 768        if (url) {
 769          url = url.replace(/\/nojs(\/|$)/g, '/ajax$1');
 770          $.ajax({
 771            type: "POST",
 772            url: url,
 773            data: {'ctools_changed': $(this).val(), 'js': 1, 'ctools_ajax': 1 },
 774            global: true,
 775            success: Drupal.CTools.AJAX.respond,
 776            error: function(xhr) {
 777              Drupal.CTools.AJAX.handleErrors(xhr, url);
 778            },
 779            complete: function() {
 780              $('.ctools-ajaxing').removeClass('ctools-ajaxing');
 781              if ($(object).hasClass('ctools-ajax-submit-onchange')) {
 782                $('form#' + form_id).submit();
 783              }
 784            },
 785            dataType: 'json'
 786          });
 787        }
 788        else {
 789          if ($(object).hasClass('ctools-ajax-submit-onchange')) {
 790            $('form#' + form_id).submit();
 791          }
 792          return false;
 793        }
 794      }
 795      catch (err) {
 796        alert("An error occurred while attempting to process " + url);
 797        $('.ctools-ajaxing').removeClass('ctools-ajaxing');
 798        return false;
 799      }
 800      return false;
 801    };
 802  
 803    /**
 804     * Find a URL for an AJAX button.
 805     *
 806     * The URL for this gadget will be composed of the values of items by
 807     * taking the ID of this item and adding -url and looking for that
 808     * class. They need to be in the form in order since we will
 809     * concat them all together using '/'.
 810     */
 811    Drupal.CTools.AJAX.findURL = function(item) {
 812      var url = '';
 813      var url_class = '.' + $(item).attr('id') + '-url';
 814      $(url_class).each(
 815        function() {
 816          if (url && $(this).val()) {
 817            url += '/';
 818          }
 819          url += $(this).val();
 820        });
 821      return url;
 822    };
 823  
 824    Drupal.CTools.AJAX.getPath = function (link) {
 825      if (!link) {
 826        return;
 827      }
 828  
 829      var index = link.indexOf('?');
 830      if (index != -1) {
 831        link = link.substr(0, index);
 832      }
 833  
 834      return link;
 835    }
 836  
 837    Drupal.CTools.AJAX.commands.prepend = function(data) {
 838      $(data.selector).prepend(data.data);
 839      Drupal.attachBehaviors($(data.selector));
 840    };
 841  
 842    Drupal.CTools.AJAX.commands.append = function(data) {
 843      $(data.selector).append(data.data);
 844      Drupal.attachBehaviors($(data.selector));
 845    };
 846  
 847    Drupal.CTools.AJAX.commands.replace = function(data) {
 848      $(data.selector).replaceWith(data.data);
 849      Drupal.attachBehaviors($(data.selector));
 850    };
 851  
 852    Drupal.CTools.AJAX.commands.after = function(data) {
 853      var object = $(data.data);
 854      $(data.selector).after(object);
 855      Drupal.attachBehaviors(object);
 856    };
 857  
 858    Drupal.CTools.AJAX.commands.before = function(data) {
 859      var object = $(data.data);
 860      $(data.selector).before(object);
 861      Drupal.attachBehaviors(object);
 862    };
 863  
 864    Drupal.CTools.AJAX.commands.html = function(data) {
 865      $(data.selector).html(data.data);
 866      Drupal.attachBehaviors($(data.selector));
 867    };
 868  
 869    Drupal.CTools.AJAX.commands.remove = function(data) {
 870      $(data.selector).remove();
 871    };
 872  
 873    Drupal.CTools.AJAX.commands.changed = function(data) {
 874      if (!$(data.selector).hasClass('changed')) {
 875        $(data.selector).addClass('changed');
 876        if (data.star) {
 877          $(data.selector).find(data.star).append(' <span class="star">*</span> ');
 878        }
 879      }
 880    };
 881  
 882    Drupal.CTools.AJAX.commands.alert = function(data) {
 883      alert(data.text, data.title);
 884    };
 885  
 886    Drupal.CTools.AJAX.commands.css = function(data) {
 887    /*
 888      if (data.selector && data.selector.contains('* html ')) {
 889        // This indicates an IE hack and we should only do it if we are IE.
 890        if (!jQuery.browser.msie) {
 891          return;
 892        }
 893        data.selector = data.selector.replace('* html ', '');
 894      }
 895    */
 896      $(data.selector).css(data.argument);
 897    };
 898  
 899    Drupal.CTools.AJAX.commands.css_files = function(data) {
 900      // Build a list of css files already loaded:
 901      $('link:not(.ctools-temporary-css)').each(function () {
 902        if ($(this).attr('type') == 'text/css') {
 903          var link = Drupal.CTools.AJAX.getPath($(this).attr('href'));
 904          if (link) {
 905            Drupal.CTools.AJAX.css[link] = $(this).attr('href');
 906          }
 907        }
 908      });
 909  
 910      var html = '';
 911      for (i in data.argument) {
 912        var link = Drupal.CTools.AJAX.getPath(data.argument[i].file);
 913        if (!Drupal.CTools.AJAX.css[link]) {
 914          html += '<link class="ctools-temporary-css" type="text/css" rel="stylesheet" media="' + data.argument[i].media +
 915            '" href="' + data.argument[i].file + '" />';
 916        }
 917      }
 918  
 919      if (html) {
 920        $('link.ctools-temporary-css').remove();
 921        $('body').append($(html));
 922      }
 923    };
 924  
 925    Drupal.CTools.AJAX.commands.settings = function(data) {
 926      $.extend(Drupal.settings, data.argument);
 927    };
 928  
 929    Drupal.CTools.AJAX.commands.scripts = function(data) {
 930      // Build a list of scripts already loaded:
 931      var scripts = {};
 932      $('script').each(function () {
 933        var link = Drupal.CTools.AJAX.getPath($(this).attr('src'));
 934        if (link) {
 935          Drupal.CTools.AJAX.scripts[link] = $(this).attr('src');
 936        }
 937      });
 938  
 939      var html = '';
 940      var head = document.getElementsByTagName('head')[0];
 941      for (i in data.argument) {
 942        var link = Drupal.CTools.AJAX.getPath(data.argument[i]);
 943        if (!Drupal.CTools.AJAX.scripts[link]) {
 944          Drupal.CTools.AJAX.scripts[link] = link;
 945          // Use this to actually get the script tag into the dom, which is
 946          // needed for scripts that self-reference to determine paths.
 947          var script = document.createElement('script');
 948          script.type = 'text/javascript';
 949          script.src = data.argument[i];
 950          head.appendChild(script);
 951          html += '<script type="text/javascript" src="' + data.argument[i] + '"></script>';
 952        }
 953      }
 954  
 955      if (html) {
 956        $('body').append($(html));
 957      }
 958    };
 959  
 960    Drupal.CTools.AJAX.commands.data = function(data) {
 961      $(data.selector).data(data.name, data.value);
 962    };
 963  
 964    Drupal.CTools.AJAX.commands.attr = function(data) {
 965      $(data.selector).attr(data.name, data.value);
 966    };
 967  
 968    Drupal.CTools.AJAX.commands.restripe = function(data) {
 969      // :even and :odd are reversed because jquery counts from 0 and
 970      // we count from 1, so we're out of sync.
 971      $('tbody tr:not(:hidden)', $(data.selector))
 972        .removeClass('even')
 973        .removeClass('odd')
 974        .filter(':even')
 975          .addClass('odd')
 976        .end()
 977        .filter(':odd')
 978          .addClass('even');
 979    };
 980  
 981    Drupal.CTools.AJAX.commands.redirect = function(data) {
 982      if (data.delay > 0) {
 983        setTimeout(function () {
 984          location.href = data.url;
 985        }, data.delay);
 986      }
 987      else {
 988        location.href = data.url;
 989      }
 990    };
 991  
 992    Drupal.CTools.AJAX.commands.reload = function(data) {
 993      location.reload();
 994    };
 995  
 996    Drupal.CTools.AJAX.commands.submit = function(data) {
 997      $(data.selector).submit();
 998    }
 999  
1000  
1001    /**
1002     * Bind links that will open modals to the appropriate function.
1003     */
1004    Drupal.behaviors.CToolsAJAX = function(context) {
1005      // Bind links
1006  
1007      // Note that doing so in this order means that the two classes can be
1008      // used together safely.
1009      $('a.ctools-use-ajax-cache:not(.ctools-use-ajax-processed)', context)
1010        .addClass('ctools-use-ajax-processed')
1011        .click(Drupal.CTools.AJAX.clickAJAXCacheLink)
1012        .each(function () {
1013          Drupal.CTools.AJAX.warmCache.apply(this);
1014        });
1015  
1016      $('a.ctools-use-ajax:not(.ctools-use-ajax-processed)', context)
1017        .addClass('ctools-use-ajax-processed')
1018        .click(Drupal.CTools.AJAX.clickAJAXLink);
1019  
1020  
1021      // Bind buttons
1022      $('input.ctools-use-ajax:not(.ctools-use-ajax-processed), button.ctools-use-ajax:not(.ctools-use-ajax-processed)', context)
1023        .addClass('ctools-use-ajax-processed')
1024        .click(Drupal.CTools.AJAX.clickAJAXButton);
1025  
1026      // Bind select
1027      $('select, input:text, input:radio, input:checkbox', context)
1028         .filter('.ctools-use-ajax-onchange:not(.ctools-use-ajax-processed)')
1029         .addClass('ctools-use-ajax-processed')
1030         .change(Drupal.CTools.AJAX.changeAJAX);
1031  
1032      // Add information about loaded CSS and JS files.
1033      if (Drupal.settings.CToolsAJAX && Drupal.settings.CToolsAJAX.css) {
1034        $.extend(Drupal.CTools.AJAX.css, Drupal.settings.CToolsAJAX.css);
1035      }
1036      if (Drupal.settings.CToolsAJAX && Drupal.settings.CToolsAJAX.scripts) {
1037        $.extend(Drupal.CTools.AJAX.scripts, Drupal.settings.CToolsAJAX.scripts);
1038      }
1039    };
1040  })(jQuery);
1041  ;
1042  /*

1043   * jQuery UI 1.7.2

1044   *

1045   * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)

1046   * Dual licensed under the MIT (MIT-LICENSE.txt)

1047   * and GPL (GPL-LICENSE.txt) licenses.

1048   *

1049   * http://docs.jquery.com/UI

1050   */
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);;
1051  /*

1052   * jQuery UI Resizable 1.7.2

1053   *

1054   * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)

1055   * Dual licensed under the MIT (MIT-LICENSE.txt)

1056   * and GPL (GPL-LICENSE.txt) licenses.

1057   *

1058   * http://docs.jquery.com/UI/Resizables

1059   *

1060   * Depends:

1061   *    ui.core.js

1062   */
(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);;
1063  /*

1064   * jQuery UI Draggable 1.7.2

1065   *

1066   * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)

1067   * Dual licensed under the MIT (MIT-LICENSE.txt)

1068   * and GPL (GPL-LICENSE.txt) licenses.

1069   *

1070   * http://docs.jquery.com/UI/Draggables

1071   *

1072   * Depends:

1073   *    ui.core.js

1074   */
(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);;
1075  /*

1076   * jQuery UI Dialog 1.7.2

1077   *

1078   * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)

1079   * Dual licensed under the MIT (MIT-LICENSE.txt)

1080   * and GPL (GPL-LICENSE.txt) licenses.

1081   *

1082   * http://docs.jquery.com/UI/Dialog

1083   *

1084   * Depends:

1085   *    ui.core.js

1086   *    ui.draggable.js

1087   *    ui.resizable.js

1088   */
(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);;
1089  // $Id: dialog.js,v 1.1.2.5 2011/01/31 21:03:40 drewish Exp $
1090  /**
1091   * @file
1092   *
1093   * Display ajax content in a Dialog window.
1094   *
1095   * This javascript relies on the CTools ajax responder and jQueryUI Dialog.
1096   */
1097  
1098  (function ($) {
1099    // Make sure our objects are defined.
1100    Drupal.CTools = Drupal.CTools || {};
1101    Drupal.Dialog = Drupal.Dialog || {};
1102  
1103    /**
1104     * Display the modal
1105     */
1106    Drupal.Dialog.show = function() {
1107      if (!Drupal.Dialog.dialog) {
1108        var o = {
1109          modal: true,
1110          height: Drupal.settings.Dialog.height,
1111          width: Drupal.settings.Dialog.width,
1112          position: 'center'
1113        };
1114        Drupal.Dialog.dialog = $(Drupal.theme('DialogMain')).dialog(o);
1115  
1116        // Completely remove the dialog every time it is closed.  This is the
1117        // simplest way to get a clean slate on every dialog invokation.
1118        Drupal.Dialog.dialog.bind('dialogclose', function(event, ui) {
1119          $(this).remove();
1120          Drupal.Dialog.dialog = null;
1121        });
1122      }
1123  
1124      Drupal.CTools.AJAX.commands.dialog_loading();
1125    };
1126  
1127    /**
1128     * Hide the modal
1129     */
1130    Drupal.Dialog.dismiss = function() {
1131      if (Drupal.Dialog.dialog) {
1132        Drupal.Dialog.dialog.dialog('close');
1133      }
1134    };
1135  
1136    /**
1137     * Provide the HTML to create the modal dialog.
1138     */
1139    Drupal.theme.prototype.DialogMain = function () {
1140      var html = '<div id="dialog-main" />';
1141      return html;
1142    }
1143  
1144    /**
1145     * Provide the HTML to create the throbber.
1146     */
1147    Drupal.theme.prototype.DialogThrobber = function () {
1148      var html = '';
1149      html += '  <div id="modal-throbber">';
1150      html += '    <div class="modal-throbber-wrapper">';
1151      html +=        Drupal.settings.Dialog.throbber;
1152      html += '    </div>';
1153      html += '  </div>';
1154  
1155      return html;
1156    };
1157  
1158    /**
1159     * Generic replacement click handler to open the modal with the destination
1160     * specified by the href of the link.
1161     */
1162    Drupal.Dialog.clickAjaxLink = function() {
1163      // show the empty dialog right away.
1164      Drupal.Dialog.show();
1165      Drupal.CTools.AJAX.clickAJAXLink.apply(this);
1166      if (!$(this).hasClass('ctools-ajaxing')) {
1167        Drupal.Dialog.dismiss();
1168      }
1169  
1170      return false;
1171    };
1172  
1173    /**
1174     * Generic replacement click handler to open the modal with the destination
1175     * specified by the href of the link.
1176     */
1177    Drupal.Dialog.clickAjaxButton = function() {
1178      if ($(this).hasClass('ctools-ajaxing')) {
1179        return false;
1180      }
1181  
1182      Drupal.Dialog.show();
1183      Drupal.CTools.AJAX.clickAJAXButton.apply(this);
1184      if (!$(this).hasClass('ctools-ajaxing')) {
1185        Drupal.Dialog.dismiss();
1186      }
1187  
1188      return false;
1189    };
1190  
1191    /**
1192     * Submit responder to do an AJAX submit on all modal forms.
1193     */
1194    Drupal.Dialog.submitAjaxForm = function() {
1195      if ($(this).hasClass('ctools-ajaxing')) {
1196        return false;
1197      }
1198  
1199      url = $(this).attr('action');
1200      $(this).addClass('ctools-ajaxing');
1201      var object = $(this);
1202      try {
1203        url.replace('/nojs/', '/ajax/');
1204  
1205        var ajaxOptions = {
1206          type: 'POST',
1207          url: url,
1208          data: '',
1209          global: true,
1210          success: Drupal.CTools.AJAX.respond,
1211          error: function() {
1212            alert("An error occurred while attempting to process " + url);
1213          },
1214          complete: function() {
1215            object.removeClass('ctools-ajaxing');
1216            $('.ctools-ajaxing', object).removeClass('ctools-ajaxing');
1217          },
1218          dataType: 'json'
1219        };
1220  
1221        // If the form requires uploads, use an iframe instead and add data to
1222        // the submit to support this and use the proper response.
1223        if ($(this).attr('enctype') == 'multipart/form-data') {
1224          $(this).append('<input type="hidden" name="ctools_multipart" value="1">');
1225          ajaxIframeOptions = {
1226            success: Drupal.CTools.AJAX.iFrameJsonRespond,
1227            iframe: true
1228          };
1229          ajaxOptions = $.extend(ajaxOptions, ajaxIframeOptions);
1230        }
1231  
1232        $(this).ajaxSubmit(ajaxOptions);
1233      }
1234      catch (err) {
1235        alert("An error occurred while attempting to process " + url);
1236        $(this).removeClass('ctools-ajaxing');
1237        $('div.ctools-ajaxing', this).remove();
1238        return false;
1239      }
1240      return false;
1241    };
1242  
1243    /**
1244     * Handle a form button being clicked inside of a dialog.
1245     */
1246    Drupal.Dialog.clickFormButton = function() {
1247      if (Drupal.autocompleteSubmit && !Drupal.autocompleteSubmit()) {
1248        return false;
1249      }
1250  
1251      // Make sure it knows our button.
1252      if (!$(this.form).hasClass('ctools-ajaxing')) {
1253        this.form.clk = this;
1254        $(this).after('<div class="ctools-ajaxing"> &nbsp; </div>');
1255  
1256        // Submit the form. Notice the difference between $().submit()
1257        // which is the ajax submit and form.submit() which is the
1258        // default browser submit.
1259        $(this.form).submit();
1260      }
1261  
1262      return false;
1263    };
1264  
1265    /**
1266     * Bind links that will open modals to the appropriate function.
1267     */
1268    Drupal.behaviors.Dialog = function(context) {
1269      // Bind links
1270      $('a.ctools-use-dialog:not(.ctools-use-dialog-processed)', context)
1271        .addClass('ctools-use-dialog-processed')
1272        .click(Drupal.Dialog.clickAjaxLink);
1273  
1274      // Bind buttons
1275      $('input.ctools-use-dialog:not(.ctools-use-dialog-processed), button.ctools-use-dialog:not(.ctools-use-dialog-processed)', context)
1276        .addClass('ctools-use-dialog-processed')
1277        .click(Drupal.Dialog.clickAjaxButton);
1278  
1279      if ($(context).attr('id') == 'dialog-main') {
1280        // Bind submit links in the modal form.
1281        $('form:not(.ctools-use-dialog-processed)', context)
1282          .addClass('ctools-use-dialog-processed')
1283          .submit(Drupal.Dialog.submitAjaxForm);
1284        // add click handlers so that we can tell which button was clicked,
1285        // because the AJAX submit does not set the values properly.
1286  
1287        $('input[type="submit"]:not(.ctools-use-dialog-processed), button:not(.ctools-use-dialog-processed)', context)
1288          .addClass('ctools-use-dialog-processed')
1289          .click(Drupal.Dialog.clickFormButton);
1290  
1291        var buttons = {}, buttonsMap = {};
1292        $('.ctools-dialog-button:not(.ctools-dialog-button-processed)', context)
1293          .addClass('ctools-dialog-button-processed')
1294          .hide()
1295          .each(function() {
1296            var text = $(this).is('input') ? $(this).attr('value') : $(this).text();
1297            buttonsMap[text] = this;
1298            buttons[text] = function(e) {
1299              var text = $(e.target).text();
1300              var map = $(this).data('dialogButtonsMap');
1301              var button = map[text];
1302  
1303              $(button).click();
1304            };
1305          });
1306        $(context).data('dialogButtonsMap', buttonsMap);
1307        $(context).dialog('option', 'buttons', buttons);
1308      }
1309    };
1310  
1311    // The following are implementations of AJAX responder commands.
1312  
1313    /**
1314     * AJAX responder command to place HTML within the modal.
1315     */
1316    Drupal.CTools.AJAX.commands.dialog_display = function(command) {
1317      var $el = Drupal.Dialog.dialog;
1318      $el.html(command.output)
1319        // remove any previously added buttons
1320        .dialog('option', 'buttons', {})
1321        .dialog('option', 'title', command.title)
1322        .dialog('show');
1323  
1324      var defaultOptions = {
1325        height: Drupal.settings.Dialog.height,
1326        width: Drupal.settings.Dialog.width,
1327        position: 'center',
1328        maxHeight: Math.floor($(window).height() * .8)
1329      };
1330      var o = $.extend(defaultOptions, command.options);
1331      for (i in o) {
1332        $el.dialog('option', i, o[i]);
1333      }
1334      if ($el.height() > o.maxHeight) {
1335        $el.dialog('option', 'height', o.maxHeight);
1336        $el.dialog('option', 'position', o.position);
1337        // This is really ugly, but dialog gives us no way to call
1338        // _size() in a sane way!
1339        $el.data('dialog')._size();
1340      }
1341  
1342      Drupal.attachBehaviors($el);
1343    }
1344  
1345    /**
1346     * AJAX responder command to dismiss the modal.
1347     */
1348    Drupal.CTools.AJAX.commands.dialog_dismiss = function(command) {
1349      Drupal.Dialog.dismiss();
1350    }
1351  
1352    /**
1353     * Display loading
1354     */
1355    Drupal.CTools.AJAX.commands.dialog_loading = function(command) {
1356      Drupal.CTools.AJAX.commands.dialog_display({
1357        output: Drupal.theme('DialogThrobber'),
1358        title: Drupal.t('Loading...')
1359      });
1360    }
1361  })(jQuery);
1362  ;
1363  // $Id: form.js,v 1.1 2007/09/12 18:29:32 goba Exp $
1364  
1365  Drupal.behaviors.multiselectSelector = function() {
1366    // Automatically selects the right radio button in a multiselect control.
1367    $('.multiselect select:not(.multiselectSelector-processed)')
1368      .addClass('multiselectSelector-processed').change(function() {
1369        $('.multiselect input:radio[value="'+ this.id.substr(5) +'"]')
1370          .attr('checked', true);
1371    });
1372  };
1373  ;
1374  // $Id: skinr.js,v 1.1.2.22 2010/05/01 20:11:11 jgirlygirl Exp $
1375  
1376  (function ($) {
1377  
1378  // Make sure our objects are defined.
1379  Drupal.CTools = Drupal.CTools || {};
1380  Drupal.Skinr = Drupal.Skinr || {
1381    editUrl: 'admin/build/skinr/edit/nojs',
1382    infoUrl: 'admin/build/skinr/info',
1383    unloadBehaviors: {},
1384  
1385    loadedFiles: { 'css': [], 'js': [] },
1386    loadedFilesSnapshot: { 'css': [], 'js': [] },
1387  
1388    preparedUnload: {},
1389    finalizedUnload: {},
1390  
1391    submitted: false
1392  };
1393  
1394  /**
1395   * Register functions to run when a skin is unloaded. This usually happens
1396   * when previewing a skin.
1397   */
1398  Drupal.Skinr.registerUnload = function($script_id, $skin, $options, $function) {
1399    if (!$.isArray($options)) {
1400      $options = [$options];
1401    }
1402  
1403    if (Drupal.Skinr.unloadBehaviors[$skin] == undefined) {
1404      Drupal.Skinr.unloadBehaviors[$skin] = {};
1405    }
1406  
1407    for (var $i in $options) {
1408      if (Drupal.Skinr.unloadBehaviors[$skin][$options[$i]] == undefined) {
1409        Drupal.Skinr.unloadBehaviors[$skin][$options[$i]] = {};
1410      }
1411      Drupal.Skinr.unloadBehaviors[$skin][$options[$i]][$script_id] = $function;
1412    }
1413  }
1414  
1415  /**
1416   * Register a skin option to be unloaded.
1417   */
1418  Drupal.Skinr.prepareUnload = function($skin, $options) {
1419    if (!$.isArray($options)) {
1420      $options = [$options];
1421    }
1422  
1423    if (Drupal.Skinr.preparedUnload[$skin] == undefined) {
1424      Drupal.Skinr.preparedUnload[$skin] = [];
1425    }
1426  
1427    for (var $i in $options) {
1428      if ($.inArray($options[$i], Drupal.Skinr.preparedUnload[$skin]) < 0) {
1429        Drupal.Skinr.preparedUnload[$skin][Drupal.Skinr.preparedUnload[$skin].length] = $options[$i];
1430      }
1431    }
1432  }
1433  
1434  /**
1435   * Register a skin option to be unloaded when resetting the dialog.
1436   */
1437  Drupal.Skinr.finalUnload = function($skin, $options) {
1438    if (!$.isArray($options)) {
1439      $options = [$options];
1440    }
1441  
1442    if (Drupal.Skinr.finalizedUnload[$skin] == undefined) {
1443      Drupal.Skinr.finalizedUnload[$skin] = [];
1444    }
1445  
1446    for (var $i in $options) {
1447      if ($.inArray($options[$i], Drupal.Skinr.finalizedUnload[$skin]) < 0) {
1448        Drupal.Skinr.finalizedUnload[$skin][Drupal.Skinr.finalizedUnload[$skin].length] = $options[$i];
1449      }
1450    }
1451  }
1452  
1453  /**
1454   * Go through each skin option that was prepared for unload and run the
1455   * associated regaistered function.
1456   */
1457  Drupal.Skinr.unload = function() {
1458    for (var $skin_name in Drupal.Skinr.preparedUnload) {
1459      if (Drupal.Skinr.preparedUnload[$skin_name] != undefined) {
1460        $skin = Drupal.Skinr.preparedUnload[$skin_name];
1461        for (var $j in $skin) {
1462          $option = $skin[$j];
1463          if (Drupal.Skinr.unloadBehaviors[$skin_name] != undefined) {
1464            if (Drupal.Skinr.unloadBehaviors[$skin_name][$option] != undefined) {
1465              $functions = Drupal.Skinr.unloadBehaviors[$skin_name][$option];
1466              for (var $k in $functions) {
1467                if ($.isFunction(Drupal.Skinr.unloadBehaviors[$skin_name][$option][$k])) {
1468                  Drupal.Skinr.unloadBehaviors[$skin_name][$option][$k]();
1469                }
1470              }
1471            }
1472          }
1473        }
1474      }
1475    }
1476  
1477    Drupal.Skinr.preparedUnload = {};
1478  }
1479  
1480  /**
1481   * Initialize skinr's edit cogs.
1482   */
1483  Drupal.behaviors.Skinr = function(context) {
1484    // Take a snapshot of the current list of files.
1485    if (this.initialized == undefined) {
1486      this.initialized = true;
1487      Drupal.Skinr.registerFile(null, null, null);
1488      Drupal.Skinr.freezeFiles();
1489    }
1490  
1491    for (var i in Drupal.settings.skinr['areas']) {
1492      var $module = Drupal.settings.skinr['areas'][i]['module'];
1493      var $sids = Drupal.settings.skinr['areas'][i]['sids'];
1494      var $id = Drupal.settings.skinr['areas'][i]['id'];
1495  
1496      var $region = $('.skinr-id-' + $id + ':not(.skinr-region-processed)', context).addClass('skinr-region-processed');
1497      if (Drupal.settings.skinr['areas'][i]['classes'] == undefined) {
1498        Drupal.settings.skinr['areas'][i]['classes'] = $($region).attr('class');
1499      }
1500  
1501      if ($region.length > 0) {
1502        var $links = '';
1503        for (var $j in $sids) {
1504          var $classes = '';
1505          if ($j == 0) {
1506            $classes += ' first';
1507          }
1508          if ($j == $sids.length - 1) {
1509            $classes += ' last';
1510          }
1511          if ($sids.length > 1) {
1512            $links += '<li class="skinr-link-' + $j + $classes + '"><a href="' + Drupal.settings.basePath + Drupal.Skinr.editUrl + '/' + $module + '/' + $sids[$j] + '/' + $sids +'" class="skinr-link ctools-use-dialog">' + Drupal.t('Edit skin') + ' ' + (parseInt($j) + 1) + '</a></li>';
1513          }
1514          else {
1515            $links = '<li class="skinr-link-0 first last"><a href="' + Drupal.settings.basePath + Drupal.Skinr.editUrl + '/' + $module + '/' + $sids[$j] +'" class="skinr-link ctools-use-dialog">' + Drupal.t('Edit skin') + '</a></li>';
1516          }
1517        }
1518  
1519        var $wrapper_classes = '';
1520        if ($module == 'page') {
1521          $wrapper_classes += ' skinr-links-wrapper-page';
1522        }
1523  
1524        $region.prepend('<div class="skinr-links-wrapper' + $wrapper_classes + '"><ul class="skinr-links">' + $links + '</ul></div>');
1525        $region.get(0).skinr = { 'module': $module, 'sids': $sids, 'id': $id };
1526  
1527        Drupal.behaviors.Dialog($region);
1528      };
1529    }
1530  
1531    $('div.skinr-links-wrapper:not(.skinr-links-wrapper-processed)', context).addClass('skinr-links-wrapper-processed').each(function () {
1532      var $wrapper = $(this);
1533      var $region = $wrapper.closest('.skinr-region');
1534      var $links = $wrapper.find('ul.skinr-links');
1535      var $trigger = $('<a class="skinr-links-trigger" href="#" />').text(Drupal.t('Configure')).click(
1536        function () {
1537          $wrapper.find('ul.skinr-links').stop(true, true).slideToggle(100);
1538          $wrapper.toggleClass('skinr-links-active');
1539          return false;
1540        }
1541      );
1542  
1543      // Attach hover behavior to trigger and ul.skinr-links.
1544      $trigger.add($links).hover(
1545        function () { $region.addClass('skinr-region-active'); },
1546        function () { $region.removeClass('skinr-region-active'); }
1547      );
1548      // Hide the contextual links when user rolls out of the .skinr-links-region.
1549      $region.bind('mouseleave', Drupal.Skinr.hideLinks).click(Drupal.Skinr.hideLinks);
1550      // Prepend the trigger.
1551      $links.end().prepend($trigger);
1552    });
1553  
1554    // Add an open and a close handler to the dialog.
1555    if (Drupal.Dialog.dialog && !Drupal.Dialog.dialog.hasClass('skinr-dialog-processed')) {
1556      Drupal.Dialog.dialog.addClass('skinr-dialog-processed').bind('dialogbeforeclose', Drupal.Skinr.dialogBeforeClose);
1557    }
1558  }
1559  
1560  /**
1561   * Disables outline for the region contextual links are associated with.
1562   */
1563  Drupal.Skinr.hideLinks = function () {
1564    $(this).closest('.skinr-region')
1565      .find('.skinr-links-active').removeClass('skinr-links-active')
1566      .find('ul.skinr-links').hide();
1567  };
1568  
1569  /**
1570   * Cleanup function run before dialog is closed.
1571   */
1572  Drupal.Skinr.dialogBeforeClose = function(event, ui) {
1573    if (!Drupal.Skinr.submitted) {
1574      // Unload js.
1575      Drupal.Skinr.preparedUnload = Drupal.Skinr.finalizedUnload;
1576      Drupal.Skinr.unload();
1577      Drupal.Skinr.finalizedUnload = {};
1578  
1579      Drupal.Skinr.unfreezeFiles();
1580  
1581      // Reset all the applied style changes.
1582      for (var i in Drupal.settings.skinr['areas']) {
1583        var $id = Drupal.settings.skinr['areas'][i]['id'];
1584        var $classes = Drupal.settings.skinr['areas'][i]['classes'];
1585        $('.skinr-id-' + $id).attr('class', $classes);
1586      }
1587      // @todo Remove added CSS during preview.
1588  
1589      // Let's do another attach behaviors now that our classes are reset.
1590      Drupal.attachBehaviors();
1591    }
1592    Drupal.Skinr.submitted = false;
1593  }
1594  
1595  /**
1596   * Live preview functionality for skinr.
1597   */
1598  Drupal.behaviors.SkinrLivePreview = function(context) {
1599    $('#skinr-ui-form .skinr-ui-current-theme :input:not(.skinr-live-preview-processed)', context).addClass('skinr-live-preview-processed').change(function () {
1600      var $tag = $(this).attr('tagName');
1601      $tag = $tag.toLowerCase();
1602  
1603      var $module = $('#skinr-ui-form #edit-module').val();
1604      var $sid = $('#skinr-ui-form #edit-sid').val();
1605      var $sids = $('#skinr-ui-form #edit-sids').val();
1606      if (!$sids) {
1607        $sids = $sid;
1608      }
1609  
1610      var $name = $(this).attr('name');
1611      $name = $name.replace(/skinr_settings\[.*_group\]\[[^\]]*\]\[widgets\](\[[^\]]*\])?\[([^\]]*)\]/, '$2');
1612  
1613      var $rem_classes = '';
1614      var $add_classes = $(this).val();
1615  
1616      if ($tag == 'select') {
1617        $(this).find('option').each(function() {
1618          $rem_classes += ' ' + $(this).attr('value');
1619        });
1620      }
1621      else if ($tag == 'input') {
1622        var $type = $(this).attr('type');
1623        if ($type == 'checkbox') {
1624          $add_classes = '';
1625          $(this).closest('.form-checkboxes').find('input[type=checkbox]').each(function () {
1626            if ($(this).is(':checked')) {
1627              $add_classes += ' ' + $(this).attr('value');
1628            }
1629            else {
1630              $rem_classes += ' ' + $(this).attr('value');
1631            }
1632          });
1633        }
1634        else if ($type == 'radio') {
1635          $(this).closest('.form-radios').find('input[type=radio]').each(function () {
1636            $rem_classes += ' ' + $(this).attr('value');
1637          });
1638        }
1639      }
1640  
1641      // Use AJAX to grab the CSS and JS filename.
1642      $.ajax({
1643        type: 'GET',
1644        dataType: 'json',
1645        url: Drupal.settings.basePath + Drupal.Skinr.infoUrl + '/' + $name + '/' + $add_classes,
1646        success: function($data) {
1647  
1648          var $command = {
1649            command: 'skinrAfterupdate',
1650            module: $module,
1651            sids: $sids,
1652            classes: {
1653              remove: $rem_classes,
1654              add: $add_classes
1655            },
1656            css: $data.css,
1657            js: $data.js,
1658            nosave: true
1659          };
1660  
1661          Drupal.CTools.AJAX.commands.skinrAfterupdate($command);
1662        }
1663      });
1664    });
1665  }
1666  
1667  /**
1668   * AJAX responder command to dismiss the modal.
1669   */
1670  Drupal.CTools.AJAX.commands.skinrAfterupdate = function(command) {
1671    var $path, $el;
1672    Drupal.Skinr.finalizedUnload = {};
1673  
1674    if (command.nosave == undefined || command.nosave == false) {
1675      // Let the dialogBeforeClose function know we've submitted rather than
1676      Drupal.Skinr.submitted = true;
1677    }
1678  
1679    if (command.module && command.sids && (command.classes.remove || command.classes.add)) {
1680      if (command.css) {
1681        // First unload all unecessary stylesheets
1682        for (var j in command.css) {
1683          $path = Drupal.settings.basePath + command.css[j].path + '?' + Drupal.settings.skinr['css_js_query_string'];
1684          if (!command.css[j].enabled) {
1685            Drupal.Skinr.unloadFile('css', $path);
1686          }
1687        }
1688        // Then load the newly enabled ones
1689        for (var j in command.css) {
1690          $path = Drupal.settings.basePath + command.css[j].path + '?' + Drupal.settings.skinr['css_js_query_string'];
1691          if (command.css[j].enabled) {
1692            Drupal.Skinr.loadFile('css', $path, command.css[j].media);
1693          }
1694        }
1695      }
1696      if (command.js) {
1697        for (var j in command.js) {
1698          $path = Drupal.settings.basePath + command.js[j].path + '?' + Drupal.settings.skinr['css_js_query_string'];
1699          if (command.js[j].enabled) {
1700            Drupal.Skinr.loadFile('js', $path, null);
1701            if (command.nosave) {
1702              // Need to disable this js after closing dialog.
1703              Drupal.Skinr.finalUnload(command.js[j].skin, command.js[j].options);
1704            }
1705          }
1706          else {
1707            // Disable js.
1708            Drupal.Skinr.prepareUnload(command.js[j].skin, command.js[j].options);
1709          }
1710        }
1711      }
1712  
1713      // Unload.
1714      Drupal.Skinr.unload();
1715  
1716      for (var i in Drupal.settings.skinr['areas']) {
1717        if (Drupal.settings.skinr['areas'][i]['module'] == command.module && Drupal.settings.skinr['areas'][i]['sids'] == command.sids) {
1718          $('.skinr-id-' + Drupal.settings.skinr['areas'][i]['id']).removeClass(command.classes.remove).addClass(command.classes.add);
1719          if (command.nosave == undefined || command.nosave == false) {
1720            Drupal.settings.skinr['areas'][i]['classes'] = $('.skinr-id-' + Drupal.settings.skinr['areas'][i]['id']).attr('class');
1721          }
1722        }
1723      }
1724    }
1725  
1726    if (command.nosave == undefined || command.nosave == false) {
1727      // Update our snapshot of loaded files.
1728      Drupal.Skinr.freezeFiles();
1729    }
1730  }
1731  
1732  /**
1733   * Helper functions to keep track of loaded css and js files, and to
1734   * dynamically load and unload them.
1735   */
1736  
1737  Drupal.Skinr.freezeFiles = function () {
1738    Drupal.Skinr.loadedFilesSnapshot = jQuery.extend(true, {}, Drupal.Skinr.loadedFiles);
1739  }
1740  
1741  Drupal.Skinr.unfreezeFiles = function () {
1742    var $diff = Drupal.Skinr.diffFiles(Drupal.Skinr.loadedFiles['css'], Drupal.Skinr.loadedFilesSnapshot['css']);
1743    for ($i in $diff) {
1744      Drupal.Skinr.unloadFile('css', $diff[$i].file, $diff[$i].media);
1745    }
1746  
1747    var $diff = Drupal.Skinr.diffFiles(Drupal.Skinr.loadedFilesSnapshot['css'], Drupal.Skinr.loadedFiles['css']);
1748    for ($i in $diff) {
1749      Drupal.Skinr.loadFile('css', $diff[$i].file, $diff[$i].media);
1750    }
1751  }
1752  
1753  Drupal.Skinr.diffFiles = function($a, $b) {
1754    var $diff = $.grep($a, function($el, $key) {
1755      for (var $i in $b) {
1756        var $obj = $b[$i];
1757        if ($el.file == $obj.file && $el.media == $obj.media) {
1758          return false;
1759        }
1760      }
1761      return true;
1762    });
1763    return $diff;
1764  }
1765  
1766  Drupal.Skinr.registerFile = function($type, $file, $media) {
1767    if (this.initialized == undefined) {
1768      this.initialized = true;
1769      $el = $('link[rel*=style]').each(function() {
1770        Drupal.Skinr.registerFile('css', $(this).attr('href'), $(this).attr('media'));
1771      });
1772      $el = $('script[type*=javascript][src]').each(function() {
1773        Drupal.Skinr.registerFile('js', $(this).attr('src'));
1774      });
1775    }
1776  
1777    if (!$file) {
1778      return false;
1779    }
1780  
1781    if ($.inArray({ file: $file, media: $media }, Drupal.Skinr.loadedFiles[$type]) < 0) {
1782      Drupal.Skinr.loadedFiles[$type][Drupal.Skinr.loadedFiles[$type].length] = { file: $file, media: $media };
1783      return true;
1784    }
1785    return false;
1786  }
1787  
1788  Drupal.Skinr.unregisterFile = function($type, $file) {
1789    for (var $key in Drupal.Skinr.loadedFiles[$type]) {
1790      if (Drupal.Skinr.loadedFiles[$type][$key].file == $file) {
1791        Drupal.Skinr.loadedFiles[$type].splice($key, 1);
1792        return true;
1793      }
1794    }
1795    return false;
1796  }
1797  
1798  Drupal.Skinr.loadFile = function($type, $file, $media) {
1799    if (Drupal.Skinr.registerFile($type, $file, $media)) {
1800      if ($type == 'css') {
1801        $el = $('link[rel*=style][href=' + $file + ']');
1802        if ($el.get() == '') {
1803          $('<link />').attr({
1804            href: $file,
1805            media: $media,
1806            rel: 'stylesheet',
1807            type: 'text/css'
1808          }).appendTo('head');
1809        }
1810      }
1811      else if ($type == 'js') {
1812        try {
1813          $.getScript($file, function($data) {
1814            // This might be a bit excessive to run on every script load,
1815            // but the scripts load asynchronously.
1816            Drupal.attachBehaviors();
1817          });
1818        }
1819        catch (err) {
1820          Drupal.Skinr.unregisterFile($type, $file);
1821        }
1822      }
1823      return true;
1824    }
1825    return false;
1826  }
1827  
1828  Drupal.Skinr.unloadFile = function($type, $file) {
1829    if (Drupal.Skinr.unregisterFile($type, $file)) {
1830      if ($type == 'css') {
1831        $el = $('link[rel*=style][href=' + $file + ']');
1832        if ($el.get() != '') {
1833          $el.disabled = true;
1834          $el.remove();
1835        }
1836        return true;
1837      }
1838      // Can't unload js files!
1839    }
1840    return false;
1841  }
1842  
1843  })(jQuery);
1844  ;
1845  /*!
1846  * jQuery Form Plugin
1847  * version: 2.43 (12-MAR-2010)
1848  * @requires jQuery v1.3.2 or later
1849  *
1850  * Examples and documentation at: http://malsup.com/jquery/form/
1851  * Dual licensed under the MIT and GPL licenses:
1852  * http://www.opensource.org/licenses/mit-license.php
1853  * http://www.gnu.org/licenses/gpl.html
1854  */
1855  (function(b){function o(){if(b.fn.ajaxSubmit.debug){var a="[jquery.form] "+Array.prototype.join.call(arguments,"");if(window.console&&window.console.log)window.console.log(a);else window.opera&&window.opera.postError&&window.opera.postError(a)}}b.fn.ajaxSubmit=function(a){function d(){function r(){var p=h.attr("target"),n=h.attr("action");j.setAttribute("target",z);j.getAttribute("method")!="POST"&&j.setAttribute("method","POST");j.getAttribute("action")!=g.url&&j.setAttribute("action",g.url);g.skipEncodingOverride||
1856  h.attr({encoding:"multipart/form-data",enctype:"multipart/form-data"});g.timeout&&setTimeout(function(){C=true;s()},g.timeout);var m=[];try{if(g.extraData)for(var u in g.extraData)m.push(b('<input type="hidden" name="'+u+'" value="'+g.extraData[u]+'" />').appendTo(j)[0]);t.appendTo("body");t.data("form-plugin-onload",s);j.submit()}finally{j.setAttribute("action",n);p?j.setAttribute("target",p):h.removeAttr("target");b(m).remove()}}function s(){if(!D){var p=true;try{if(C)throw"timeout";var n,m;m=v.contentWindow?
1857  v.contentWindow.document:v.contentDocument?v.contentDocument:v.document;var u=g.dataType=="xml"||m.XMLDocument||b.isXMLDoc(m);o("isXml="+u);if(!u&&(m.body==null||m.body.innerHTML=="")){if(--G){o("requeing onLoad callback, DOM not available");setTimeout(s,250);return}o("Could not access iframe DOM after 100 tries.");return}o("response detected");D=true;i.responseText=m.body?m.body.innerHTML:null;i.responseXML=m.XMLDocument?m.XMLDocument:m;i.getResponseHeader=function(H){return{"content-type":g.dataType}[H]};
1858  if(g.dataType=="json"||g.dataType=="script"){var E=m.getElementsByTagName("textarea")[0];if(E)i.responseText=E.value;else{var F=m.getElementsByTagName("pre")[0];if(F)i.responseText=F.innerHTML}}else if(g.dataType=="xml"&&!i.responseXML&&i.responseText!=null)i.responseXML=A(i.responseText);n=b.httpData(i,g.dataType)}catch(B){o("error caught:",B);p=false;i.error=B;b.handleError(g,i,"error",B)}if(p){g.success(n,"success");w&&b.event.trigger("ajaxSuccess",[i,g])}w&&b.event.trigger("ajaxComplete",[i,g]);
1859  w&&!--b.active&&b.event.trigger("ajaxStop");if(g.complete)g.complete(i,p?"success":"error");setTimeout(function(){t.removeData("form-plugin-onload");t.remove();i.responseXML=null},100)}}function A(p,n){if(window.ActiveXObject){n=new ActiveXObject("Microsoft.XMLDOM");n.async="false";n.loadXML(p)}else n=(new DOMParser).parseFromString(p,"text/xml");return n&&n.documentElement&&n.documentElement.tagName!="parsererror"?n:null}var j=h[0];if(b(":input[name=submit]",j).length)alert('Error: Form elements must not be named "submit".');
1860  else{var g=b.extend({},b.ajaxSettings,a),q=b.extend(true,{},b.extend(true,{},b.ajaxSettings),g),z="jqFormIO"+(new Date).getTime(),t=b('<iframe id="'+z+'" name="'+z+'" src="'+g.iframeSrc+'" onload="(jQuery(this).data(\'form-plugin-onload\'))()" />'),v=t[0];t.css({position:"absolute",top:"-1000px",left:"-1000px"});var i={aborted:0,responseText:null,responseXML:null,status:0,statusText:"n/a",getAllResponseHeaders:function(){},getResponseHeader:function(){},setRequestHeader:function(){},abort:function(){this.aborted=
1861  1;t.attr("src",g.iframeSrc)}},w=g.global;w&&!b.active++&&b.event.trigger("ajaxStart");w&&b.event.trigger("ajaxSend",[i,g]);if(q.beforeSend&&q.beforeSend(i,q)===false)q.global&&b.active--;else if(!i.aborted){var D=false,C=0;if(q=j.clk){var y=q.name;if(y&&!q.disabled){g.extraData=g.extraData||{};g.extraData[y]=q.value;if(q.type=="image"){g.extraData[y+".x"]=j.clk_x;g.extraData[y+".y"]=j.clk_y}}}g.forceSync?r():setTimeout(r,10);var G=100}}}if(!this.length){o("ajaxSubmit: skipping submit process - no element selected");
1862  return this}if(typeof a=="function")a={success:a};var e=b.trim(this.attr("action"));if(e)e=(e.match(/^([^#]+)/)||[])[1];e=e||window.location.href||"";a=b.extend({url:e,type:this.attr("method")||"GET",iframeSrc:/^https/i.test(window.location.href||"")?"javascript:false":"about:blank"},a||{});e={};this.trigger("form-pre-serialize",[this,a,e]);if(e.veto){o("ajaxSubmit: submit vetoed via form-pre-serialize trigger");return this}if(a.beforeSerialize&&a.beforeSerialize(this,a)===false){o("ajaxSubmit: submit aborted via beforeSerialize callback");
1863  return this}var f=this.formToArray(a.semantic);if(a.data){a.extraData=a.data;for(var c in a.data)if(a.data[c]instanceof Array)for(var l in a.data[c])f.push({name:c,value:a.data[c][l]});else f.push({name:c,value:a.data[c]})}if(a.beforeSubmit&&a.beforeSubmit(f,this,a)===false){o("ajaxSubmit: submit aborted via beforeSubmit callback");return this}this.trigger("form-submit-validate",[f,this,a,e]);if(e.veto){o("ajaxSubmit: submit vetoed via form-submit-validate trigger");return this}c=b.param(f);if(a.type.toUpperCase()==
1864  "GET"){a.url+=(a.url.indexOf("?")>=0?"&":"?")+c;a.data=null}else a.data=c;var h=this,k=[];a.resetForm&&k.push(function(){h.resetForm()});a.clearForm&&k.push(function(){h.clearForm()});if(!a.dataType&&a.target){var x=a.success||function(){};k.push(function(r){var s=a.replaceTarget?"replaceWith":"html";b(a.target)[s](r).each(x,arguments)})}else a.success&&k.push(a.success);a.success=function(r,s,A){for(var j=0,g=k.length;j<g;j++)k[j].apply(a,[r,s,A||h,h])};c=b("input:file",this).fieldValue();l=false;
1865  for(e=0;e<c.length;e++)if(c[e])l=true;if(c.length&&a.iframe!==false||a.iframe||l||0)a.closeKeepAlive?b.get(a.closeKeepAlive,d):d();else b.ajax(a);this.trigger("form-submit-notify",[this,a]);return this};b.fn.ajaxForm=function(a){return this.ajaxFormUnbind().bind("submit.form-plugin",function(d){d.preventDefault();b(this).ajaxSubmit(a)}).bind("click.form-plugin",function(d){var e=d.target,f=b(e);if(!f.is(":submit,input:image")){e=f.closest(":submit");if(e.length==0)return;e=e[0]}var c=this;c.clk=e;
1866  if(e.type=="image")if(d.offsetX!=undefined){c.clk_x=d.offsetX;c.clk_y=d.offsetY}else if(typeof b.fn.offset=="function"){f=f.offset();c.clk_x=d.pageX-f.left;c.clk_y=d.pageY-f.top}else{c.clk_x=d.pageX-e.offsetLeft;c.clk_y=d.pageY-e.offsetTop}setTimeout(function(){c.clk=c.clk_x=c.clk_y=null},100)})};b.fn.ajaxFormUnbind=function(){return this.unbind("submit.form-plugin click.form-plugin")};b.fn.formToArray=function(a){var d=[];if(this.length==0)return d;var e=this[0],f=a?e.getElementsByTagName("*"):e.elements;
1867  if(!f)return d;for(var c=0,l=f.length;c<l;c++){var h=f[c],k=h.name;if(k)if(a&&e.clk&&h.type=="image"){if(!h.disabled&&e.clk==h){d.push({name:k,value:b(h).val()});d.push({name:k+".x",value:e.clk_x},{name:k+".y",value:e.clk_y})}}else if((h=b.fieldValue(h,true))&&h.constructor==Array)for(var x=0,r=h.length;x<r;x++)d.push({name:k,value:h[x]});else h!==null&&typeof h!="undefined"&&d.push({name:k,value:h})}if(!a&&e.clk){a=b(e.clk);f=a[0];if((k=f.name)&&!f.disabled&&f.type=="image"){d.push({name:k,value:a.val()});
1868  d.push({name:k+".x",value:e.clk_x},{name:k+".y",value:e.clk_y})}}return d};b.fn.formSerialize=function(a){return b.param(this.formToArray(a))};b.fn.fieldSerialize=function(a){var d=[];this.each(function(){var e=this.name;if(e){var f=b.fieldValue(this,a);if(f&&f.constructor==Array)for(var c=0,l=f.length;c<l;c++)d.push({name:e,value:f[c]});else f!==null&&typeof f!="undefined"&&d.push({name:this.name,value:f})}});return b.param(d)};b.fn.fieldValue=function(a){for(var d=[],e=0,f=this.length;e<f;e++){var c=
1869  b.fieldValue(this[e],a);c===null||typeof c=="undefined"||c.constructor==Array&&!c.length||(c.constructor==Array?b.merge(d,c):d.push(c))}return d};b.fieldValue=function(a,d){var e=a.name,f=a.type,c=a.tagName.toLowerCase();if(typeof d=="undefined")d=true;if(d&&(!e||a.disabled||f=="reset"||f=="button"||(f=="checkbox"||f=="radio")&&!a.checked||(f=="submit"||f=="image")&&a.form&&a.form.clk!=a||c=="select"&&a.selectedIndex==-1))return null;if(c=="select"){c=a.selectedIndex;if(c<0)return null;d=[];a=a.options;
1870  e=(f=f=="select-one")?c+1:a.length;for(c=f?c:0;c<e;c++){var l=a[c];if(l.selected){var h=l.value;h||(h=l.attributes&&l.attributes.value&&!l.attributes.value.specified?l.text:l.value);if(f)return h;d.push(h)}}return d}return a.value};b.fn.clearForm=function(){return this.each(function(){b("input,select,textarea",this).clearFields()})};b.fn.clearFields=b.fn.clearInputs=function(){return this.each(function(){var a=this.type,d=this.tagName.toLowerCase();if(a=="text"||a=="password"||d=="textarea")this.value=
1871  "";else if(a=="checkbox"||a=="radio")this.checked=false;else if(d=="select")this.selectedIndex=-1})};b.fn.resetForm=function(){return this.each(function(){if(typeof this.reset=="function"||typeof this.reset=="object"&&!this.reset.nodeType)this.reset()})};b.fn.enable=function(a){if(a==undefined)a=true;return this.each(function(){this.disabled=!a})};b.fn.selected=function(a){if(a==undefined)a=true;return this.each(function(){var d=this.type;if(d=="checkbox"||d=="radio")this.checked=a;else if(this.tagName.toLowerCase()==
1872  "option"){d=b(this).parent("select");a&&d[0]&&d[0].type=="select-one"&&d.find("option").selected(false);this.selected=a}})}})(jQuery);
1873  ;
1874  $(function()
1875   {
1876    $("table tr").hover(
1877     function()
1878     {
1879      $(this).addClass("highlight");
1880     },
1881     function()
1882     {
1883      $(this).removeClass("highlight");
1884     }
1885    )
1886   }
1887  )
1888  
1889  $(document).ready(function() {
1890    $('body.admin-build-modules tr:has(:checkbox:disabled)').addClass('module-disabled');
1891  
1892    $("a[rel=external]").click(function() {
1893      this.target = "_blank";
1894    });
1895  
1896    $(".description").parent().each(function(){
1897      $(this).children('label').each(function(){
1898        $(this).removeClass("option");
1899        $(this).addClass("label-help");
1900      });
1901    });
1902  
1903  });
1904  ;
1905  $(document).ready(function() {
1906      
1907      // Expand Panel

1908      $("#open").click(function(){
1909          $("div#panel").slideDown("slow");
1910      
1911      });    
1912      
1913      // Collapse Panel

1914      $("#close").click(function(){
1915          $("div#panel").slideUp("slow");    
1916      });        
1917      
1918      // Switch buttons from "Log In | Register" to "Close Panel" on click

1919      $("#toggle a").click(function () {
1920          $("#toggle a").toggle();
1921      });        
1922          
1923  });;
1924  // $Id $
1925  
1926  /**
1927   * Cookie plugin
1928   *
1929   * Copyright (c) 2006 Klaus Hartl (stilbuero.de)
1930   * Dual licensed under the MIT and GPL licenses:
1931   * http://www.opensource.org/licenses/mit-license.php
1932   * http://www.gnu.org/licenses/gpl.html
1933   *
1934   */
1935  
1936  /**
1937   * Create a cookie with the given name and value and other optional parameters.
1938   *
1939   * @example $.cookie('the_cookie', 'the_value');
1940   * @desc Set the value of a cookie.
1941   * @example $.cookie('the_cookie', 'the_value', { expires: 7, path: '/', domain: 'jquery.com', secure: true });
1942   * @desc Create a cookie with all available options.
1943   * @example $.cookie('the_cookie', 'the_value');
1944   * @desc Create a session cookie.
1945   * @example $.cookie('the_cookie', null);
1946   * @desc Delete a cookie by passing null as value. Keep in mind that you have to use the same path and domain
1947   *       used when the cookie was set.
1948   *
1949   * @param String name The name of the cookie.
1950   * @param String value The value of the cookie.
1951   * @param Object options An object literal containing key/value pairs to provide optional cookie attributes.
1952   * @option Number|Date expires Either an integer specifying the expiration date from now on in days or a Date object.
1953   *                             If a negative value is specified (e.g. a date in the past), the cookie will be deleted.
1954   *                             If set to null or omitted, the cookie will be a session cookie and will not be retained
1955   *                             when the the browser exits.
1956   * @option String path The value of the path atribute of the cookie (default: path of page that created the cookie).
1957   * @option String domain The value of the domain attribute of the cookie (default: domain of page that created the cookie).
1958   * @option Boolean secure If true, the secure attribute of the cookie will be set and the cookie transmission will
1959   *                        require a secure protocol (like HTTPS).
1960   * @type undefined
1961   *
1962   * @name $.cookie
1963   * @cat Plugins/Cookie
1964   * @author Klaus Hartl/klaus.hartl@stilbuero.de
1965   */
1966  
1967  /**
1968   * Get the value of a cookie with the given name.
1969   *
1970   * @example $.cookie('the_cookie');
1971   * @desc Get the value of a cookie.
1972   *
1973   * @param String name The name of the cookie.
1974   * @return The value of the cookie.
1975   * @type String
1976   *
1977   * @name $.cookie
1978   * @cat Plugins/Cookie
1979   * @author Klaus Hartl/klaus.hartl@stilbuero.de
1980   */
1981  jQuery.cookie = function(name, value, options) {
1982      if (typeof value != 'undefined') { // name and value given, set cookie
1983          options = options || {};
1984          if (value === null) {
1985              value = '';
1986              options.expires = -1;
1987          }
1988          var expires = '';
1989          if (options.expires && (typeof options.expires == 'number' || options.expires.toUTCString)) {
1990              var date;
1991              if (typeof options.expires == 'number') {
1992                  date = new Date();
1993                  date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000));
1994              } else {
1995                  date = options.expires;
1996              }
1997              expires = '; expires=' + date.toUTCString(); // use expires attribute, max-age is not supported by IE
1998          }
1999          // CAUTION: Needed to parenthesize options.path and options.domain
2000          // in the following expressions, otherwise they evaluate to undefined
2001          // in the packed version for some reason...
2002          var path = options.path ? '; path=' + (options.path) : '';
2003          var domain = options.domain ? '; domain=' + (options.domain) : '';
2004          var secure = options.secure ? '; secure' : '';
2005          document.cookie = [name, '=', encodeURIComponent(value), expires, path, domain, secure].join('');
2006      } else { // only name given, get cookie
2007          var cookieValue = null;
2008          if (document.cookie && document.cookie != '') {
2009              var cookies = document.cookie.split(';');
2010              for (var i = 0; i < cookies.length; i++) {
2011                  var cookie = jQuery.trim(cookies[i]);
2012                  // Does this cookie string begin with the name we want?
2013                  if (cookie.substring(0, name.length + 1) == (name + '=')) {
2014                      cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
2015                      break;
2016                  }
2017              }
2018          }
2019          return cookieValue;
2020      }
2021  };;
2022  // $Id $
2023  
2024  if (Drupal.jsEnabled) {
2025    $(document).ready(function() {
2026      // Which div or page element are we resizing?
2027      if (text_resize_scope) { // Admin-specified scope takes precedence.
2028        if ($('#'+text_resize_scope).length > 0) {
2029          var element_to_resize = $('#'+text_resize_scope); // ID specified by admin
2030        }
2031        else if ($('.'+text_resize_scope).length > 0) {
2032          var element_to_resize = $('.'+text_resize_scope); // CLASS specified by admin
2033        }
2034        else {
2035          var element_to_resize = $(text_resize_scope); // It's just a tag specified by admin
2036        }
2037          }
2038          else { // Look for some default scopes that might exist.
2039        if ($('DIV.left-corner').length > 0) {
2040          var element_to_resize = $('DIV.left-corner'); // Main body div for Garland
2041        }
2042        else if ($('#content-inner').length > 0) {
2043          var element_to_resize = $('#content-inner'); // Main body div for Zen-based themes
2044        }
2045        else if ($('#squeeze > #content').length > 0) {
2046          var element_to_resize = $('#squeeze > #content'); // Main body div for Zen Classic
2047        }
2048          }
2049      // Set the initial font size if necessary
2050      if ($.cookie('text_resize') != null) {
2051        element_to_resize.css('font-size', parseFloat($.cookie('text_resize')) + 'px');
2052        //alert( "Should be size: " + $.cookie('text_resize'));
2053      }
2054      else {
2055        //alert('Couldn\'t find text_resize cookie.');
2056      }
2057      if (text_resize_line_height_allow) {
2058        //alert('line height adjustment allowed! The current line-height is '+parseFloat(element_to_resize.css('line-height'), 10));
2059              // Set the initial line height if necessary
2060        if ($.cookie('text_resize_line_height') != null) {
2061          element_to_resize.css('line-height', parseFloat($.cookie('text_resize_line_height')) + 'px');
2062        }
2063          }
2064      // Changer links will change the text size when clicked
2065      $('a.changer').click(function() {
2066        // Set the current font size of the specified section as a variable
2067        var currentFontSize = parseFloat(element_to_resize.css('font-size'), 10);
2068              //alert('currentFontSize = '+currentFontSize);
2069              // Set the current line-height
2070              var current_line_height = parseFloat(element_to_resize.css('line-height'), 10);
2071              //alert('current_line_height = '+current_line_height);
2072        // javascript lets us choose which link was clicked, by ID
2073        if (this.id == 'text_resize_increase') {
2074          var new_font_size = currentFontSize * 1.2;
2075          if (text_resize_line_height_allow) { var new_line_height = current_line_height * 1.2; }
2076          // Allow resizing as long as font size doesn't go above text_resize_maximum.
2077          if (new_font_size <= text_resize_maximum) {
2078            $.cookie('text_resize', new_font_size, { path: '/' });
2079            if (text_resize_line_height_allow) { $.cookie('text_resize_line_height', new_line_height, { path: '/' }); }
2080            var allow_change = true;
2081          }
2082          else {
2083                      $.cookie('text_resize', text_resize_maximum, { path: '/' });
2084            if (text_resize_line_height_allow) { $.cookie('text_resize_line_height', text_resize_line_height_max, { path: '/' }); }
2085            var reset_size_max = true;
2086                  }
2087        }
2088        else if (this.id == 'text_resize_decrease') {
2089          var new_font_size = currentFontSize * 0.8;
2090          if (text_resize_line_height_allow) { var new_line_height = current_line_height * 0.8; }
2091          if (new_font_size >= text_resize_minimum) {
2092            // Allow resizing as long as font size doesn't go below text_resize_minimum.
2093            $.cookie('text_resize', new_font_size, { path: '/' });
2094            if (text_resize_line_height_allow) { $.cookie('text_resize_line_height', new_line_height, { path: '/' }); }
2095            var allow_change = true;
2096          }
2097          else {
2098            // If it goes below text_resize_minimum, just leave it at text_resize_minimum.
2099            $.cookie('text_resize', text_resize_minimum, { path: '/' });
2100                      if (text_resize_line_height_allow) { $.cookie('text_resize_line_height', text_resize_line_height_min, { path: '/' }); }
2101            var reset_size_min = true;
2102          }
2103        }
2104        else if (this.id == 'text_resize_reset') {
2105          $.cookie('text_resize', text_resize_minimum, { path: '/' });
2106                  if (text_resize_line_height_allow) { $.cookie('text_resize_line_height', text_resize_line_height_min, { path: '/' }); }
2107          var reset_size_min = true;
2108        }
2109        // jQuery lets us set the font size value of the main text div
2110        if (allow_change == true) {
2111          element_to_resize.css('font-size', new_font_size + 'px'); // Add 'px' onto the end, otherwise ems are used as units by default
2112                  if (text_resize_line_height_allow) { element_to_resize.css('line-height', new_line_height + 'px'); }
2113          return false;
2114        }
2115        else if (reset_size_min == true) {
2116          element_to_resize.css('font-size', text_resize_minimum + 'px');
2117                  if (text_resize_line_height_allow) { element_to_resize.css('line-height', text_resize_line_height_min + 'px'); }
2118          return false;
2119        }
2120        else if (reset_size_max == true) {
2121          element_to_resize.css('font-size', text_resize_maximum + 'px');
2122                  if (text_resize_line_height_allow) { element_to_resize.css('line-height', text_resize_line_height_max + 'px'); }
2123          return false;
2124        }
2125      });
2126    });
2127  }
2128  // My random jquery
2129  if (Drupal.jsEnabled) {
2130    $(document).ready(function() {
2131                        if (jQuery().equalHeights) {
2132                          $("div.sidebar-first-inner div.sidebar-last-inner").equalHeights();
2133                        }
2134                      });
2135  }
2136  ;


Generated: Thu Mar 24 11:18:33 2011 Cross-referenced by PHPXref 0.7