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