| [ Index ] |
PHP Cross Reference of Drupal 6 (gatewave) |
[Summary view] [Print] [Text view]
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 = { '&': '&', '"': '"', '<': '<', '>': '>' }; 72 for (var character in replace) { 73 var regex = new RegExp(character, 'g'); 74 str = str.replace(regex, replace[character]); 75 } 76 return str; 77 }; 78 79 /** 80 * Translate strings to the page language or a given language. 81 * 82 * See the documentation of the server-side t() function for further details. 83 * 84 * @param str 85 * A string containing the English string to translate. 86 * @param args 87 * An object of replacements pairs to make after translation. Incidences 88 * of any key in this array are replaced with the corresponding value. 89 * Based on the first character of the key, the value is escaped and/or themed: 90 * - !variable: inserted as is 91 * - @variable: escape plain text to HTML (Drupal.checkPlain) 92 * - %variable: escape text and theme as a placeholder for user-submitted 93 * content (checkPlain + Drupal.theme('placeholder')) 94 * @return 95 * The translated string. 96 */ 97 Drupal.t = function(str, args) { 98 // Fetch the localized version of the string. 99 if (Drupal.locale.strings && Drupal.locale.strings[str]) { 100 str = Drupal.locale.strings[str]; 101 } 102 103 if (args) { 104 // Transform arguments before inserting them 105 for (var key in args) { 106 switch (key.charAt(0)) { 107 // Escaped only 108 case '@': 109 args[key] = Drupal.checkPlain(args[key]); 110 break; 111 // Pass-through 112 case '!': 113 break; 114 // Escaped and placeholder 115 case '%': 116 default: 117 args[key] = Drupal.theme('placeholder', args[key]); 118 break; 119 } 120 str = str.replace(key, args[key]); 121 } 122 } 123 return str; 124 }; 125 126 /** 127 * Format a string containing a count of items. 128 * 129 * This function ensures that the string is pluralized correctly. Since Drupal.t() is 130 * called by this function, make sure not to pass already-localized strings to it. 131 * 132 * See the documentation of the server-side format_plural() function for further details. 133 * 134 * @param count 135 * The item count to display. 136 * @param singular 137 * The string for the singular case. Please make sure it is clear this is 138 * singular, to ease translation (e.g. use "1 new comment" instead of "1 new"). 139 * Do not use @count in the singular string. 140 * @param plural 141 * The string for the plural case. Please make sure it is clear this is plural, 142 * to ease translation. Use @count in place of the item count, as in "@count 143 * new comments". 144 * @param args 145 * An object of replacements pairs to make after translation. Incidences 146 * of any key in this array are replaced with the corresponding value. 147 * Based on the first character of the key, the value is escaped and/or themed: 148 * - !variable: inserted as is 149 * - @variable: escape plain text to HTML (Drupal.checkPlain) 150 * - %variable: escape text and theme as a placeholder for user-submitted 151 * content (checkPlain + Drupal.theme('placeholder')) 152 * Note that you do not need to include @count in this array. 153 * This replacement is done automatically for the plural case. 154 * @return 155 * A translated string. 156 */ 157 Drupal.formatPlural = function(count, singular, plural, args) { 158 var args = args || {}; 159 args['@count'] = count; 160 // Determine the index of the plural form. 161 var index = Drupal.locale.pluralFormula ? Drupal.locale.pluralFormula(args['@count']) : ((args['@count'] == 1) ? 0 : 1); 162 163 if (index == 0) { 164 return Drupal.t(singular, args); 165 } 166 else if (index == 1) { 167 return Drupal.t(plural, args); 168 } 169 else { 170 args['@count['+ index +']'] = args['@count']; 171 delete args['@count']; 172 return Drupal.t(plural.replace('@count', '@count['+ index +']')); 173 } 174 }; 175 176 /** 177 * Generate the themed representation of a Drupal object. 178 * 179 * All requests for themed output must go through this function. It examines 180 * the request and routes it to the appropriate theme function. If the current 181 * theme does not provide an override function, the generic theme function is 182 * called. 183 * 184 * For example, to retrieve the HTML that is output by theme_placeholder(text), 185 * call Drupal.theme('placeholder', text). 186 * 187 * @param func 188 * The name of the theme function to call. 189 * @param ... 190 * Additional arguments to pass along to the theme function. 191 * @return 192 * Any data the theme function returns. This could be a plain HTML string, 193 * but also a complex object. 194 */ 195 Drupal.theme = function(func) { 196 for (var i = 1, args = []; i < arguments.length; i++) { 197 args.push(arguments[i]); 198 } 199 200 return (Drupal.theme[func] || Drupal.theme.prototype[func]).apply(this, args); 201 }; 202 203 /** 204 * Parse a JSON response. 205 * 206 * The result is either the JSON object, or an object with 'status' 0 and 'data' an error message. 207 */ 208 Drupal.parseJson = function (data) { 209 if ((data.substring(0, 1) != '{') && (data.substring(0, 1) != '[')) { 210 return { status: 0, data: data.length ? data : Drupal.t('Unspecified error') }; 211 } 212 return eval('(' + data + ');'); 213 }; 214 215 /** 216 * Freeze the current body height (as minimum height). Used to prevent 217 * unnecessary upwards scrolling when doing DOM manipulations. 218 */ 219 Drupal.freezeHeight = function () { 220 Drupal.unfreezeHeight(); 221 var div = document.createElement('div'); 222 $(div).css({ 223 position: 'absolute', 224 top: '0px', 225 left: '0px', 226 width: '1px', 227 height: $('body').css('height') 228 }).attr('id', 'freeze-height'); 229 $('body').append(div); 230 }; 231 232 /** 233 * Unfreeze the body height 234 */ 235 Drupal.unfreezeHeight = function () { 236 $('#freeze-height').remove(); 237 }; 238 239 /** 240 * Wrapper around encodeURIComponent() which avoids Apache quirks (equivalent of 241 * drupal_urlencode() in PHP). This function should only be used on paths, not 242 * on query string arguments. 243 */ 244 Drupal.encodeURIComponent = function (item, uri) { 245 uri = uri || location.href; 246 item = encodeURIComponent(item).replace(/%2F/g, '/'); 247 return (uri.indexOf('?q=') != -1) ? item : item.replace(/%26/g, '%2526').replace(/%23/g, '%2523').replace(/\/\//g, '/%252F'); 248 }; 249 250 /** 251 * Get the text selection in a textarea. 252 */ 253 Drupal.getSelection = function (element) { 254 if (typeof(element.selectionStart) != 'number' && document.selection) { 255 // The current selection 256 var range1 = document.selection.createRange(); 257 var range2 = range1.duplicate(); 258 // Select all text. 259 range2.moveToElementText(element); 260 // Now move 'dummy' end point to end point of original range. 261 range2.setEndPoint('EndToEnd', range1); 262 // Now we can calculate start and end points. 263 var start = range2.text.length - range1.text.length; 264 var end = start + range1.text.length; 265 return { 'start': start, 'end': end }; 266 } 267 return { 'start': element.selectionStart, 'end': element.selectionEnd }; 268 }; 269 270 /** 271 * Build an error message from ahah response. 272 */ 273 Drupal.ahahError = function(xmlhttp, uri) { 274 if (xmlhttp.status == 200) { 275 if (jQuery.trim($(xmlhttp.responseText).text())) { 276 var message = Drupal.t("An error occurred. \n@uri\n@text", {'@uri': uri, '@text': xmlhttp.responseText }); 277 } 278 else { 279 var message = Drupal.t("An error occurred. \n@uri\n(no information available).", {'@uri': uri, '@text': xmlhttp.responseText }); 280 } 281 } 282 else { 283 var message = Drupal.t("An HTTP error @status occurred. \n@uri", {'@uri': uri, '@status': xmlhttp.status }); 284 } 285 return message; 286 } 287 288 // Global Killswitch on the <html> element 289 if (Drupal.jsEnabled) { 290 // Global Killswitch on the <html> element 291 $(document.documentElement).addClass('js'); 292 // 'js enabled' cookie 293 document.cookie = 'has_js=1; path=/'; 294 // Attach all behaviors. 295 $(document).ready(function() { 296 Drupal.attachBehaviors(this); 297 }); 298 } 299 300 /** 301 * The default themes. 302 */ 303 Drupal.theme.prototype = { 304 305 /** 306 * Formats text for emphasized display in a placeholder inside a sentence. 307 * 308 * @param str 309 * The text to format (plain-text). 310 * @return 311 * The formatted text (html). 312 */ 313 placeholder: function(str) { 314 return '<em>' + Drupal.checkPlain(str) + '</em>'; 315 } 316 }; 317 ; 318 /* $Id: admin_menu.js,v 1.7.2.9 2010/02/20 23:53:18 sun Exp $ */ 319 320 $(document).ready(function() { 321 if (!$('#admin-menu').length) { 322 return; 323 } 324 325 // Apply margin-top if enabled; directly applying marginTop doesn't work in IE. 326 if (Drupal && Drupal.settings && Drupal.settings.admin_menu) { 327 if (Drupal.settings.admin_menu.margin_top) { 328 $('body').addClass('admin-menu'); 329 } 330 if (Drupal.settings.admin_menu.position_fixed) { 331 $('#admin-menu').css('position', 'fixed'); 332 } 333 // Move page tabs into administration menu. 334 if (Drupal.settings.admin_menu.tweak_tabs) { 335 $('ul.tabs.primary li').each(function() { 336 $(this).addClass('admin-menu-tab').appendTo('#admin-menu > ul'); 337 }); 338 $('ul.tabs.secondary').appendTo('#admin-menu > ul > li.admin-menu-tab.active').removeClass('secondary'); 339 } 340 // Collapse fieldsets on Modules page. For why multiple selectors see #111719. 341 if (Drupal.settings.admin_menu.tweak_modules) { 342 $('#system-modules fieldset:not(.collapsed), #system-modules-1 fieldset:not(.collapsed)').addClass('collapsed'); 343 } 344 } 345 346 // Hover emulation for IE 6. 347 if ($.browser.msie && parseInt(jQuery.browser.version) == 6) { 348 $('#admin-menu li').hover(function() { 349 $(this).addClass('iehover'); 350 }, function() { 351 $(this).removeClass('iehover'); 352 }); 353 } 354 355 // Delayed mouseout. 356 $('#admin-menu li').hover(function() { 357 // Stop the timer. 358 clearTimeout(this.sfTimer); 359 // Display child lists. 360 $('> ul', this).css({left: 'auto', display: 'block'}) 361 // Immediately hide nephew lists. 362 .parent().siblings('li').children('ul').css({left: '-999em', display: 'none'}); 363 }, function() { 364 // Start the timer. 365 var uls = $('> ul', this); 366 this.sfTimer = setTimeout(function() { 367 uls.css({left: '-999em', display: 'none'}); 368 }, 400); 369 }); 370 }); 371 ; 372 // $Id: panels.js,v 1.2.4.1 2009/10/05 22:40:35 merlinofchaos Exp $ 373 374 (function ($) { 375 Drupal.Panels = {}; 376 377 Drupal.Panels.autoAttach = function() { 378 if ($.browser.msie) { 379 // If IE, attach a hover event so we can see our admin links. 380 $("div.panel-pane").hover( 381 function() { 382 $('div.panel-hide', this).addClass("panel-hide-hover"); return true; 383 }, 384 function() { 385 $('div.panel-hide', this).removeClass("panel-hide-hover"); return true; 386 } 387 ); 388 $("div.admin-links").hover( 389 function() { 390 $(this).addClass("admin-links-hover"); return true; 391 }, 392 function(){ 393 $(this).removeClass("admin-links-hover"); return true; 394 } 395 ); 396 } 397 }; 398 399 $(Drupal.Panels.autoAttach); 400 })(jQuery); 401 ; 402 // $Id: collapse.js,v 1.17 2008/01/29 10:58:25 goba Exp $ 403 404 /** 405 * Toggle the visibility of a fieldset using smooth animations 406 */ 407 Drupal.toggleFieldset = function(fieldset) { 408 if ($(fieldset).is('.collapsed')) { 409 // Action div containers are processed separately because of a IE bug 410 // that alters the default submit button behavior. 411 var content = $('> div:not(.action)', fieldset); 412 $(fieldset).removeClass('collapsed'); 413 content.hide(); 414 content.slideDown( { 415 duration: 'fast', 416 easing: 'linear', 417 complete: function() { 418 Drupal.collapseScrollIntoView(this.parentNode); 419 this.parentNode.animating = false; 420 $('div.action', fieldset).show(); 421 }, 422 step: function() { 423 // Scroll the fieldset into view 424 Drupal.collapseScrollIntoView(this.parentNode); 425 } 426 }); 427 } 428 else { 429 $('div.action', fieldset).hide(); 430 var content = $('> div:not(.action)', fieldset).slideUp('fast', function() { 431 $(this.parentNode).addClass('collapsed'); 432 this.parentNode.animating = false; 433 }); 434 } 435 }; 436 437 /** 438 * Scroll a given fieldset into view as much as possible. 439 */ 440 Drupal.collapseScrollIntoView = function (node) { 441 var h = self.innerHeight || document.documentElement.clientHeight || $('body')[0].clientHeight || 0; 442 var offset = self.pageYOffset || document.documentElement.scrollTop || $('body')[0].scrollTop || 0; 443 var posY = $(node).offset().top; 444 var fudge = 55; 445 if (posY + node.offsetHeight + fudge > h + offset) { 446 if (node.offsetHeight > h) { 447 window.scrollTo(0, posY); 448 } else { 449 window.scrollTo(0, posY + node.offsetHeight - h + fudge); 450 } 451 } 452 }; 453 454 Drupal.behaviors.collapse = function (context) { 455 $('fieldset.collapsible > legend:not(.collapse-processed)', context).each(function() { 456 var fieldset = $(this.parentNode); 457 // Expand if there are errors inside 458 if ($('input.error, textarea.error, select.error', fieldset).size() > 0) { 459 fieldset.removeClass('collapsed'); 460 } 461 462 // Turn the legend into a clickable link and wrap the contents of the fieldset 463 // in a div for easier animation 464 var text = this.innerHTML; 465 $(this).empty().append($('<a href="#">'+ text +'</a>').click(function() { 466 var fieldset = $(this).parents('fieldset:first')[0]; 467 // Don't animate multiple times 468 if (!fieldset.animating) { 469 fieldset.animating = true; 470 Drupal.toggleFieldset(fieldset); 471 } 472 return false; 473 })) 474 .after($('<div class="fieldset-wrapper"></div>') 475 .append(fieldset.children(':not(legend):not(.action)'))) 476 .addClass('collapse-processed'); 477 }); 478 }; 479 ; 480 // $Id: ajax-responder.js,v 1.18.2.24 2010/08/27 22:09:48 merlinofchaos Exp $ 481 /** 482 * @file 483 * 484 * CTools flexible AJAX responder object. 485 */ 486 487 (function ($) { 488 Drupal.CTools = Drupal.CTools || {}; 489 Drupal.CTools.AJAX = Drupal.CTools.AJAX || {}; 490 Drupal.CTools.AJAX.commands = Drupal.CTools.AJAX.commands || {}; 491 Drupal.CTools.AJAX.commandCache = Drupal.CTools.AJAX.comandCache || {} ; 492 Drupal.CTools.AJAX.scripts = {}; 493 Drupal.CTools.AJAX.css = {}; 494 495 /** 496 * Success callback for an ajax request. 497 * 498 * This function expects to receive a packet of data from a JSON object 499 * which is essentially a list of commands. Each commands must have a 500 * 'command' setting and this setting must resolve to a function in the 501 * Drupal.CTools.AJAX.commands space. 502 */ 503 Drupal.CTools.AJAX.respond = function(data) { 504 for (i in data) { 505 if (data[i]['command'] && Drupal.CTools.AJAX.commands[data[i]['command']]) { 506 Drupal.CTools.AJAX.commands[data[i]['command']](data[i]); 507 } 508 } 509 }; 510 511 /** 512 * Grab the response from the server and store it. 513 */ 514 Drupal.CTools.AJAX.warmCache = function () { 515 // Store this expression for a minor speed improvement. 516 $this = $(this); 517 var old_url = $this.attr('href'); 518 // If we are currently fetching, or if we have fetched this already which is 519 // ideal for things like pagers, where the previous page might already have 520 // been seen in the cache. 521 if ($this.hasClass('ctools-fetching') || Drupal.CTools.AJAX.commandCache[old_url]) { 522 return false; 523 } 524 525 // Grab all the links that match this url and add the fetching class. 526 // This allows the caching system to grab each url once and only once 527 // instead of grabbing the url once per <a>. 528 var $objects = $('a[href=' + old_url + ']') 529 $objects.addClass('ctools-fetching'); 530 try { 531 url = old_url.replace(/\/nojs(\/|$)/g, '/ajax$1'); 532 $.ajax({ 533 type: "POST", 534 url: url, 535 data: { 'js': 1, 'ctools_ajax': 1}, 536 global: true, 537 success: function (data) { 538 Drupal.CTools.AJAX.commandCache[old_url] = data; 539 $objects.addClass('ctools-cache-warmed').trigger('ctools-cache-warm', [data]); 540 }, 541 complete: function() { 542 $objects.removeClass('ctools-fetching'); 543 }, 544 dataType: 'json' 545 }); 546 } 547 catch (err) { 548 $objects.removeClass('ctools-fetching'); 549 return false; 550 } 551 552 return false; 553 }; 554 555 /** 556 * Cachable click handler to fetch the commands out of the cache or from url. 557 */ 558 Drupal.CTools.AJAX.clickAJAXCacheLink = function () { 559 $this = $(this); 560 if ($this.hasClass('ctools-fetching')) { 561 $this.bind('ctools-cache-warm', function (event, data) { 562 Drupal.CTools.AJAX.respond(data); 563 }); 564 return false; 565 } 566 else { 567 if ($this.hasClass('ctools-cache-warmed') && Drupal.CTools.AJAX.commandCache[$this.attr('href')]) { 568 Drupal.CTools.AJAX.respond(Drupal.CTools.AJAX.commandCache[$this.attr('href')]); 569 return false; 570 } 571 else { 572 return Drupal.CTools.AJAX.clickAJAXLink.apply(this); 573 } 574 } 575 }; 576 577 /** 578 * Generic replacement click handler to open the modal with the destination 579 * specified by the href of the link. 580 */ 581 Drupal.CTools.AJAX.clickAJAXLink = function() { 582 if ($(this).hasClass('ctools-ajaxing')) { 583 return false; 584 } 585 586 var url = $(this).attr('href'); 587 var object = $(this); 588 $(this).addClass('ctools-ajaxing'); 589 try { 590 url = url.replace(/\/nojs(\/|$)/g, '/ajax$1'); 591 $.ajax({ 592 type: "POST", 593 url: url, 594 data: { 'js': 1, 'ctools_ajax': 1}, 595 global: true, 596 success: Drupal.CTools.AJAX.respond, 597 error: function(xhr) { 598 Drupal.CTools.AJAX.handleErrors(xhr, url); 599 }, 600 complete: function() { 601 $('.ctools-ajaxing').removeClass('ctools-ajaxing'); 602 }, 603 dataType: 'json' 604 }); 605 } 606 catch (err) { 607 alert("An error occurred while attempting to process " + url); 608 $('.ctools-ajaxing').removeClass('ctools-ajaxing'); 609 return false; 610 } 611 612 return false; 613 }; 614 615 /** 616 * Generic replacement click handler to open the modal with the destination 617 * specified by the href of the link. 618 */ 619 Drupal.CTools.AJAX.clickAJAXButton = function() { 620 if ($(this).hasClass('ctools-ajaxing')) { 621 return false; 622 } 623 624 // Put our button in. 625 this.form.clk = this; 626 627 var url = Drupal.CTools.AJAX.findURL(this); 628 $(this).addClass('ctools-ajaxing'); 629 var object = $(this); 630 try { 631 if (url) { 632 url = url.replace(/\/nojs(\/|$)/g, '/ajax$1'); 633 $.ajax({ 634 type: "POST", 635 url: url, 636 data: { 'js': 1, 'ctools_ajax': 1}, 637 global: true, 638 success: Drupal.CTools.AJAX.respond, 639 error: function(xhr) { 640 Drupal.CTools.AJAX.handleErrors(xhr, url); 641 }, 642 complete: function() { 643 $('.ctools-ajaxing').removeClass('ctools-ajaxing'); 644 }, 645 dataType: 'json' 646 }); 647 } 648 else { 649 var form = this.form; 650 url = $(form).attr('action'); 651 setTimeout(function() { Drupal.CTools.AJAX.ajaxSubmit(form, url); }, 1); 652 } 653 } 654 catch (err) { 655 alert("An error occurred while attempting to process " + url); 656 $(this).removeClass('ctools-ajaxing'); 657 return false; 658 } 659 return false; 660 }; 661 662 /** 663 * Event handler to submit an AJAX form. 664 * 665 * Using a secondary event ensures that our form submission is last, which 666 * is needed when submitting wysiwyg controlled forms, for example. 667 */ 668 Drupal.CTools.AJAX.ajaxSubmit = function (form, url) { 669 $form = $(form); 670 671 if ($form.hasClass('ctools-ajaxing')) { 672 return false; 673 } 674 675 $form.addClass('ctools-ajaxing'); 676 677 try { 678 url = url.replace(/\/nojs(\/|$)/g, '/ajax$1'); 679 680 var ajaxOptions = { 681 type: 'POST', 682 url: url, 683 data: { 'js': 1, 'ctools_ajax': 1}, 684 global: true, 685 success: Drupal.CTools.AJAX.respond, 686 error: function(xhr) { 687 Drupal.CTools.AJAX.handleErrors(xhr, url); 688 }, 689 complete: function() { 690 $('.ctools-ajaxing').removeClass('ctools-ajaxing'); 691 $('div.ctools-ajaxing-temporary').remove(); 692 }, 693 dataType: 'json' 694 }; 695 696 // If the form requires uploads, use an iframe instead and add data to 697 // the submit to support this and use the proper response. 698 if ($form.attr('enctype') == 'multipart/form-data') { 699 $form.append('<input type="hidden" name="ctools_multipart" value="1">'); 700 ajaxIframeOptions = { 701 success: Drupal.CTools.AJAX.iFrameJsonRespond, 702 iframe: true 703 }; 704 ajaxOptions = $.extend(ajaxOptions, ajaxIframeOptions); 705 } 706 707 $form.ajaxSubmit(ajaxOptions); 708 } 709 catch (err) { 710 alert("An error occurred while attempting to process " + url); 711 $('.ctools-ajaxing').removeClass('ctools-ajaxing'); 712 $('div.ctools-ajaxing-temporary').remove(); 713 return false; 714 } 715 }; 716 717 /** 718 * Wrapper for handling JSON responses from an iframe submission 719 */ 720 Drupal.CTools.AJAX.iFrameJsonRespond = function(data) { 721 var myJson = eval(data); 722 Drupal.CTools.AJAX.respond(myJson); 723 } 724 725 /** 726 * Display error in a more fashion way 727 */ 728 Drupal.CTools.AJAX.handleErrors = function(xhr, path) { 729 var error_text = ''; 730 731 if ((xhr.status == 500 && xhr.responseText) || xhr.status == 200) { 732 error_text = xhr.responseText; 733 734 // Replace all < and > by < and > 735 error_text = error_text.replace("/&(lt|gt);/g", function (m, p) { 736 return (p == "lt")? "<" : ">"; 737 }); 738 739 // Now, replace all html tags by empty spaces 740 error_text = error_text.replace(/<("[^"]*"|'[^']*'|[^'">])*>/gi,""); 741 742 // Fix end lines 743 error_text = error_text.replace(/[\n]+\s+/g,"\n"); 744 } 745 else if (xhr.status == 500) { 746 error_text = xhr.status + ': ' + Drupal.t("Internal server error. Please see server or PHP logs for error information."); 747 } 748 else { 749 error_text = xhr.status + ': ' + xhr.statusText; 750 } 751 752 alert(Drupal.t("An error occurred at @path.\n\nError Description: @error", {'@path': path, '@error': error_text})); 753 } 754 755 /** 756 * Generic replacement for change handler to execute ajax method. 757 */ 758 Drupal.CTools.AJAX.changeAJAX = function () { 759 if ($(this).hasClass('ctools-ajaxing')) { 760 return false; 761 } 762 763 var url = Drupal.CTools.AJAX.findURL(this); 764 $(this).addClass('ctools-ajaxing'); 765 var object = $(this); 766 var form_id = $(object).parents('form').get(0).id; 767 try { 768 if (url) { 769 url = url.replace(/\/nojs(\/|$)/g, '/ajax$1'); 770 $.ajax({ 771 type: "POST", 772 url: url, 773 data: {'ctools_changed': $(this).val(), 'js': 1, 'ctools_ajax': 1 }, 774 global: true, 775 success: Drupal.CTools.AJAX.respond, 776 error: function(xhr) { 777 Drupal.CTools.AJAX.handleErrors(xhr, url); 778 }, 779 complete: function() { 780 $('.ctools-ajaxing').removeClass('ctools-ajaxing'); 781 if ($(object).hasClass('ctools-ajax-submit-onchange')) { 782 $('form#' + form_id).submit(); 783 } 784 }, 785 dataType: 'json' 786 }); 787 } 788 else { 789 if ($(object).hasClass('ctools-ajax-submit-onchange')) { 790 $('form#' + form_id).submit(); 791 } 792 return false; 793 } 794 } 795 catch (err) { 796 alert("An error occurred while attempting to process " + url); 797 $('.ctools-ajaxing').removeClass('ctools-ajaxing'); 798 return false; 799 } 800 return false; 801 }; 802 803 /** 804 * Find a URL for an AJAX button. 805 * 806 * The URL for this gadget will be composed of the values of items by 807 * taking the ID of this item and adding -url and looking for that 808 * class. They need to be in the form in order since we will 809 * concat them all together using '/'. 810 */ 811 Drupal.CTools.AJAX.findURL = function(item) { 812 var url = ''; 813 var url_class = '.' + $(item).attr('id') + '-url'; 814 $(url_class).each( 815 function() { 816 if (url && $(this).val()) { 817 url += '/'; 818 } 819 url += $(this).val(); 820 }); 821 return url; 822 }; 823 824 Drupal.CTools.AJAX.getPath = function (link) { 825 if (!link) { 826 return; 827 } 828 829 var index = link.indexOf('?'); 830 if (index != -1) { 831 link = link.substr(0, index); 832 } 833 834 return link; 835 } 836 837 Drupal.CTools.AJAX.commands.prepend = function(data) { 838 $(data.selector).prepend(data.data); 839 Drupal.attachBehaviors($(data.selector)); 840 }; 841 842 Drupal.CTools.AJAX.commands.append = function(data) { 843 $(data.selector).append(data.data); 844 Drupal.attachBehaviors($(data.selector)); 845 }; 846 847 Drupal.CTools.AJAX.commands.replace = function(data) { 848 $(data.selector).replaceWith(data.data); 849 Drupal.attachBehaviors($(data.selector)); 850 }; 851 852 Drupal.CTools.AJAX.commands.after = function(data) { 853 var object = $(data.data); 854 $(data.selector).after(object); 855 Drupal.attachBehaviors(object); 856 }; 857 858 Drupal.CTools.AJAX.commands.before = function(data) { 859 var object = $(data.data); 860 $(data.selector).before(object); 861 Drupal.attachBehaviors(object); 862 }; 863 864 Drupal.CTools.AJAX.commands.html = function(data) { 865 $(data.selector).html(data.data); 866 Drupal.attachBehaviors($(data.selector)); 867 }; 868 869 Drupal.CTools.AJAX.commands.remove = function(data) { 870 $(data.selector).remove(); 871 }; 872 873 Drupal.CTools.AJAX.commands.changed = function(data) { 874 if (!$(data.selector).hasClass('changed')) { 875 $(data.selector).addClass('changed'); 876 if (data.star) { 877 $(data.selector).find(data.star).append(' <span class="star">*</span> '); 878 } 879 } 880 }; 881 882 Drupal.CTools.AJAX.commands.alert = function(data) { 883 alert(data.text, data.title); 884 }; 885 886 Drupal.CTools.AJAX.commands.css = function(data) { 887 /* 888 if (data.selector && data.selector.contains('* html ')) { 889 // This indicates an IE hack and we should only do it if we are IE. 890 if (!jQuery.browser.msie) { 891 return; 892 } 893 data.selector = data.selector.replace('* html ', ''); 894 } 895 */ 896 $(data.selector).css(data.argument); 897 }; 898 899 Drupal.CTools.AJAX.commands.css_files = function(data) { 900 // Build a list of css files already loaded: 901 $('link:not(.ctools-temporary-css)').each(function () { 902 if ($(this).attr('type') == 'text/css') { 903 var link = Drupal.CTools.AJAX.getPath($(this).attr('href')); 904 if (link) { 905 Drupal.CTools.AJAX.css[link] = $(this).attr('href'); 906 } 907 } 908 }); 909 910 var html = ''; 911 for (i in data.argument) { 912 var link = Drupal.CTools.AJAX.getPath(data.argument[i].file); 913 if (!Drupal.CTools.AJAX.css[link]) { 914 html += '<link class="ctools-temporary-css" type="text/css" rel="stylesheet" media="' + data.argument[i].media + 915 '" href="' + data.argument[i].file + '" />'; 916 } 917 } 918 919 if (html) { 920 $('link.ctools-temporary-css').remove(); 921 $('body').append($(html)); 922 } 923 }; 924 925 Drupal.CTools.AJAX.commands.settings = function(data) { 926 $.extend(Drupal.settings, data.argument); 927 }; 928 929 Drupal.CTools.AJAX.commands.scripts = function(data) { 930 // Build a list of scripts already loaded: 931 var scripts = {}; 932 $('script').each(function () { 933 var link = Drupal.CTools.AJAX.getPath($(this).attr('src')); 934 if (link) { 935 Drupal.CTools.AJAX.scripts[link] = $(this).attr('src'); 936 } 937 }); 938 939 var html = ''; 940 var head = document.getElementsByTagName('head')[0]; 941 for (i in data.argument) { 942 var link = Drupal.CTools.AJAX.getPath(data.argument[i]); 943 if (!Drupal.CTools.AJAX.scripts[link]) { 944 Drupal.CTools.AJAX.scripts[link] = link; 945 // Use this to actually get the script tag into the dom, which is 946 // needed for scripts that self-reference to determine paths. 947 var script = document.createElement('script'); 948 script.type = 'text/javascript'; 949 script.src = data.argument[i]; 950 head.appendChild(script); 951 html += '<script type="text/javascript" src="' + data.argument[i] + '"></script>'; 952 } 953 } 954 955 if (html) { 956 $('body').append($(html)); 957 } 958 }; 959 960 Drupal.CTools.AJAX.commands.data = function(data) { 961 $(data.selector).data(data.name, data.value); 962 }; 963 964 Drupal.CTools.AJAX.commands.attr = function(data) { 965 $(data.selector).attr(data.name, data.value); 966 }; 967 968 Drupal.CTools.AJAX.commands.restripe = function(data) { 969 // :even and :odd are reversed because jquery counts from 0 and 970 // we count from 1, so we're out of sync. 971 $('tbody tr:not(:hidden)', $(data.selector)) 972 .removeClass('even') 973 .removeClass('odd') 974 .filter(':even') 975 .addClass('odd') 976 .end() 977 .filter(':odd') 978 .addClass('even'); 979 }; 980 981 Drupal.CTools.AJAX.commands.redirect = function(data) { 982 if (data.delay > 0) { 983 setTimeout(function () { 984 location.href = data.url; 985 }, data.delay); 986 } 987 else { 988 location.href = data.url; 989 } 990 }; 991 992 Drupal.CTools.AJAX.commands.reload = function(data) { 993 location.reload(); 994 }; 995 996 Drupal.CTools.AJAX.commands.submit = function(data) { 997 $(data.selector).submit(); 998 } 999 1000 1001 /** 1002 * Bind links that will open modals to the appropriate function. 1003 */ 1004 Drupal.behaviors.CToolsAJAX = function(context) { 1005 // Bind links 1006 1007 // Note that doing so in this order means that the two classes can be 1008 // used together safely. 1009 $('a.ctools-use-ajax-cache:not(.ctools-use-ajax-processed)', context) 1010 .addClass('ctools-use-ajax-processed') 1011 .click(Drupal.CTools.AJAX.clickAJAXCacheLink) 1012 .each(function () { 1013 Drupal.CTools.AJAX.warmCache.apply(this); 1014 }); 1015 1016 $('a.ctools-use-ajax:not(.ctools-use-ajax-processed)', context) 1017 .addClass('ctools-use-ajax-processed') 1018 .click(Drupal.CTools.AJAX.clickAJAXLink); 1019 1020 1021 // Bind buttons 1022 $('input.ctools-use-ajax:not(.ctools-use-ajax-processed), button.ctools-use-ajax:not(.ctools-use-ajax-processed)', context) 1023 .addClass('ctools-use-ajax-processed') 1024 .click(Drupal.CTools.AJAX.clickAJAXButton); 1025 1026 // Bind select 1027 $('select, input:text, input:radio, input:checkbox', context) 1028 .filter('.ctools-use-ajax-onchange:not(.ctools-use-ajax-processed)') 1029 .addClass('ctools-use-ajax-processed') 1030 .change(Drupal.CTools.AJAX.changeAJAX); 1031 1032 // Add information about loaded CSS and JS files. 1033 if (Drupal.settings.CToolsAJAX && Drupal.settings.CToolsAJAX.css) { 1034 $.extend(Drupal.CTools.AJAX.css, Drupal.settings.CToolsAJAX.css); 1035 } 1036 if (Drupal.settings.CToolsAJAX && Drupal.settings.CToolsAJAX.scripts) { 1037 $.extend(Drupal.CTools.AJAX.scripts, Drupal.settings.CToolsAJAX.scripts); 1038 } 1039 }; 1040 })(jQuery); 1041 ; 1042 /* 1043 * jQuery UI 1.7.2 1044 * 1045 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about) 1046 * Dual licensed under the MIT (MIT-LICENSE.txt) 1047 * and GPL (GPL-LICENSE.txt) licenses. 1048 * 1049 * http://docs.jquery.com/UI 1050 */ jQuery.ui||(function(c){var i=c.fn.remove,d=c.browser.mozilla&&(parseFloat(c.browser.version)<1.9);c.ui={version:"1.7.2",plugin:{add:function(k,l,n){var m=c.ui[k].prototype;for(var j in n){m.plugins[j]=m.plugins[j]||[];m.plugins[j].push([l,n[j]])}},call:function(j,l,k){var n=j.plugins[l];if(!n||!j.element[0].parentNode){return}for(var m=0;m<n.length;m++){if(j.options[n[m][0]]){n[m][1].apply(j.element,k)}}}},contains:function(k,j){return document.compareDocumentPosition?k.compareDocumentPosition(j)&16:k!==j&&k.contains(j)},hasScroll:function(m,k){if(c(m).css("overflow")=="hidden"){return false}var j=(k&&k=="left")?"scrollLeft":"scrollTop",l=false;if(m[j]>0){return true}m[j]=1;l=(m[j]>0);m[j]=0;return l},isOverAxis:function(k,j,l){return(k>j)&&(k<(j+l))},isOver:function(o,k,n,m,j,l){return c.ui.isOverAxis(o,n,j)&&c.ui.isOverAxis(k,m,l)},keyCode:{BACKSPACE:8,CAPS_LOCK:20,COMMA:188,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38}};if(d){var f=c.attr,e=c.fn.removeAttr,h="http://www.w3.org/2005/07/aaa",a=/^aria-/,b=/^wairole:/;c.attr=function(k,j,l){var m=l!==undefined;return(j=="role"?(m?f.call(this,k,j,"wairole:"+l):(f.apply(this,arguments)||"").replace(b,"")):(a.test(j)?(m?k.setAttributeNS(h,j.replace(a,"aaa:"),l):f.call(this,k,j.replace(a,"aaa:"))):f.apply(this,arguments)))};c.fn.removeAttr=function(j){return(a.test(j)?this.each(function(){this.removeAttributeNS(h,j.replace(a,""))}):e.call(this,j))}}c.fn.extend({remove:function(){c("*",this).add(this).each(function(){c(this).triggerHandler("remove")});return i.apply(this,arguments)},enableSelection:function(){return this.attr("unselectable","off").css("MozUserSelect","").unbind("selectstart.ui")},disableSelection:function(){return this.attr("unselectable","on").css("MozUserSelect","none").bind("selectstart.ui",function(){return false})},scrollParent:function(){var j;if((c.browser.msie&&(/(static|relative)/).test(this.css("position")))||(/absolute/).test(this.css("position"))){j=this.parents().filter(function(){return(/(relative|absolute|fixed)/).test(c.curCSS(this,"position",1))&&(/(auto|scroll)/).test(c.curCSS(this,"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1))}).eq(0)}else{j=this.parents().filter(function(){return(/(auto|scroll)/).test(c.curCSS(this,"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1))}).eq(0)}return(/fixed/).test(this.css("position"))||!j.length?c(document):j}});c.extend(c.expr[":"],{data:function(l,k,j){return !!c.data(l,j[3])},focusable:function(k){var l=k.nodeName.toLowerCase(),j=c.attr(k,"tabindex");return(/input|select|textarea|button|object/.test(l)?!k.disabled:"a"==l||"area"==l?k.href||!isNaN(j):!isNaN(j))&&!c(k)["area"==l?"parents":"closest"](":hidden").length},tabbable:function(k){var j=c.attr(k,"tabindex");return(isNaN(j)||j>=0)&&c(k).is(":focusable")}});function g(m,n,o,l){function k(q){var p=c[m][n][q]||[];return(typeof p=="string"?p.split(/,?\s+/):p)}var j=k("getter");if(l.length==1&&typeof l[0]=="string"){j=j.concat(k("getterSetter"))}return(c.inArray(o,j)!=-1)}c.widget=function(k,j){var l=k.split(".")[0];k=k.split(".")[1];c.fn[k]=function(p){var n=(typeof p=="string"),o=Array.prototype.slice.call(arguments,1);if(n&&p.substring(0,1)=="_"){return this}if(n&&g(l,k,p,o)){var m=c.data(this[0],k);return(m?m[p].apply(m,o):undefined)}return this.each(function(){var q=c.data(this,k);(!q&&!n&&c.data(this,k,new c[l][k](this,p))._init());(q&&n&&c.isFunction(q[p])&&q[p].apply(q,o))})};c[l]=c[l]||{};c[l][k]=function(o,n){var m=this;this.namespace=l;this.widgetName=k;this.widgetEventPrefix=c[l][k].eventPrefix||k;this.widgetBaseClass=l+"-"+k;this.options=c.extend({},c.widget.defaults,c[l][k].defaults,c.metadata&&c.metadata.get(o)[k],n);this.element=c(o).bind("setData."+k,function(q,p,r){if(q.target==o){return m._setData(p,r)}}).bind("getData."+k,function(q,p){if(q.target==o){return m._getData(p)}}).bind("remove",function(){return m.destroy()})};c[l][k].prototype=c.extend({},c.widget.prototype,j);c[l][k].getterSetter="option"};c.widget.prototype={_init:function(){},destroy:function(){this.element.removeData(this.widgetName).removeClass(this.widgetBaseClass+"-disabled "+this.namespace+"-state-disabled").removeAttr("aria-disabled")},option:function(l,m){var k=l,j=this;if(typeof l=="string"){if(m===undefined){return this._getData(l)}k={};k[l]=m}c.each(k,function(n,o){j._setData(n,o)})},_getData:function(j){return this.options[j]},_setData:function(j,k){this.options[j]=k;if(j=="disabled"){this.element[k?"addClass":"removeClass"](this.widgetBaseClass+"-disabled "+this.namespace+"-state-disabled").attr("aria-disabled",k)}},enable:function(){this._setData("disabled",false)},disable:function(){this._setData("disabled",true)},_trigger:function(l,m,n){var p=this.options[l],j=(l==this.widgetEventPrefix?l:this.widgetEventPrefix+l);m=c.Event(m);m.type=j;if(m.originalEvent){for(var k=c.event.props.length,o;k;){o=c.event.props[--k];m[o]=m.originalEvent[o]}}this.element.trigger(m,n);return !(c.isFunction(p)&&p.call(this.element[0],m,n)===false||m.isDefaultPrevented())}};c.widget.defaults={disabled:false};c.ui.mouse={_mouseInit:function(){var j=this;this.element.bind("mousedown."+this.widgetName,function(k){return j._mouseDown(k)}).bind("click."+this.widgetName,function(k){if(j._preventClickEvent){j._preventClickEvent=false;k.stopImmediatePropagation();return false}});if(c.browser.msie){this._mouseUnselectable=this.element.attr("unselectable");this.element.attr("unselectable","on")}this.started=false},_mouseDestroy:function(){this.element.unbind("."+this.widgetName);(c.browser.msie&&this.element.attr("unselectable",this._mouseUnselectable))},_mouseDown:function(l){l.originalEvent=l.originalEvent||{};if(l.originalEvent.mouseHandled){return}(this._mouseStarted&&this._mouseUp(l));this._mouseDownEvent=l;var k=this,m=(l.which==1),j=(typeof this.options.cancel=="string"?c(l.target).parents().add(l.target).filter(this.options.cancel).length:false);if(!m||j||!this._mouseCapture(l)){return true}this.mouseDelayMet=!this.options.delay;if(!this.mouseDelayMet){this._mouseDelayTimer=setTimeout(function(){k.mouseDelayMet=true},this.options.delay)}if(this._mouseDistanceMet(l)&&this._mouseDelayMet(l)){this._mouseStarted=(this._mouseStart(l)!==false);if(!this._mouseStarted){l.preventDefault();return true}}this._mouseMoveDelegate=function(n){return k._mouseMove(n)};this._mouseUpDelegate=function(n){return k._mouseUp(n)};c(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate);(c.browser.safari||l.preventDefault());l.originalEvent.mouseHandled=true;return true},_mouseMove:function(j){if(c.browser.msie&&!j.button){return this._mouseUp(j)}if(this._mouseStarted){this._mouseDrag(j);return j.preventDefault()}if(this._mouseDistanceMet(j)&&this._mouseDelayMet(j)){this._mouseStarted=(this._mouseStart(this._mouseDownEvent,j)!==false);(this._mouseStarted?this._mouseDrag(j):this._mouseUp(j))}return !this._mouseStarted},_mouseUp:function(j){c(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate);if(this._mouseStarted){this._mouseStarted=false;this._preventClickEvent=(j.target==this._mouseDownEvent.target);this._mouseStop(j)}return false},_mouseDistanceMet:function(j){return(Math.max(Math.abs(this._mouseDownEvent.pageX-j.pageX),Math.abs(this._mouseDownEvent.pageY-j.pageY))>=this.options.distance)},_mouseDelayMet:function(j){return this.mouseDelayMet},_mouseStart:function(j){},_mouseDrag:function(j){},_mouseStop:function(j){},_mouseCapture:function(j){return true}};c.ui.mouse.defaults={cancel:null,distance:1,delay:0}})(jQuery);; 1051 /* 1052 * jQuery UI Resizable 1.7.2 1053 * 1054 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about) 1055 * Dual licensed under the MIT (MIT-LICENSE.txt) 1056 * and GPL (GPL-LICENSE.txt) licenses. 1057 * 1058 * http://docs.jquery.com/UI/Resizables 1059 * 1060 * Depends: 1061 * ui.core.js 1062 */ (function(c){c.widget("ui.resizable",c.extend({},c.ui.mouse,{_init:function(){var e=this,j=this.options;this.element.addClass("ui-resizable");c.extend(this,{_aspectRatio:!!(j.aspectRatio),aspectRatio:j.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:j.helper||j.ghost||j.animate?j.helper||"ui-resizable-helper":null});if(this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i)){if(/relative/.test(this.element.css("position"))&&c.browser.opera){this.element.css({position:"relative",top:"auto",left:"auto"})}this.element.wrap(c('<div class="ui-wrapper" style="overflow: hidden;"></div>').css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")}));this.element=this.element.parent().data("resizable",this.element.data("resizable"));this.elementIsWrapper=true;this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")});this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0});this.originalResizeStyle=this.originalElement.css("resize");this.originalElement.css("resize","none");this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"}));this.originalElement.css({margin:this.originalElement.css("margin")});this._proportionallyResize()}this.handles=j.handles||(!c(".ui-resizable-handle",this.element).length?"e,s,se":{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"});if(this.handles.constructor==String){if(this.handles=="all"){this.handles="n,e,s,w,se,sw,ne,nw"}var k=this.handles.split(",");this.handles={};for(var f=0;f<k.length;f++){var h=c.trim(k[f]),d="ui-resizable-"+h;var g=c('<div class="ui-resizable-handle '+d+'"></div>');if(/sw|se|ne|nw/.test(h)){g.css({zIndex:++j.zIndex})}if("se"==h){g.addClass("ui-icon ui-icon-gripsmall-diagonal-se")}this.handles[h]=".ui-resizable-"+h;this.element.append(g)}}this._renderAxis=function(p){p=p||this.element;for(var m in this.handles){if(this.handles[m].constructor==String){this.handles[m]=c(this.handles[m],this.element).show()}if(this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)){var n=c(this.handles[m],this.element),o=0;o=/sw|ne|nw|se|n|s/.test(m)?n.outerHeight():n.outerWidth();var l=["padding",/ne|nw|n/.test(m)?"Top":/se|sw|s/.test(m)?"Bottom":/^e$/.test(m)?"Right":"Left"].join("");p.css(l,o);this._proportionallyResize()}if(!c(this.handles[m]).length){continue}}};this._renderAxis(this.element);this._handles=c(".ui-resizable-handle",this.element).disableSelection();this._handles.mouseover(function(){if(!e.resizing){if(this.className){var i=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)}e.axis=i&&i[1]?i[1]:"se"}});if(j.autoHide){this._handles.hide();c(this.element).addClass("ui-resizable-autohide").hover(function(){c(this).removeClass("ui-resizable-autohide");e._handles.show()},function(){if(!e.resizing){c(this).addClass("ui-resizable-autohide");e._handles.hide()}})}this._mouseInit()},destroy:function(){this._mouseDestroy();var d=function(f){c(f).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};if(this.elementIsWrapper){d(this.element);var e=this.element;e.parent().append(this.originalElement.css({position:e.css("position"),width:e.outerWidth(),height:e.outerHeight(),top:e.css("top"),left:e.css("left")})).end().remove()}this.originalElement.css("resize",this.originalResizeStyle);d(this.originalElement)},_mouseCapture:function(e){var f=false;for(var d in this.handles){if(c(this.handles[d])[0]==e.target){f=true}}return this.options.disabled||!!f},_mouseStart:function(f){var i=this.options,e=this.element.position(),d=this.element;this.resizing=true;this.documentScroll={top:c(document).scrollTop(),left:c(document).scrollLeft()};if(d.is(".ui-draggable")||(/absolute/).test(d.css("position"))){d.css({position:"absolute",top:e.top,left:e.left})}if(c.browser.opera&&(/relative/).test(d.css("position"))){d.css({position:"relative",top:"auto",left:"auto"})}this._renderProxy();var j=b(this.helper.css("left")),g=b(this.helper.css("top"));if(i.containment){j+=c(i.containment).scrollLeft()||0;g+=c(i.containment).scrollTop()||0}this.offset=this.helper.offset();this.position={left:j,top:g};this.size=this._helper?{width:d.outerWidth(),height:d.outerHeight()}:{width:d.width(),height:d.height()};this.originalSize=this._helper?{width:d.outerWidth(),height:d.outerHeight()}:{width:d.width(),height:d.height()};this.originalPosition={left:j,top:g};this.sizeDiff={width:d.outerWidth()-d.width(),height:d.outerHeight()-d.height()};this.originalMousePosition={left:f.pageX,top:f.pageY};this.aspectRatio=(typeof i.aspectRatio=="number")?i.aspectRatio:((this.originalSize.width/this.originalSize.height)||1);var h=c(".ui-resizable-"+this.axis).css("cursor");c("body").css("cursor",h=="auto"?this.axis+"-resize":h);d.addClass("ui-resizable-resizing");this._propagate("start",f);return true},_mouseDrag:function(d){var g=this.helper,f=this.options,l={},p=this,i=this.originalMousePosition,m=this.axis;var q=(d.pageX-i.left)||0,n=(d.pageY-i.top)||0;var h=this._change[m];if(!h){return false}var k=h.apply(this,[d,q,n]),j=c.browser.msie&&c.browser.version<7,e=this.sizeDiff;if(this._aspectRatio||d.shiftKey){k=this._updateRatio(k,d)}k=this._respectSize(k,d);this._propagate("resize",d);g.css({top:this.position.top+"px",left:this.position.left+"px",width:this.size.width+"px",height:this.size.height+"px"});if(!this._helper&&this._proportionallyResizeElements.length){this._proportionallyResize()}this._updateCache(k);this._trigger("resize",d,this.ui());return false},_mouseStop:function(g){this.resizing=false;var h=this.options,l=this;if(this._helper){var f=this._proportionallyResizeElements,d=f.length&&(/textarea/i).test(f[0].nodeName),e=d&&c.ui.hasScroll(f[0],"left")?0:l.sizeDiff.height,j=d?0:l.sizeDiff.width;var m={width:(l.size.width-j),height:(l.size.height-e)},i=(parseInt(l.element.css("left"),10)+(l.position.left-l.originalPosition.left))||null,k=(parseInt(l.element.css("top"),10)+(l.position.top-l.originalPosition.top))||null;if(!h.animate){this.element.css(c.extend(m,{top:k,left:i}))}l.helper.height(l.size.height);l.helper.width(l.size.width);if(this._helper&&!h.animate){this._proportionallyResize()}}c("body").css("cursor","auto");this.element.removeClass("ui-resizable-resizing");this._propagate("stop",g);if(this._helper){this.helper.remove()}return false},_updateCache:function(d){var e=this.options;this.offset=this.helper.offset();if(a(d.left)){this.position.left=d.left}if(a(d.top)){this.position.top=d.top}if(a(d.height)){this.size.height=d.height}if(a(d.width)){this.size.width=d.width}},_updateRatio:function(g,f){var h=this.options,i=this.position,e=this.size,d=this.axis;if(g.height){g.width=(e.height*this.aspectRatio)}else{if(g.width){g.height=(e.width/this.aspectRatio)}}if(d=="sw"){g.left=i.left+(e.width-g.width);g.top=null}if(d=="nw"){g.top=i.top+(e.height-g.height);g.left=i.left+(e.width-g.width)}return g},_respectSize:function(k,f){var i=this.helper,h=this.options,q=this._aspectRatio||f.shiftKey,p=this.axis,s=a(k.width)&&h.maxWidth&&(h.maxWidth<k.width),l=a(k.height)&&h.maxHeight&&(h.maxHeight<k.height),g=a(k.width)&&h.minWidth&&(h.minWidth>k.width),r=a(k.height)&&h.minHeight&&(h.minHeight>k.height);if(g){k.width=h.minWidth}if(r){k.height=h.minHeight}if(s){k.width=h.maxWidth}if(l){k.height=h.maxHeight}var e=this.originalPosition.left+this.originalSize.width,n=this.position.top+this.size.height;var j=/sw|nw|w/.test(p),d=/nw|ne|n/.test(p);if(g&&j){k.left=e-h.minWidth}if(s&&j){k.left=e-h.maxWidth}if(r&&d){k.top=n-h.minHeight}if(l&&d){k.top=n-h.maxHeight}var m=!k.width&&!k.height;if(m&&!k.left&&k.top){k.top=null}else{if(m&&!k.top&&k.left){k.left=null}}return k},_proportionallyResize:function(){var j=this.options;if(!this._proportionallyResizeElements.length){return}var f=this.helper||this.element;for(var e=0;e<this._proportionallyResizeElements.length;e++){var g=this._proportionallyResizeElements[e];if(!this.borderDif){var d=[g.css("borderTopWidth"),g.css("borderRightWidth"),g.css("borderBottomWidth"),g.css("borderLeftWidth")],h=[g.css("paddingTop"),g.css("paddingRight"),g.css("paddingBottom"),g.css("paddingLeft")];this.borderDif=c.map(d,function(k,m){var l=parseInt(k,10)||0,n=parseInt(h[m],10)||0;return l+n})}if(c.browser.msie&&!(!(c(f).is(":hidden")||c(f).parents(":hidden").length))){continue}g.css({height:(f.height()-this.borderDif[0]-this.borderDif[2])||0,width:(f.width()-this.borderDif[1]-this.borderDif[3])||0})}},_renderProxy:function(){var e=this.element,h=this.options;this.elementOffset=e.offset();if(this._helper){this.helper=this.helper||c('<div style="overflow:hidden;"></div>');var d=c.browser.msie&&c.browser.version<7,f=(d?1:0),g=(d?2:-1);this.helper.addClass(this._helper).css({width:this.element.outerWidth()+g,height:this.element.outerHeight()+g,position:"absolute",left:this.elementOffset.left-f+"px",top:this.elementOffset.top-f+"px",zIndex:++h.zIndex});this.helper.appendTo("body").disableSelection()}else{this.helper=this.element}},_change:{e:function(f,e,d){return{width:this.originalSize.width+e}},w:function(g,e,d){var i=this.options,f=this.originalSize,h=this.originalPosition;return{left:h.left+e,width:f.width-e}},n:function(g,e,d){var i=this.options,f=this.originalSize,h=this.originalPosition;return{top:h.top+d,height:f.height-d}},s:function(f,e,d){return{height:this.originalSize.height+d}},se:function(f,e,d){return c.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[f,e,d]))},sw:function(f,e,d){return c.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[f,e,d]))},ne:function(f,e,d){return c.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[f,e,d]))},nw:function(f,e,d){return c.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[f,e,d]))}},_propagate:function(e,d){c.ui.plugin.call(this,e,[d,this.ui()]);(e!="resize"&&this._trigger(e,d,this.ui()))},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}));c.extend(c.ui.resizable,{version:"1.7.2",eventPrefix:"resize",defaults:{alsoResize:false,animate:false,animateDuration:"slow",animateEasing:"swing",aspectRatio:false,autoHide:false,cancel:":input,option",containment:false,delay:0,distance:1,ghost:false,grid:false,handles:"e,s,se",helper:false,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:1000}});c.ui.plugin.add("resizable","alsoResize",{start:function(e,f){var d=c(this).data("resizable"),g=d.options;_store=function(h){c(h).each(function(){c(this).data("resizable-alsoresize",{width:parseInt(c(this).width(),10),height:parseInt(c(this).height(),10),left:parseInt(c(this).css("left"),10),top:parseInt(c(this).css("top"),10)})})};if(typeof(g.alsoResize)=="object"&&!g.alsoResize.parentNode){if(g.alsoResize.length){g.alsoResize=g.alsoResize[0];_store(g.alsoResize)}else{c.each(g.alsoResize,function(h,i){_store(h)})}}else{_store(g.alsoResize)}},resize:function(f,h){var e=c(this).data("resizable"),i=e.options,g=e.originalSize,k=e.originalPosition;var j={height:(e.size.height-g.height)||0,width:(e.size.width-g.width)||0,top:(e.position.top-k.top)||0,left:(e.position.left-k.left)||0},d=function(l,m){c(l).each(function(){var p=c(this),q=c(this).data("resizable-alsoresize"),o={},n=m&&m.length?m:["width","height","top","left"];c.each(n||["width","height","top","left"],function(r,t){var s=(q[t]||0)+(j[t]||0);if(s&&s>=0){o[t]=s||null}});if(/relative/.test(p.css("position"))&&c.browser.opera){e._revertToRelativePosition=true;p.css({position:"absolute",top:"auto",left:"auto"})}p.css(o)})};if(typeof(i.alsoResize)=="object"&&!i.alsoResize.nodeType){c.each(i.alsoResize,function(l,m){d(l,m)})}else{d(i.alsoResize)}},stop:function(e,f){var d=c(this).data("resizable");if(d._revertToRelativePosition&&c.browser.opera){d._revertToRelativePosition=false;el.css({position:"relative"})}c(this).removeData("resizable-alsoresize-start")}});c.ui.plugin.add("resizable","animate",{stop:function(h,m){var n=c(this).data("resizable"),i=n.options;var g=n._proportionallyResizeElements,d=g.length&&(/textarea/i).test(g[0].nodeName),e=d&&c.ui.hasScroll(g[0],"left")?0:n.sizeDiff.height,k=d?0:n.sizeDiff.width;var f={width:(n.size.width-k),height:(n.size.height-e)},j=(parseInt(n.element.css("left"),10)+(n.position.left-n.originalPosition.left))||null,l=(parseInt(n.element.css("top"),10)+(n.position.top-n.originalPosition.top))||null;n.element.animate(c.extend(f,l&&j?{top:l,left:j}:{}),{duration:i.animateDuration,easing:i.animateEasing,step:function(){var o={width:parseInt(n.element.css("width"),10),height:parseInt(n.element.css("height"),10),top:parseInt(n.element.css("top"),10),left:parseInt(n.element.css("left"),10)};if(g&&g.length){c(g[0]).css({width:o.width,height:o.height})}n._updateCache(o);n._propagate("resize",h)}})}});c.ui.plugin.add("resizable","containment",{start:function(e,q){var s=c(this).data("resizable"),i=s.options,k=s.element;var f=i.containment,j=(f instanceof c)?f.get(0):(/parent/.test(f))?k.parent().get(0):f;if(!j){return}s.containerElement=c(j);if(/document/.test(f)||f==document){s.containerOffset={left:0,top:0};s.containerPosition={left:0,top:0};s.parentData={element:c(document),left:0,top:0,width:c(document).width(),height:c(document).height()||document.body.parentNode.scrollHeight}}else{var m=c(j),h=[];c(["Top","Right","Left","Bottom"]).each(function(p,o){h[p]=b(m.css("padding"+o))});s.containerOffset=m.offset();s.containerPosition=m.position();s.containerSize={height:(m.innerHeight()-h[3]),width:(m.innerWidth()-h[1])};var n=s.containerOffset,d=s.containerSize.height,l=s.containerSize.width,g=(c.ui.hasScroll(j,"left")?j.scrollWidth:l),r=(c.ui.hasScroll(j)?j.scrollHeight:d);s.parentData={element:j,left:n.left,top:n.top,width:g,height:r}}},resize:function(f,p){var s=c(this).data("resizable"),h=s.options,e=s.containerSize,n=s.containerOffset,l=s.size,m=s.position,q=s._aspectRatio||f.shiftKey,d={top:0,left:0},g=s.containerElement;if(g[0]!=document&&(/static/).test(g.css("position"))){d=n}if(m.left<(s._helper?n.left:0)){s.size.width=s.size.width+(s._helper?(s.position.left-n.left):(s.position.left-d.left));if(q){s.size.height=s.size.width/h.aspectRatio}s.position.left=h.helper?n.left:0}if(m.top<(s._helper?n.top:0)){s.size.height=s.size.height+(s._helper?(s.position.top-n.top):s.position.top);if(q){s.size.width=s.size.height*h.aspectRatio}s.position.top=s._helper?n.top:0}s.offset.left=s.parentData.left+s.position.left;s.offset.top=s.parentData.top+s.position.top;var k=Math.abs((s._helper?s.offset.left-d.left:(s.offset.left-d.left))+s.sizeDiff.width),r=Math.abs((s._helper?s.offset.top-d.top:(s.offset.top-n.top))+s.sizeDiff.height);var j=s.containerElement.get(0)==s.element.parent().get(0),i=/relative|absolute/.test(s.containerElement.css("position"));if(j&&i){k-=s.parentData.left}if(k+s.size.width>=s.parentData.width){s.size.width=s.parentData.width-k;if(q){s.size.height=s.size.width/s.aspectRatio}}if(r+s.size.height>=s.parentData.height){s.size.height=s.parentData.height-r;if(q){s.size.width=s.size.height*s.aspectRatio}}},stop:function(e,m){var p=c(this).data("resizable"),f=p.options,k=p.position,l=p.containerOffset,d=p.containerPosition,g=p.containerElement;var i=c(p.helper),q=i.offset(),n=i.outerWidth()-p.sizeDiff.width,j=i.outerHeight()-p.sizeDiff.height;if(p._helper&&!f.animate&&(/relative/).test(g.css("position"))){c(this).css({left:q.left-d.left-l.left,width:n,height:j})}if(p._helper&&!f.animate&&(/static/).test(g.css("position"))){c(this).css({left:q.left-d.left-l.left,width:n,height:j})}}});c.ui.plugin.add("resizable","ghost",{start:function(f,g){var d=c(this).data("resizable"),h=d.options,e=d.size;d.ghost=d.originalElement.clone();d.ghost.css({opacity:0.25,display:"block",position:"relative",height:e.height,width:e.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass(typeof h.ghost=="string"?h.ghost:"");d.ghost.appendTo(d.helper)},resize:function(e,f){var d=c(this).data("resizable"),g=d.options;if(d.ghost){d.ghost.css({position:"relative",height:d.size.height,width:d.size.width})}},stop:function(e,f){var d=c(this).data("resizable"),g=d.options;if(d.ghost&&d.helper){d.helper.get(0).removeChild(d.ghost.get(0))}}});c.ui.plugin.add("resizable","grid",{resize:function(d,l){var n=c(this).data("resizable"),g=n.options,j=n.size,h=n.originalSize,i=n.originalPosition,m=n.axis,k=g._aspectRatio||d.shiftKey;g.grid=typeof g.grid=="number"?[g.grid,g.grid]:g.grid;var f=Math.round((j.width-h.width)/(g.grid[0]||1))*(g.grid[0]||1),e=Math.round((j.height-h.height)/(g.grid[1]||1))*(g.grid[1]||1);if(/^(se|s|e)$/.test(m)){n.size.width=h.width+f;n.size.height=h.height+e}else{if(/^(ne)$/.test(m)){n.size.width=h.width+f;n.size.height=h.height+e;n.position.top=i.top-e}else{if(/^(sw)$/.test(m)){n.size.width=h.width+f;n.size.height=h.height+e;n.position.left=i.left-f}else{n.size.width=h.width+f;n.size.height=h.height+e;n.position.top=i.top-e;n.position.left=i.left-f}}}}});var b=function(d){return parseInt(d,10)||0};var a=function(d){return !isNaN(parseInt(d,10))}})(jQuery);; 1063 /* 1064 * jQuery UI Draggable 1.7.2 1065 * 1066 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about) 1067 * Dual licensed under the MIT (MIT-LICENSE.txt) 1068 * and GPL (GPL-LICENSE.txt) licenses. 1069 * 1070 * http://docs.jquery.com/UI/Draggables 1071 * 1072 * Depends: 1073 * ui.core.js 1074 */ (function(a){a.widget("ui.draggable",a.extend({},a.ui.mouse,{_init:function(){if(this.options.helper=="original"&&!(/^(?:r|a|f)/).test(this.element.css("position"))){this.element[0].style.position="relative"}(this.options.addClasses&&this.element.addClass("ui-draggable"));(this.options.disabled&&this.element.addClass("ui-draggable-disabled"));this._mouseInit()},destroy:function(){if(!this.element.data("draggable")){return}this.element.removeData("draggable").unbind(".draggable").removeClass("ui-draggable ui-draggable-dragging ui-draggable-disabled");this._mouseDestroy()},_mouseCapture:function(b){var c=this.options;if(this.helper||c.disabled||a(b.target).is(".ui-resizable-handle")){return false}this.handle=this._getHandle(b);if(!this.handle){return false}return true},_mouseStart:function(b){var c=this.options;this.helper=this._createHelper(b);this._cacheHelperProportions();if(a.ui.ddmanager){a.ui.ddmanager.current=this}this._cacheMargins();this.cssPosition=this.helper.css("position");this.scrollParent=this.helper.scrollParent();this.offset=this.element.offset();this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left};a.extend(this.offset,{click:{left:b.pageX-this.offset.left,top:b.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()});this.originalPosition=this._generatePosition(b);this.originalPageX=b.pageX;this.originalPageY=b.pageY;if(c.cursorAt){this._adjustOffsetFromHelper(c.cursorAt)}if(c.containment){this._setContainment()}this._trigger("start",b);this._cacheHelperProportions();if(a.ui.ddmanager&&!c.dropBehaviour){a.ui.ddmanager.prepareOffsets(this,b)}this.helper.addClass("ui-draggable-dragging");this._mouseDrag(b,true);return true},_mouseDrag:function(b,d){this.position=this._generatePosition(b);this.positionAbs=this._convertPositionTo("absolute");if(!d){var c=this._uiHash();this._trigger("drag",b,c);this.position=c.position}if(!this.options.axis||this.options.axis!="y"){this.helper[0].style.left=this.position.left+"px"}if(!this.options.axis||this.options.axis!="x"){this.helper[0].style.top=this.position.top+"px"}if(a.ui.ddmanager){a.ui.ddmanager.drag(this,b)}return false},_mouseStop:function(c){var d=false;if(a.ui.ddmanager&&!this.options.dropBehaviour){d=a.ui.ddmanager.drop(this,c)}if(this.dropped){d=this.dropped;this.dropped=false}if((this.options.revert=="invalid"&&!d)||(this.options.revert=="valid"&&d)||this.options.revert===true||(a.isFunction(this.options.revert)&&this.options.revert.call(this.element,d))){var b=this;a(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),function(){b._trigger("stop",c);b._clear()})}else{this._trigger("stop",c);this._clear()}return false},_getHandle:function(b){var c=!this.options.handle||!a(this.options.handle,this.element).length?true:false;a(this.options.handle,this.element).find("*").andSelf().each(function(){if(this==b.target){c=true}});return c},_createHelper:function(c){var d=this.options;var b=a.isFunction(d.helper)?a(d.helper.apply(this.element[0],[c])):(d.helper=="clone"?this.element.clone():this.element);if(!b.parents("body").length){b.appendTo((d.appendTo=="parent"?this.element[0].parentNode:d.appendTo))}if(b[0]!=this.element[0]&&!(/(fixed|absolute)/).test(b.css("position"))){b.css("position","absolute")}return b},_adjustOffsetFromHelper:function(b){if(b.left!=undefined){this.offset.click.left=b.left+this.margins.left}if(b.right!=undefined){this.offset.click.left=this.helperProportions.width-b.right+this.margins.left}if(b.top!=undefined){this.offset.click.top=b.top+this.margins.top}if(b.bottom!=undefined){this.offset.click.top=this.helperProportions.height-b.bottom+this.margins.top}},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var b=this.offsetParent.offset();if(this.cssPosition=="absolute"&&this.scrollParent[0]!=document&&a.ui.contains(this.scrollParent[0],this.offsetParent[0])){b.left+=this.scrollParent.scrollLeft();b.top+=this.scrollParent.scrollTop()}if((this.offsetParent[0]==document.body)||(this.offsetParent[0].tagName&&this.offsetParent[0].tagName.toLowerCase()=="html"&&a.browser.msie)){b={top:0,left:0}}return{top:b.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:b.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if(this.cssPosition=="relative"){var b=this.element.position();return{top:b.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:b.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}else{return{top:0,left:0}}},_cacheMargins:function(){this.margins={left:(parseInt(this.element.css("marginLeft"),10)||0),top:(parseInt(this.element.css("marginTop"),10)||0)}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var e=this.options;if(e.containment=="parent"){e.containment=this.helper[0].parentNode}if(e.containment=="document"||e.containment=="window"){this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,a(e.containment=="document"?document:window).width()-this.helperProportions.width-this.margins.left,(a(e.containment=="document"?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]}if(!(/^(document|window|parent)$/).test(e.containment)&&e.containment.constructor!=Array){var c=a(e.containment)[0];if(!c){return}var d=a(e.containment).offset();var b=(a(c).css("overflow")!="hidden");this.containment=[d.left+(parseInt(a(c).css("borderLeftWidth"),10)||0)+(parseInt(a(c).css("paddingLeft"),10)||0)-this.margins.left,d.top+(parseInt(a(c).css("borderTopWidth"),10)||0)+(parseInt(a(c).css("paddingTop"),10)||0)-this.margins.top,d.left+(b?Math.max(c.scrollWidth,c.offsetWidth):c.offsetWidth)-(parseInt(a(c).css("borderLeftWidth"),10)||0)-(parseInt(a(c).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left,d.top+(b?Math.max(c.scrollHeight,c.offsetHeight):c.offsetHeight)-(parseInt(a(c).css("borderTopWidth"),10)||0)-(parseInt(a(c).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top]}else{if(e.containment.constructor==Array){this.containment=e.containment}}},_convertPositionTo:function(f,h){if(!h){h=this.position}var c=f=="absolute"?1:-1;var e=this.options,b=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&a.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,g=(/(html|body)/i).test(b[0].tagName);return{top:(h.top+this.offset.relative.top*c+this.offset.parent.top*c-(a.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():(g?0:b.scrollTop()))*c)),left:(h.left+this.offset.relative.left*c+this.offset.parent.left*c-(a.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():g?0:b.scrollLeft())*c))}},_generatePosition:function(e){var h=this.options,b=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&a.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,i=(/(html|body)/i).test(b[0].tagName);if(this.cssPosition=="relative"&&!(this.scrollParent[0]!=document&&this.scrollParent[0]!=this.offsetParent[0])){this.offset.relative=this._getRelativeOffset()}var d=e.pageX;var c=e.pageY;if(this.originalPosition){if(this.containment){if(e.pageX-this.offset.click.left<this.containment[0]){d=this.containment[0]+this.offset.click.left}if(e.pageY-this.offset.click.top<this.containment[1]){c=this.containment[1]+this.offset.click.top}if(e.pageX-this.offset.click.left>this.containment[2]){d=this.containment[2]+this.offset.click.left}if(e.pageY-this.offset.click.top>this.containment[3]){c=this.containment[3]+this.offset.click.top}}if(h.grid){var g=this.originalPageY+Math.round((c-this.originalPageY)/h.grid[1])*h.grid[1];c=this.containment?(!(g-this.offset.click.top<this.containment[1]||g-this.offset.click.top>this.containment[3])?g:(!(g-this.offset.click.top<this.containment[1])?g-h.grid[1]:g+h.grid[1])):g;var f=this.originalPageX+Math.round((d-this.originalPageX)/h.grid[0])*h.grid[0];d=this.containment?(!(f-this.offset.click.left<this.containment[0]||f-this.offset.click.left>this.containment[2])?f:(!(f-this.offset.click.left<this.containment[0])?f-h.grid[0]:f+h.grid[0])):f}}return{top:(c-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+(a.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():(i?0:b.scrollTop())))),left:(d-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+(a.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():i?0:b.scrollLeft())))}},_clear:function(){this.helper.removeClass("ui-draggable-dragging");if(this.helper[0]!=this.element[0]&&!this.cancelHelperRemoval){this.helper.remove()}this.helper=null;this.cancelHelperRemoval=false},_trigger:function(b,c,d){d=d||this._uiHash();a.ui.plugin.call(this,b,[c,d]);if(b=="drag"){this.positionAbs=this._convertPositionTo("absolute")}return a.widget.prototype._trigger.call(this,b,c,d)},plugins:{},_uiHash:function(b){return{helper:this.helper,position:this.position,absolutePosition:this.positionAbs,offset:this.positionAbs}}}));a.extend(a.ui.draggable,{version:"1.7.2",eventPrefix:"drag",defaults:{addClasses:true,appendTo:"parent",axis:false,cancel:":input,option",connectToSortable:false,containment:false,cursor:"auto",cursorAt:false,delay:0,distance:1,grid:false,handle:false,helper:"original",iframeFix:false,opacity:false,refreshPositions:false,revert:false,revertDuration:500,scope:"default",scroll:true,scrollSensitivity:20,scrollSpeed:20,snap:false,snapMode:"both",snapTolerance:20,stack:false,zIndex:false}});a.ui.plugin.add("draggable","connectToSortable",{start:function(c,e){var d=a(this).data("draggable"),f=d.options,b=a.extend({},e,{item:d.element});d.sortables=[];a(f.connectToSortable).each(function(){var g=a.data(this,"sortable");if(g&&!g.options.disabled){d.sortables.push({instance:g,shouldRevert:g.options.revert});g._refreshItems();g._trigger("activate",c,b)}})},stop:function(c,e){var d=a(this).data("draggable"),b=a.extend({},e,{item:d.element});a.each(d.sortables,function(){if(this.instance.isOver){this.instance.isOver=0;d.cancelHelperRemoval=true;this.instance.cancelHelperRemoval=false;if(this.shouldRevert){this.instance.options.revert=true}this.instance._mouseStop(c);this.instance.options.helper=this.instance.options._helper;if(d.options.helper=="original"){this.instance.currentItem.css({top:"auto",left:"auto"})}}else{this.instance.cancelHelperRemoval=false;this.instance._trigger("deactivate",c,b)}})},drag:function(c,f){var e=a(this).data("draggable"),b=this;var d=function(i){var n=this.offset.click.top,m=this.offset.click.left;var g=this.positionAbs.top,k=this.positionAbs.left;var j=i.height,l=i.width;var p=i.top,h=i.left;return a.ui.isOver(g+n,k+m,p,h,j,l)};a.each(e.sortables,function(g){this.instance.positionAbs=e.positionAbs;this.instance.helperProportions=e.helperProportions;this.instance.offset.click=e.offset.click;if(this.instance._intersectsWith(this.instance.containerCache)){if(!this.instance.isOver){this.instance.isOver=1;this.instance.currentItem=a(b).clone().appendTo(this.instance.element).data("sortable-item",true);this.instance.options._helper=this.instance.options.helper;this.instance.options.helper=function(){return f.helper[0]};c.target=this.instance.currentItem[0];this.instance._mouseCapture(c,true);this.instance._mouseStart(c,true,true);this.instance.offset.click.top=e.offset.click.top;this.instance.offset.click.left=e.offset.click.left;this.instance.offset.parent.left-=e.offset.parent.left-this.instance.offset.parent.left;this.instance.offset.parent.top-=e.offset.parent.top-this.instance.offset.parent.top;e._trigger("toSortable",c);e.dropped=this.instance.element;e.currentItem=e.element;this.instance.fromOutside=e}if(this.instance.currentItem){this.instance._mouseDrag(c)}}else{if(this.instance.isOver){this.instance.isOver=0;this.instance.cancelHelperRemoval=true;this.instance.options.revert=false;this.instance._trigger("out",c,this.instance._uiHash(this.instance));this.instance._mouseStop(c,true);this.instance.options.helper=this.instance.options._helper;this.instance.currentItem.remove();if(this.instance.placeholder){this.instance.placeholder.remove()}e._trigger("fromSortable",c);e.dropped=false}}})}});a.ui.plugin.add("draggable","cursor",{start:function(c,d){var b=a("body"),e=a(this).data("draggable").options;if(b.css("cursor")){e._cursor=b.css("cursor")}b.css("cursor",e.cursor)},stop:function(b,c){var d=a(this).data("draggable").options;if(d._cursor){a("body").css("cursor",d._cursor)}}});a.ui.plugin.add("draggable","iframeFix",{start:function(b,c){var d=a(this).data("draggable").options;a(d.iframeFix===true?"iframe":d.iframeFix).each(function(){a('<div class="ui-draggable-iframeFix" style="background: #fff;"></div>').css({width:this.offsetWidth+"px",height:this.offsetHeight+"px",position:"absolute",opacity:"0.001",zIndex:1000}).css(a(this).offset()).appendTo("body")})},stop:function(b,c){a("div.ui-draggable-iframeFix").each(function(){this.parentNode.removeChild(this)})}});a.ui.plugin.add("draggable","opacity",{start:function(c,d){var b=a(d.helper),e=a(this).data("draggable").options;if(b.css("opacity")){e._opacity=b.css("opacity")}b.css("opacity",e.opacity)},stop:function(b,c){var d=a(this).data("draggable").options;if(d._opacity){a(c.helper).css("opacity",d._opacity)}}});a.ui.plugin.add("draggable","scroll",{start:function(c,d){var b=a(this).data("draggable");if(b.scrollParent[0]!=document&&b.scrollParent[0].tagName!="HTML"){b.overflowOffset=b.scrollParent.offset()}},drag:function(d,e){var c=a(this).data("draggable"),f=c.options,b=false;if(c.scrollParent[0]!=document&&c.scrollParent[0].tagName!="HTML"){if(!f.axis||f.axis!="x"){if((c.overflowOffset.top+c.scrollParent[0].offsetHeight)-d.pageY<f.scrollSensitivity){c.scrollParent[0].scrollTop=b=c.scrollParent[0].scrollTop+f.scrollSpeed}else{if(d.pageY-c.overflowOffset.top<f.scrollSensitivity){c.scrollParent[0].scrollTop=b=c.scrollParent[0].scrollTop-f.scrollSpeed}}}if(!f.axis||f.axis!="y"){if((c.overflowOffset.left+c.scrollParent[0].offsetWidth)-d.pageX<f.scrollSensitivity){c.scrollParent[0].scrollLeft=b=c.scrollParent[0].scrollLeft+f.scrollSpeed}else{if(d.pageX-c.overflowOffset.left<f.scrollSensitivity){c.scrollParent[0].scrollLeft=b=c.scrollParent[0].scrollLeft-f.scrollSpeed}}}}else{if(!f.axis||f.axis!="x"){if(d.pageY-a(document).scrollTop()<f.scrollSensitivity){b=a(document).scrollTop(a(document).scrollTop()-f.scrollSpeed)}else{if(a(window).height()-(d.pageY-a(document).scrollTop())<f.scrollSensitivity){b=a(document).scrollTop(a(document).scrollTop()+f.scrollSpeed)}}}if(!f.axis||f.axis!="y"){if(d.pageX-a(document).scrollLeft()<f.scrollSensitivity){b=a(document).scrollLeft(a(document).scrollLeft()-f.scrollSpeed)}else{if(a(window).width()-(d.pageX-a(document).scrollLeft())<f.scrollSensitivity){b=a(document).scrollLeft(a(document).scrollLeft()+f.scrollSpeed)}}}}if(b!==false&&a.ui.ddmanager&&!f.dropBehaviour){a.ui.ddmanager.prepareOffsets(c,d)}}});a.ui.plugin.add("draggable","snap",{start:function(c,d){var b=a(this).data("draggable"),e=b.options;b.snapElements=[];a(e.snap.constructor!=String?(e.snap.items||":data(draggable)"):e.snap).each(function(){var g=a(this);var f=g.offset();if(this!=b.element[0]){b.snapElements.push({item:this,width:g.outerWidth(),height:g.outerHeight(),top:f.top,left:f.left})}})},drag:function(u,p){var g=a(this).data("draggable"),q=g.options;var y=q.snapTolerance;var x=p.offset.left,w=x+g.helperProportions.width,f=p.offset.top,e=f+g.helperProportions.height;for(var v=g.snapElements.length-1;v>=0;v--){var s=g.snapElements[v].left,n=s+g.snapElements[v].width,m=g.snapElements[v].top,A=m+g.snapElements[v].height;if(!((s-y<x&&x<n+y&&m-y<f&&f<A+y)||(s-y<x&&x<n+y&&m-y<e&&e<A+y)||(s-y<w&&w<n+y&&m-y<f&&f<A+y)||(s-y<w&&w<n+y&&m-y<e&&e<A+y))){if(g.snapElements[v].snapping){(g.options.snap.release&&g.options.snap.release.call(g.element,u,a.extend(g._uiHash(),{snapItem:g.snapElements[v].item})))}g.snapElements[v].snapping=false;continue}if(q.snapMode!="inner"){var c=Math.abs(m-e)<=y;var z=Math.abs(A-f)<=y;var j=Math.abs(s-w)<=y;var k=Math.abs(n-x)<=y;if(c){p.position.top=g._convertPositionTo("relative",{top:m-g.helperProportions.height,left:0}).top-g.margins.top}if(z){p.position.top=g._convertPositionTo("relative",{top:A,left:0}).top-g.margins.top}if(j){p.position.left=g._convertPositionTo("relative",{top:0,left:s-g.helperProportions.width}).left-g.margins.left}if(k){p.position.left=g._convertPositionTo("relative",{top:0,left:n}).left-g.margins.left}}var h=(c||z||j||k);if(q.snapMode!="outer"){var c=Math.abs(m-f)<=y;var z=Math.abs(A-e)<=y;var j=Math.abs(s-x)<=y;var k=Math.abs(n-w)<=y;if(c){p.position.top=g._convertPositionTo("relative",{top:m,left:0}).top-g.margins.top}if(z){p.position.top=g._convertPositionTo("relative",{top:A-g.helperProportions.height,left:0}).top-g.margins.top}if(j){p.position.left=g._convertPositionTo("relative",{top:0,left:s}).left-g.margins.left}if(k){p.position.left=g._convertPositionTo("relative",{top:0,left:n-g.helperProportions.width}).left-g.margins.left}}if(!g.snapElements[v].snapping&&(c||z||j||k||h)){(g.options.snap.snap&&g.options.snap.snap.call(g.element,u,a.extend(g._uiHash(),{snapItem:g.snapElements[v].item})))}g.snapElements[v].snapping=(c||z||j||k||h)}}});a.ui.plugin.add("draggable","stack",{start:function(b,c){var e=a(this).data("draggable").options;var d=a.makeArray(a(e.stack.group)).sort(function(g,f){return(parseInt(a(g).css("zIndex"),10)||e.stack.min)-(parseInt(a(f).css("zIndex"),10)||e.stack.min)});a(d).each(function(f){this.style.zIndex=e.stack.min+f});this[0].style.zIndex=e.stack.min+d.length}});a.ui.plugin.add("draggable","zIndex",{start:function(c,d){var b=a(d.helper),e=a(this).data("draggable").options;if(b.css("zIndex")){e._zIndex=b.css("zIndex")}b.css("zIndex",e.zIndex)},stop:function(b,c){var d=a(this).data("draggable").options;if(d._zIndex){a(c.helper).css("zIndex",d._zIndex)}}})})(jQuery);; 1075 /* 1076 * jQuery UI Dialog 1.7.2 1077 * 1078 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about) 1079 * Dual licensed under the MIT (MIT-LICENSE.txt) 1080 * and GPL (GPL-LICENSE.txt) licenses. 1081 * 1082 * http://docs.jquery.com/UI/Dialog 1083 * 1084 * Depends: 1085 * ui.core.js 1086 * ui.draggable.js 1087 * ui.resizable.js 1088 */ (function(c){var b={dragStart:"start.draggable",drag:"drag.draggable",dragStop:"stop.draggable",maxHeight:"maxHeight.resizable",minHeight:"minHeight.resizable",maxWidth:"maxWidth.resizable",minWidth:"minWidth.resizable",resizeStart:"start.resizable",resize:"drag.resizable",resizeStop:"stop.resizable"},a="ui-dialog ui-widget ui-widget-content ui-corner-all ";c.widget("ui.dialog",{_init:function(){this.originalTitle=this.element.attr("title");var l=this,m=this.options,j=m.title||this.originalTitle||" ",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||" ");break;case"width":this.uiDialog.width(f);break}c.widget.prototype._setData.apply(this,arguments)},_size:function(){var e=this.options;this.element.css({height:0,minHeight:0,width:"auto"});var d=this.uiDialog.css({height:"auto",width:e.width}).height();this.element.css({minHeight:Math.max(e.minHeight-d,0),height:e.height=="auto"?"auto":Math.max(e.height-d,0)})}});c.extend(c.ui.dialog,{version:"1.7.2",defaults:{autoOpen:true,bgiframe:false,buttons:{},closeOnEscape:true,closeText:"close",dialogClass:"",draggable:true,hide:null,height:"auto",maxHeight:false,maxWidth:false,minHeight:150,minWidth:150,modal:false,position:"center",resizable:true,show:null,stack:true,title:"",width:300,zIndex:1000},getter:"isOpen",uuid:0,maxZ:0,getTitleId:function(d){return"ui-dialog-title-"+(d.attr("id")||++this.uuid)},overlay:function(d){this.$el=c.ui.dialog.overlay.create(d)}});c.extend(c.ui.dialog.overlay,{instances:[],maxZ:0,events:c.map("focus,mousedown,mouseup,keydown,keypress,click".split(","),function(d){return d+".dialog-overlay"}).join(" "),create:function(e){if(this.instances.length===0){setTimeout(function(){if(c.ui.dialog.overlay.instances.length){c(document).bind(c.ui.dialog.overlay.events,function(f){var g=c(f.target).parents(".ui-dialog").css("zIndex")||0;return(g>c.ui.dialog.overlay.maxZ)})}},1);c(document).bind("keydown.dialog-overlay",function(f){(e.options.closeOnEscape&&f.keyCode&&f.keyCode==c.ui.keyCode.ESCAPE&&e.close(f))});c(window).bind("resize.dialog-overlay",c.ui.dialog.overlay.resize)}var d=c("<div></div>").appendTo(document.body).addClass("ui-widget-overlay").css({width:this.width(),height:this.height()});(e.options.bgiframe&&c.fn.bgiframe&&d.bgiframe());this.instances.push(d);return d},destroy:function(d){this.instances.splice(c.inArray(this.instances,d),1);if(this.instances.length===0){c([document,window]).unbind(".dialog-overlay")}d.remove();var e=0;c.each(this.instances,function(){e=Math.max(e,this.css("z-index"))});this.maxZ=e},height:function(){if(c.browser.msie&&c.browser.version<7){var e=Math.max(document.documentElement.scrollHeight,document.body.scrollHeight);var d=Math.max(document.documentElement.offsetHeight,document.body.offsetHeight);if(e<d){return c(window).height()+"px"}else{return e+"px"}}else{return c(document).height()+"px"}},width:function(){if(c.browser.msie&&c.browser.version<7){var d=Math.max(document.documentElement.scrollWidth,document.body.scrollWidth);var e=Math.max(document.documentElement.offsetWidth,document.body.offsetWidth);if(d<e){return c(window).width()+"px"}else{return d+"px"}}else{return c(document).width()+"px"}},resize:function(){var d=c([]);c.each(c.ui.dialog.overlay.instances,function(){d=d.add(this)});d.css({width:0,height:0}).css({width:c.ui.dialog.overlay.width(),height:c.ui.dialog.overlay.height()})}});c.extend(c.ui.dialog.overlay.prototype,{destroy:function(){c.ui.dialog.overlay.destroy(this.$el)}})})(jQuery);; 1089 // $Id: dialog.js,v 1.1.2.5 2011/01/31 21:03:40 drewish Exp $ 1090 /** 1091 * @file 1092 * 1093 * Display ajax content in a Dialog window. 1094 * 1095 * This javascript relies on the CTools ajax responder and jQueryUI Dialog. 1096 */ 1097 1098 (function ($) { 1099 // Make sure our objects are defined. 1100 Drupal.CTools = Drupal.CTools || {}; 1101 Drupal.Dialog = Drupal.Dialog || {}; 1102 1103 /** 1104 * Display the modal 1105 */ 1106 Drupal.Dialog.show = function() { 1107 if (!Drupal.Dialog.dialog) { 1108 var o = { 1109 modal: true, 1110 height: Drupal.settings.Dialog.height, 1111 width: Drupal.settings.Dialog.width, 1112 position: 'center' 1113 }; 1114 Drupal.Dialog.dialog = $(Drupal.theme('DialogMain')).dialog(o); 1115 1116 // Completely remove the dialog every time it is closed. This is the 1117 // simplest way to get a clean slate on every dialog invokation. 1118 Drupal.Dialog.dialog.bind('dialogclose', function(event, ui) { 1119 $(this).remove(); 1120 Drupal.Dialog.dialog = null; 1121 }); 1122 } 1123 1124 Drupal.CTools.AJAX.commands.dialog_loading(); 1125 }; 1126 1127 /** 1128 * Hide the modal 1129 */ 1130 Drupal.Dialog.dismiss = function() { 1131 if (Drupal.Dialog.dialog) { 1132 Drupal.Dialog.dialog.dialog('close'); 1133 } 1134 }; 1135 1136 /** 1137 * Provide the HTML to create the modal dialog. 1138 */ 1139 Drupal.theme.prototype.DialogMain = function () { 1140 var html = '<div id="dialog-main" />'; 1141 return html; 1142 } 1143 1144 /** 1145 * Provide the HTML to create the throbber. 1146 */ 1147 Drupal.theme.prototype.DialogThrobber = function () { 1148 var html = ''; 1149 html += ' <div id="modal-throbber">'; 1150 html += ' <div class="modal-throbber-wrapper">'; 1151 html += Drupal.settings.Dialog.throbber; 1152 html += ' </div>'; 1153 html += ' </div>'; 1154 1155 return html; 1156 }; 1157 1158 /** 1159 * Generic replacement click handler to open the modal with the destination 1160 * specified by the href of the link. 1161 */ 1162 Drupal.Dialog.clickAjaxLink = function() { 1163 // show the empty dialog right away. 1164 Drupal.Dialog.show(); 1165 Drupal.CTools.AJAX.clickAJAXLink.apply(this); 1166 if (!$(this).hasClass('ctools-ajaxing')) { 1167 Drupal.Dialog.dismiss(); 1168 } 1169 1170 return false; 1171 }; 1172 1173 /** 1174 * Generic replacement click handler to open the modal with the destination 1175 * specified by the href of the link. 1176 */ 1177 Drupal.Dialog.clickAjaxButton = function() { 1178 if ($(this).hasClass('ctools-ajaxing')) { 1179 return false; 1180 } 1181 1182 Drupal.Dialog.show(); 1183 Drupal.CTools.AJAX.clickAJAXButton.apply(this); 1184 if (!$(this).hasClass('ctools-ajaxing')) { 1185 Drupal.Dialog.dismiss(); 1186 } 1187 1188 return false; 1189 }; 1190 1191 /** 1192 * Submit responder to do an AJAX submit on all modal forms. 1193 */ 1194 Drupal.Dialog.submitAjaxForm = function() { 1195 if ($(this).hasClass('ctools-ajaxing')) { 1196 return false; 1197 } 1198 1199 url = $(this).attr('action'); 1200 $(this).addClass('ctools-ajaxing'); 1201 var object = $(this); 1202 try { 1203 url.replace('/nojs/', '/ajax/'); 1204 1205 var ajaxOptions = { 1206 type: 'POST', 1207 url: url, 1208 data: '', 1209 global: true, 1210 success: Drupal.CTools.AJAX.respond, 1211 error: function() { 1212 alert("An error occurred while attempting to process " + url); 1213 }, 1214 complete: function() { 1215 object.removeClass('ctools-ajaxing'); 1216 $('.ctools-ajaxing', object).removeClass('ctools-ajaxing'); 1217 }, 1218 dataType: 'json' 1219 }; 1220 1221 // If the form requires uploads, use an iframe instead and add data to 1222 // the submit to support this and use the proper response. 1223 if ($(this).attr('enctype') == 'multipart/form-data') { 1224 $(this).append('<input type="hidden" name="ctools_multipart" value="1">'); 1225 ajaxIframeOptions = { 1226 success: Drupal.CTools.AJAX.iFrameJsonRespond, 1227 iframe: true 1228 }; 1229 ajaxOptions = $.extend(ajaxOptions, ajaxIframeOptions); 1230 } 1231 1232 $(this).ajaxSubmit(ajaxOptions); 1233 } 1234 catch (err) { 1235 alert("An error occurred while attempting to process " + url); 1236 $(this).removeClass('ctools-ajaxing'); 1237 $('div.ctools-ajaxing', this).remove(); 1238 return false; 1239 } 1240 return false; 1241 }; 1242 1243 /** 1244 * Handle a form button being clicked inside of a dialog. 1245 */ 1246 Drupal.Dialog.clickFormButton = function() { 1247 if (Drupal.autocompleteSubmit && !Drupal.autocompleteSubmit()) { 1248 return false; 1249 } 1250 1251 // Make sure it knows our button. 1252 if (!$(this.form).hasClass('ctools-ajaxing')) { 1253 this.form.clk = this; 1254 $(this).after('<div class="ctools-ajaxing"> </div>'); 1255 1256 // Submit the form. Notice the difference between $().submit() 1257 // which is the ajax submit and form.submit() which is the 1258 // default browser submit. 1259 $(this.form).submit(); 1260 } 1261 1262 return false; 1263 }; 1264 1265 /** 1266 * Bind links that will open modals to the appropriate function. 1267 */ 1268 Drupal.behaviors.Dialog = function(context) { 1269 // Bind links 1270 $('a.ctools-use-dialog:not(.ctools-use-dialog-processed)', context) 1271 .addClass('ctools-use-dialog-processed') 1272 .click(Drupal.Dialog.clickAjaxLink); 1273 1274 // Bind buttons 1275 $('input.ctools-use-dialog:not(.ctools-use-dialog-processed), button.ctools-use-dialog:not(.ctools-use-dialog-processed)', context) 1276 .addClass('ctools-use-dialog-processed') 1277 .click(Drupal.Dialog.clickAjaxButton); 1278 1279 if ($(context).attr('id') == 'dialog-main') { 1280 // Bind submit links in the modal form. 1281 $('form:not(.ctools-use-dialog-processed)', context) 1282 .addClass('ctools-use-dialog-processed') 1283 .submit(Drupal.Dialog.submitAjaxForm); 1284 // add click handlers so that we can tell which button was clicked, 1285 // because the AJAX submit does not set the values properly. 1286 1287 $('input[type="submit"]:not(.ctools-use-dialog-processed), button:not(.ctools-use-dialog-processed)', context) 1288 .addClass('ctools-use-dialog-processed') 1289 .click(Drupal.Dialog.clickFormButton); 1290 1291 var buttons = {}, buttonsMap = {}; 1292 $('.ctools-dialog-button:not(.ctools-dialog-button-processed)', context) 1293 .addClass('ctools-dialog-button-processed') 1294 .hide() 1295 .each(function() { 1296 var text = $(this).is('input') ? $(this).attr('value') : $(this).text(); 1297 buttonsMap[text] = this; 1298 buttons[text] = function(e) { 1299 var text = $(e.target).text(); 1300 var map = $(this).data('dialogButtonsMap'); 1301 var button = map[text]; 1302 1303 $(button).click(); 1304 }; 1305 }); 1306 $(context).data('dialogButtonsMap', buttonsMap); 1307 $(context).dialog('option', 'buttons', buttons); 1308 } 1309 }; 1310 1311 // The following are implementations of AJAX responder commands. 1312 1313 /** 1314 * AJAX responder command to place HTML within the modal. 1315 */ 1316 Drupal.CTools.AJAX.commands.dialog_display = function(command) { 1317 var $el = Drupal.Dialog.dialog; 1318 $el.html(command.output) 1319 // remove any previously added buttons 1320 .dialog('option', 'buttons', {}) 1321 .dialog('option', 'title', command.title) 1322 .dialog('show'); 1323 1324 var defaultOptions = { 1325 height: Drupal.settings.Dialog.height, 1326 width: Drupal.settings.Dialog.width, 1327 position: 'center', 1328 maxHeight: Math.floor($(window).height() * .8) 1329 }; 1330 var o = $.extend(defaultOptions, command.options); 1331 for (i in o) { 1332 $el.dialog('option', i, o[i]); 1333 } 1334 if ($el.height() > o.maxHeight) { 1335 $el.dialog('option', 'height', o.maxHeight); 1336 $el.dialog('option', 'position', o.position); 1337 // This is really ugly, but dialog gives us no way to call 1338 // _size() in a sane way! 1339 $el.data('dialog')._size(); 1340 } 1341 1342 Drupal.attachBehaviors($el); 1343 } 1344 1345 /** 1346 * AJAX responder command to dismiss the modal. 1347 */ 1348 Drupal.CTools.AJAX.commands.dialog_dismiss = function(command) { 1349 Drupal.Dialog.dismiss(); 1350 } 1351 1352 /** 1353 * Display loading 1354 */ 1355 Drupal.CTools.AJAX.commands.dialog_loading = function(command) { 1356 Drupal.CTools.AJAX.commands.dialog_display({ 1357 output: Drupal.theme('DialogThrobber'), 1358 title: Drupal.t('Loading...') 1359 }); 1360 } 1361 })(jQuery); 1362 ; 1363 // $Id: form.js,v 1.1 2007/09/12 18:29:32 goba Exp $ 1364 1365 Drupal.behaviors.multiselectSelector = function() { 1366 // Automatically selects the right radio button in a multiselect control. 1367 $('.multiselect select:not(.multiselectSelector-processed)') 1368 .addClass('multiselectSelector-processed').change(function() { 1369 $('.multiselect input:radio[value="'+ this.id.substr(5) +'"]') 1370 .attr('checked', true); 1371 }); 1372 }; 1373 ; 1374 // $Id: skinr.js,v 1.1.2.22 2010/05/01 20:11:11 jgirlygirl Exp $ 1375 1376 (function ($) { 1377 1378 // Make sure our objects are defined. 1379 Drupal.CTools = Drupal.CTools || {}; 1380 Drupal.Skinr = Drupal.Skinr || { 1381 editUrl: 'admin/build/skinr/edit/nojs', 1382 infoUrl: 'admin/build/skinr/info', 1383 unloadBehaviors: {}, 1384 1385 loadedFiles: { 'css': [], 'js': [] }, 1386 loadedFilesSnapshot: { 'css': [], 'js': [] }, 1387 1388 preparedUnload: {}, 1389 finalizedUnload: {}, 1390 1391 submitted: false 1392 }; 1393 1394 /** 1395 * Register functions to run when a skin is unloaded. This usually happens 1396 * when previewing a skin. 1397 */ 1398 Drupal.Skinr.registerUnload = function($script_id, $skin, $options, $function) { 1399 if (!$.isArray($options)) { 1400 $options = [$options]; 1401 } 1402 1403 if (Drupal.Skinr.unloadBehaviors[$skin] == undefined) { 1404 Drupal.Skinr.unloadBehaviors[$skin] = {}; 1405 } 1406 1407 for (var $i in $options) { 1408 if (Drupal.Skinr.unloadBehaviors[$skin][$options[$i]] == undefined) { 1409 Drupal.Skinr.unloadBehaviors[$skin][$options[$i]] = {}; 1410 } 1411 Drupal.Skinr.unloadBehaviors[$skin][$options[$i]][$script_id] = $function; 1412 } 1413 } 1414 1415 /** 1416 * Register a skin option to be unloaded. 1417 */ 1418 Drupal.Skinr.prepareUnload = function($skin, $options) { 1419 if (!$.isArray($options)) { 1420 $options = [$options]; 1421 } 1422 1423 if (Drupal.Skinr.preparedUnload[$skin] == undefined) { 1424 Drupal.Skinr.preparedUnload[$skin] = []; 1425 } 1426 1427 for (var $i in $options) { 1428 if ($.inArray($options[$i], Drupal.Skinr.preparedUnload[$skin]) < 0) { 1429 Drupal.Skinr.preparedUnload[$skin][Drupal.Skinr.preparedUnload[$skin].length] = $options[$i]; 1430 } 1431 } 1432 } 1433 1434 /** 1435 * Register a skin option to be unloaded when resetting the dialog. 1436 */ 1437 Drupal.Skinr.finalUnload = function($skin, $options) { 1438 if (!$.isArray($options)) { 1439 $options = [$options]; 1440 } 1441 1442 if (Drupal.Skinr.finalizedUnload[$skin] == undefined) { 1443 Drupal.Skinr.finalizedUnload[$skin] = []; 1444 } 1445 1446 for (var $i in $options) { 1447 if ($.inArray($options[$i], Drupal.Skinr.finalizedUnload[$skin]) < 0) { 1448 Drupal.Skinr.finalizedUnload[$skin][Drupal.Skinr.finalizedUnload[$skin].length] = $options[$i]; 1449 } 1450 } 1451 } 1452 1453 /** 1454 * Go through each skin option that was prepared for unload and run the 1455 * associated regaistered function. 1456 */ 1457 Drupal.Skinr.unload = function() { 1458 for (var $skin_name in Drupal.Skinr.preparedUnload) { 1459 if (Drupal.Skinr.preparedUnload[$skin_name] != undefined) { 1460 $skin = Drupal.Skinr.preparedUnload[$skin_name]; 1461 for (var $j in $skin) { 1462 $option = $skin[$j]; 1463 if (Drupal.Skinr.unloadBehaviors[$skin_name] != undefined) { 1464 if (Drupal.Skinr.unloadBehaviors[$skin_name][$option] != undefined) { 1465 $functions = Drupal.Skinr.unloadBehaviors[$skin_name][$option]; 1466 for (var $k in $functions) { 1467 if ($.isFunction(Drupal.Skinr.unloadBehaviors[$skin_name][$option][$k])) { 1468 Drupal.Skinr.unloadBehaviors[$skin_name][$option][$k](); 1469 } 1470 } 1471 } 1472 } 1473 } 1474 } 1475 } 1476 1477 Drupal.Skinr.preparedUnload = {}; 1478 } 1479 1480 /** 1481 * Initialize skinr's edit cogs. 1482 */ 1483 Drupal.behaviors.Skinr = function(context) { 1484 // Take a snapshot of the current list of files. 1485 if (this.initialized == undefined) { 1486 this.initialized = true; 1487 Drupal.Skinr.registerFile(null, null, null); 1488 Drupal.Skinr.freezeFiles(); 1489 } 1490 1491 for (var i in Drupal.settings.skinr['areas']) { 1492 var $module = Drupal.settings.skinr['areas'][i]['module']; 1493 var $sids = Drupal.settings.skinr['areas'][i]['sids']; 1494 var $id = Drupal.settings.skinr['areas'][i]['id']; 1495 1496 var $region = $('.skinr-id-' + $id + ':not(.skinr-region-processed)', context).addClass('skinr-region-processed'); 1497 if (Drupal.settings.skinr['areas'][i]['classes'] == undefined) { 1498 Drupal.settings.skinr['areas'][i]['classes'] = $($region).attr('class'); 1499 } 1500 1501 if ($region.length > 0) { 1502 var $links = ''; 1503 for (var $j in $sids) { 1504 var $classes = ''; 1505 if ($j == 0) { 1506 $classes += ' first'; 1507 } 1508 if ($j == $sids.length - 1) { 1509 $classes += ' last'; 1510 } 1511 if ($sids.length > 1) { 1512 $links += '<li class="skinr-link-' + $j + $classes + '"><a href="' + Drupal.settings.basePath + Drupal.Skinr.editUrl + '/' + $module + '/' + $sids[$j] + '/' + $sids +'" class="skinr-link ctools-use-dialog">' + Drupal.t('Edit skin') + ' ' + (parseInt($j) + 1) + '</a></li>'; 1513 } 1514 else { 1515 $links = '<li class="skinr-link-0 first last"><a href="' + Drupal.settings.basePath + Drupal.Skinr.editUrl + '/' + $module + '/' + $sids[$j] +'" class="skinr-link ctools-use-dialog">' + Drupal.t('Edit skin') + '</a></li>'; 1516 } 1517 } 1518 1519 var $wrapper_classes = ''; 1520 if ($module == 'page') { 1521 $wrapper_classes += ' skinr-links-wrapper-page'; 1522 } 1523 1524 $region.prepend('<div class="skinr-links-wrapper' + $wrapper_classes + '"><ul class="skinr-links">' + $links + '</ul></div>'); 1525 $region.get(0).skinr = { 'module': $module, 'sids': $sids, 'id': $id }; 1526 1527 Drupal.behaviors.Dialog($region); 1528 }; 1529 } 1530 1531 $('div.skinr-links-wrapper:not(.skinr-links-wrapper-processed)', context).addClass('skinr-links-wrapper-processed').each(function () { 1532 var $wrapper = $(this); 1533 var $region = $wrapper.closest('.skinr-region'); 1534 var $links = $wrapper.find('ul.skinr-links'); 1535 var $trigger = $('<a class="skinr-links-trigger" href="#" />').text(Drupal.t('Configure')).click( 1536 function () { 1537 $wrapper.find('ul.skinr-links').stop(true, true).slideToggle(100); 1538 $wrapper.toggleClass('skinr-links-active'); 1539 return false; 1540 } 1541 ); 1542 1543 // Attach hover behavior to trigger and ul.skinr-links. 1544 $trigger.add($links).hover( 1545 function () { $region.addClass('skinr-region-active'); }, 1546 function () { $region.removeClass('skinr-region-active'); } 1547 ); 1548 // Hide the contextual links when user rolls out of the .skinr-links-region. 1549 $region.bind('mouseleave', Drupal.Skinr.hideLinks).click(Drupal.Skinr.hideLinks); 1550 // Prepend the trigger. 1551 $links.end().prepend($trigger); 1552 }); 1553 1554 // Add an open and a close handler to the dialog. 1555 if (Drupal.Dialog.dialog && !Drupal.Dialog.dialog.hasClass('skinr-dialog-processed')) { 1556 Drupal.Dialog.dialog.addClass('skinr-dialog-processed').bind('dialogbeforeclose', Drupal.Skinr.dialogBeforeClose); 1557 } 1558 } 1559 1560 /** 1561 * Disables outline for the region contextual links are associated with. 1562 */ 1563 Drupal.Skinr.hideLinks = function () { 1564 $(this).closest('.skinr-region') 1565 .find('.skinr-links-active').removeClass('skinr-links-active') 1566 .find('ul.skinr-links').hide(); 1567 }; 1568 1569 /** 1570 * Cleanup function run before dialog is closed. 1571 */ 1572 Drupal.Skinr.dialogBeforeClose = function(event, ui) { 1573 if (!Drupal.Skinr.submitted) { 1574 // Unload js. 1575 Drupal.Skinr.preparedUnload = Drupal.Skinr.finalizedUnload; 1576 Drupal.Skinr.unload(); 1577 Drupal.Skinr.finalizedUnload = {}; 1578 1579 Drupal.Skinr.unfreezeFiles(); 1580 1581 // Reset all the applied style changes. 1582 for (var i in Drupal.settings.skinr['areas']) { 1583 var $id = Drupal.settings.skinr['areas'][i]['id']; 1584 var $classes = Drupal.settings.skinr['areas'][i]['classes']; 1585 $('.skinr-id-' + $id).attr('class', $classes); 1586 } 1587 // @todo Remove added CSS during preview. 1588 1589 // Let's do another attach behaviors now that our classes are reset. 1590 Drupal.attachBehaviors(); 1591 } 1592 Drupal.Skinr.submitted = false; 1593 } 1594 1595 /** 1596 * Live preview functionality for skinr. 1597 */ 1598 Drupal.behaviors.SkinrLivePreview = function(context) { 1599 $('#skinr-ui-form .skinr-ui-current-theme :input:not(.skinr-live-preview-processed)', context).addClass('skinr-live-preview-processed').change(function () { 1600 var $tag = $(this).attr('tagName'); 1601 $tag = $tag.toLowerCase(); 1602 1603 var $module = $('#skinr-ui-form #edit-module').val(); 1604 var $sid = $('#skinr-ui-form #edit-sid').val(); 1605 var $sids = $('#skinr-ui-form #edit-sids').val(); 1606 if (!$sids) { 1607 $sids = $sid; 1608 } 1609 1610 var $name = $(this).attr('name'); 1611 $name = $name.replace(/skinr_settings\[.*_group\]\[[^\]]*\]\[widgets\](\[[^\]]*\])?\[([^\]]*)\]/, '$2'); 1612 1613 var $rem_classes = ''; 1614 var $add_classes = $(this).val(); 1615 1616 if ($tag == 'select') { 1617 $(this).find('option').each(function() { 1618 $rem_classes += ' ' + $(this).attr('value'); 1619 }); 1620 } 1621 else if ($tag == 'input') { 1622 var $type = $(this).attr('type'); 1623 if ($type == 'checkbox') { 1624 $add_classes = ''; 1625 $(this).closest('.form-checkboxes').find('input[type=checkbox]').each(function () { 1626 if ($(this).is(':checked')) { 1627 $add_classes += ' ' + $(this).attr('value'); 1628 } 1629 else { 1630 $rem_classes += ' ' + $(this).attr('value'); 1631 } 1632 }); 1633 } 1634 else if ($type == 'radio') { 1635 $(this).closest('.form-radios').find('input[type=radio]').each(function () { 1636 $rem_classes += ' ' + $(this).attr('value'); 1637 }); 1638 } 1639 } 1640 1641 // Use AJAX to grab the CSS and JS filename. 1642 $.ajax({ 1643 type: 'GET', 1644 dataType: 'json', 1645 url: Drupal.settings.basePath + Drupal.Skinr.infoUrl + '/' + $name + '/' + $add_classes, 1646 success: function($data) { 1647 1648 var $command = { 1649 command: 'skinrAfterupdate', 1650 module: $module, 1651 sids: $sids, 1652 classes: { 1653 remove: $rem_classes, 1654 add: $add_classes 1655 }, 1656 css: $data.css, 1657 js: $data.js, 1658 nosave: true 1659 }; 1660 1661 Drupal.CTools.AJAX.commands.skinrAfterupdate($command); 1662 } 1663 }); 1664 }); 1665 } 1666 1667 /** 1668 * AJAX responder command to dismiss the modal. 1669 */ 1670 Drupal.CTools.AJAX.commands.skinrAfterupdate = function(command) { 1671 var $path, $el; 1672 Drupal.Skinr.finalizedUnload = {}; 1673 1674 if (command.nosave == undefined || command.nosave == false) { 1675 // Let the dialogBeforeClose function know we've submitted rather than 1676 Drupal.Skinr.submitted = true; 1677 } 1678 1679 if (command.module && command.sids && (command.classes.remove || command.classes.add)) { 1680 if (command.css) { 1681 // First unload all unecessary stylesheets 1682 for (var j in command.css) { 1683 $path = Drupal.settings.basePath + command.css[j].path + '?' + Drupal.settings.skinr['css_js_query_string']; 1684 if (!command.css[j].enabled) { 1685 Drupal.Skinr.unloadFile('css', $path); 1686 } 1687 } 1688 // Then load the newly enabled ones 1689 for (var j in command.css) { 1690 $path = Drupal.settings.basePath + command.css[j].path + '?' + Drupal.settings.skinr['css_js_query_string']; 1691 if (command.css[j].enabled) { 1692 Drupal.Skinr.loadFile('css', $path, command.css[j].media); 1693 } 1694 } 1695 } 1696 if (command.js) { 1697 for (var j in command.js) { 1698 $path = Drupal.settings.basePath + command.js[j].path + '?' + Drupal.settings.skinr['css_js_query_string']; 1699 if (command.js[j].enabled) { 1700 Drupal.Skinr.loadFile('js', $path, null); 1701 if (command.nosave) { 1702 // Need to disable this js after closing dialog. 1703 Drupal.Skinr.finalUnload(command.js[j].skin, command.js[j].options); 1704 } 1705 } 1706 else { 1707 // Disable js. 1708 Drupal.Skinr.prepareUnload(command.js[j].skin, command.js[j].options); 1709 } 1710 } 1711 } 1712 1713 // Unload. 1714 Drupal.Skinr.unload(); 1715 1716 for (var i in Drupal.settings.skinr['areas']) { 1717 if (Drupal.settings.skinr['areas'][i]['module'] == command.module && Drupal.settings.skinr['areas'][i]['sids'] == command.sids) { 1718 $('.skinr-id-' + Drupal.settings.skinr['areas'][i]['id']).removeClass(command.classes.remove).addClass(command.classes.add); 1719 if (command.nosave == undefined || command.nosave == false) { 1720 Drupal.settings.skinr['areas'][i]['classes'] = $('.skinr-id-' + Drupal.settings.skinr['areas'][i]['id']).attr('class'); 1721 } 1722 } 1723 } 1724 } 1725 1726 if (command.nosave == undefined || command.nosave == false) { 1727 // Update our snapshot of loaded files. 1728 Drupal.Skinr.freezeFiles(); 1729 } 1730 } 1731 1732 /** 1733 * Helper functions to keep track of loaded css and js files, and to 1734 * dynamically load and unload them. 1735 */ 1736 1737 Drupal.Skinr.freezeFiles = function () { 1738 Drupal.Skinr.loadedFilesSnapshot = jQuery.extend(true, {}, Drupal.Skinr.loadedFiles); 1739 } 1740 1741 Drupal.Skinr.unfreezeFiles = function () { 1742 var $diff = Drupal.Skinr.diffFiles(Drupal.Skinr.loadedFiles['css'], Drupal.Skinr.loadedFilesSnapshot['css']); 1743 for ($i in $diff) { 1744 Drupal.Skinr.unloadFile('css', $diff[$i].file, $diff[$i].media); 1745 } 1746 1747 var $diff = Drupal.Skinr.diffFiles(Drupal.Skinr.loadedFilesSnapshot['css'], Drupal.Skinr.loadedFiles['css']); 1748 for ($i in $diff) { 1749 Drupal.Skinr.loadFile('css', $diff[$i].file, $diff[$i].media); 1750 } 1751 } 1752 1753 Drupal.Skinr.diffFiles = function($a, $b) { 1754 var $diff = $.grep($a, function($el, $key) { 1755 for (var $i in $b) { 1756 var $obj = $b[$i]; 1757 if ($el.file == $obj.file && $el.media == $obj.media) { 1758 return false; 1759 } 1760 } 1761 return true; 1762 }); 1763 return $diff; 1764 } 1765 1766 Drupal.Skinr.registerFile = function($type, $file, $media) { 1767 if (this.initialized == undefined) { 1768 this.initialized = true; 1769 $el = $('link[rel*=style]').each(function() { 1770 Drupal.Skinr.registerFile('css', $(this).attr('href'), $(this).attr('media')); 1771 }); 1772 $el = $('script[type*=javascript][src]').each(function() { 1773 Drupal.Skinr.registerFile('js', $(this).attr('src')); 1774 }); 1775 } 1776 1777 if (!$file) { 1778 return false; 1779 } 1780 1781 if ($.inArray({ file: $file, media: $media }, Drupal.Skinr.loadedFiles[$type]) < 0) { 1782 Drupal.Skinr.loadedFiles[$type][Drupal.Skinr.loadedFiles[$type].length] = { file: $file, media: $media }; 1783 return true; 1784 } 1785 return false; 1786 } 1787 1788 Drupal.Skinr.unregisterFile = function($type, $file) { 1789 for (var $key in Drupal.Skinr.loadedFiles[$type]) { 1790 if (Drupal.Skinr.loadedFiles[$type][$key].file == $file) { 1791 Drupal.Skinr.loadedFiles[$type].splice($key, 1); 1792 return true; 1793 } 1794 } 1795 return false; 1796 } 1797 1798 Drupal.Skinr.loadFile = function($type, $file, $media) { 1799 if (Drupal.Skinr.registerFile($type, $file, $media)) { 1800 if ($type == 'css') { 1801 $el = $('link[rel*=style][href=' + $file + ']'); 1802 if ($el.get() == '') { 1803 $('<link />').attr({ 1804 href: $file, 1805 media: $media, 1806 rel: 'stylesheet', 1807 type: 'text/css' 1808 }).appendTo('head'); 1809 } 1810 } 1811 else if ($type == 'js') { 1812 try { 1813 $.getScript($file, function($data) { 1814 // This might be a bit excessive to run on every script load, 1815 // but the scripts load asynchronously. 1816 Drupal.attachBehaviors(); 1817 }); 1818 } 1819 catch (err) { 1820 Drupal.Skinr.unregisterFile($type, $file); 1821 } 1822 } 1823 return true; 1824 } 1825 return false; 1826 } 1827 1828 Drupal.Skinr.unloadFile = function($type, $file) { 1829 if (Drupal.Skinr.unregisterFile($type, $file)) { 1830 if ($type == 'css') { 1831 $el = $('link[rel*=style][href=' + $file + ']'); 1832 if ($el.get() != '') { 1833 $el.disabled = true; 1834 $el.remove(); 1835 } 1836 return true; 1837 } 1838 // Can't unload js files! 1839 } 1840 return false; 1841 } 1842 1843 })(jQuery); 1844 ; 1845 /*! 1846 * jQuery Form Plugin 1847 * version: 2.43 (12-MAR-2010) 1848 * @requires jQuery v1.3.2 or later 1849 * 1850 * Examples and documentation at: http://malsup.com/jquery/form/ 1851 * Dual licensed under the MIT and GPL licenses: 1852 * http://www.opensource.org/licenses/mit-license.php 1853 * http://www.gnu.org/licenses/gpl.html 1854 */ 1855 (function(b){function o(){if(b.fn.ajaxSubmit.debug){var a="[jquery.form] "+Array.prototype.join.call(arguments,"");if(window.console&&window.console.log)window.console.log(a);else window.opera&&window.opera.postError&&window.opera.postError(a)}}b.fn.ajaxSubmit=function(a){function d(){function r(){var p=h.attr("target"),n=h.attr("action");j.setAttribute("target",z);j.getAttribute("method")!="POST"&&j.setAttribute("method","POST");j.getAttribute("action")!=g.url&&j.setAttribute("action",g.url);g.skipEncodingOverride|| 1856 h.attr({encoding:"multipart/form-data",enctype:"multipart/form-data"});g.timeout&&setTimeout(function(){C=true;s()},g.timeout);var m=[];try{if(g.extraData)for(var u in g.extraData)m.push(b('<input type="hidden" name="'+u+'" value="'+g.extraData[u]+'" />').appendTo(j)[0]);t.appendTo("body");t.data("form-plugin-onload",s);j.submit()}finally{j.setAttribute("action",n);p?j.setAttribute("target",p):h.removeAttr("target");b(m).remove()}}function s(){if(!D){var p=true;try{if(C)throw"timeout";var n,m;m=v.contentWindow? 1857 v.contentWindow.document:v.contentDocument?v.contentDocument:v.document;var u=g.dataType=="xml"||m.XMLDocument||b.isXMLDoc(m);o("isXml="+u);if(!u&&(m.body==null||m.body.innerHTML=="")){if(--G){o("requeing onLoad callback, DOM not available");setTimeout(s,250);return}o("Could not access iframe DOM after 100 tries.");return}o("response detected");D=true;i.responseText=m.body?m.body.innerHTML:null;i.responseXML=m.XMLDocument?m.XMLDocument:m;i.getResponseHeader=function(H){return{"content-type":g.dataType}[H]}; 1858 if(g.dataType=="json"||g.dataType=="script"){var E=m.getElementsByTagName("textarea")[0];if(E)i.responseText=E.value;else{var F=m.getElementsByTagName("pre")[0];if(F)i.responseText=F.innerHTML}}else if(g.dataType=="xml"&&!i.responseXML&&i.responseText!=null)i.responseXML=A(i.responseText);n=b.httpData(i,g.dataType)}catch(B){o("error caught:",B);p=false;i.error=B;b.handleError(g,i,"error",B)}if(p){g.success(n,"success");w&&b.event.trigger("ajaxSuccess",[i,g])}w&&b.event.trigger("ajaxComplete",[i,g]); 1859 w&&!--b.active&&b.event.trigger("ajaxStop");if(g.complete)g.complete(i,p?"success":"error");setTimeout(function(){t.removeData("form-plugin-onload");t.remove();i.responseXML=null},100)}}function A(p,n){if(window.ActiveXObject){n=new ActiveXObject("Microsoft.XMLDOM");n.async="false";n.loadXML(p)}else n=(new DOMParser).parseFromString(p,"text/xml");return n&&n.documentElement&&n.documentElement.tagName!="parsererror"?n:null}var j=h[0];if(b(":input[name=submit]",j).length)alert('Error: Form elements must not be named "submit".'); 1860 else{var g=b.extend({},b.ajaxSettings,a),q=b.extend(true,{},b.extend(true,{},b.ajaxSettings),g),z="jqFormIO"+(new Date).getTime(),t=b('<iframe id="'+z+'" name="'+z+'" src="'+g.iframeSrc+'" onload="(jQuery(this).data(\'form-plugin-onload\'))()" />'),v=t[0];t.css({position:"absolute",top:"-1000px",left:"-1000px"});var i={aborted:0,responseText:null,responseXML:null,status:0,statusText:"n/a",getAllResponseHeaders:function(){},getResponseHeader:function(){},setRequestHeader:function(){},abort:function(){this.aborted= 1861 1;t.attr("src",g.iframeSrc)}},w=g.global;w&&!b.active++&&b.event.trigger("ajaxStart");w&&b.event.trigger("ajaxSend",[i,g]);if(q.beforeSend&&q.beforeSend(i,q)===false)q.global&&b.active--;else if(!i.aborted){var D=false,C=0;if(q=j.clk){var y=q.name;if(y&&!q.disabled){g.extraData=g.extraData||{};g.extraData[y]=q.value;if(q.type=="image"){g.extraData[y+".x"]=j.clk_x;g.extraData[y+".y"]=j.clk_y}}}g.forceSync?r():setTimeout(r,10);var G=100}}}if(!this.length){o("ajaxSubmit: skipping submit process - no element selected"); 1862 return this}if(typeof a=="function")a={success:a};var e=b.trim(this.attr("action"));if(e)e=(e.match(/^([^#]+)/)||[])[1];e=e||window.location.href||"";a=b.extend({url:e,type:this.attr("method")||"GET",iframeSrc:/^https/i.test(window.location.href||"")?"javascript:false":"about:blank"},a||{});e={};this.trigger("form-pre-serialize",[this,a,e]);if(e.veto){o("ajaxSubmit: submit vetoed via form-pre-serialize trigger");return this}if(a.beforeSerialize&&a.beforeSerialize(this,a)===false){o("ajaxSubmit: submit aborted via beforeSerialize callback"); 1863 return this}var f=this.formToArray(a.semantic);if(a.data){a.extraData=a.data;for(var c in a.data)if(a.data[c]instanceof Array)for(var l in a.data[c])f.push({name:c,value:a.data[c][l]});else f.push({name:c,value:a.data[c]})}if(a.beforeSubmit&&a.beforeSubmit(f,this,a)===false){o("ajaxSubmit: submit aborted via beforeSubmit callback");return this}this.trigger("form-submit-validate",[f,this,a,e]);if(e.veto){o("ajaxSubmit: submit vetoed via form-submit-validate trigger");return this}c=b.param(f);if(a.type.toUpperCase()== 1864 "GET"){a.url+=(a.url.indexOf("?")>=0?"&":"?")+c;a.data=null}else a.data=c;var h=this,k=[];a.resetForm&&k.push(function(){h.resetForm()});a.clearForm&&k.push(function(){h.clearForm()});if(!a.dataType&&a.target){var x=a.success||function(){};k.push(function(r){var s=a.replaceTarget?"replaceWith":"html";b(a.target)[s](r).each(x,arguments)})}else a.success&&k.push(a.success);a.success=function(r,s,A){for(var j=0,g=k.length;j<g;j++)k[j].apply(a,[r,s,A||h,h])};c=b("input:file",this).fieldValue();l=false; 1865 for(e=0;e<c.length;e++)if(c[e])l=true;if(c.length&&a.iframe!==false||a.iframe||l||0)a.closeKeepAlive?b.get(a.closeKeepAlive,d):d();else b.ajax(a);this.trigger("form-submit-notify",[this,a]);return this};b.fn.ajaxForm=function(a){return this.ajaxFormUnbind().bind("submit.form-plugin",function(d){d.preventDefault();b(this).ajaxSubmit(a)}).bind("click.form-plugin",function(d){var e=d.target,f=b(e);if(!f.is(":submit,input:image")){e=f.closest(":submit");if(e.length==0)return;e=e[0]}var c=this;c.clk=e; 1866 if(e.type=="image")if(d.offsetX!=undefined){c.clk_x=d.offsetX;c.clk_y=d.offsetY}else if(typeof b.fn.offset=="function"){f=f.offset();c.clk_x=d.pageX-f.left;c.clk_y=d.pageY-f.top}else{c.clk_x=d.pageX-e.offsetLeft;c.clk_y=d.pageY-e.offsetTop}setTimeout(function(){c.clk=c.clk_x=c.clk_y=null},100)})};b.fn.ajaxFormUnbind=function(){return this.unbind("submit.form-plugin click.form-plugin")};b.fn.formToArray=function(a){var d=[];if(this.length==0)return d;var e=this[0],f=a?e.getElementsByTagName("*"):e.elements; 1867 if(!f)return d;for(var c=0,l=f.length;c<l;c++){var h=f[c],k=h.name;if(k)if(a&&e.clk&&h.type=="image"){if(!h.disabled&&e.clk==h){d.push({name:k,value:b(h).val()});d.push({name:k+".x",value:e.clk_x},{name:k+".y",value:e.clk_y})}}else if((h=b.fieldValue(h,true))&&h.constructor==Array)for(var x=0,r=h.length;x<r;x++)d.push({name:k,value:h[x]});else h!==null&&typeof h!="undefined"&&d.push({name:k,value:h})}if(!a&&e.clk){a=b(e.clk);f=a[0];if((k=f.name)&&!f.disabled&&f.type=="image"){d.push({name:k,value:a.val()}); 1868 d.push({name:k+".x",value:e.clk_x},{name:k+".y",value:e.clk_y})}}return d};b.fn.formSerialize=function(a){return b.param(this.formToArray(a))};b.fn.fieldSerialize=function(a){var d=[];this.each(function(){var e=this.name;if(e){var f=b.fieldValue(this,a);if(f&&f.constructor==Array)for(var c=0,l=f.length;c<l;c++)d.push({name:e,value:f[c]});else f!==null&&typeof f!="undefined"&&d.push({name:this.name,value:f})}});return b.param(d)};b.fn.fieldValue=function(a){for(var d=[],e=0,f=this.length;e<f;e++){var c= 1869 b.fieldValue(this[e],a);c===null||typeof c=="undefined"||c.constructor==Array&&!c.length||(c.constructor==Array?b.merge(d,c):d.push(c))}return d};b.fieldValue=function(a,d){var e=a.name,f=a.type,c=a.tagName.toLowerCase();if(typeof d=="undefined")d=true;if(d&&(!e||a.disabled||f=="reset"||f=="button"||(f=="checkbox"||f=="radio")&&!a.checked||(f=="submit"||f=="image")&&a.form&&a.form.clk!=a||c=="select"&&a.selectedIndex==-1))return null;if(c=="select"){c=a.selectedIndex;if(c<0)return null;d=[];a=a.options; 1870 e=(f=f=="select-one")?c+1:a.length;for(c=f?c:0;c<e;c++){var l=a[c];if(l.selected){var h=l.value;h||(h=l.attributes&&l.attributes.value&&!l.attributes.value.specified?l.text:l.value);if(f)return h;d.push(h)}}return d}return a.value};b.fn.clearForm=function(){return this.each(function(){b("input,select,textarea",this).clearFields()})};b.fn.clearFields=b.fn.clearInputs=function(){return this.each(function(){var a=this.type,d=this.tagName.toLowerCase();if(a=="text"||a=="password"||d=="textarea")this.value= 1871 "";else if(a=="checkbox"||a=="radio")this.checked=false;else if(d=="select")this.selectedIndex=-1})};b.fn.resetForm=function(){return this.each(function(){if(typeof this.reset=="function"||typeof this.reset=="object"&&!this.reset.nodeType)this.reset()})};b.fn.enable=function(a){if(a==undefined)a=true;return this.each(function(){this.disabled=!a})};b.fn.selected=function(a){if(a==undefined)a=true;return this.each(function(){var d=this.type;if(d=="checkbox"||d=="radio")this.checked=a;else if(this.tagName.toLowerCase()== 1872 "option"){d=b(this).parent("select");a&&d[0]&&d[0].type=="select-one"&&d.find("option").selected(false);this.selected=a}})}})(jQuery); 1873 ; 1874 $(function() 1875 { 1876 $("table tr").hover( 1877 function() 1878 { 1879 $(this).addClass("highlight"); 1880 }, 1881 function() 1882 { 1883 $(this).removeClass("highlight"); 1884 } 1885 ) 1886 } 1887 ) 1888 1889 $(document).ready(function() { 1890 $('body.admin-build-modules tr:has(:checkbox:disabled)').addClass('module-disabled'); 1891 1892 $("a[rel=external]").click(function() { 1893 this.target = "_blank"; 1894 }); 1895 1896 $(".description").parent().each(function(){ 1897 $(this).children('label').each(function(){ 1898 $(this).removeClass("option"); 1899 $(this).addClass("label-help"); 1900 }); 1901 }); 1902 1903 }); 1904 ; 1905 $(document).ready(function() { 1906 1907 // Expand Panel 1908 $("#open").click(function(){ 1909 $("div#panel").slideDown("slow"); 1910 1911 }); 1912 1913 // Collapse Panel 1914 $("#close").click(function(){ 1915 $("div#panel").slideUp("slow"); 1916 }); 1917 1918 // Switch buttons from "Log In | Register" to "Close Panel" on click 1919 $("#toggle a").click(function () { 1920 $("#toggle a").toggle(); 1921 }); 1922 1923 });; 1924 // $Id $ 1925 1926 /** 1927 * Cookie plugin 1928 * 1929 * Copyright (c) 2006 Klaus Hartl (stilbuero.de) 1930 * Dual licensed under the MIT and GPL licenses: 1931 * http://www.opensource.org/licenses/mit-license.php 1932 * http://www.gnu.org/licenses/gpl.html 1933 * 1934 */ 1935 1936 /** 1937 * Create a cookie with the given name and value and other optional parameters. 1938 * 1939 * @example $.cookie('the_cookie', 'the_value'); 1940 * @desc Set the value of a cookie. 1941 * @example $.cookie('the_cookie', 'the_value', { expires: 7, path: '/', domain: 'jquery.com', secure: true }); 1942 * @desc Create a cookie with all available options. 1943 * @example $.cookie('the_cookie', 'the_value'); 1944 * @desc Create a session cookie. 1945 * @example $.cookie('the_cookie', null); 1946 * @desc Delete a cookie by passing null as value. Keep in mind that you have to use the same path and domain 1947 * used when the cookie was set. 1948 * 1949 * @param String name The name of the cookie. 1950 * @param String value The value of the cookie. 1951 * @param Object options An object literal containing key/value pairs to provide optional cookie attributes. 1952 * @option Number|Date expires Either an integer specifying the expiration date from now on in days or a Date object. 1953 * If a negative value is specified (e.g. a date in the past), the cookie will be deleted. 1954 * If set to null or omitted, the cookie will be a session cookie and will not be retained 1955 * when the the browser exits. 1956 * @option String path The value of the path atribute of the cookie (default: path of page that created the cookie). 1957 * @option String domain The value of the domain attribute of the cookie (default: domain of page that created the cookie). 1958 * @option Boolean secure If true, the secure attribute of the cookie will be set and the cookie transmission will 1959 * require a secure protocol (like HTTPS). 1960 * @type undefined 1961 * 1962 * @name $.cookie 1963 * @cat Plugins/Cookie 1964 * @author Klaus Hartl/klaus.hartl@stilbuero.de 1965 */ 1966 1967 /** 1968 * Get the value of a cookie with the given name. 1969 * 1970 * @example $.cookie('the_cookie'); 1971 * @desc Get the value of a cookie. 1972 * 1973 * @param String name The name of the cookie. 1974 * @return The value of the cookie. 1975 * @type String 1976 * 1977 * @name $.cookie 1978 * @cat Plugins/Cookie 1979 * @author Klaus Hartl/klaus.hartl@stilbuero.de 1980 */ 1981 jQuery.cookie = function(name, value, options) { 1982 if (typeof value != 'undefined') { // name and value given, set cookie 1983 options = options || {}; 1984 if (value === null) { 1985 value = ''; 1986 options.expires = -1; 1987 } 1988 var expires = ''; 1989 if (options.expires && (typeof options.expires == 'number' || options.expires.toUTCString)) { 1990 var date; 1991 if (typeof options.expires == 'number') { 1992 date = new Date(); 1993 date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000)); 1994 } else { 1995 date = options.expires; 1996 } 1997 expires = '; expires=' + date.toUTCString(); // use expires attribute, max-age is not supported by IE 1998 } 1999 // CAUTION: Needed to parenthesize options.path and options.domain 2000 // in the following expressions, otherwise they evaluate to undefined 2001 // in the packed version for some reason... 2002 var path = options.path ? '; path=' + (options.path) : ''; 2003 var domain = options.domain ? '; domain=' + (options.domain) : ''; 2004 var secure = options.secure ? '; secure' : ''; 2005 document.cookie = [name, '=', encodeURIComponent(value), expires, path, domain, secure].join(''); 2006 } else { // only name given, get cookie 2007 var cookieValue = null; 2008 if (document.cookie && document.cookie != '') { 2009 var cookies = document.cookie.split(';'); 2010 for (var i = 0; i < cookies.length; i++) { 2011 var cookie = jQuery.trim(cookies[i]); 2012 // Does this cookie string begin with the name we want? 2013 if (cookie.substring(0, name.length + 1) == (name + '=')) { 2014 cookieValue = decodeURIComponent(cookie.substring(name.length + 1)); 2015 break; 2016 } 2017 } 2018 } 2019 return cookieValue; 2020 } 2021 };; 2022 // $Id $ 2023 2024 if (Drupal.jsEnabled) { 2025 $(document).ready(function() { 2026 // Which div or page element are we resizing? 2027 if (text_resize_scope) { // Admin-specified scope takes precedence. 2028 if ($('#'+text_resize_scope).length > 0) { 2029 var element_to_resize = $('#'+text_resize_scope); // ID specified by admin 2030 } 2031 else if ($('.'+text_resize_scope).length > 0) { 2032 var element_to_resize = $('.'+text_resize_scope); // CLASS specified by admin 2033 } 2034 else { 2035 var element_to_resize = $(text_resize_scope); // It's just a tag specified by admin 2036 } 2037 } 2038 else { // Look for some default scopes that might exist. 2039 if ($('DIV.left-corner').length > 0) { 2040 var element_to_resize = $('DIV.left-corner'); // Main body div for Garland 2041 } 2042 else if ($('#content-inner').length > 0) { 2043 var element_to_resize = $('#content-inner'); // Main body div for Zen-based themes 2044 } 2045 else if ($('#squeeze > #content').length > 0) { 2046 var element_to_resize = $('#squeeze > #content'); // Main body div for Zen Classic 2047 } 2048 } 2049 // Set the initial font size if necessary 2050 if ($.cookie('text_resize') != null) { 2051 element_to_resize.css('font-size', parseFloat($.cookie('text_resize')) + 'px'); 2052 //alert( "Should be size: " + $.cookie('text_resize')); 2053 } 2054 else { 2055 //alert('Couldn\'t find text_resize cookie.'); 2056 } 2057 if (text_resize_line_height_allow) { 2058 //alert('line height adjustment allowed! The current line-height is '+parseFloat(element_to_resize.css('line-height'), 10)); 2059 // Set the initial line height if necessary 2060 if ($.cookie('text_resize_line_height') != null) { 2061 element_to_resize.css('line-height', parseFloat($.cookie('text_resize_line_height')) + 'px'); 2062 } 2063 } 2064 // Changer links will change the text size when clicked 2065 $('a.changer').click(function() { 2066 // Set the current font size of the specified section as a variable 2067 var currentFontSize = parseFloat(element_to_resize.css('font-size'), 10); 2068 //alert('currentFontSize = '+currentFontSize); 2069 // Set the current line-height 2070 var current_line_height = parseFloat(element_to_resize.css('line-height'), 10); 2071 //alert('current_line_height = '+current_line_height); 2072 // javascript lets us choose which link was clicked, by ID 2073 if (this.id == 'text_resize_increase') { 2074 var new_font_size = currentFontSize * 1.2; 2075 if (text_resize_line_height_allow) { var new_line_height = current_line_height * 1.2; } 2076 // Allow resizing as long as font size doesn't go above text_resize_maximum. 2077 if (new_font_size <= text_resize_maximum) { 2078 $.cookie('text_resize', new_font_size, { path: '/' }); 2079 if (text_resize_line_height_allow) { $.cookie('text_resize_line_height', new_line_height, { path: '/' }); } 2080 var allow_change = true; 2081 } 2082 else { 2083 $.cookie('text_resize', text_resize_maximum, { path: '/' }); 2084 if (text_resize_line_height_allow) { $.cookie('text_resize_line_height', text_resize_line_height_max, { path: '/' }); } 2085 var reset_size_max = true; 2086 } 2087 } 2088 else if (this.id == 'text_resize_decrease') { 2089 var new_font_size = currentFontSize * 0.8; 2090 if (text_resize_line_height_allow) { var new_line_height = current_line_height * 0.8; } 2091 if (new_font_size >= text_resize_minimum) { 2092 // Allow resizing as long as font size doesn't go below text_resize_minimum. 2093 $.cookie('text_resize', new_font_size, { path: '/' }); 2094 if (text_resize_line_height_allow) { $.cookie('text_resize_line_height', new_line_height, { path: '/' }); } 2095 var allow_change = true; 2096 } 2097 else { 2098 // If it goes below text_resize_minimum, just leave it at text_resize_minimum. 2099 $.cookie('text_resize', text_resize_minimum, { path: '/' }); 2100 if (text_resize_line_height_allow) { $.cookie('text_resize_line_height', text_resize_line_height_min, { path: '/' }); } 2101 var reset_size_min = true; 2102 } 2103 } 2104 else if (this.id == 'text_resize_reset') { 2105 $.cookie('text_resize', text_resize_minimum, { path: '/' }); 2106 if (text_resize_line_height_allow) { $.cookie('text_resize_line_height', text_resize_line_height_min, { path: '/' }); } 2107 var reset_size_min = true; 2108 } 2109 // jQuery lets us set the font size value of the main text div 2110 if (allow_change == true) { 2111 element_to_resize.css('font-size', new_font_size + 'px'); // Add 'px' onto the end, otherwise ems are used as units by default 2112 if (text_resize_line_height_allow) { element_to_resize.css('line-height', new_line_height + 'px'); } 2113 return false; 2114 } 2115 else if (reset_size_min == true) { 2116 element_to_resize.css('font-size', text_resize_minimum + 'px'); 2117 if (text_resize_line_height_allow) { element_to_resize.css('line-height', text_resize_line_height_min + 'px'); } 2118 return false; 2119 } 2120 else if (reset_size_max == true) { 2121 element_to_resize.css('font-size', text_resize_maximum + 'px'); 2122 if (text_resize_line_height_allow) { element_to_resize.css('line-height', text_resize_line_height_max + 'px'); } 2123 return false; 2124 } 2125 }); 2126 }); 2127 } 2128 // My random jquery 2129 if (Drupal.jsEnabled) { 2130 $(document).ready(function() { 2131 if (jQuery().equalHeights) { 2132 $("div.sidebar-first-inner div.sidebar-last-inner").equalHeights(); 2133 } 2134 }); 2135 } 2136 ;
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
| Generated: Thu Mar 24 11:18:33 2011 | Cross-referenced by PHPXref 0.7 |