[ Index ]

PHP Cross Reference of Drupal 6 (gatewave)

title

Body

[close]

/sites/default/files/js/ -> js_0f62c8ead5f4f3133f04c6de3672cdc4.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: tableheader.js,v 1.16.2.2 2009/03/30 12:48:09 goba Exp $
 403  
 404  Drupal.tableHeaderDoScroll = function() {
 405    if (typeof(Drupal.tableHeaderOnScroll)=='function') {
 406      Drupal.tableHeaderOnScroll();
 407    }
 408  };
 409  
 410  Drupal.behaviors.tableHeader = function (context) {
 411    // This breaks in anything less than IE 7. Prevent it from running.
 412    if (jQuery.browser.msie && parseInt(jQuery.browser.version, 10) < 7) {
 413      return;
 414    }
 415  
 416    // Keep track of all cloned table headers.
 417    var headers = [];
 418  
 419    $('table.sticky-enabled thead:not(.tableHeader-processed)', context).each(function () {
 420      // Clone thead so it inherits original jQuery properties.
 421      var headerClone = $(this).clone(true).insertBefore(this.parentNode).wrap('<table class="sticky-header"></table>').parent().css({
 422        position: 'fixed',
 423        top: '0px'
 424      });
 425  
 426      headerClone = $(headerClone)[0];
 427      headers.push(headerClone);
 428  
 429      // Store parent table.
 430      var table = $(this).parent('table')[0];
 431      headerClone.table = table;
 432      // Finish initialzing header positioning.
 433      tracker(headerClone);
 434  
 435      $(table).addClass('sticky-table');
 436      $(this).addClass('tableHeader-processed');
 437    });
 438  
 439    // Define the anchor holding var.
 440    var prevAnchor = '';
 441  
 442    // Track positioning and visibility.
 443    function tracker(e) {
 444      // Save positioning data.
 445      var viewHeight = document.documentElement.scrollHeight || document.body.scrollHeight;
 446      if (e.viewHeight != viewHeight) {
 447        e.viewHeight = viewHeight;
 448        e.vPosition = $(e.table).offset().top - 4;
 449        e.hPosition = $(e.table).offset().left;
 450        e.vLength = e.table.clientHeight - 100;
 451        // Resize header and its cell widths.
 452        var parentCell = $('th', e.table);
 453        $('th', e).each(function(index) {
 454          var cellWidth = parentCell.eq(index).css('width');
 455          // Exception for IE7.
 456          if (cellWidth == 'auto') {
 457            cellWidth = parentCell.get(index).clientWidth +'px';
 458          }
 459          $(this).css('width', cellWidth);
 460        });
 461        $(e).css('width', $(e.table).css('width'));
 462      }
 463  
 464      // Track horizontal positioning relative to the viewport and set visibility.
 465      var hScroll = document.documentElement.scrollLeft || document.body.scrollLeft;
 466      var vOffset = (document.documentElement.scrollTop || document.body.scrollTop) - e.vPosition;
 467      var visState = (vOffset > 0 && vOffset < e.vLength) ? 'visible' : 'hidden';
 468      $(e).css({left: -hScroll + e.hPosition +'px', visibility: visState});
 469  
 470      // Check the previous anchor to see if we need to scroll to make room for the header.
 471      // Get the height of the header table and scroll up that amount.
 472      if (prevAnchor != location.hash) {
 473        if (location.hash != '') {
 474          var offset = $('td' + location.hash).offset();
 475          if (offset) {
 476            var top = offset.top;
 477            var scrollLocation = top - $(e).height();
 478            $('body, html').scrollTop(scrollLocation);
 479          }
 480        }
 481        prevAnchor = location.hash;
 482      }
 483    }
 484  
 485    // Only attach to scrollbars once, even if Drupal.attachBehaviors is called
 486    //  multiple times.
 487    if (!$('body').hasClass('tableHeader-processed')) {
 488      $('body').addClass('tableHeader-processed');
 489      $(window).scroll(Drupal.tableHeaderDoScroll);
 490      $(document.documentElement).scroll(Drupal.tableHeaderDoScroll);
 491    }
 492  
 493    // Track scrolling.
 494    Drupal.tableHeaderOnScroll = function() {
 495      $(headers).each(function () {
 496        tracker(this);
 497      });
 498    };
 499  
 500    // Track resizing.
 501    var time = null;
 502    var resize = function () {
 503      // Ensure minimum time between adjustments.
 504      if (time) {
 505        return;
 506      }
 507      time = setTimeout(function () {
 508        $('table.sticky-header').each(function () {
 509          // Force cell width calculation.
 510          this.viewHeight = 0;
 511          tracker(this);
 512        });
 513        // Reset timer
 514        time = null;
 515      }, 250);
 516    };
 517    $(window).resize(resize);
 518  };
 519  ;
 520  // $Id: collapse.js,v 1.17 2008/01/29 10:58:25 goba Exp $
 521  
 522  /**
 523   * Toggle the visibility of a fieldset using smooth animations
 524   */
 525  Drupal.toggleFieldset = function(fieldset) {
 526    if ($(fieldset).is('.collapsed')) {
 527      // Action div containers are processed separately because of a IE bug
 528      // that alters the default submit button behavior.
 529      var content = $('> div:not(.action)', fieldset);
 530      $(fieldset).removeClass('collapsed');
 531      content.hide();
 532      content.slideDown( {
 533        duration: 'fast',
 534        easing: 'linear',
 535        complete: function() {
 536          Drupal.collapseScrollIntoView(this.parentNode);
 537          this.parentNode.animating = false;
 538          $('div.action', fieldset).show();
 539        },
 540        step: function() {
 541          // Scroll the fieldset into view
 542          Drupal.collapseScrollIntoView(this.parentNode);
 543        }
 544      });
 545    }
 546    else {
 547      $('div.action', fieldset).hide();
 548      var content = $('> div:not(.action)', fieldset).slideUp('fast', function() {
 549        $(this.parentNode).addClass('collapsed');
 550        this.parentNode.animating = false;
 551      });
 552    }
 553  };
 554  
 555  /**
 556   * Scroll a given fieldset into view as much as possible.
 557   */
 558  Drupal.collapseScrollIntoView = function (node) {
 559    var h = self.innerHeight || document.documentElement.clientHeight || $('body')[0].clientHeight || 0;
 560    var offset = self.pageYOffset || document.documentElement.scrollTop || $('body')[0].scrollTop || 0;
 561    var posY = $(node).offset().top;
 562    var fudge = 55;
 563    if (posY + node.offsetHeight + fudge > h + offset) {
 564      if (node.offsetHeight > h) {
 565        window.scrollTo(0, posY);
 566      } else {
 567        window.scrollTo(0, posY + node.offsetHeight - h + fudge);
 568      }
 569    }
 570  };
 571  
 572  Drupal.behaviors.collapse = function (context) {
 573    $('fieldset.collapsible > legend:not(.collapse-processed)', context).each(function() {
 574      var fieldset = $(this.parentNode);
 575      // Expand if there are errors inside
 576      if ($('input.error, textarea.error, select.error', fieldset).size() > 0) {
 577        fieldset.removeClass('collapsed');
 578      }
 579  
 580      // Turn the legend into a clickable link and wrap the contents of the fieldset
 581      // in a div for easier animation
 582      var text = this.innerHTML;
 583        $(this).empty().append($('<a href="#">'+ text +'</a>').click(function() {
 584          var fieldset = $(this).parents('fieldset:first')[0];
 585          // Don't animate multiple times
 586          if (!fieldset.animating) {
 587            fieldset.animating = true;
 588            Drupal.toggleFieldset(fieldset);
 589          }
 590          return false;
 591        }))
 592        .after($('<div class="fieldset-wrapper"></div>')
 593        .append(fieldset.children(':not(legend):not(.action)')))
 594        .addClass('collapse-processed');
 595    });
 596  };
 597  ;
 598  // $Id: ajax-responder.js,v 1.18.2.24 2010/08/27 22:09:48 merlinofchaos Exp $
 599  /**
 600   * @file
 601   *
 602   * CTools flexible AJAX responder object.
 603   */
 604  
 605  (function ($) {
 606    Drupal.CTools = Drupal.CTools || {};
 607    Drupal.CTools.AJAX = Drupal.CTools.AJAX || {};
 608    Drupal.CTools.AJAX.commands = Drupal.CTools.AJAX.commands || {};
 609    Drupal.CTools.AJAX.commandCache = Drupal.CTools.AJAX.comandCache || {} ;
 610    Drupal.CTools.AJAX.scripts = {};
 611    Drupal.CTools.AJAX.css = {};
 612  
 613    /**
 614     * Success callback for an ajax request.
 615     *
 616     * This function expects to receive a packet of data from a JSON object
 617     * which is essentially a list of commands. Each commands must have a
 618     * 'command' setting and this setting must resolve to a function in the
 619     * Drupal.CTools.AJAX.commands space.
 620     */
 621    Drupal.CTools.AJAX.respond = function(data) {
 622      for (i in data) {
 623        if (data[i]['command'] && Drupal.CTools.AJAX.commands[data[i]['command']]) {
 624          Drupal.CTools.AJAX.commands[data[i]['command']](data[i]);
 625        }
 626      }
 627    };
 628  
 629    /**
 630     * Grab the response from the server and store it.
 631     */
 632    Drupal.CTools.AJAX.warmCache = function () {
 633      // Store this expression for a minor speed improvement.
 634      $this = $(this);
 635      var old_url = $this.attr('href');
 636      // If we are currently fetching, or if we have fetched this already which is
 637      // ideal for things like pagers, where the previous page might already have
 638      // been seen in the cache.
 639      if ($this.hasClass('ctools-fetching') || Drupal.CTools.AJAX.commandCache[old_url]) {
 640        return false;
 641      }
 642  
 643      // Grab all the links that match this url and add the fetching class.
 644      // This allows the caching system to grab each url once and only once
 645      // instead of grabbing the url once per <a>.
 646      var $objects = $('a[href=' + old_url + ']')
 647      $objects.addClass('ctools-fetching');
 648      try {
 649        url = old_url.replace(/\/nojs(\/|$)/g, '/ajax$1');
 650        $.ajax({
 651          type: "POST",
 652          url: url,
 653          data: { 'js': 1, 'ctools_ajax': 1},
 654          global: true,
 655          success: function (data) {
 656            Drupal.CTools.AJAX.commandCache[old_url] = data;
 657            $objects.addClass('ctools-cache-warmed').trigger('ctools-cache-warm', [data]);
 658          },
 659          complete: function() {
 660            $objects.removeClass('ctools-fetching');
 661          },
 662          dataType: 'json'
 663        });
 664      }
 665      catch (err) {
 666        $objects.removeClass('ctools-fetching');
 667        return false;
 668      }
 669  
 670      return false;
 671    };
 672  
 673    /**
 674     * Cachable click handler to fetch the commands out of the cache or from url.
 675     */
 676    Drupal.CTools.AJAX.clickAJAXCacheLink = function () {
 677      $this = $(this);
 678      if ($this.hasClass('ctools-fetching')) {
 679        $this.bind('ctools-cache-warm', function (event, data) {
 680          Drupal.CTools.AJAX.respond(data);
 681        });
 682        return false;
 683      }
 684      else {
 685        if ($this.hasClass('ctools-cache-warmed') && Drupal.CTools.AJAX.commandCache[$this.attr('href')]) {
 686          Drupal.CTools.AJAX.respond(Drupal.CTools.AJAX.commandCache[$this.attr('href')]);
 687          return false;
 688        }
 689        else {
 690          return Drupal.CTools.AJAX.clickAJAXLink.apply(this);
 691        }
 692      }
 693    };
 694  
 695    /**
 696     * Generic replacement click handler to open the modal with the destination
 697     * specified by the href of the link.
 698     */
 699    Drupal.CTools.AJAX.clickAJAXLink = function() {
 700      if ($(this).hasClass('ctools-ajaxing')) {
 701        return false;
 702      }
 703  
 704      var url = $(this).attr('href');
 705      var object = $(this);
 706      $(this).addClass('ctools-ajaxing');
 707      try {
 708        url = url.replace(/\/nojs(\/|$)/g, '/ajax$1');
 709        $.ajax({
 710          type: "POST",
 711          url: url,
 712          data: { 'js': 1, 'ctools_ajax': 1},
 713          global: true,
 714          success: Drupal.CTools.AJAX.respond,
 715          error: function(xhr) {
 716            Drupal.CTools.AJAX.handleErrors(xhr, url);
 717          },
 718          complete: function() {
 719            $('.ctools-ajaxing').removeClass('ctools-ajaxing');
 720          },
 721          dataType: 'json'
 722        });
 723      }
 724      catch (err) {
 725        alert("An error occurred while attempting to process " + url);
 726        $('.ctools-ajaxing').removeClass('ctools-ajaxing');
 727        return false;
 728      }
 729  
 730      return false;
 731    };
 732  
 733    /**
 734     * Generic replacement click handler to open the modal with the destination
 735     * specified by the href of the link.
 736     */
 737    Drupal.CTools.AJAX.clickAJAXButton = function() {
 738      if ($(this).hasClass('ctools-ajaxing')) {
 739        return false;
 740      }
 741  
 742      // Put our button in.
 743      this.form.clk = this;
 744  
 745      var url = Drupal.CTools.AJAX.findURL(this);
 746      $(this).addClass('ctools-ajaxing');
 747      var object = $(this);
 748      try {
 749        if (url) {
 750          url = url.replace(/\/nojs(\/|$)/g, '/ajax$1');
 751          $.ajax({
 752            type: "POST",
 753            url: url,
 754            data: { 'js': 1, 'ctools_ajax': 1},
 755            global: true,
 756            success: Drupal.CTools.AJAX.respond,
 757            error: function(xhr) {
 758              Drupal.CTools.AJAX.handleErrors(xhr, url);
 759            },
 760            complete: function() {
 761              $('.ctools-ajaxing').removeClass('ctools-ajaxing');
 762            },
 763            dataType: 'json'
 764          });
 765        }
 766        else {
 767          var form = this.form;
 768          url = $(form).attr('action');
 769          setTimeout(function() { Drupal.CTools.AJAX.ajaxSubmit(form, url); }, 1);
 770        }
 771      }
 772      catch (err) {
 773        alert("An error occurred while attempting to process " + url);
 774        $(this).removeClass('ctools-ajaxing');
 775        return false;
 776      }
 777      return false;
 778    };
 779  
 780    /**
 781     * Event handler to submit an AJAX form.
 782     *
 783     * Using a secondary event ensures that our form submission is last, which
 784     * is needed when submitting wysiwyg controlled forms, for example.
 785     */
 786    Drupal.CTools.AJAX.ajaxSubmit = function (form, url) {
 787      $form = $(form);
 788  
 789      if ($form.hasClass('ctools-ajaxing')) {
 790        return false;
 791      }
 792  
 793      $form.addClass('ctools-ajaxing');
 794  
 795      try {
 796        url = url.replace(/\/nojs(\/|$)/g, '/ajax$1');
 797  
 798        var ajaxOptions = {
 799          type: 'POST',
 800          url: url,
 801          data: { 'js': 1, 'ctools_ajax': 1},
 802          global: true,
 803          success: Drupal.CTools.AJAX.respond,
 804          error: function(xhr) {
 805            Drupal.CTools.AJAX.handleErrors(xhr, url);
 806          },
 807          complete: function() {
 808            $('.ctools-ajaxing').removeClass('ctools-ajaxing');
 809            $('div.ctools-ajaxing-temporary').remove();
 810          },
 811          dataType: 'json'
 812        };
 813  
 814        // If the form requires uploads, use an iframe instead and add data to
 815        // the submit to support this and use the proper response.
 816        if ($form.attr('enctype') == 'multipart/form-data') {
 817          $form.append('<input type="hidden" name="ctools_multipart" value="1">');
 818          ajaxIframeOptions = {
 819            success: Drupal.CTools.AJAX.iFrameJsonRespond,
 820            iframe: true
 821          };
 822          ajaxOptions = $.extend(ajaxOptions, ajaxIframeOptions);
 823        }
 824  
 825        $form.ajaxSubmit(ajaxOptions);
 826      }
 827      catch (err) {
 828        alert("An error occurred while attempting to process " + url);
 829        $('.ctools-ajaxing').removeClass('ctools-ajaxing');
 830        $('div.ctools-ajaxing-temporary').remove();
 831        return false;
 832      }
 833    };
 834  
 835    /**
 836     * Wrapper for handling JSON responses from an iframe submission
 837     */
 838    Drupal.CTools.AJAX.iFrameJsonRespond = function(data) {
 839      var myJson = eval(data);
 840      Drupal.CTools.AJAX.respond(myJson);
 841    }
 842  
 843    /**
 844     * Display error in a more fashion way
 845     */
 846    Drupal.CTools.AJAX.handleErrors = function(xhr, path) {
 847      var error_text = '';
 848  
 849      if ((xhr.status == 500 && xhr.responseText) || xhr.status == 200) {
 850        error_text = xhr.responseText;
 851  
 852        // Replace all &lt; and &gt; by < and >
 853        error_text = error_text.replace("/&(lt|gt);/g", function (m, p) {
 854          return (p == "lt")? "<" : ">";
 855        });
 856  
 857        // Now, replace all html tags by empty spaces
 858        error_text = error_text.replace(/<("[^"]*"|'[^']*'|[^'">])*>/gi,"");
 859  
 860        // Fix end lines
 861        error_text = error_text.replace(/[\n]+\s+/g,"\n");
 862      }
 863      else if (xhr.status == 500) {
 864        error_text = xhr.status + ': ' + Drupal.t("Internal server error. Please see server or PHP logs for error information.");
 865      }
 866      else {
 867        error_text = xhr.status + ': ' + xhr.statusText;
 868      }
 869  
 870      alert(Drupal.t("An error occurred at @path.\n\nError Description: @error", {'@path': path, '@error': error_text}));
 871    }
 872  
 873    /**
 874     * Generic replacement for change handler to execute ajax method.
 875     */
 876    Drupal.CTools.AJAX.changeAJAX = function () {
 877      if ($(this).hasClass('ctools-ajaxing')) {
 878        return false;
 879      }
 880  
 881      var url = Drupal.CTools.AJAX.findURL(this);
 882      $(this).addClass('ctools-ajaxing');
 883      var object = $(this);
 884      var form_id = $(object).parents('form').get(0).id;
 885      try {
 886        if (url) {
 887          url = url.replace(/\/nojs(\/|$)/g, '/ajax$1');
 888          $.ajax({
 889            type: "POST",
 890            url: url,
 891            data: {'ctools_changed': $(this).val(), 'js': 1, 'ctools_ajax': 1 },
 892            global: true,
 893            success: Drupal.CTools.AJAX.respond,
 894            error: function(xhr) {
 895              Drupal.CTools.AJAX.handleErrors(xhr, url);
 896            },
 897            complete: function() {
 898              $('.ctools-ajaxing').removeClass('ctools-ajaxing');
 899              if ($(object).hasClass('ctools-ajax-submit-onchange')) {
 900                $('form#' + form_id).submit();
 901              }
 902            },
 903            dataType: 'json'
 904          });
 905        }
 906        else {
 907          if ($(object).hasClass('ctools-ajax-submit-onchange')) {
 908            $('form#' + form_id).submit();
 909          }
 910          return false;
 911        }
 912      }
 913      catch (err) {
 914        alert("An error occurred while attempting to process " + url);
 915        $('.ctools-ajaxing').removeClass('ctools-ajaxing');
 916        return false;
 917      }
 918      return false;
 919    };
 920  
 921    /**
 922     * Find a URL for an AJAX button.
 923     *
 924     * The URL for this gadget will be composed of the values of items by
 925     * taking the ID of this item and adding -url and looking for that
 926     * class. They need to be in the form in order since we will
 927     * concat them all together using '/'.
 928     */
 929    Drupal.CTools.AJAX.findURL = function(item) {
 930      var url = '';
 931      var url_class = '.' + $(item).attr('id') + '-url';
 932      $(url_class).each(
 933        function() {
 934          if (url && $(this).val()) {
 935            url += '/';
 936          }
 937          url += $(this).val();
 938        });
 939      return url;
 940    };
 941  
 942    Drupal.CTools.AJAX.getPath = function (link) {
 943      if (!link) {
 944        return;
 945      }
 946  
 947      var index = link.indexOf('?');
 948      if (index != -1) {
 949        link = link.substr(0, index);
 950      }
 951  
 952      return link;
 953    }
 954  
 955    Drupal.CTools.AJAX.commands.prepend = function(data) {
 956      $(data.selector).prepend(data.data);
 957      Drupal.attachBehaviors($(data.selector));
 958    };
 959  
 960    Drupal.CTools.AJAX.commands.append = function(data) {
 961      $(data.selector).append(data.data);
 962      Drupal.attachBehaviors($(data.selector));
 963    };
 964  
 965    Drupal.CTools.AJAX.commands.replace = function(data) {
 966      $(data.selector).replaceWith(data.data);
 967      Drupal.attachBehaviors($(data.selector));
 968    };
 969  
 970    Drupal.CTools.AJAX.commands.after = function(data) {
 971      var object = $(data.data);
 972      $(data.selector).after(object);
 973      Drupal.attachBehaviors(object);
 974    };
 975  
 976    Drupal.CTools.AJAX.commands.before = function(data) {
 977      var object = $(data.data);
 978      $(data.selector).before(object);
 979      Drupal.attachBehaviors(object);
 980    };
 981  
 982    Drupal.CTools.AJAX.commands.html = function(data) {
 983      $(data.selector).html(data.data);
 984      Drupal.attachBehaviors($(data.selector));
 985    };
 986  
 987    Drupal.CTools.AJAX.commands.remove = function(data) {
 988      $(data.selector).remove();
 989    };
 990  
 991    Drupal.CTools.AJAX.commands.changed = function(data) {
 992      if (!$(data.selector).hasClass('changed')) {
 993        $(data.selector).addClass('changed');
 994        if (data.star) {
 995          $(data.selector).find(data.star).append(' <span class="star">*</span> ');
 996        }
 997      }
 998    };
 999  
1000    Drupal.CTools.AJAX.commands.alert = function(data) {
1001      alert(data.text, data.title);
1002    };
1003  
1004    Drupal.CTools.AJAX.commands.css = function(data) {
1005    /*
1006      if (data.selector && data.selector.contains('* html ')) {
1007        // This indicates an IE hack and we should only do it if we are IE.
1008        if (!jQuery.browser.msie) {
1009          return;
1010        }
1011        data.selector = data.selector.replace('* html ', '');
1012      }
1013    */
1014      $(data.selector).css(data.argument);
1015    };
1016  
1017    Drupal.CTools.AJAX.commands.css_files = function(data) {
1018      // Build a list of css files already loaded:
1019      $('link:not(.ctools-temporary-css)').each(function () {
1020        if ($(this).attr('type') == 'text/css') {
1021          var link = Drupal.CTools.AJAX.getPath($(this).attr('href'));
1022          if (link) {
1023            Drupal.CTools.AJAX.css[link] = $(this).attr('href');
1024          }
1025        }
1026      });
1027  
1028      var html = '';
1029      for (i in data.argument) {
1030        var link = Drupal.CTools.AJAX.getPath(data.argument[i].file);
1031        if (!Drupal.CTools.AJAX.css[link]) {
1032          html += '<link class="ctools-temporary-css" type="text/css" rel="stylesheet" media="' + data.argument[i].media +
1033            '" href="' + data.argument[i].file + '" />';
1034        }
1035      }
1036  
1037      if (html) {
1038        $('link.ctools-temporary-css').remove();
1039        $('body').append($(html));
1040      }
1041    };
1042  
1043    Drupal.CTools.AJAX.commands.settings = function(data) {
1044      $.extend(Drupal.settings, data.argument);
1045    };
1046  
1047    Drupal.CTools.AJAX.commands.scripts = function(data) {
1048      // Build a list of scripts already loaded:
1049      var scripts = {};
1050      $('script').each(function () {
1051        var link = Drupal.CTools.AJAX.getPath($(this).attr('src'));
1052        if (link) {
1053          Drupal.CTools.AJAX.scripts[link] = $(this).attr('src');
1054        }
1055      });
1056  
1057      var html = '';
1058      var head = document.getElementsByTagName('head')[0];
1059      for (i in data.argument) {
1060        var link = Drupal.CTools.AJAX.getPath(data.argument[i]);
1061        if (!Drupal.CTools.AJAX.scripts[link]) {
1062          Drupal.CTools.AJAX.scripts[link] = link;
1063          // Use this to actually get the script tag into the dom, which is
1064          // needed for scripts that self-reference to determine paths.
1065          var script = document.createElement('script');
1066          script.type = 'text/javascript';
1067          script.src = data.argument[i];
1068          head.appendChild(script);
1069          html += '<script type="text/javascript" src="' + data.argument[i] + '"></script>';
1070        }
1071      }
1072  
1073      if (html) {
1074        $('body').append($(html));
1075      }
1076    };
1077  
1078    Drupal.CTools.AJAX.commands.data = function(data) {
1079      $(data.selector).data(data.name, data.value);
1080    };
1081  
1082    Drupal.CTools.AJAX.commands.attr = function(data) {
1083      $(data.selector).attr(data.name, data.value);
1084    };
1085  
1086    Drupal.CTools.AJAX.commands.restripe = function(data) {
1087      // :even and :odd are reversed because jquery counts from 0 and
1088      // we count from 1, so we're out of sync.
1089      $('tbody tr:not(:hidden)', $(data.selector))
1090        .removeClass('even')
1091        .removeClass('odd')
1092        .filter(':even')
1093          .addClass('odd')
1094        .end()
1095        .filter(':odd')
1096          .addClass('even');
1097    };
1098  
1099    Drupal.CTools.AJAX.commands.redirect = function(data) {
1100      if (data.delay > 0) {
1101        setTimeout(function () {
1102          location.href = data.url;
1103        }, data.delay);
1104      }
1105      else {
1106        location.href = data.url;
1107      }
1108    };
1109  
1110    Drupal.CTools.AJAX.commands.reload = function(data) {
1111      location.reload();
1112    };
1113  
1114    Drupal.CTools.AJAX.commands.submit = function(data) {
1115      $(data.selector).submit();
1116    }
1117  
1118  
1119    /**
1120     * Bind links that will open modals to the appropriate function.
1121     */
1122    Drupal.behaviors.CToolsAJAX = function(context) {
1123      // Bind links
1124  
1125      // Note that doing so in this order means that the two classes can be
1126      // used together safely.
1127      $('a.ctools-use-ajax-cache:not(.ctools-use-ajax-processed)', context)
1128        .addClass('ctools-use-ajax-processed')
1129        .click(Drupal.CTools.AJAX.clickAJAXCacheLink)
1130        .each(function () {
1131          Drupal.CTools.AJAX.warmCache.apply(this);
1132        });
1133  
1134      $('a.ctools-use-ajax:not(.ctools-use-ajax-processed)', context)
1135        .addClass('ctools-use-ajax-processed')
1136        .click(Drupal.CTools.AJAX.clickAJAXLink);
1137  
1138  
1139      // Bind buttons
1140      $('input.ctools-use-ajax:not(.ctools-use-ajax-processed), button.ctools-use-ajax:not(.ctools-use-ajax-processed)', context)
1141        .addClass('ctools-use-ajax-processed')
1142        .click(Drupal.CTools.AJAX.clickAJAXButton);
1143  
1144      // Bind select
1145      $('select, input:text, input:radio, input:checkbox', context)
1146         .filter('.ctools-use-ajax-onchange:not(.ctools-use-ajax-processed)')
1147         .addClass('ctools-use-ajax-processed')
1148         .change(Drupal.CTools.AJAX.changeAJAX);
1149  
1150      // Add information about loaded CSS and JS files.
1151      if (Drupal.settings.CToolsAJAX && Drupal.settings.CToolsAJAX.css) {
1152        $.extend(Drupal.CTools.AJAX.css, Drupal.settings.CToolsAJAX.css);
1153      }
1154      if (Drupal.settings.CToolsAJAX && Drupal.settings.CToolsAJAX.scripts) {
1155        $.extend(Drupal.CTools.AJAX.scripts, Drupal.settings.CToolsAJAX.scripts);
1156      }
1157    };
1158  })(jQuery);
1159  ;
1160  /*

1161   * jQuery UI 1.7.2

1162   *

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

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

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

1166   *

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

1168   */
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);;
1169  /*

1170   * jQuery UI Resizable 1.7.2

1171   *

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

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

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

1175   *

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

1177   *

1178   * Depends:

1179   *    ui.core.js

1180   */
(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);;
1181  /*

1182   * jQuery UI Draggable 1.7.2

1183   *

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

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

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

1187   *

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

1189   *

1190   * Depends:

1191   *    ui.core.js

1192   */
(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);;
1193  /*

1194   * jQuery UI Dialog 1.7.2

1195   *

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

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

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

1199   *

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

1201   *

1202   * Depends:

1203   *    ui.core.js

1204   *    ui.draggable.js

1205   *    ui.resizable.js

1206   */
(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);;
1207  // $Id: dialog.js,v 1.1.2.5 2011/01/31 21:03:40 drewish Exp $
1208  /**
1209   * @file
1210   *
1211   * Display ajax content in a Dialog window.
1212   *
1213   * This javascript relies on the CTools ajax responder and jQueryUI Dialog.
1214   */
1215  
1216  (function ($) {
1217    // Make sure our objects are defined.
1218    Drupal.CTools = Drupal.CTools || {};
1219    Drupal.Dialog = Drupal.Dialog || {};
1220  
1221    /**
1222     * Display the modal
1223     */
1224    Drupal.Dialog.show = function() {
1225      if (!Drupal.Dialog.dialog) {
1226        var o = {
1227          modal: true,
1228          height: Drupal.settings.Dialog.height,
1229          width: Drupal.settings.Dialog.width,
1230          position: 'center'
1231        };
1232        Drupal.Dialog.dialog = $(Drupal.theme('DialogMain')).dialog(o);
1233  
1234        // Completely remove the dialog every time it is closed.  This is the
1235        // simplest way to get a clean slate on every dialog invokation.
1236        Drupal.Dialog.dialog.bind('dialogclose', function(event, ui) {
1237          $(this).remove();
1238          Drupal.Dialog.dialog = null;
1239        });
1240      }
1241  
1242      Drupal.CTools.AJAX.commands.dialog_loading();
1243    };
1244  
1245    /**
1246     * Hide the modal
1247     */
1248    Drupal.Dialog.dismiss = function() {
1249      if (Drupal.Dialog.dialog) {
1250        Drupal.Dialog.dialog.dialog('close');
1251      }
1252    };
1253  
1254    /**
1255     * Provide the HTML to create the modal dialog.
1256     */
1257    Drupal.theme.prototype.DialogMain = function () {
1258      var html = '<div id="dialog-main" />';
1259      return html;
1260    }
1261  
1262    /**
1263     * Provide the HTML to create the throbber.
1264     */
1265    Drupal.theme.prototype.DialogThrobber = function () {
1266      var html = '';
1267      html += '  <div id="modal-throbber">';
1268      html += '    <div class="modal-throbber-wrapper">';
1269      html +=        Drupal.settings.Dialog.throbber;
1270      html += '    </div>';
1271      html += '  </div>';
1272  
1273      return html;
1274    };
1275  
1276    /**
1277     * Generic replacement click handler to open the modal with the destination
1278     * specified by the href of the link.
1279     */
1280    Drupal.Dialog.clickAjaxLink = function() {
1281      // show the empty dialog right away.
1282      Drupal.Dialog.show();
1283      Drupal.CTools.AJAX.clickAJAXLink.apply(this);
1284      if (!$(this).hasClass('ctools-ajaxing')) {
1285        Drupal.Dialog.dismiss();
1286      }
1287  
1288      return false;
1289    };
1290  
1291    /**
1292     * Generic replacement click handler to open the modal with the destination
1293     * specified by the href of the link.
1294     */
1295    Drupal.Dialog.clickAjaxButton = function() {
1296      if ($(this).hasClass('ctools-ajaxing')) {
1297        return false;
1298      }
1299  
1300      Drupal.Dialog.show();
1301      Drupal.CTools.AJAX.clickAJAXButton.apply(this);
1302      if (!$(this).hasClass('ctools-ajaxing')) {
1303        Drupal.Dialog.dismiss();
1304      }
1305  
1306      return false;
1307    };
1308  
1309    /**
1310     * Submit responder to do an AJAX submit on all modal forms.
1311     */
1312    Drupal.Dialog.submitAjaxForm = function() {
1313      if ($(this).hasClass('ctools-ajaxing')) {
1314        return false;
1315      }
1316  
1317      url = $(this).attr('action');
1318      $(this).addClass('ctools-ajaxing');
1319      var object = $(this);
1320      try {
1321        url.replace('/nojs/', '/ajax/');
1322  
1323        var ajaxOptions = {
1324          type: 'POST',
1325          url: url,
1326          data: '',
1327          global: true,
1328          success: Drupal.CTools.AJAX.respond,
1329          error: function() {
1330            alert("An error occurred while attempting to process " + url);
1331          },
1332          complete: function() {
1333            object.removeClass('ctools-ajaxing');
1334            $('.ctools-ajaxing', object).removeClass('ctools-ajaxing');
1335          },
1336          dataType: 'json'
1337        };
1338  
1339        // If the form requires uploads, use an iframe instead and add data to
1340        // the submit to support this and use the proper response.
1341        if ($(this).attr('enctype') == 'multipart/form-data') {
1342          $(this).append('<input type="hidden" name="ctools_multipart" value="1">');
1343          ajaxIframeOptions = {
1344            success: Drupal.CTools.AJAX.iFrameJsonRespond,
1345            iframe: true
1346          };
1347          ajaxOptions = $.extend(ajaxOptions, ajaxIframeOptions);
1348        }
1349  
1350        $(this).ajaxSubmit(ajaxOptions);
1351      }
1352      catch (err) {
1353        alert("An error occurred while attempting to process " + url);
1354        $(this).removeClass('ctools-ajaxing');
1355        $('div.ctools-ajaxing', this).remove();
1356        return false;
1357      }
1358      return false;
1359    };
1360  
1361    /**
1362     * Handle a form button being clicked inside of a dialog.
1363     */
1364    Drupal.Dialog.clickFormButton = function() {
1365      if (Drupal.autocompleteSubmit && !Drupal.autocompleteSubmit()) {
1366        return false;
1367      }
1368  
1369      // Make sure it knows our button.
1370      if (!$(this.form).hasClass('ctools-ajaxing')) {
1371        this.form.clk = this;
1372        $(this).after('<div class="ctools-ajaxing"> &nbsp; </div>');
1373  
1374        // Submit the form. Notice the difference between $().submit()
1375        // which is the ajax submit and form.submit() which is the
1376        // default browser submit.
1377        $(this.form).submit();
1378      }
1379  
1380      return false;
1381    };
1382  
1383    /**
1384     * Bind links that will open modals to the appropriate function.
1385     */
1386    Drupal.behaviors.Dialog = function(context) {
1387      // Bind links
1388      $('a.ctools-use-dialog:not(.ctools-use-dialog-processed)', context)
1389        .addClass('ctools-use-dialog-processed')
1390        .click(Drupal.Dialog.clickAjaxLink);
1391  
1392      // Bind buttons
1393      $('input.ctools-use-dialog:not(.ctools-use-dialog-processed), button.ctools-use-dialog:not(.ctools-use-dialog-processed)', context)
1394        .addClass('ctools-use-dialog-processed')
1395        .click(Drupal.Dialog.clickAjaxButton);
1396  
1397      if ($(context).attr('id') == 'dialog-main') {
1398        // Bind submit links in the modal form.
1399        $('form:not(.ctools-use-dialog-processed)', context)
1400          .addClass('ctools-use-dialog-processed')
1401          .submit(Drupal.Dialog.submitAjaxForm);
1402        // add click handlers so that we can tell which button was clicked,
1403        // because the AJAX submit does not set the values properly.
1404  
1405        $('input[type="submit"]:not(.ctools-use-dialog-processed), button:not(.ctools-use-dialog-processed)', context)
1406          .addClass('ctools-use-dialog-processed')
1407          .click(Drupal.Dialog.clickFormButton);
1408  
1409        var buttons = {}, buttonsMap = {};
1410        $('.ctools-dialog-button:not(.ctools-dialog-button-processed)', context)
1411          .addClass('ctools-dialog-button-processed')
1412          .hide()
1413          .each(function() {
1414            var text = $(this).is('input') ? $(this).attr('value') : $(this).text();
1415            buttonsMap[text] = this;
1416            buttons[text] = function(e) {
1417              var text = $(e.target).text();
1418              var map = $(this).data('dialogButtonsMap');
1419              var button = map[text];
1420  
1421              $(button).click();
1422            };
1423          });
1424        $(context).data('dialogButtonsMap', buttonsMap);
1425        $(context).dialog('option', 'buttons', buttons);
1426      }
1427    };
1428  
1429    // The following are implementations of AJAX responder commands.
1430  
1431    /**
1432     * AJAX responder command to place HTML within the modal.
1433     */
1434    Drupal.CTools.AJAX.commands.dialog_display = function(command) {
1435      var $el = Drupal.Dialog.dialog;
1436      $el.html(command.output)
1437        // remove any previously added buttons
1438        .dialog('option', 'buttons', {})
1439        .dialog('option', 'title', command.title)
1440        .dialog('show');
1441  
1442      var defaultOptions = {
1443        height: Drupal.settings.Dialog.height,
1444        width: Drupal.settings.Dialog.width,
1445        position: 'center',
1446        maxHeight: Math.floor($(window).height() * .8)
1447      };
1448      var o = $.extend(defaultOptions, command.options);
1449      for (i in o) {
1450        $el.dialog('option', i, o[i]);
1451      }
1452      if ($el.height() > o.maxHeight) {
1453        $el.dialog('option', 'height', o.maxHeight);
1454        $el.dialog('option', 'position', o.position);
1455        // This is really ugly, but dialog gives us no way to call
1456        // _size() in a sane way!
1457        $el.data('dialog')._size();
1458      }
1459  
1460      Drupal.attachBehaviors($el);
1461    }
1462  
1463    /**
1464     * AJAX responder command to dismiss the modal.
1465     */
1466    Drupal.CTools.AJAX.commands.dialog_dismiss = function(command) {
1467      Drupal.Dialog.dismiss();
1468    }
1469  
1470    /**
1471     * Display loading
1472     */
1473    Drupal.CTools.AJAX.commands.dialog_loading = function(command) {
1474      Drupal.CTools.AJAX.commands.dialog_display({
1475        output: Drupal.theme('DialogThrobber'),
1476        title: Drupal.t('Loading...')
1477      });
1478    }
1479  })(jQuery);
1480  ;
1481  // $Id: form.js,v 1.1 2007/09/12 18:29:32 goba Exp $
1482  
1483  Drupal.behaviors.multiselectSelector = function() {
1484    // Automatically selects the right radio button in a multiselect control.
1485    $('.multiselect select:not(.multiselectSelector-processed)')
1486      .addClass('multiselectSelector-processed').change(function() {
1487        $('.multiselect input:radio[value="'+ this.id.substr(5) +'"]')
1488          .attr('checked', true);
1489    });
1490  };
1491  ;
1492  // $Id: skinr.js,v 1.1.2.22 2010/05/01 20:11:11 jgirlygirl Exp $
1493  
1494  (function ($) {
1495  
1496  // Make sure our objects are defined.
1497  Drupal.CTools = Drupal.CTools || {};
1498  Drupal.Skinr = Drupal.Skinr || {
1499    editUrl: 'admin/build/skinr/edit/nojs',
1500    infoUrl: 'admin/build/skinr/info',
1501    unloadBehaviors: {},
1502  
1503    loadedFiles: { 'css': [], 'js': [] },
1504    loadedFilesSnapshot: { 'css': [], 'js': [] },
1505  
1506    preparedUnload: {},
1507    finalizedUnload: {},
1508  
1509    submitted: false
1510  };
1511  
1512  /**
1513   * Register functions to run when a skin is unloaded. This usually happens
1514   * when previewing a skin.
1515   */
1516  Drupal.Skinr.registerUnload = function($script_id, $skin, $options, $function) {
1517    if (!$.isArray($options)) {
1518      $options = [$options];
1519    }
1520  
1521    if (Drupal.Skinr.unloadBehaviors[$skin] == undefined) {
1522      Drupal.Skinr.unloadBehaviors[$skin] = {};
1523    }
1524  
1525    for (var $i in $options) {
1526      if (Drupal.Skinr.unloadBehaviors[$skin][$options[$i]] == undefined) {
1527        Drupal.Skinr.unloadBehaviors[$skin][$options[$i]] = {};
1528      }
1529      Drupal.Skinr.unloadBehaviors[$skin][$options[$i]][$script_id] = $function;
1530    }
1531  }
1532  
1533  /**
1534   * Register a skin option to be unloaded.
1535   */
1536  Drupal.Skinr.prepareUnload = function($skin, $options) {
1537    if (!$.isArray($options)) {
1538      $options = [$options];
1539    }
1540  
1541    if (Drupal.Skinr.preparedUnload[$skin] == undefined) {
1542      Drupal.Skinr.preparedUnload[$skin] = [];
1543    }
1544  
1545    for (var $i in $options) {
1546      if ($.inArray($options[$i], Drupal.Skinr.preparedUnload[$skin]) < 0) {
1547        Drupal.Skinr.preparedUnload[$skin][Drupal.Skinr.preparedUnload[$skin].length] = $options[$i];
1548      }
1549    }
1550  }
1551  
1552  /**
1553   * Register a skin option to be unloaded when resetting the dialog.
1554   */
1555  Drupal.Skinr.finalUnload = function($skin, $options) {
1556    if (!$.isArray($options)) {
1557      $options = [$options];
1558    }
1559  
1560    if (Drupal.Skinr.finalizedUnload[$skin] == undefined) {
1561      Drupal.Skinr.finalizedUnload[$skin] = [];
1562    }
1563  
1564    for (var $i in $options) {
1565      if ($.inArray($options[$i], Drupal.Skinr.finalizedUnload[$skin]) < 0) {
1566        Drupal.Skinr.finalizedUnload[$skin][Drupal.Skinr.finalizedUnload[$skin].length] = $options[$i];
1567      }
1568    }
1569  }
1570  
1571  /**
1572   * Go through each skin option that was prepared for unload and run the
1573   * associated regaistered function.
1574   */
1575  Drupal.Skinr.unload = function() {
1576    for (var $skin_name in Drupal.Skinr.preparedUnload) {
1577      if (Drupal.Skinr.preparedUnload[$skin_name] != undefined) {
1578        $skin = Drupal.Skinr.preparedUnload[$skin_name];
1579        for (var $j in $skin) {
1580          $option = $skin[$j];
1581          if (Drupal.Skinr.unloadBehaviors[$skin_name] != undefined) {
1582            if (Drupal.Skinr.unloadBehaviors[$skin_name][$option] != undefined) {
1583              $functions = Drupal.Skinr.unloadBehaviors[$skin_name][$option];
1584              for (var $k in $functions) {
1585                if ($.isFunction(Drupal.Skinr.unloadBehaviors[$skin_name][$option][$k])) {
1586                  Drupal.Skinr.unloadBehaviors[$skin_name][$option][$k]();
1587                }
1588              }
1589            }
1590          }
1591        }
1592      }
1593    }
1594  
1595    Drupal.Skinr.preparedUnload = {};
1596  }
1597  
1598  /**
1599   * Initialize skinr's edit cogs.
1600   */
1601  Drupal.behaviors.Skinr = function(context) {
1602    // Take a snapshot of the current list of files.
1603    if (this.initialized == undefined) {
1604      this.initialized = true;
1605      Drupal.Skinr.registerFile(null, null, null);
1606      Drupal.Skinr.freezeFiles();
1607    }
1608  
1609    for (var i in Drupal.settings.skinr['areas']) {
1610      var $module = Drupal.settings.skinr['areas'][i]['module'];
1611      var $sids = Drupal.settings.skinr['areas'][i]['sids'];
1612      var $id = Drupal.settings.skinr['areas'][i]['id'];
1613  
1614      var $region = $('.skinr-id-' + $id + ':not(.skinr-region-processed)', context).addClass('skinr-region-processed');
1615      if (Drupal.settings.skinr['areas'][i]['classes'] == undefined) {
1616        Drupal.settings.skinr['areas'][i]['classes'] = $($region).attr('class');
1617      }
1618  
1619      if ($region.length > 0) {
1620        var $links = '';
1621        for (var $j in $sids) {
1622          var $classes = '';
1623          if ($j == 0) {
1624            $classes += ' first';
1625          }
1626          if ($j == $sids.length - 1) {
1627            $classes += ' last';
1628          }
1629          if ($sids.length > 1) {
1630            $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>';
1631          }
1632          else {
1633            $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>';
1634          }
1635        }
1636  
1637        var $wrapper_classes = '';
1638        if ($module == 'page') {
1639          $wrapper_classes += ' skinr-links-wrapper-page';
1640        }
1641  
1642        $region.prepend('<div class="skinr-links-wrapper' + $wrapper_classes + '"><ul class="skinr-links">' + $links + '</ul></div>');
1643        $region.get(0).skinr = { 'module': $module, 'sids': $sids, 'id': $id };
1644  
1645        Drupal.behaviors.Dialog($region);
1646      };
1647    }
1648  
1649    $('div.skinr-links-wrapper:not(.skinr-links-wrapper-processed)', context).addClass('skinr-links-wrapper-processed').each(function () {
1650      var $wrapper = $(this);
1651      var $region = $wrapper.closest('.skinr-region');
1652      var $links = $wrapper.find('ul.skinr-links');
1653      var $trigger = $('<a class="skinr-links-trigger" href="#" />').text(Drupal.t('Configure')).click(
1654        function () {
1655          $wrapper.find('ul.skinr-links').stop(true, true).slideToggle(100);
1656          $wrapper.toggleClass('skinr-links-active');
1657          return false;
1658        }
1659      );
1660  
1661      // Attach hover behavior to trigger and ul.skinr-links.
1662      $trigger.add($links).hover(
1663        function () { $region.addClass('skinr-region-active'); },
1664        function () { $region.removeClass('skinr-region-active'); }
1665      );
1666      // Hide the contextual links when user rolls out of the .skinr-links-region.
1667      $region.bind('mouseleave', Drupal.Skinr.hideLinks).click(Drupal.Skinr.hideLinks);
1668      // Prepend the trigger.
1669      $links.end().prepend($trigger);
1670    });
1671  
1672    // Add an open and a close handler to the dialog.
1673    if (Drupal.Dialog.dialog && !Drupal.Dialog.dialog.hasClass('skinr-dialog-processed')) {
1674      Drupal.Dialog.dialog.addClass('skinr-dialog-processed').bind('dialogbeforeclose', Drupal.Skinr.dialogBeforeClose);
1675    }
1676  }
1677  
1678  /**
1679   * Disables outline for the region contextual links are associated with.
1680   */
1681  Drupal.Skinr.hideLinks = function () {
1682    $(this).closest('.skinr-region')
1683      .find('.skinr-links-active').removeClass('skinr-links-active')
1684      .find('ul.skinr-links').hide();
1685  };
1686  
1687  /**
1688   * Cleanup function run before dialog is closed.
1689   */
1690  Drupal.Skinr.dialogBeforeClose = function(event, ui) {
1691    if (!Drupal.Skinr.submitted) {
1692      // Unload js.
1693      Drupal.Skinr.preparedUnload = Drupal.Skinr.finalizedUnload;
1694      Drupal.Skinr.unload();
1695      Drupal.Skinr.finalizedUnload = {};
1696  
1697      Drupal.Skinr.unfreezeFiles();
1698  
1699      // Reset all the applied style changes.
1700      for (var i in Drupal.settings.skinr['areas']) {
1701        var $id = Drupal.settings.skinr['areas'][i]['id'];
1702        var $classes = Drupal.settings.skinr['areas'][i]['classes'];
1703        $('.skinr-id-' + $id).attr('class', $classes);
1704      }
1705      // @todo Remove added CSS during preview.
1706  
1707      // Let's do another attach behaviors now that our classes are reset.
1708      Drupal.attachBehaviors();
1709    }
1710    Drupal.Skinr.submitted = false;
1711  }
1712  
1713  /**
1714   * Live preview functionality for skinr.
1715   */
1716  Drupal.behaviors.SkinrLivePreview = function(context) {
1717    $('#skinr-ui-form .skinr-ui-current-theme :input:not(.skinr-live-preview-processed)', context).addClass('skinr-live-preview-processed').change(function () {
1718      var $tag = $(this).attr('tagName');
1719      $tag = $tag.toLowerCase();
1720  
1721      var $module = $('#skinr-ui-form #edit-module').val();
1722      var $sid = $('#skinr-ui-form #edit-sid').val();
1723      var $sids = $('#skinr-ui-form #edit-sids').val();
1724      if (!$sids) {
1725        $sids = $sid;
1726      }
1727  
1728      var $name = $(this).attr('name');
1729      $name = $name.replace(/skinr_settings\[.*_group\]\[[^\]]*\]\[widgets\](\[[^\]]*\])?\[([^\]]*)\]/, '$2');
1730  
1731      var $rem_classes = '';
1732      var $add_classes = $(this).val();
1733  
1734      if ($tag == 'select') {
1735        $(this).find('option').each(function() {
1736          $rem_classes += ' ' + $(this).attr('value');
1737        });
1738      }
1739      else if ($tag == 'input') {
1740        var $type = $(this).attr('type');
1741        if ($type == 'checkbox') {
1742          $add_classes = '';
1743          $(this).closest('.form-checkboxes').find('input[type=checkbox]').each(function () {
1744            if ($(this).is(':checked')) {
1745              $add_classes += ' ' + $(this).attr('value');
1746            }
1747            else {
1748              $rem_classes += ' ' + $(this).attr('value');
1749            }
1750          });
1751        }
1752        else if ($type == 'radio') {
1753          $(this).closest('.form-radios').find('input[type=radio]').each(function () {
1754            $rem_classes += ' ' + $(this).attr('value');
1755          });
1756        }
1757      }
1758  
1759      // Use AJAX to grab the CSS and JS filename.
1760      $.ajax({
1761        type: 'GET',
1762        dataType: 'json',
1763        url: Drupal.settings.basePath + Drupal.Skinr.infoUrl + '/' + $name + '/' + $add_classes,
1764        success: function($data) {
1765  
1766          var $command = {
1767            command: 'skinrAfterupdate',
1768            module: $module,
1769            sids: $sids,
1770            classes: {
1771              remove: $rem_classes,
1772              add: $add_classes
1773            },
1774            css: $data.css,
1775            js: $data.js,
1776            nosave: true
1777          };
1778  
1779          Drupal.CTools.AJAX.commands.skinrAfterupdate($command);
1780        }
1781      });
1782    });
1783  }
1784  
1785  /**
1786   * AJAX responder command to dismiss the modal.
1787   */
1788  Drupal.CTools.AJAX.commands.skinrAfterupdate = function(command) {
1789    var $path, $el;
1790    Drupal.Skinr.finalizedUnload = {};
1791  
1792    if (command.nosave == undefined || command.nosave == false) {
1793      // Let the dialogBeforeClose function know we've submitted rather than
1794      Drupal.Skinr.submitted = true;
1795    }
1796  
1797    if (command.module && command.sids && (command.classes.remove || command.classes.add)) {
1798      if (command.css) {
1799        // First unload all unecessary stylesheets
1800        for (var j in command.css) {
1801          $path = Drupal.settings.basePath + command.css[j].path + '?' + Drupal.settings.skinr['css_js_query_string'];
1802          if (!command.css[j].enabled) {
1803            Drupal.Skinr.unloadFile('css', $path);
1804          }
1805        }
1806        // Then load the newly enabled ones
1807        for (var j in command.css) {
1808          $path = Drupal.settings.basePath + command.css[j].path + '?' + Drupal.settings.skinr['css_js_query_string'];
1809          if (command.css[j].enabled) {
1810            Drupal.Skinr.loadFile('css', $path, command.css[j].media);
1811          }
1812        }
1813      }
1814      if (command.js) {
1815        for (var j in command.js) {
1816          $path = Drupal.settings.basePath + command.js[j].path + '?' + Drupal.settings.skinr['css_js_query_string'];
1817          if (command.js[j].enabled) {
1818            Drupal.Skinr.loadFile('js', $path, null);
1819            if (command.nosave) {
1820              // Need to disable this js after closing dialog.
1821              Drupal.Skinr.finalUnload(command.js[j].skin, command.js[j].options);
1822            }
1823          }
1824          else {
1825            // Disable js.
1826            Drupal.Skinr.prepareUnload(command.js[j].skin, command.js[j].options);
1827          }
1828        }
1829      }
1830  
1831      // Unload.
1832      Drupal.Skinr.unload();
1833  
1834      for (var i in Drupal.settings.skinr['areas']) {
1835        if (Drupal.settings.skinr['areas'][i]['module'] == command.module && Drupal.settings.skinr['areas'][i]['sids'] == command.sids) {
1836          $('.skinr-id-' + Drupal.settings.skinr['areas'][i]['id']).removeClass(command.classes.remove).addClass(command.classes.add);
1837          if (command.nosave == undefined || command.nosave == false) {
1838            Drupal.settings.skinr['areas'][i]['classes'] = $('.skinr-id-' + Drupal.settings.skinr['areas'][i]['id']).attr('class');
1839          }
1840        }
1841      }
1842    }
1843  
1844    if (command.nosave == undefined || command.nosave == false) {
1845      // Update our snapshot of loaded files.
1846      Drupal.Skinr.freezeFiles();
1847    }
1848  }
1849  
1850  /**
1851   * Helper functions to keep track of loaded css and js files, and to
1852   * dynamically load and unload them.
1853   */
1854  
1855  Drupal.Skinr.freezeFiles = function () {
1856    Drupal.Skinr.loadedFilesSnapshot = jQuery.extend(true, {}, Drupal.Skinr.loadedFiles);
1857  }
1858  
1859  Drupal.Skinr.unfreezeFiles = function () {
1860    var $diff = Drupal.Skinr.diffFiles(Drupal.Skinr.loadedFiles['css'], Drupal.Skinr.loadedFilesSnapshot['css']);
1861    for ($i in $diff) {
1862      Drupal.Skinr.unloadFile('css', $diff[$i].file, $diff[$i].media);
1863    }
1864  
1865    var $diff = Drupal.Skinr.diffFiles(Drupal.Skinr.loadedFilesSnapshot['css'], Drupal.Skinr.loadedFiles['css']);
1866    for ($i in $diff) {
1867      Drupal.Skinr.loadFile('css', $diff[$i].file, $diff[$i].media);
1868    }
1869  }
1870  
1871  Drupal.Skinr.diffFiles = function($a, $b) {
1872    var $diff = $.grep($a, function($el, $key) {
1873      for (var $i in $b) {
1874        var $obj = $b[$i];
1875        if ($el.file == $obj.file && $el.media == $obj.media) {
1876          return false;
1877        }
1878      }
1879      return true;
1880    });
1881    return $diff;
1882  }
1883  
1884  Drupal.Skinr.registerFile = function($type, $file, $media) {
1885    if (this.initialized == undefined) {
1886      this.initialized = true;
1887      $el = $('link[rel*=style]').each(function() {
1888        Drupal.Skinr.registerFile('css', $(this).attr('href'), $(this).attr('media'));
1889      });
1890      $el = $('script[type*=javascript][src]').each(function() {
1891        Drupal.Skinr.registerFile('js', $(this).attr('src'));
1892      });
1893    }
1894  
1895    if (!$file) {
1896      return false;
1897    }
1898  
1899    if ($.inArray({ file: $file, media: $media }, Drupal.Skinr.loadedFiles[$type]) < 0) {
1900      Drupal.Skinr.loadedFiles[$type][Drupal.Skinr.loadedFiles[$type].length] = { file: $file, media: $media };
1901      return true;
1902    }
1903    return false;
1904  }
1905  
1906  Drupal.Skinr.unregisterFile = function($type, $file) {
1907    for (var $key in Drupal.Skinr.loadedFiles[$type]) {
1908      if (Drupal.Skinr.loadedFiles[$type][$key].file == $file) {
1909        Drupal.Skinr.loadedFiles[$type].splice($key, 1);
1910        return true;
1911      }
1912    }
1913    return false;
1914  }
1915  
1916  Drupal.Skinr.loadFile = function($type, $file, $media) {
1917    if (Drupal.Skinr.registerFile($type, $file, $media)) {
1918      if ($type == 'css') {
1919        $el = $('link[rel*=style][href=' + $file + ']');
1920        if ($el.get() == '') {
1921          $('<link />').attr({
1922            href: $file,
1923            media: $media,
1924            rel: 'stylesheet',
1925            type: 'text/css'
1926          }).appendTo('head');
1927        }
1928      }
1929      else if ($type == 'js') {
1930        try {
1931          $.getScript($file, function($data) {
1932            // This might be a bit excessive to run on every script load,
1933            // but the scripts load asynchronously.
1934            Drupal.attachBehaviors();
1935          });
1936        }
1937        catch (err) {
1938          Drupal.Skinr.unregisterFile($type, $file);
1939        }
1940      }
1941      return true;
1942    }
1943    return false;
1944  }
1945  
1946  Drupal.Skinr.unloadFile = function($type, $file) {
1947    if (Drupal.Skinr.unregisterFile($type, $file)) {
1948      if ($type == 'css') {
1949        $el = $('link[rel*=style][href=' + $file + ']');
1950        if ($el.get() != '') {
1951          $el.disabled = true;
1952          $el.remove();
1953        }
1954        return true;
1955      }
1956      // Can't unload js files!
1957    }
1958    return false;
1959  }
1960  
1961  })(jQuery);
1962  ;
1963  /*!
1964  * jQuery Form Plugin
1965  * version: 2.43 (12-MAR-2010)
1966  * @requires jQuery v1.3.2 or later
1967  *
1968  * Examples and documentation at: http://malsup.com/jquery/form/
1969  * Dual licensed under the MIT and GPL licenses:
1970  * http://www.opensource.org/licenses/mit-license.php
1971  * http://www.gnu.org/licenses/gpl.html
1972  */
1973  (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||
1974  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?
1975  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]};
1976  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]);
1977  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".');
1978  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=
1979  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");
1980  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");
1981  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()==
1982  "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;
1983  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;
1984  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;
1985  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()});
1986  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=
1987  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;
1988  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=
1989  "";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()==
1990  "option"){d=b(this).parent("select");a&&d[0]&&d[0].type=="select-one"&&d.find("option").selected(false);this.selected=a}})}})(jQuery);
1991  ;
1992  $(function()
1993   {
1994    $("table tr").hover(
1995     function()
1996     {
1997      $(this).addClass("highlight");
1998     },
1999     function()
2000     {
2001      $(this).removeClass("highlight");
2002     }
2003    )
2004   }
2005  )
2006  
2007  $(document).ready(function() {
2008    $('body.admin-build-modules tr:has(:checkbox:disabled)').addClass('module-disabled');
2009  
2010    $("a[rel=external]").click(function() {
2011      this.target = "_blank";
2012    });
2013  
2014    $(".description").parent().each(function(){
2015      $(this).children('label').each(function(){
2016        $(this).removeClass("option");
2017        $(this).addClass("label-help");
2018      });
2019    });
2020  
2021  });
2022  ;
2023  $(document).ready(function() {
2024      
2025      // Expand Panel

2026      $("#open").click(function(){
2027          $("div#panel").slideDown("slow");
2028      
2029      });    
2030      
2031      // Collapse Panel

2032      $("#close").click(function(){
2033          $("div#panel").slideUp("slow");    
2034      });        
2035      
2036      // Switch buttons from "Log In | Register" to "Close Panel" on click

2037      $("#toggle a").click(function () {
2038          $("#toggle a").toggle();
2039      });        
2040          
2041  });;
2042  // $Id $
2043  
2044  /**
2045   * Cookie plugin
2046   *
2047   * Copyright (c) 2006 Klaus Hartl (stilbuero.de)
2048   * Dual licensed under the MIT and GPL licenses:
2049   * http://www.opensource.org/licenses/mit-license.php
2050   * http://www.gnu.org/licenses/gpl.html
2051   *
2052   */
2053  
2054  /**
2055   * Create a cookie with the given name and value and other optional parameters.
2056   *
2057   * @example $.cookie('the_cookie', 'the_value');
2058   * @desc Set the value of a cookie.
2059   * @example $.cookie('the_cookie', 'the_value', { expires: 7, path: '/', domain: 'jquery.com', secure: true });
2060   * @desc Create a cookie with all available options.
2061   * @example $.cookie('the_cookie', 'the_value');
2062   * @desc Create a session cookie.
2063   * @example $.cookie('the_cookie', null);
2064   * @desc Delete a cookie by passing null as value. Keep in mind that you have to use the same path and domain
2065   *       used when the cookie was set.
2066   *
2067   * @param String name The name of the cookie.
2068   * @param String value The value of the cookie.
2069   * @param Object options An object literal containing key/value pairs to provide optional cookie attributes.
2070   * @option Number|Date expires Either an integer specifying the expiration date from now on in days or a Date object.
2071   *                             If a negative value is specified (e.g. a date in the past), the cookie will be deleted.
2072   *                             If set to null or omitted, the cookie will be a session cookie and will not be retained
2073   *                             when the the browser exits.
2074   * @option String path The value of the path atribute of the cookie (default: path of page that created the cookie).
2075   * @option String domain The value of the domain attribute of the cookie (default: domain of page that created the cookie).
2076   * @option Boolean secure If true, the secure attribute of the cookie will be set and the cookie transmission will
2077   *                        require a secure protocol (like HTTPS).
2078   * @type undefined
2079   *
2080   * @name $.cookie
2081   * @cat Plugins/Cookie
2082   * @author Klaus Hartl/klaus.hartl@stilbuero.de
2083   */
2084  
2085  /**
2086   * Get the value of a cookie with the given name.
2087   *
2088   * @example $.cookie('the_cookie');
2089   * @desc Get the value of a cookie.
2090   *
2091   * @param String name The name of the cookie.
2092   * @return The value of the cookie.
2093   * @type String
2094   *
2095   * @name $.cookie
2096   * @cat Plugins/Cookie
2097   * @author Klaus Hartl/klaus.hartl@stilbuero.de
2098   */
2099  jQuery.cookie = function(name, value, options) {
2100      if (typeof value != 'undefined') { // name and value given, set cookie
2101          options = options || {};
2102          if (value === null) {
2103              value = '';
2104              options.expires = -1;
2105          }
2106          var expires = '';
2107          if (options.expires && (typeof options.expires == 'number' || options.expires.toUTCString)) {
2108              var date;
2109              if (typeof options.expires == 'number') {
2110                  date = new Date();
2111                  date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000));
2112              } else {
2113                  date = options.expires;
2114              }
2115              expires = '; expires=' + date.toUTCString(); // use expires attribute, max-age is not supported by IE
2116          }
2117          // CAUTION: Needed to parenthesize options.path and options.domain
2118          // in the following expressions, otherwise they evaluate to undefined
2119          // in the packed version for some reason...
2120          var path = options.path ? '; path=' + (options.path) : '';
2121          var domain = options.domain ? '; domain=' + (options.domain) : '';
2122          var secure = options.secure ? '; secure' : '';
2123          document.cookie = [name, '=', encodeURIComponent(value), expires, path, domain, secure].join('');
2124      } else { // only name given, get cookie
2125          var cookieValue = null;
2126          if (document.cookie && document.cookie != '') {
2127              var cookies = document.cookie.split(';');
2128              for (var i = 0; i < cookies.length; i++) {
2129                  var cookie = jQuery.trim(cookies[i]);
2130                  // Does this cookie string begin with the name we want?
2131                  if (cookie.substring(0, name.length + 1) == (name + '=')) {
2132                      cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
2133                      break;
2134                  }
2135              }
2136          }
2137          return cookieValue;
2138      }
2139  };;
2140  // $Id $
2141  
2142  if (Drupal.jsEnabled) {
2143    $(document).ready(function() {
2144      // Which div or page element are we resizing?
2145      if (text_resize_scope) { // Admin-specified scope takes precedence.
2146        if ($('#'+text_resize_scope).length > 0) {
2147          var element_to_resize = $('#'+text_resize_scope); // ID specified by admin
2148        }
2149        else if ($('.'+text_resize_scope).length > 0) {
2150          var element_to_resize = $('.'+text_resize_scope); // CLASS specified by admin
2151        }
2152        else {
2153          var element_to_resize = $(text_resize_scope); // It's just a tag specified by admin
2154        }
2155          }
2156          else { // Look for some default scopes that might exist.
2157        if ($('DIV.left-corner').length > 0) {
2158          var element_to_resize = $('DIV.left-corner'); // Main body div for Garland
2159        }
2160        else if ($('#content-inner').length > 0) {
2161          var element_to_resize = $('#content-inner'); // Main body div for Zen-based themes
2162        }
2163        else if ($('#squeeze > #content').length > 0) {
2164          var element_to_resize = $('#squeeze > #content'); // Main body div for Zen Classic
2165        }
2166          }
2167      // Set the initial font size if necessary
2168      if ($.cookie('text_resize') != null) {
2169        element_to_resize.css('font-size', parseFloat($.cookie('text_resize')) + 'px');
2170        //alert( "Should be size: " + $.cookie('text_resize'));
2171      }
2172      else {
2173        //alert('Couldn\'t find text_resize cookie.');
2174      }
2175      if (text_resize_line_height_allow) {
2176        //alert('line height adjustment allowed! The current line-height is '+parseFloat(element_to_resize.css('line-height'), 10));
2177              // Set the initial line height if necessary
2178        if ($.cookie('text_resize_line_height') != null) {
2179          element_to_resize.css('line-height', parseFloat($.cookie('text_resize_line_height')) + 'px');
2180        }
2181          }
2182      // Changer links will change the text size when clicked
2183      $('a.changer').click(function() {
2184        // Set the current font size of the specified section as a variable
2185        var currentFontSize = parseFloat(element_to_resize.css('font-size'), 10);
2186              //alert('currentFontSize = '+currentFontSize);
2187              // Set the current line-height
2188              var current_line_height = parseFloat(element_to_resize.css('line-height'), 10);
2189              //alert('current_line_height = '+current_line_height);
2190        // javascript lets us choose which link was clicked, by ID
2191        if (this.id == 'text_resize_increase') {
2192          var new_font_size = currentFontSize * 1.2;
2193          if (text_resize_line_height_allow) { var new_line_height = current_line_height * 1.2; }
2194          // Allow resizing as long as font size doesn't go above text_resize_maximum.
2195          if (new_font_size <= text_resize_maximum) {
2196            $.cookie('text_resize', new_font_size, { path: '/' });
2197            if (text_resize_line_height_allow) { $.cookie('text_resize_line_height', new_line_height, { path: '/' }); }
2198            var allow_change = true;
2199          }
2200          else {
2201                      $.cookie('text_resize', text_resize_maximum, { path: '/' });
2202            if (text_resize_line_height_allow) { $.cookie('text_resize_line_height', text_resize_line_height_max, { path: '/' }); }
2203            var reset_size_max = true;
2204                  }
2205        }
2206        else if (this.id == 'text_resize_decrease') {
2207          var new_font_size = currentFontSize * 0.8;
2208          if (text_resize_line_height_allow) { var new_line_height = current_line_height * 0.8; }
2209          if (new_font_size >= text_resize_minimum) {
2210            // Allow resizing as long as font size doesn't go below text_resize_minimum.
2211            $.cookie('text_resize', new_font_size, { path: '/' });
2212            if (text_resize_line_height_allow) { $.cookie('text_resize_line_height', new_line_height, { path: '/' }); }
2213            var allow_change = true;
2214          }
2215          else {
2216            // If it goes below text_resize_minimum, just leave it at text_resize_minimum.
2217            $.cookie('text_resize', text_resize_minimum, { path: '/' });
2218                      if (text_resize_line_height_allow) { $.cookie('text_resize_line_height', text_resize_line_height_min, { path: '/' }); }
2219            var reset_size_min = true;
2220          }
2221        }
2222        else if (this.id == 'text_resize_reset') {
2223          $.cookie('text_resize', text_resize_minimum, { path: '/' });
2224                  if (text_resize_line_height_allow) { $.cookie('text_resize_line_height', text_resize_line_height_min, { path: '/' }); }
2225          var reset_size_min = true;
2226        }
2227        // jQuery lets us set the font size value of the main text div
2228        if (allow_change == true) {
2229          element_to_resize.css('font-size', new_font_size + 'px'); // Add 'px' onto the end, otherwise ems are used as units by default
2230                  if (text_resize_line_height_allow) { element_to_resize.css('line-height', new_line_height + 'px'); }
2231          return false;
2232        }
2233        else if (reset_size_min == true) {
2234          element_to_resize.css('font-size', text_resize_minimum + 'px');
2235                  if (text_resize_line_height_allow) { element_to_resize.css('line-height', text_resize_line_height_min + 'px'); }
2236          return false;
2237        }
2238        else if (reset_size_max == true) {
2239          element_to_resize.css('font-size', text_resize_maximum + 'px');
2240                  if (text_resize_line_height_allow) { element_to_resize.css('line-height', text_resize_line_height_max + 'px'); }
2241          return false;
2242        }
2243      });
2244    });
2245  }
2246  // My random jquery
2247  if (Drupal.jsEnabled) {
2248    $(document).ready(function() {
2249                        if (jQuery().equalHeights) {
2250                          $("div.sidebar-first-inner div.sidebar-last-inner").equalHeights();
2251                        }
2252                      });
2253  }
2254  ;


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