﻿(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.makeArray(E))},selector:"",jquery:"1.3.1",size:function(){return this.length},get:function(E){return E===g?o.makeArray(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,find:function(E){if(this.length===1&&!/,/.test(E)){var G=this.pushStack([],"find",E);G.length=0;o.find(E,this[0],G);return G}else{var F=o.map(this,function(H){return o.find(E,H)});return this.pushStack(/[^+>] [^+>]/.test(E)?o.unique(F):F,"find",E)}},clone:function(F){var E=this.map(function(){if(!o.support.noCloneEvent&&!o.isXMLDoc(this)){var I=this.cloneNode(true),H=document.createElement("div");H.appendChild(I);return o.clean([H.innerHTML])[0]}else{return this.cloneNode(true)}});var G=E.find("*").andSelf().each(function(){if(this[h]!==g){this[h]=null}});if(F===true){this.find("*").andSelf().each(function(I){if(this.nodeType==3){return}var H=o.data(this,"events");for(var K in H){for(var J in H[K]){o.event.add(G[I],K,H[K][J],H[K][J].data)}}})}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 F=o.expr.match.POS.test(E)?o(E):null;return this.map(function(){var G=this;while(G&&G.ownerDocument){if(F?F.index(G)>-1:o(G).is(E)){return G}G=G.parentNode}})},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: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(K,N,M){if(this[0]){var J=(this[0].ownerDocument||this[0]).createDocumentFragment(),G=o.clean(K,(this[0].ownerDocument||this[0]),J),I=J.firstChild,E=this.length>1?J.cloneNode(true):J;if(I){for(var H=0,F=this.length;H<F;H++){M.call(L(this[H],I),H>0?E.cloneNode(true):J)}}if(G){o.each(G,z)}}return this;function L(O,P){return N&&o.nodeName(O,"table")&&o.nodeName(P,"tr")?(O.getElementsByTagName("tbody")[0]||O.appendChild(O.ownerDocument.createElement("tbody"))):O}}};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){G=o.trim(G);if(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(G,E,I){if(E=="width"||E=="height"){var K,F={position:"absolute",visibility:"hidden",display:"block"},J=E=="width"?["Left","Right"]:["Top","Bottom"];function H(){K=E=="width"?G.offsetWidth:G.offsetHeight;var M=0,L=0;o.each(J,function(){M+=parseFloat(o.curCSS(G,"padding"+this,true))||0;L+=parseFloat(o.curCSS(G,"border"+this+"Width",true))||0});K-=Math.round(M+L)}if(o(G).is(":visible")){H()}else{o.swap(G,F,H)}return Math.max(0,K)}return o.curCSS(G,E,I)},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,R){if(typeof R==="number"){R+=""}if(!R){return}if(typeof R==="string"){R=R.replace(/(<(\w+)[^>]*?)\/>/g,function(T,U,S){return S.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i)?T:U+"></"+S+">"});var O=o.trim(R).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]+R+Q[2];while(Q[0]--){L=L.lastChild}if(!o.support.tbody){var N=!O.indexOf("<table")&&O.indexOf("<tbody")<0?L.firstChild&&L.firstChild.childNodes:Q[1]=="<table>"&&O.indexOf("<tbody")<0?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(R)){L.insertBefore(K.createTextNode(R.match(/^\s*/)[0]),L.firstChild)}R=o.makeArray(L.childNodes)}if(R.nodeType){G.push(R)}else{G=o.merge(G,R)}});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(){var G=arguments;return this.each(function(){for(var H=0,I=G.length;H<I;H++){o(G[H])[F](this)}})}});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).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)})}});
(function() { var Q = /((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]+['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[]+)+|[>+~])(\s*,\s*)?/g, K = 0, G = Object.prototype.toString; var F = function(X, T, aa, ab) { aa = aa || []; T = T || document; if (T.nodeType !== 1 && T.nodeType !== 9) { return [] } if (!X || typeof X !== "string") { return aa } var Y = [], V, ae, ah, S, ac, U, W = true; Q.lastIndex = 0; while ((V = Q.exec(X)) !== null) { Y.push(V[1]); if (V[2]) { U = RegExp.rightContext; break } } if (Y.length > 1 && L.exec(X)) { if (Y.length === 2 && H.relative[Y[0]]) { ae = I(Y[0] + Y[1], T) } else { ae = H.relative[Y[0]] ? [T] : F(Y.shift(), T); while (Y.length) { X = Y.shift(); if (H.relative[X]) { X += Y.shift() } ae = I(X, ae) } } } else { var ad = ab ? { expr: Y.pop(), set: E(ab)} : F.find(Y.pop(), Y.length === 1 && T.parentNode ? T.parentNode : T, P(T)); ae = F.filter(ad.expr, ad.set); if (Y.length > 0) { ah = E(ae) } else { W = false } while (Y.length) { var ag = Y.pop(), af = ag; if (!H.relative[ag]) { ag = "" } else { af = Y.pop() } if (af == null) { af = T } H.relative[ag](ah, af, P(T)) } } if (!ah) { ah = ae } if (!ah) { throw "Syntax error, unrecognized expression: " + (ag || X) } if (G.call(ah) === "[object Array]") { if (!W) { aa.push.apply(aa, ah) } else { if (T.nodeType === 1) { for (var Z = 0; ah[Z] != null; Z++) { if (ah[Z] && (ah[Z] === true || ah[Z].nodeType === 1 && J(T, ah[Z]))) { aa.push(ae[Z]) } } } else { for (var Z = 0; ah[Z] != null; Z++) { if (ah[Z] && ah[Z].nodeType === 1) { aa.push(ae[Z]) } } } } } else { E(ah, aa) } if (U) { F(U, T, aa, ab) } return aa }; F.matches = function(S, T) { return F(S, null, null, T) }; F.find = function(Z, S, aa) { var Y, W; if (!Z) { return [] } for (var V = 0, U = H.order.length; V < U; V++) { var X = H.order[V], W; if ((W = H.match[X].exec(Z))) { var T = RegExp.leftContext; if (T.substr(T.length - 1) !== "\\") { W[1] = (W[1] || "").replace(/\\/g, ""); Y = H.find[X](W, S, aa); if (Y != null) { Z = Z.replace(H.match[X], ""); break } } } } if (!Y) { Y = S.getElementsByTagName("*") } return { set: Y, expr: Z} }; F.filter = function(ab, aa, ae, V) { var U = ab, ag = [], Y = aa, X, S; while (ab && aa.length) { for (var Z in H.filter) { if ((X = H.match[Z].exec(ab)) != null) { var T = H.filter[Z], af, ad; S = false; if (Y == ag) { ag = [] } if (H.preFilter[Z]) { X = H.preFilter[Z](X, Y, ae, ag, V); if (!X) { S = af = true } else { if (X === true) { continue } } } if (X) { for (var W = 0; (ad = Y[W]) != null; W++) { if (ad) { af = T(ad, X, W, Y); var ac = V ^ !!af; if (ae && af != null) { if (ac) { S = true } else { Y[W] = false } } else { if (ac) { ag.push(ad); S = true } } } } } if (af !== g) { if (!ae) { Y = ag } ab = ab.replace(H.match[Z], ""); if (!S) { return [] } break } } } ab = ab.replace(/\s*,\s*/, ""); if (ab == U) { if (S == null) { throw "Syntax error, unrecognized expression: " + ab } else { break } } U = ab } return Y }; var H = 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(S) { return S.getAttribute("href") } }, relative: { "+": function(W, T) { for (var U = 0, S = W.length; U < S; U++) { var V = W[U]; if (V) { var X = V.previousSibling; while (X && X.nodeType !== 1) { X = X.previousSibling } W[U] = typeof T === "string" ? X || false : X === T } } if (typeof T === "string") { F.filter(T, W, true) } }, ">": function(X, T, Y) { if (typeof T === "string" && !/\W/.test(T)) { T = Y ? T : T.toUpperCase(); for (var U = 0, S = X.length; U < S; U++) { var W = X[U]; if (W) { var V = W.parentNode; X[U] = V.nodeName === T ? V : false } } } else { for (var U = 0, S = X.length; U < S; U++) { var W = X[U]; if (W) { X[U] = typeof T === "string" ? W.parentNode : W.parentNode === T } } if (typeof T === "string") { F.filter(T, X, true) } } }, "": function(V, T, X) { var U = "done" + (K++), S = R; if (!T.match(/\W/)) { var W = T = X ? T : T.toUpperCase(); S = O } S("parentNode", T, U, V, W, X) }, "~": function(V, T, X) { var U = "done" + (K++), S = R; if (typeof T === "string" && !T.match(/\W/)) { var W = T = X ? T : T.toUpperCase(); S = O } S("previousSibling", T, U, V, W, X) } }, find: { ID: function(T, U, V) { if (typeof U.getElementById !== "undefined" && !V) { var S = U.getElementById(T[1]); return S ? [S] : [] } }, NAME: function(S, T, U) { if (typeof T.getElementsByName !== "undefined" && !U) { return T.getElementsByName(S[1]) } }, TAG: function(S, T) { return T.getElementsByTagName(S[1]) } }, preFilter: { CLASS: function(V, T, U, S, Y) { V = " " + V[1].replace(/\\/g, "") + " "; var X; for (var W = 0; (X = T[W]) != null; W++) { if (X) { if (Y ^ (" " + X.className + " ").indexOf(V) >= 0) { if (!U) { S.push(X) } } else { if (U) { T[W] = false } } } } return false }, ID: function(S) { return S[1].replace(/\\/g, "") }, TAG: function(T, S) { for (var U = 0; S[U] === false; U++) { } return S[U] && P(S[U]) ? T[1] : T[1].toUpperCase() }, CHILD: function(S) { if (S[1] == "nth") { var T = /(-?)(\d*)n((?:\+|-)?\d*)/.exec(S[2] == "even" && "2n" || S[2] == "odd" && "2n+1" || !/\D/.test(S[2]) && "0n+" + S[2] || S[2]); S[2] = (T[1] + (T[2] || 1)) - 0; S[3] = T[3] - 0 } S[0] = "done" + (K++); return S }, ATTR: function(T) { var S = T[1].replace(/\\/g, ""); if (H.attrMap[S]) { T[1] = H.attrMap[S] } if (T[2] === "~=") { T[4] = " " + T[4] + " " } return T }, PSEUDO: function(W, T, U, S, X) { if (W[1] === "not") { if (W[3].match(Q).length > 1) { W[3] = F(W[3], null, null, T) } else { var V = F.filter(W[3], T, U, true ^ X); if (!U) { S.push.apply(S, V) } return false } } else { if (H.match.POS.test(W[0])) { return true } } return W }, POS: function(S) { S.unshift(true); return S } }, filters: { enabled: function(S) { return S.disabled === false && S.type !== "hidden" }, disabled: function(S) { return S.disabled === true }, checked: function(S) { return S.checked === true }, selected: function(S) { S.parentNode.selectedIndex; return S.selected === true }, parent: function(S) { return !!S.firstChild }, empty: function(S) { return !S.firstChild }, has: function(U, T, S) { return !!F(S[3], U).length }, header: function(S) { return /h\d/i.test(S.nodeName) }, text: function(S) { return "text" === S.type }, radio: function(S) { return "radio" === S.type }, checkbox: function(S) { return "checkbox" === S.type }, file: function(S) { return "file" === S.type }, password: function(S) { return "password" === S.type }, submit: function(S) { return "submit" === S.type }, image: function(S) { return "image" === S.type }, reset: function(S) { return "reset" === S.type }, button: function(S) { return "button" === S.type || S.nodeName.toUpperCase() === "BUTTON" }, input: function(S) { return /input|select|textarea|button/i.test(S.nodeName) } }, setFilters: { first: function(T, S) { return S === 0 }, last: function(U, T, S, V) { return T === V.length - 1 }, even: function(T, S) { return S % 2 === 0 }, odd: function(T, S) { return S % 2 === 1 }, lt: function(U, T, S) { return T < S[3] - 0 }, gt: function(U, T, S) { return T > S[3] - 0 }, nth: function(U, T, S) { return S[3] - 0 == T }, eq: function(U, T, S) { return S[3] - 0 == T } }, filter: { CHILD: function(S, V) { var Y = V[1], Z = S.parentNode; var X = V[0]; if (Z && (!Z[X] || !S.nodeIndex)) { var W = 1; for (var T = Z.firstChild; T; T = T.nextSibling) { if (T.nodeType == 1) { T.nodeIndex = W++ } } Z[X] = W - 1 } if (Y == "first") { return S.nodeIndex == 1 } else { if (Y == "last") { return S.nodeIndex == Z[X] } else { if (Y == "only") { return Z[X] == 1 } else { if (Y == "nth") { var ab = false, U = V[2], aa = V[3]; if (U == 1 && aa == 0) { return true } if (U == 0) { if (S.nodeIndex == aa) { ab = true } } else { if ((S.nodeIndex - aa) % U == 0 && (S.nodeIndex - aa) / U >= 0) { ab = true } } return ab } } } } }, PSEUDO: function(Y, U, V, Z) { var T = U[1], W = H.filters[T]; if (W) { return W(Y, V, U, Z) } else { if (T === "contains") { return (Y.textContent || Y.innerText || "").indexOf(U[3]) >= 0 } else { if (T === "not") { var X = U[3]; for (var V = 0, S = X.length; V < S; V++) { if (X[V] === Y) { return false } } return true } } } }, ID: function(T, S) { return T.nodeType === 1 && T.getAttribute("id") === S }, TAG: function(T, S) { return (S === "*" && T.nodeType === 1) || T.nodeName === S }, CLASS: function(T, S) { return S.test(T.className) }, ATTR: function(W, U) { var S = H.attrHandle[U[1]] ? H.attrHandle[U[1]](W) : W[U[1]] || W.getAttribute(U[1]), X = S + "", V = U[2], T = U[4]; return S == null ? V === "!=" : V === "=" ? X === T : V === "*=" ? X.indexOf(T) >= 0 : V === "~=" ? (" " + X + " ").indexOf(T) >= 0 : !U[4] ? S : V === "!=" ? X != T : V === "^=" ? X.indexOf(T) === 0 : V === "$=" ? X.substr(X.length - T.length) === T : V === "|=" ? X === T || X.substr(0, T.length + 1) === T + "-" : false }, POS: function(W, T, U, X) { var S = T[2], V = H.setFilters[S]; if (V) { return V(W, U, T, X) } } } }; var L = H.match.POS; for (var N in H.match) { H.match[N] = RegExp(H.match[N].source + /(?![^\[]*\])(?![^\(]*\))/.source) } var E = function(T, S) { T = Array.prototype.slice.call(T); if (S) { S.push.apply(S, T); return S } return T }; try { Array.prototype.slice.call(document.documentElement.childNodes) } catch (M) { E = function(W, V) { var T = V || []; if (G.call(W) === "[object Array]") { Array.prototype.push.apply(T, W) } else { if (typeof W.length === "number") { for (var U = 0, S = W.length; U < S; U++) { T.push(W[U]) } } else { for (var U = 0; W[U]; U++) { T.push(W[U]) } } } return T } } (function() { var T = document.createElement("form"), U = "script" + (new Date).getTime(); T.innerHTML = "<input name='" + U + "'/>"; var S = document.documentElement; S.insertBefore(T, S.firstChild); if (!!document.getElementById(U)) { H.find.ID = function(W, X, Y) { if (typeof X.getElementById !== "undefined" && !Y) { var V = X.getElementById(W[1]); return V ? V.id === W[1] || typeof V.getAttributeNode !== "undefined" && V.getAttributeNode("id").nodeValue === W[1] ? [V] : g : [] } }; H.filter.ID = function(X, V) { var W = typeof X.getAttributeNode !== "undefined" && X.getAttributeNode("id"); return X.nodeType === 1 && W && W.nodeValue === V } } S.removeChild(T) })(); (function() { var S = document.createElement("div"); S.appendChild(document.createComment("")); if (S.getElementsByTagName("*").length > 0) { H.find.TAG = function(T, X) { var W = X.getElementsByTagName(T[1]); if (T[1] === "*") { var V = []; for (var U = 0; W[U]; U++) { if (W[U].nodeType === 1) { V.push(W[U]) } } W = V } return W } } S.innerHTML = "<a href='#'></a>"; if (S.firstChild && S.firstChild.getAttribute("href") !== "#") { H.attrHandle.href = function(T) { return T.getAttribute("href", 2) } } })(); if (document.querySelectorAll) { (function() { var S = F, T = document.createElement("div"); T.innerHTML = "<p class='TEST'></p>"; if (T.querySelectorAll && T.querySelectorAll(".TEST").length === 0) { return } F = function(X, W, U, V) { W = W || document; if (!V && W.nodeType === 9 && !P(W)) { try { return E(W.querySelectorAll(X), U) } catch (Y) { } } return S(X, W, U, V) }; F.find = S.find; F.filter = S.filter; F.selectors = S.selectors; F.matches = S.matches })() } if (document.getElementsByClassName && document.documentElement.getElementsByClassName) { H.order.splice(1, 0, "CLASS"); H.find.CLASS = function(S, T) { return T.getElementsByClassName(S[1]) } } function O(T, Z, Y, ac, aa, ab) { for (var W = 0, U = ac.length; W < U; W++) { var S = ac[W]; if (S) { S = S[T]; var X = false; while (S && S.nodeType) { var V = S[Y]; if (V) { X = ac[V]; break } if (S.nodeType === 1 && !ab) { S[Y] = W } if (S.nodeName === Z) { X = S; break } S = S[T] } ac[W] = X } } } function R(T, Y, X, ab, Z, aa) { for (var V = 0, U = ab.length; V < U; V++) { var S = ab[V]; if (S) { S = S[T]; var W = false; while (S && S.nodeType) { if (S[X]) { W = ab[S[X]]; break } if (S.nodeType === 1) { if (!aa) { S[X] = V } if (typeof Y !== "string") { if (S === Y) { W = true; break } } else { if (F.filter(Y, [S]).length > 0) { W = S; break } } } S = S[T] } ab[V] = W } } } var J = document.compareDocumentPosition ? function(T, S) { return T.compareDocumentPosition(S) & 16 } : function(T, S) { return T !== S && (T.contains ? T.contains(S) : true) }; var P = function(S) { return S.nodeType === 9 && S.documentElement.nodeName !== "HTML" || !!S.ownerDocument && P(S.ownerDocument) }; var I = function(S, Z) { var V = [], W = "", X, U = Z.nodeType ? [Z] : Z; while ((X = H.match.PSEUDO.exec(S))) { W += X[0]; S = S.replace(H.match.PSEUDO, "") } S = H.relative[S] ? S + "*" : S; for (var Y = 0, T = U.length; Y < T; Y++) { F(S, U[Y], V) } return F.filter(W, V) }; o.find = F; o.filter = F.filter; o.expr = F.selectors; o.expr[":"] = o.expr.filters; F.selectors.filters.hidden = function(S) { return "hidden" === S.type || o.css(S, "display") === "none" || o.css(S, "visibility") === "hidden" }; F.selectors.filters.visible = function(S) { return "hidden" !== S.type && o.css(S, "display") !== "none" && o.css(S, "visibility") !== "hidden" }; F.selectors.filters.animated = function(S) { return o.grep(o.timers, function(T) { return S === T.elem }).length }; o.multiFilter = function(U, S, T) { if (T) { U = ":not(" + U + ")" } return F.matches(U, S) }; o.dir = function(U, T) { var S = [], V = U[T]; while (V && V != document) { if (V.nodeType == 1) { S.push(V) } V = V[T] } return S }; o.nth = function(W, S, U, V) { S = S || 1; var T = 0; for (; W; W = W[U]) { if (W.nodeType == 1 && ++T == S) { break } } return W }; o.sibling = function(U, T) { var S = []; for (; U; U = U.nextSibling) { if (U.nodeType == 1 && U != T) { S.push(U) } } return S }; 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); 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 }) } } }); o.each(F, function() { if (this.fn.call(this.elem, H, this.fn.data) === false) { 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 && typeof l.frameElement === "undefined") { (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 = "1px"; L.style.paddingLeft = "1px"; document.body.appendChild(L); o.boxModel = o.support.boxModel = L.offsetWidth === 2; document.body.removeChild(L) }) })(); 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/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(); 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 } this[H].style.display = o.data(this[H], "olddisplay", K) } } 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")) } 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) == 1) { 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) } }, 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(H, F) { var E = H ? "Left" : "Top", G = H ? "Right" : "Bottom"; o.fn["inner" + F] = function() { return this[F.toLowerCase()]() + j(this, "padding" + E) + j(this, "padding" + G) }; o.fn["outer" + F] = function(J) { return this["inner" + F]() + j(this, "border" + E + "Width") + j(this, "border" + G + "Width") + (J ? j(this, "margin" + E) + j(this, "margin" + G) : 0) }; var I = F.toLowerCase(); o.fn[I] = function(J) { return this[0] == l ? document.compatMode == "CSS1Compat" && document.documentElement["client" + F] || document.body["client" + F] : this[0] == document ? Math.max(document.documentElement["client" + F], document.body["scroll" + F], document.documentElement["scroll" + F], document.body["offset" + F], document.documentElement["offset" + F]) : J === g ? (this.length ? o.css(this[0], I) : null) : this.css(I, typeof J === "string" ? J : J + "px") } })
})();
function get_css(rule_name, stylesheet, delete_flag) { if (!document.styleSheets) return false; rule_name = rule_name.toLowerCase(); stylesheet = stylesheet || 0; for (var i = stylesheet; i < document.styleSheets.length; i++) { var styleSheet = document.styleSheets[i]; css_rules = document.styleSheets[i].cssRules || document.styleSheets[i].rules; if (!css_rules) continue; var j = 0; do { if (css_rules.length && j > css_rules.length + 5) return false; if (css_rules[j].selectorText && css_rules[j].selectorText.toLowerCase() == rule_name) { if (delete_flag == true) { if (document.styleSheets[i].removeRule) document.styleSheets[i].removeRule(j); if (document.styleSheets[i].deleteRule) document.styleSheets[i].deleteRule(j); return true } else return css_rules[j] } } while (css_rules[++j]) } return false } function add_css(rule_name, stylesheet) { rule_name = rule_name.toLowerCase(); stylesheet = stylesheet || 0; if (!document.styleSheets || get_css(rule_name, stylesheet)) return false; (document.styleSheets[stylesheet].insertRule) ? document.styleSheets[stylesheet].insertRule(rule_name + ' { }', 0) : document.styleSheets[stylesheet].addRule(rule_name, null, 0); return get_css(rule_name, stylesheet) } function get_sheet_num(href_name) { if (!document.styleSheets) return false; for (var i = 0; i < document.styleSheets.length; i++) { if (document.styleSheets[i].href && document.styleSheets[i].href.toString().match(href_name)) return i } return false } function remove_css(rule_name, stylesheet) { return get_css(rule_name, stylesheet, true) } function add_sheet(url, media) { if (document.createStyleSheet) { document.createStyleSheet(url) } else { var newSS = document.createElement('link'); newSS.rel = 'stylesheet'; newSS.type = 'text/css'; newSS.media = media || "all"; newSS.href = url; document.getElementsByTagName("head")[0].appendChild(newSS) } }
function Sarissa() { }Sarissa.VERSION = "0.9.9.4"; Sarissa.PARSED_OK = "Document contains no parsing errors"; Sarissa.PARSED_EMPTY = "Document is empty"; Sarissa.PARSED_UNKNOWN_ERROR = "Not well-formed or other error"; Sarissa.IS_ENABLED_TRANSFORM_NODE = false; Sarissa.REMOTE_CALL_FLAG = "gr.abiss.sarissa.REMOTE_CALL_FLAG"; Sarissa._lastUniqueSuffix = 0; Sarissa._getUniqueSuffix = function() { return Sarissa._lastUniqueSuffix++; }; Sarissa._SARISSA_IEPREFIX4XSLPARAM = ""; Sarissa._SARISSA_HAS_DOM_IMPLEMENTATION = document.implementation && true; Sarissa._SARISSA_HAS_DOM_CREATE_DOCUMENT = Sarissa._SARISSA_HAS_DOM_IMPLEMENTATION && document.implementation.createDocument; Sarissa._SARISSA_HAS_DOM_FEATURE = Sarissa._SARISSA_HAS_DOM_IMPLEMENTATION && document.implementation.hasFeature; Sarissa._SARISSA_IS_MOZ = Sarissa._SARISSA_HAS_DOM_CREATE_DOCUMENT && Sarissa._SARISSA_HAS_DOM_FEATURE; Sarissa._SARISSA_IS_SAFARI = navigator.userAgent.toLowerCase().indexOf("safari") != -1 || navigator.userAgent.toLowerCase().indexOf("konqueror") != -1; Sarissa._SARISSA_IS_SAFARI_OLD = Sarissa._SARISSA_IS_SAFARI && (parseInt((navigator.userAgent.match(/AppleWebKit\/(\d+)/) || {})[1], 10) < 420); Sarissa._SARISSA_IS_IE = document.all && window.ActiveXObject && navigator.userAgent.toLowerCase().indexOf("msie") > -1 && navigator.userAgent.toLowerCase().indexOf("opera") == -1; Sarissa._SARISSA_IS_OPERA = navigator.userAgent.toLowerCase().indexOf("opera") != -1; if (!window.Node || !Node.ELEMENT_NODE) { Node = { ELEMENT_NODE: 1, ATTRIBUTE_NODE: 2, TEXT_NODE: 3, CDATA_SECTION_NODE: 4, ENTITY_REFERENCE_NODE: 5, ENTITY_NODE: 6, PROCESSING_INSTRUCTION_NODE: 7, COMMENT_NODE: 8, DOCUMENT_NODE: 9, DOCUMENT_TYPE_NODE: 10, DOCUMENT_FRAGMENT_NODE: 11, NOTATION_NODE: 12 }; }if (Sarissa._SARISSA_IS_SAFARI_OLD) { HTMLHtmlElement = document.createElement("html").constructor; Node = HTMLElement = {}; HTMLElement.prototype = HTMLHtmlElement.__proto__.__proto__; HTMLDocument = Document = document.constructor; var x = new DOMParser(); XMLDocument = x.constructor; Element = x.parseFromString("<Single />", "text/xml").documentElement.constructor; x = null; }if (typeof XMLDocument == "undefined" && typeof Document != "undefined") { XMLDocument = Document; }if (Sarissa._SARISSA_IS_IE) { Sarissa._SARISSA_IEPREFIX4XSLPARAM = "xsl:"; var _SARISSA_DOM_PROGID = ""; var _SARISSA_XMLHTTP_PROGID = ""; var _SARISSA_DOM_XMLWRITER = ""; Sarissa.pickRecentProgID = function(idList) { var bFound = false, e; var o2Store; for (var i = 0; i < idList.length && !bFound; i++) { try { var oDoc = new ActiveXObject(idList[i]); o2Store = idList[i]; bFound = true; } catch (objException) { e = objException; } } if (!bFound) { throw "Could not retrieve a valid progID of Class: " + idList[idList.length - 1] + ". (original exception: " + e + ")"; } idList = null; return o2Store; }; _SARISSA_DOM_PROGID = null; _SARISSA_THREADEDDOM_PROGID = null; _SARISSA_XSLTEMPLATE_PROGID = null; _SARISSA_XMLHTTP_PROGID = null; XMLHttpRequest = function() { if (!_SARISSA_XMLHTTP_PROGID) { _SARISSA_XMLHTTP_PROGID = Sarissa.pickRecentProgID(["Msxml2.XMLHTTP.6.0", "MSXML2.XMLHTTP.3.0", "MSXML2.XMLHTTP", "Microsoft.XMLHTTP"]); } return new ActiveXObject(_SARISSA_XMLHTTP_PROGID); }; Sarissa.getDomDocument = function(sUri, sName) { if (!_SARISSA_DOM_PROGID) { _SARISSA_DOM_PROGID = Sarissa.pickRecentProgID(["Msxml2.DOMDocument.6.0", "Msxml2.DOMDocument.3.0", "MSXML2.DOMDocument", "MSXML.DOMDocument", "Microsoft.XMLDOM"]); } var oDoc = new ActiveXObject(_SARISSA_DOM_PROGID); if (sName) { var prefix = ""; if (sUri) { if (sName.indexOf(":") > 1) { prefix = sName.substring(0, sName.indexOf(":")); sName = sName.substring(sName.indexOf(":") + 1); } else { prefix = "a" + Sarissa._getUniqueSuffix(); } } if (sUri) { oDoc.loadXML('<' + prefix + ':' + sName + " xmlns:" + prefix + "=\"" + sUri + "\"" + " />"); } else { oDoc.loadXML('<' + sName + " />"); }  } return oDoc; }; Sarissa.getParseErrorText = function(oDoc) { var parseErrorText = Sarissa.PARSED_OK; if (oDoc && oDoc.parseError && oDoc.parseError.errorCode && oDoc.parseError.errorCode != 0) { parseErrorText = "XML Parsing Error: " + oDoc.parseError.reason + "\nLocation: " + oDoc.parseError.url + "\nLine Number " + oDoc.parseError.line + ", Column " +oDoc.parseError.linepos + ":\n" + oDoc.parseError.srcText + "\n"; for (var i = 0; i < oDoc.parseError.linepos; i++) { parseErrorText += "-"; } parseErrorText += "^\n"; } else if (oDoc.documentElement === null) { parseErrorText = Sarissa.PARSED_EMPTY; } return parseErrorText; }; Sarissa.setXpathNamespaces = function(oDoc, sNsSet) { oDoc.setProperty("SelectionLanguage", "XPath"); oDoc.setProperty("SelectionNamespaces", sNsSet); }; XSLTProcessor = function() { if (!_SARISSA_XSLTEMPLATE_PROGID) { _SARISSA_XSLTEMPLATE_PROGID = Sarissa.pickRecentProgID(["Msxml2.XSLTemplate.6.0", "MSXML2.XSLTemplate.3.0"]); } this.template = new ActiveXObject(_SARISSA_XSLTEMPLATE_PROGID); this.processor = null; }; XSLTProcessor.prototype.importStylesheet = function(xslDoc) { if (!_SARISSA_THREADEDDOM_PROGID) { _SARISSA_THREADEDDOM_PROGID = Sarissa.pickRecentProgID(["MSXML2.FreeThreadedDOMDocument.6.0", "MSXML2.FreeThreadedDOMDocument.3.0"]); } xslDoc.setProperty("SelectionLanguage", "XPath"); xslDoc.setProperty("SelectionNamespaces", "xmlns:xsl='http://www.w3.org/1999/XSL/Transform'"); var converted = new ActiveXObject(_SARISSA_THREADEDDOM_PROGID); try { converted.resolveExternals = true; converted.setProperty("AllowDocumentFunction", true); } catch (e) { } if (xslDoc.url && xslDoc.selectSingleNode("//xsl:*[local-name() = 'import' or local-name() = 'include']") != null) { converted.async = false; converted.load(xslDoc.url); } else { converted.loadXML(xslDoc.xml); } converted.setProperty("SelectionNamespaces", "xmlns:xsl='http://www.w3.org/1999/XSL/Transform'"); var output = converted.selectSingleNode("//xsl:output"); if (output) { this.outputMethod = output.getAttribute("method"); } else { delete this.outputMethod; } this.template.stylesheet = converted; this.processor = this.template.createProcessor(); this.paramsSet = []; }; XSLTProcessor.prototype.transformToDocument = function(sourceDoc) { var outDoc; if (_SARISSA_THREADEDDOM_PROGID) { this.processor.input = sourceDoc; outDoc = new ActiveXObject(_SARISSA_DOM_PROGID); this.processor.output = outDoc; this.processor.transform(); return outDoc; } else { if (!_SARISSA_DOM_XMLWRITER) { _SARISSA_DOM_XMLWRITER = Sarissa.pickRecentProgID(["Msxml2.MXXMLWriter.6.0", "Msxml2.MXXMLWriter.3.0", "MSXML2.MXXMLWriter", "MSXML.MXXMLWriter", "Microsoft.XMLDOM"]); } this.processor.input = sourceDoc; outDoc = new ActiveXObject(_SARISSA_DOM_XMLWRITER); this.processor.output = outDoc; this.processor.transform(); var oDoc = new ActiveXObject(_SARISSA_DOM_PROGID); oDoc.loadXML(outDoc.output + ""); return oDoc; }  }; XSLTProcessor.prototype.transformToFragment = function(sourceDoc, ownerDoc) { this.processor.input = sourceDoc; this.processor.transform(); var s = this.processor.output; var f = ownerDoc.createDocumentFragment(); var container; if (this.outputMethod == 'text') { f.appendChild(ownerDoc.createTextNode(s)); } else if (ownerDoc.body && ownerDoc.body.innerHTML) { container = ownerDoc.createElement('div'); container.innerHTML = s; while (container.hasChildNodes()) { f.appendChild(container.firstChild); } } else { var oDoc = new ActiveXObject(_SARISSA_DOM_PROGID); if (s.substring(0, 5) == '<?xml') { s = s.substring(s.indexOf('?>') + 2); } var xml = ''.concat('<my>', s, '</my>'); oDoc.loadXML(xml); container = oDoc.documentElement; while (container.hasChildNodes()) { f.appendChild(container.firstChild); }  } return f; }; XSLTProcessor.prototype.setParameter = function(nsURI, name, value) { value = value ? value : ""; if (nsURI) { this.processor.addParameter(name, value, nsURI); } else { this.processor.addParameter(name, value); } nsURI = "" + (nsURI || ""); if (!this.paramsSet[nsURI]) { this.paramsSet[nsURI] = []; } this.paramsSet[nsURI][name] = value; }; XSLTProcessor.prototype.getParameter = function(nsURI, name) { nsURI = "" + (nsURI || ""); if (this.paramsSet[nsURI] && this.paramsSet[nsURI][name]) { return this.paramsSet[nsURI][name]; } else { return null; } }; XSLTProcessor.prototype.clearParameters = function() { for (var nsURI in this.paramsSet) { for (var name in this.paramsSet[nsURI]) { if (nsURI != "") { this.processor.addParameter(name, "", nsURI); } else { this.processor.addParameter(name, ""); } } } this.paramsSet = []; };} else { if (Sarissa._SARISSA_HAS_DOM_CREATE_DOCUMENT) { Sarissa.__handleLoad__ = function(oDoc) { Sarissa.__setReadyState__(oDoc, 4); }; _sarissa_XMLDocument_onload = function() { Sarissa.__handleLoad__(this); }; Sarissa.__setReadyState__ = function(oDoc, iReadyState) { oDoc.readyState = iReadyState; oDoc.readystate = iReadyState; if (oDoc.onreadystatechange != null && typeof oDoc.onreadystatechange == "function") { oDoc.onreadystatechange(); } }; Sarissa.getDomDocument = function(sUri, sName) { var oDoc = document.implementation.createDocument(sUri ? sUri : null, sName ? sName : null, null); if (!oDoc.onreadystatechange) { oDoc.onreadystatechange = null; } if (!oDoc.readyState) { oDoc.readyState = 0; } oDoc.addEventListener("load", _sarissa_XMLDocument_onload, false); return oDoc; }; if (window.XMLDocument) { } else if (Sarissa._SARISSA_HAS_DOM_FEATURE && window.Document && !Document.prototype.load && document.implementation.hasFeature('LS', '3.0')) { Sarissa.getDomDocument = function(sUri, sName) { var oDoc = document.implementation.createDocument(sUri ? sUri : null, sName ? sName : null, null); return oDoc; }; } else { Sarissa.getDomDocument = function(sUri, sName) { var oDoc = document.implementation.createDocument(sUri ? sUri : null, sName ? sName : null, null); if (oDoc && (sUri || sName) && !oDoc.documentElement) { oDoc.appendChild(oDoc.createElementNS(sUri, sName)); } return oDoc; }; }  } }if (!window.DOMParser) { if (Sarissa._SARISSA_IS_SAFARI) { DOMParser = function() { }; DOMParser.prototype.parseFromString = function(sXml, contentType) { var xmlhttp = new XMLHttpRequest(); xmlhttp.open("GET", "data:text/xml;charset=utf-8," + encodeURIComponent(sXml), false); xmlhttp.send(null); return xmlhttp.responseXML; }; } else if (Sarissa.getDomDocument && Sarissa.getDomDocument() && Sarissa.getDomDocument(null, "bar").xml) { DOMParser = function() { }; DOMParser.prototype.parseFromString = function(sXml, contentType) { var doc = Sarissa.getDomDocument(); doc.loadXML(sXml); return doc; }; } }if ((typeof (document.importNode) == "undefined") && Sarissa._SARISSA_IS_IE) { try { document.importNode = function(oNode, bChildren) { var tmp; if (oNode.nodeName == '#text') { return document.createTextNode(oNode.data); } else { if (oNode.nodeName == "tbody" || oNode.nodeName == "tr") { tmp = document.createElement("table"); } else if (oNode.nodeName == "td") { tmp = document.createElement("tr"); } else if (oNode.nodeName == "option") { tmp = document.createElement("select"); } else { tmp = document.createElement("div"); } if (bChildren) { tmp.innerHTML = oNode.xml ? oNode.xml : oNode.outerHTML; } else { tmp.innerHTML = oNode.xml ? oNode.cloneNode(false).xml : oNode.cloneNode(false).outerHTML; } return tmp.getElementsByTagName("*")[0]; }  }; } catch (e) { } }if (!Sarissa.getParseErrorText) { Sarissa.getParseErrorText = function(oDoc) { var parseErrorText = Sarissa.PARSED_OK; if ((!oDoc) || (!oDoc.documentElement)) { parseErrorText = Sarissa.PARSED_EMPTY; } else if (oDoc.documentElement.tagName == "parsererror") { parseErrorText = oDoc.documentElement.firstChild.data; parseErrorText += "\n" + oDoc.documentElement.firstChild.nextSibling.firstChild.data; } else if (oDoc.getElementsByTagName("parsererror").length > 0) { var parsererror = oDoc.getElementsByTagName("parsererror")[0]; parseErrorText = Sarissa.getText(parsererror, true) + "\n"; } else if (oDoc.parseError && oDoc.parseError.errorCode != 0) { parseErrorText = Sarissa.PARSED_UNKNOWN_ERROR; } return parseErrorText; };}Sarissa.getText = function(oNode, deep) { var s = ""; var nodes = oNode.childNodes; for (var i = 0; i < nodes.length; i++) { var node = nodes[i]; var nodeType = node.nodeType; if (nodeType == Node.TEXT_NODE || nodeType == Node.CDATA_SECTION_NODE) { s += node.data; } else if (deep === true && (nodeType == Node.ELEMENT_NODE || nodeType == Node.DOCUMENT_NODE || nodeType == Node.DOCUMENT_FRAGMENT_NODE)) { s += Sarissa.getText(node, true); } } return s;}; if (!window.XMLSerializer && Sarissa.getDomDocument && Sarissa.getDomDocument("", "foo", null).xml) { XMLSerializer = function() { }; XMLSerializer.prototype.serializeToString = function(oNode) { return oNode.xml; }; }Sarissa.stripTags = function(s) { return s ? s.replace(/<[^>]+>/g, "") : s; }; Sarissa.clearChildNodes = function(oNode) { while (oNode.firstChild) { oNode.removeChild(oNode.firstChild); } }; Sarissa.copyChildNodes = function(nodeFrom, nodeTo, bPreserveExisting) { if (Sarissa._SARISSA_IS_SAFARI && nodeTo.nodeType == Node.DOCUMENT_NODE) { nodeTo = nodeTo.documentElement; } if ((!nodeFrom) || (!nodeTo)) { throw "Both source and destination nodes must be provided"; } if (!bPreserveExisting) { Sarissa.clearChildNodes(nodeTo); } var ownerDoc = nodeTo.nodeType == Node.DOCUMENT_NODE ? nodeTo : nodeTo.ownerDocument; var nodes = nodeFrom.childNodes; var i; if (typeof (ownerDoc.importNode) != "undefined") { for (i = 0; i < nodes.length; i++) { nodeTo.appendChild(ownerDoc.importNode(nodes[i], true)); } } else { for (i = 0; i < nodes.length; i++) { nodeTo.appendChild(nodes[i].cloneNode(true)); } } }; Sarissa.moveChildNodes = function(nodeFrom, nodeTo, bPreserveExisting) { if ((!nodeFrom) || (!nodeTo)) { throw "Both source and destination nodes must be provided"; } if (!bPreserveExisting) { Sarissa.clearChildNodes(nodeTo); } var nodes = nodeFrom.childNodes; if (nodeFrom.ownerDocument == nodeTo.ownerDocument) { while (nodeFrom.firstChild) { nodeTo.appendChild(nodeFrom.firstChild); } } else { var ownerDoc = nodeTo.nodeType == Node.DOCUMENT_NODE ? nodeTo : nodeTo.ownerDocument; var i; if (typeof (ownerDoc.importNode) != "undefined") { for (i = 0; i < nodes.length; i++) { nodeTo.appendChild(ownerDoc.importNode(nodes[i], true)); } } else { for (i = 0; i < nodes.length; i++) { nodeTo.appendChild(nodes[i].cloneNode(true)); } } Sarissa.clearChildNodes(nodeFrom); } }; Sarissa.xmlize = function(anyObject, objectName, indentSpace) { indentSpace = indentSpace ? indentSpace : ''; var s = indentSpace + '<' + objectName + '>'; var isLeaf = false; if (!(anyObject instanceof Object) || anyObject instanceof Number || anyObject instanceof String || anyObject instanceof Boolean || anyObject instanceof Date) { s += Sarissa.escape("" + anyObject); isLeaf = true; } else { s += "\n"; var isArrayItem = anyObject instanceof Array; for (var name in anyObject) { s += Sarissa.xmlize(anyObject[name], (isArrayItem ? "array-item key=\"" + name + "\"" : name), indentSpace + " "); } s += indentSpace; } return (s += (objectName.indexOf(' ') != -1 ? "</array-item>\n" : "</" + objectName + ">\n"));}; Sarissa.escape = function(sXml) { return sXml.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;").replace(/'/g, "&apos;"); }; Sarissa.unescape = function(sXml) { return sXml.replace(/&apos;/g, "'").replace(/&quot;/g, "\"").replace(/&gt;/g, ">").replace(/&lt;/g, "<").replace(/&amp;/g, "&"); }; Sarissa.updateCursor = function(oTargetElement, sValue) { if (oTargetElement && oTargetElement.style && oTargetElement.style.cursor != undefined) { oTargetElement.style.cursor = sValue; } }; Sarissa.updateContentFromURI = function(sFromUrl, oTargetElement, xsltproc, callback, skipCache) { try { Sarissa.updateCursor(oTargetElement, "wait"); var xmlhttp = new XMLHttpRequest(); xmlhttp.open("GET", sFromUrl, true); xmlhttp.onreadystatechange = function() { if (xmlhttp.readyState == 4) { try { var oDomDoc = xmlhttp.responseXML; if (oDomDoc && Sarissa.getParseErrorText(oDomDoc) == Sarissa.PARSED_OK) { Sarissa.updateContentFromNode(xmlhttp.responseXML, oTargetElement, xsltproc); if (callback) { callback(sFromUrl, oTargetElement); } } else { throw Sarissa.getParseErrorText(oDomDoc); }  } catch (e) { if (callback) { callback(sFromUrl, oTargetElement, e); } else { throw e; }  }  }  }; if (skipCache) { var oldage = "Sat, 1 Jan 2000 00:00:00 GMT"; xmlhttp.setRequestHeader("If-Modified-Since", oldage); } xmlhttp.send(""); } catch (e) { Sarissa.updateCursor(oTargetElement, "auto"); if (callback) { callback(sFromUrl, oTargetElement, e); } else { throw e; }  } }; Sarissa.updateContentFromNode = function(oNode, oTargetElement, xsltproc) { try { Sarissa.updateCursor(oTargetElement, "wait"); Sarissa.clearChildNodes(oTargetElement); var ownerDoc = oNode.nodeType == Node.DOCUMENT_NODE ? oNode : oNode.ownerDocument; if (ownerDoc.parseError && ownerDoc.parseError.errorCode != 0) { var pre = document.createElement("pre"); pre.appendChild(document.createTextNode(Sarissa.getParseErrorText(ownerDoc))); oTargetElement.appendChild(pre); } else { if (xsltproc) { oNode = xsltproc.transformToDocument(oNode); } if (oTargetElement.tagName.toLowerCase() == "textarea" || oTargetElement.tagName.toLowerCase() == "input") { oTargetElement.value = new XMLSerializer().serializeToString(oNode); } else { try { oTargetElement.appendChild(oTargetElement.ownerDocument.importNode(oNode, true)); } catch (e) { oTargetElement.innerHTML = new XMLSerializer().serializeToString(oNode); } } } } catch (e) { throw e; } finally { Sarissa.updateCursor(oTargetElement, "auto"); } }; Sarissa.formToQueryString = function(oForm) { var qs = ""; for (var i = 0; i < oForm.elements.length; i++) { var oField = oForm.elements[i]; var sFieldName = oField.getAttribute("name") ? oField.getAttribute("name") : oField.getAttribute("id"); if (sFieldName && ((!oField.disabled) || oField.type == "hidden")) { switch (oField.type) { case "hidden": case "text": case "textarea": case "password": qs += sFieldName + "=" + encodeURIComponent(oField.value) + "&"; break; case "select-one": qs += sFieldName + "=" + encodeURIComponent(oField.options[oField.selectedIndex].value) + "&"; break; case "select-multiple": for (var j = 0; j < oField.length; j++) { var optElem = oField.options[j]; if (optElem.selected === true) { qs += sFieldName + "[]" + "=" + encodeURIComponent(optElem.value) + "&"; } } break; case "checkbox": case "radio": if (oField.checked) { qs += sFieldName + "=" + encodeURIComponent(oField.value) + "&"; } break; } } } return qs.substr(0, qs.length - 1); }; Sarissa.updateContentFromForm = function(oForm, oTargetElement, xsltproc, callback) { try { Sarissa.updateCursor(oTargetElement, "wait"); var params = Sarissa.formToQueryString(oForm) + "&" + Sarissa.REMOTE_CALL_FLAG + "=true"; var xmlhttp = new XMLHttpRequest(); var bUseGet = oForm.getAttribute("method") && oForm.getAttribute("method").toLowerCase() == "get"; if (bUseGet) { xmlhttp.open("GET", oForm.getAttribute("action") + "?" + params, true); } else { xmlhttp.open('POST', oForm.getAttribute("action"), true); xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); xmlhttp.setRequestHeader("Content-length", params.length); xmlhttp.setRequestHeader("Connection", "close"); } xmlhttp.onreadystatechange = function() { try { if (xmlhttp.readyState == 4) { var oDomDoc = xmlhttp.responseXML; if (oDomDoc && Sarissa.getParseErrorText(oDomDoc) == Sarissa.PARSED_OK) { Sarissa.updateContentFromNode(xmlhttp.responseXML, oTargetElement, xsltproc); if (callback) { callback(oForm, oTargetElement); } } else { throw Sarissa.getParseErrorText(oDomDoc); } } } catch (e) { if (callback) { callback(oForm, oTargetElement, e); } else { throw e; } } }; xmlhttp.send(bUseGet ? "" : params); } catch (e) { Sarissa.updateCursor(oTargetElement, "auto"); if (callback) { callback(oForm, oTargetElement, e); } else { throw e; } } return false; }; Sarissa.FUNCTION_NAME_REGEXP = new RegExp(""); Sarissa.getFunctionName = function(oFunc, bForce) { var name; if (!name) { if (bForce) { name = "SarissaAnonymous" + Sarissa._getUniqueSuffix(); window[name] = oFunc; } else { name = null; } } if (name) { window[name] = oFunc; } return name }; Sarissa.setRemoteJsonCallback = function(url, callback, callbackParam) { if (!callbackParam) { callbackParam = "callback"; } var callbackFunctionName = Sarissa.getFunctionName(callback, true); var id = "sarissa_json_script_id_" + Sarissa._getUniqueSuffix(); var oHead = document.getElementsByTagName("head")[0]; var scriptTag = document.createElement('script'); scriptTag.type = 'text/javascript'; scriptTag.id = id; scriptTag.onload = function() { }; if (url.indexOf("?") != -1) { url += ("&" + callbackParam + "=" + callbackFunctionName); } else { url += ("?" + callbackParam + "=" + callbackFunctionName); } scriptTag.src = url; oHead.appendChild(scriptTag); return id; };
if (Sarissa._SARISSA_HAS_DOM_FEATURE && document.implementation.hasFeature("XPath", "3.0")) { SarissaNodeList = function(i) { this.length = i; }; SarissaNodeList.prototype = []; SarissaNodeList.prototype.constructor = Array; SarissaNodeList.prototype.item = function(i) { return (i < 0 || i >= this.length) ? null : this[i]; }; SarissaNodeList.prototype.expr = ""; if (window.XMLDocument && (!XMLDocument.prototype.setProperty)) { XMLDocument.prototype.setProperty = function(x, y) { }; } Sarissa.setXpathNamespaces = function(oDoc, sNsSet) { oDoc._sarissa_useCustomResolver = true; var namespaces = sNsSet.indexOf(" ") > -1 ? sNsSet.split(" ") : [sNsSet]; oDoc._sarissa_xpathNamespaces = []; for (var i = 0; i < namespaces.length; i++) { var ns = namespaces[i]; var colonPos = ns.indexOf(":"); var assignPos = ns.indexOf("="); if (colonPos > 0 && assignPos > colonPos + 1) { var prefix = ns.substring(colonPos + 1, assignPos); var uri = ns.substring(assignPos + 2, ns.length - 1); oDoc._sarissa_xpathNamespaces[prefix] = uri; } else { throw "Bad format on namespace declaration(s) given"; } } }; XMLDocument.prototype._sarissa_useCustomResolver = false; XMLDocument.prototype._sarissa_xpathNamespaces = []; XMLDocument.prototype.selectNodes = function(sExpr, contextNode, returnSingle) { var nsDoc = this; var nsresolver; if (this._sarissa_useCustomResolver) { nsresolver = function(prefix) { var s = nsDoc._sarissa_xpathNamespaces[prefix]; if (s) { return s; } else { throw "No namespace URI found for prefix: '" + prefix + "'"; }  }; } else { nsresolver = this.createNSResolver(this.documentElement); } var result = null; if (!returnSingle) { var oResult = this.evaluate(sExpr, (contextNode ? contextNode : this), nsresolver, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null); var nodeList = new SarissaNodeList(oResult.snapshotLength); nodeList.expr = sExpr; for (var i = 0; i < nodeList.length; i++) { nodeList[i] = oResult.snapshotItem(i); } result = nodeList; } else { result = this.evaluate(sExpr, (contextNode ? contextNode : this), nsresolver, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue; } return result; }; Element.prototype.selectNodes = function(sExpr) { var doc = this.ownerDocument; if (doc.selectNodes) { return doc.selectNodes(sExpr, this); } else { throw "Method selectNodes is only supported by XML Elements"; }  }; XMLDocument.prototype.selectSingleNode = function(sExpr, contextNode) { var ctx = contextNode ? contextNode : null; return this.selectNodes(sExpr, ctx, true); }; Element.prototype.selectSingleNode = function(sExpr) { var doc = this.ownerDocument; if (doc.selectSingleNode) { return doc.selectSingleNode(sExpr, this); } else { throw "Method selectNodes is only supported by XML Elements"; }  }; Sarissa.IS_ENABLED_SELECT_NODES = true; }
var xslTransform = { version: 20071203, debug: false, init: function() { try { parseFloat(jQuery.fn.jquery) >= 1 } catch (e) { alert('xslTransform requires jQuery 1.0.4 or greater ... please load it prior to xslTransform') } try { Sarissa } catch (e) { alert('Missing Sarissa ... please load it prior to xslTransform') } if (!jQuery.log) { jQuery.log = function() { }; jQuery.fn.debug = function() { } } if (this.debug) jQuery.log('xslTransform:init(): version ' + xslTransform.version) }, XMLSerializer: new XMLSerializer(), serialize: function(data) { if (this.debug) jQuery.log('serialize(): received ' + typeof (data)); if (typeof (data) == 'string') { return data } return this.XMLSerializer.serializeToString(data) }, load: function(xml, meth, dat) { if (this.debug) jQuery.log('load(): received ' + typeof (xml)); var r; if (typeof (xml) == 'object') { return xml } if (xml.substring(0, 1) == '<') { r = this.loadString(xml) } else { r = this.loadFile(xml, meth, dat) } if (r) { r.setProperty('SelectionNamespaces', 'xmlns:xsl="http://www.w3.org/1999/XSL/Transform"'); r.setProperty('SelectionLanguage', 'XPath'); return r } else { if (this.debug) jQuery.log('Unable to load ' + xml); return false } }, loadString: function(str) { if (this.debug) jQuery.log('loadString(): ' + str + '::' + typeof (str)); var p = new DOMParser(); var xml = p.parseFromString(str, 'text/xml'); if (!xml) { if (this.debug) jQuery.log('loadString(): parseFromString() failed'); return false } return xml }, loadFile: function(url, meth, dat) { if (this.debug) jQuery.log('loadFile(): ' + url + '::' + typeof (url)); if (!url) { if (this.debug) jQuery.log('ERROR: loadFile() missing url'); return false } var doc; this.xhrsuccess = function(data, str) { if (this.debug) jQuery.log('loadFile() completed successfully (' + str + ')'); doc = data; return true }; this.xhrerror = function(xhr, err) { window.DEBUG = true; if (this.debug) jQuery.log('loadFile() failed to load the requested file: (' + err + ') - xml: ' + xhr.responseXML + ' - text: ' + xhr.responseText); doc = null; return false }; if (!meth) meth = "GET"; if (!dat) dat = {}; jQuery.ajax({ type: meth, url: url, data: dat, async: false, success: this.xhrsuccess, error: this.xhrerror }); if (!doc) { if (this.debug) jQuery.log('ERROR: document ' + url + ' not found (404), or unable to load'); return false } if (doc.length == 0) { if (this.debug) jQuery.log('ERROR: document ' + url + ' loaded in loadFile() has no data'); return false } return doc }, transform: function(xsl, xml, options) { var log = { 'xsl': xsl, 'xml': xml, 'options': options }; if (this.debug) jQuery.log('transform(): ' + xsl + '::' + xml + '::' + options.toString()); options = options || {}; var xml = { 'request': xml, 'doc': this.load(xml, options.meth, options.dat) }; if (options.xpath && xml.doc && !jQuery.browser.msie) { xml.doc = xml.doc.selectSingleNode(options.xpath.toString()); if (this.debug) jQuery.log('transform(): xpath has been run...resulting doc: ' + (this.serialize(xml.doc))) } var result = { 'xsl': this.load(xsl, options.meth, options.dat) }; result.json = false; if (options.json && xml.doc) { result.json = xml.doc.selectSingleNode(options.json.toString()) } var processor = new XSLTProcessor(); processor.importStylesheet(result.xsl); if (options.params && processor) { if (this.debug) jQuery.log('transform(): received xsl params: ' + options.params.toString()); for (key in options.params) { processor.setParameter(null, key.toString(), options.params[key].toString()) } } result.doc = processor.transformToDocument(xml.doc); var errorTxt = Sarissa.getParseErrorText(result.doc); if (this.debug) jQuery.log('transform(): Sarissa parse text: ' + errorTxt); if (errorTxt != Sarissa.PARSED_OK) { result.string = Sarissa.getParseErrorText(result.doc) + ' :: using ' + xsl + ' => ' + xml.request; if (this.debug) jQuery.log('transform(): error in transformation: ' + Sarissa.getParseErrorText(result.doc)); return result } result.string = this.serialize(result.doc); result.scripts = jQuery('script', result.doc).text(); return result } }; xslTransform.init(); jQuery.fn.getTransform = function(xsl, xml, options) { var settings = { append: false, params: {}, xpath: '', eval: true, callback: '', json: false, meth: "GET", dat: {} }; jQuery.extend(settings, options); if (xslTransform.debug) jQuery.log('getTransform: ' + xsl + '::' + xml + '::' + settings.toString()); if (!xsl || !xml) { if (xslTransform.debug) jQuery.log('getTransform: missing xsl or xml'); return } return this.each(function() { var trans = xslTransform.transform(xsl, xml, settings); var re = trans.string.match(/<\?xml.*?\?>/); if (re) { trans.string = trans.string.replace(re, ''); if (xslTransform.debug) jQuery.log('getTransform(): found an xml declaration and removed it') } try { if (settings.append) jQuery(this).append(trans.string); else if (settings.repl) jQuery(this).replaceWith(trans.string); else jQuery(this).html(trans.string) } catch (e) { if (xslTransform.debug) jQuery.log('getTransform: error placing results of transform into element, falling back to innerHTML: ' + e.toString()); jQuery(this)[0].innerHTML = trans.string } if (settings.eval && trans.scripts) { if (trans.scripts.length > 0) { if (xslTransform.debug) jQuery.log('Found text/javascript in transformed result'); eval.call(window, trans.scripts) } } if (settings.callback && jQuery.isFunction(settings.callback)) { var json = false; if (settings.json && trans.json) eval("json = " + trans.json.firstChild.data); settings.callback.apply(window, [trans.string, json]) } }) };
(function($) { $.extend({ metadata: { defaults: { type: 'class', name: 'metadata', cre: /({.*})/, single: 'metadata' }, setType: function(type, name) { this.defaults.type = type; this.defaults.name = name }, get: function(elem, opts) { var settings = $.extend({}, this.defaults, opts); if (!settings.single.length) settings.single = 'metadata'; var data = $.data(elem, settings.single); if (data) return data; data = "{}"; if (settings.type == "class") { var m = settings.cre.exec(elem.className); if (m) data = m[1] } else if (settings.type == "elem") { if (!elem.getElementsByTagName) return undefined; var e = elem.getElementsByTagName(settings.name); if (e.length) data = $.trim(e[0].innerHTML) } else if (elem.getAttribute != undefined) { var attr = elem.getAttribute(settings.name); if (attr) data = attr } if (data.indexOf('{') < 0) data = "{" + data + "}"; data = eval("(" + data + ")"); $.data(elem, settings.single, data); return data } } }); $.fn.metadata = function(opts) { return $.metadata.get(this[0], opts) } })(jQuery);
jQuery.cookie = function(name, value, options) { if (typeof value != 'undefined') { options = options || {}; if (value === null) { value = ''; options.expires = -1; } var expires = ''; if (options.expires && (typeof options.expires == 'number' || options.expires.toUTCString)) { var date; if (typeof options.expires == 'number') { date = new Date(); date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000)); } else { date = options.expires; } expires = '; expires=' + date.toUTCString(); } var path = options.path ? '; path=' + (options.path) : ''; var domain = options.domain ? '; domain=' + (options.domain) : ''; var secure = options.secure ? '; secure' : ''; document.cookie = [name, '=', encodeURIComponent(value), expires, path, domain, secure].join(''); } else { var cookieValue = null; if (document.cookie && document.cookie != '') { var cookies = document.cookie.split(';'); for (var i = 0; i < cookies.length; i++) { var cookie = jQuery.trim(cookies[i]); if (cookie.substring(0, name.length + 1) == (name + '=')) { cookieValue = decodeURIComponent(cookie.substring(name.length + 1)); break; } } } return cookieValue; } };
(function($) { $.fn.tree = function(opts) { return this.each(function() { var conf = $.extend({}, opts); if (tree_component.inst && tree_component.inst[$(this).attr('id')]) tree_component.inst[$(this).attr('id')].destroy(); if (conf !== false) new tree_component().init(this, conf) }) }; $.tree_create = function() { return new tree_component() }; $.tree_focused = function() { return tree_component.inst[tree_component.focused] }; $.tree_reference = function(id) { return tree_component.inst[id] || null }; $.tree_rollback = function(data) { for (var i in data) { var tmp = tree_component.inst[i]; var lock = !tmp.locked; if (lock) tmp.lock(true); if (tmp.inp) tmp.inp.val("").blur(); tmp.context.append = false; tmp.container.html(data[i].html).find(".dragged").removeClass("dragged").end().find("div.context").remove(); if (data[i].selected) { tmp.selected = $("#" + data[i].selected); tmp.selected_arr = []; tmp.container.find("a.clicked").each(function() { tmp.selected_arr.push(tmp.get_node(this)) }) } if (lock) tmp.lock(false); delete lock; delete tmp } }; function tree_component() { if (typeof tree_component.inst == "undefined") { tree_component.cntr = 0; tree_component.inst = {}; tree_component.drag_drop = { isdown: false, drag_node: false, drag_help: false, init_x: false, init_y: false, moving: false, origin_tree: false, marker: false, move_type: false, ref_node: false, appended: false, foreign: false, droppable: [], open_time: false, scroll_time: false }; tree_component.mousedown = function(event) { var tmp = $(event.target); if (tree_component.drag_drop.droppable.length && tmp.is("." + tree_component.drag_drop.droppable.join(", ."))) { tree_component.drag_drop.drag_help = $("<li id='dragged' class='dragged foreign " + event.target.className + "'><a href='#'>" + tmp.text() + "</a></li>"); tree_component.drag_drop.drag_node = tree_component.drag_drop.drag_help; tree_component.drag_drop.isdown = true; tree_component.drag_drop.foreign = tmp; tmp.blur(); event.preventDefault(); event.stopPropagation(); return false } event.stopPropagation(); return true }; tree_component.mouseup = function(event) { var tmp = tree_component.drag_drop; if (tmp.open_time) clearTimeout(tmp.open_time); if (tmp.scroll_time) clearTimeout(tmp.scroll_time); if (tmp.foreign === false && tmp.drag_node && tmp.drag_node.size()) { tmp.drag_help.remove(); if (tmp.move_type) { var tree1 = tree_component.inst[tmp.ref_node.parents(".tree:eq(0)").attr("id")]; if (tree1) tree1.moved(tmp.origin_tree.container.find("li.dragged"), tmp.ref_node, tmp.move_type, false, (tmp.origin_tree.settings.rules.drag_copy == "on" || (tmp.origin_tree.settings.rules.drag_copy == "ctrl" && event.ctrlKey))) } tmp.move_type = false; tmp.ref_node = false } if (tmp.drag_node && tmp.foreign !== false) { tmp.drag_help.remove(); if (tmp.move_type) { var tree1 = tree_component.inst[tmp.ref_node.parents(".tree:eq(0)").attr("id")]; if (tree1) tree1.settings.callback.ondrop.call(null, tmp.foreign.get(0), tree1.get_node(tmp.ref_node).get(0), tmp.move_type, tree1) } tmp.foreign = false; tmp.move_type = false; tmp.ref_node = false } tree_component.drag_drop.marker.hide(); tmp.drag_help = false; tmp.drag_node = false; tmp.isdown = false; tmp.init_x = false; tmp.init_y = false; tmp.moving = false; tmp.appended = false; if (tmp.origin_tree) tmp.origin_tree.container.find("li.dragged").removeClass("dragged"); tmp.origin_tree = false; event.preventDefault(); event.stopPropagation(); return false }; tree_component.mousemove = function(event) { var tmp = tree_component.drag_drop; if (tmp.isdown) { if (!tmp.moving && Math.abs(tmp.init_x - event.pageX) < 5 && Math.abs(tmp.init_y - event.pageY) < 5) { event.preventDefault(); event.stopPropagation(); return false } else tree_component.drag_drop.moving = true; if (tmp.open_time) clearTimeout(tmp.open_time); if (!tmp.appended) { if (tmp.foreign !== false) tmp.origin_tree = $.tree_focused(); tmp.origin_tree.container.children("ul:eq(0)").append(tmp.drag_help); var temp = $(tmp.drag_help).offsetParent(); if (temp.is("html")) temp = $("body"); tmp.po = temp.offset(); tmp.po.top -= (temp.is("body")) ? 0 : temp.scrollTop(); tmp.po.left -= (temp.is("body")) ? 0 : temp.scrollLeft(); tmp.w = tmp.drag_help.width(); tmp.appended = true } tmp.drag_help.css({ "left": (event.pageX - tmp.po.left - (tmp.origin_tree.settings.ui.rtl ? tmp.w : -5)), "top": (event.pageY - tmp.po.top + 15) }); if (event.target.tagName == "IMG" && event.target.id == "marker") return false; var cnt = $(event.target).parents(".tree:eq(0)"); if (cnt.size() == 0) { if (tmp.scroll_time) clearTimeout(tmp.scroll_time); if (tmp.drag_help.children("IMG").size() == 0) { tmp.drag_help.append("<img style='position:absolute; " + (tmp.origin_tree.settings.ui.rtl ? "right" : "left") + ":4px; top:0px; background:white; padding:2px;' src='" + tmp.origin_tree.settings.ui.theme_path + "remove.png' />") } tmp.move_type = false; tmp.ref_node = false; tree_component.drag_drop.marker.hide(); return false } var tree2 = tree_component.inst[cnt.attr("id")]; tree2.off_height(); if (tmp.foreign === false && tmp.origin_tree.container.get(0) != tree2.container.get(0) && (!tmp.origin_tree.settings.rules.multitree || !tree2.settings.rules.multitree)) { if (tmp.drag_help.children("IMG").size() == 0) { tmp.drag_help.append("<img style='position:absolute; " + (tmp.origin_tree.settings.ui.rtl ? "right" : "left") + ":4px; top:0px; background:white; padding:2px;' src='" + tmp.origin_tree.settings.ui.theme_path + "remove.png' />") } tmp.move_type = false; tmp.ref_node = false; tree_component.drag_drop.marker.hide(); return false } if (tmp.scroll_time) clearTimeout(tmp.scroll_time); tmp.scroll_time = setTimeout(function() { tree2.scrollCheck(event.pageX, event.pageY) }, 50); var mov = false; var st = cnt.scrollTop(); var et = $(event.target); if (event.target.tagName == "A") { if (et.is("#dragged")) return false; if (tree2.get_node(event.target).hasClass("closed")) { tmp.open_time = setTimeout(function() { tree2.open_branch(et) }, 500) } var atmp = 0; var btmp = parseInt($.curCSS(tree2.container.get(0), "borderTopWidth", true), 10); if (btmp) atmp += btmp; var ptmp = parseInt($.curCSS(tree2.container.get(0), "paddingTop", true), 10); if (ptmp) atmp += ptmp; var et_off = et.offset(); var goTo = { x: (et_off.left - 1), y: (event.pageY - et_off.top) }; if (cnt.hasClass("rtl")) goTo.x += et.width() - 8; var arr = []; if (goTo.y < tree2.li_height / 3 + 1) arr = ["before", "inside", "after"]; else if (goTo.y > tree2.li_height * 2 / 3 - 1) arr = ["after", "inside", "before"]; else { if (goTo.y < tree2.li_height / 2) arr = ["inside", "before", "after"]; else arr = ["inside", "after", "before"] } var ok = false; $.each(arr, function(i, val) { if (tree2.checkMove(tmp.origin_tree.container.find("li.dragged"), et, val)) { mov = val; ok = true; return false } }); if (ok) { switch (mov) { case "before": goTo.y = et_off.top - 2; if (cnt.hasClass("rtl")) { tree_component.drag_drop.marker.attr("src", tree2.settings.ui.theme_path + "marker_rtl.gif").width(40) } else { tree_component.drag_drop.marker.attr("src", tree2.settings.ui.theme_path + "marker.gif").width(40) } break; case "after": goTo.y = et_off.top - 2 + tree2.li_height; if (cnt.hasClass("rtl")) { tree_component.drag_drop.marker.attr("src", tree2.settings.ui.theme_path + "marker_rtl.gif").width(40) } else { tree_component.drag_drop.marker.attr("src", tree2.settings.ui.theme_path + "marker.gif").width(40) } break; case "inside": goTo.x -= 2; if (cnt.hasClass("rtl")) { goTo.x += 36 } goTo.y = et_off.top - 2 + tree2.li_height / 2; tree_component.drag_drop.marker.attr("src", tree2.settings.ui.theme_path + "plus.gif").width(11); break } tmp.move_type = mov; tmp.ref_node = $(event.target); tmp.drag_help.children("IMG").remove(); tree_component.drag_drop.marker.css({ "left": goTo.x, "top": goTo.y }).show() } } if (event.target.tagName != "A" || !ok) { if (tmp.drag_help.children("IMG").size() == 0) { tmp.drag_help.append("<img style='position:absolute; " + (tmp.origin_tree.settings.ui.rtl ? "right" : "left") + ":4px; top:0px; background:white; padding:2px;' src='" + tmp.origin_tree.settings.ui.theme_path + "remove.png' />") } tmp.move_type = false; tmp.ref_node = false; tree_component.drag_drop.marker.hide() } event.preventDefault(); event.stopPropagation(); return false } return true } }; return { cntr: ++tree_component.cntr, settings: { data: { type: "predefined", method: "GET", async: false, async_data: function(NODE) { return { id: $(NODE).attr("id") || 0} }, url: false, json: false, xml: false }, selected: false, opened: [], languages: [], path: false, cookies: false, ui: { dots: true, rtl: false, animation: 0, hover_mode: true, scroll_spd: 4, theme_path: false, theme_name: "default", context: [{ id: "create", label: "Create", icon: "create.png", visible: function(NODE, TREE_OBJ) { if (NODE.length != 1) return false; return TREE_OBJ.check("creatable", NODE) }, action: function(NODE, TREE_OBJ) { TREE_OBJ.create(false, TREE_OBJ.get_node(NODE)) } }, "separator", { id: "rename", label: "Rename", icon: "rename.png", visible: function(NODE, TREE_OBJ) { if (NODE.length != 1) return false; return TREE_OBJ.check("renameable", NODE) }, action: function(NODE, TREE_OBJ) { TREE_OBJ.rename(NODE) } }, { id: "delete", label: "Delete", icon: "remove.png", visible: function(NODE, TREE_OBJ) { var ok = true; $.each(NODE, function() { if (TREE_OBJ.check("deletable", this) == false) ok = false; return false }); return ok }, action: function(NODE, TREE_OBJ) { $.each(NODE, function() { TREE_OBJ.remove(this) }) } }] }, rules: { multiple: false, metadata: false, type_attr: "rel", multitree: false, createat: "bottom", use_inline: false, clickable: "all", renameable: "all", deletable: "all", creatable: "all", draggable: "none", dragrules: "all", drag_copy: false, droppable: [], drag_button: "left" }, lang: { new_node: "New folder", loading: "Loading ..." }, callback: { beforechange: function(NODE, TREE_OBJ) { return true }, beforeopen: function(NODE, TREE_OBJ) { return true }, beforeclose: function(NODE, TREE_OBJ) { return true }, beforemove: function(NODE, REF_NODE, TYPE, TREE_OBJ) { return true }, beforecreate: function(NODE, REF_NODE, TYPE, TREE_OBJ) { return true }, beforerename: function(NODE, LANG, TREE_OBJ) { return true }, beforedelete: function(NODE, TREE_OBJ) { return true }, onselect: function(NODE, TREE_OBJ) { }, ondeselect: function(NODE, TREE_OBJ) { }, onchange: function(NODE, TREE_OBJ) { }, onrename: function(NODE, LANG, TREE_OBJ, RB) { }, onmove: function(NODE, REF_NODE, TYPE, TREE_OBJ, RB) { }, oncopy: function(NODE, REF_NODE, TYPE, TREE_OBJ, RB) { }, oncreate: function(NODE, REF_NODE, TYPE, TREE_OBJ, RB) { }, ondelete: function(NODE, TREE_OBJ, RB) { }, onopen: function(NODE, TREE_OBJ) { }, onopen_all: function(TREE_OBJ) { }, onclose: function(NODE, TREE_OBJ) { }, error: function(TEXT, TREE_OBJ) { }, ondblclk: function(NODE, TREE_OBJ) { TREE_OBJ.toggle_branch.call(TREE_OBJ, NODE); TREE_OBJ.select_branch.call(TREE_OBJ, NODE) }, onrgtclk: function(NODE, TREE_OBJ, EV) { }, onload: function(TREE_OBJ) { }, onfocus: function(TREE_OBJ) { }, ondrop: function(NODE, REF_NODE, TYPE, TREE_OBJ) { } } }, init: function(elem, opts) { var _this = this; this.container = $(elem); if (this.container.size == 0) { alert("Invalid container node!"); return } tree_component.inst[this.cntr] = this; if (!this.container.attr("id")) this.container.attr("id", "jstree_" + this.cntr); tree_component.inst[this.container.attr("id")] = tree_component.inst[this.cntr]; tree_component.focused = this.cntr; if (opts && opts.cookies) { this.settings.cookies = $.extend({}, this.settings.cookies, opts.cookies); delete opts.cookies; if (!this.settings.cookies.opts) this.settings.cookies.opts = {} } if (opts && opts.callback) { this.settings.callback = $.extend({}, this.settings.callback, opts.callback); delete opts.callback } if (opts && opts.data) { this.settings.data = $.extend({}, this.settings.data, opts.data); delete opts.data } if (opts && opts.ui) { this.settings.ui = $.extend({}, this.settings.ui, opts.ui); delete opts.ui } if (opts && opts.rules) { this.settings.rules = $.extend({}, this.settings.rules, opts.rules); delete opts.rules } if (opts && opts.lang) { this.settings.lang = $.extend({}, this.settings.lang, opts.lang); delete opts.lang } this.settings = $.extend({}, this.settings, opts); if (this.settings.path == false) { this.path = ""; $("script").each(function() { if (this.src.toString().match(/tree_component.*?js$/)) { _this.path = this.src.toString().replace(/tree_component.*?js$/, "") } }) } else this.path = this.settings.path; this.current_lang = this.settings.languages && this.settings.languages.length ? this.settings.languages[0] : false; if (this.settings.languages && this.settings.languages.length) { this.sn = get_sheet_num("tree_component.css"); if (this.sn === false && document.styleSheets.length) this.sn = document.styleSheets.length; var st = false; var id = this.container.attr("id") ? "#" + this.container.attr("id") : ".tree"; for (var ln = 0; ln < this.settings.languages.length; ln++) { st = add_css(id + " ." + this.settings.languages[ln], this.sn); if (st !== false) { if (this.settings.languages[ln] == this.current_lang) st.style.display = ""; else st.style.display = "none" } } } if (this.settings.rules.droppable.length) { for (var i in this.settings.rules.droppable) { tree_component.drag_drop.droppable.push(this.settings.rules.droppable[i]) } tree_component.drag_drop.droppable = $.unique(tree_component.drag_drop.droppable) } if (this.settings.ui.theme_path === false) this.settings.ui.theme_path = "/js_files/themes/"; this.theme = this.settings.ui.theme_path; if (_this.settings.ui.theme_name) { this.theme += _this.settings.ui.theme_name + "/"; if (_this.settings.ui.theme_name != "themeroller" && !tree_component.def_style) { add_sheet(_this.settings.ui.theme_path + "default/style.css"); tree_component.def_style = true } add_sheet(_this.theme + "style.css") } this.container.addClass("tree"); if (this.settings.ui.theme_name == "themeroller") this.container.addClass("ui-widget ui-widget-content"); if (this.settings.ui.rtl) this.container.addClass("rtl"); if (this.settings.rules.multiple) this.selected_arr = []; this.offset = false; if (this.settings.ui.dots == false) this.container.addClass("no_dots"); this.context_menu(); this.hovered = false; this.locked = false; if (this.settings.rules.draggable != "none" && tree_component.drag_drop.marker === false) { var _this = this; tree_component.drag_drop.marker = $("<img>").attr({ id: "marker", src: _this.settings.ui.theme_path + "marker.gif" }).css({ height: "5px", width: "40px", display: "block", position: "absolute", left: "30px", top: "30px", zIndex: "1000" }).hide().appendTo("body") } this.refresh(); this.attachEvents(); this.focus() }, off_height: function() { if (this.offset === false) { this.container.css({ position: "relative" }); this.offset = this.container.offset(); var tmp = 0; tmp = parseInt($.curCSS(this.container.get(0), "paddingTop", true), 10); if (tmp) this.offset.top += tmp; tmp = parseInt($.curCSS(this.container.get(0), "borderTopWidth", true), 10); if (tmp) this.offset.top += tmp; this.container.css({ position: "" }) } if (!this.li_height) { var tmp = this.container.find("ul li.closed, ul li.leaf").eq(0); this.li_height = tmp.height(); if (tmp.children("ul:eq(0)").size()) this.li_height -= tmp.children("ul:eq(0)").height(); if (!this.li_height) this.li_height = 18 } }, context_menu: function() { this.context = false; if (this.settings.ui.context != false) { var str = '<div class="tree-default-context tree-' + this.settings.ui.theme_name + '-context">'; for (var i in this.settings.ui.context) { if (this.settings.ui.context[i] == "separator") { str += "<span class='separator'>&nbsp;</span>"; continue } var icn = ""; if (this.settings.ui.context[i].icon) icn = 'background-image:url(\'' + (this.settings.ui.context[i].icon.indexOf("/") == -1 ? this.theme + this.settings.ui.context[i].icon : this.settings.ui.context[i].icon) + '\');'; str += '<a rel="' + this.settings.ui.context[i].id + '" href="#" style="' + icn + '">' + this.settings.ui.context[i].label + '</a>' } str += '</div>'; this.context = $(str); this.context.hide(); this.context.append = false } }, refresh: function(obj) { if (this.locked) return this.error("LOCKED"); var _this = this; this.opened = Array(); if (this.settings.cookies && $.cookie(this.settings.cookies.prefix + '_open')) { var str = $.cookie(this.settings.cookies.prefix + '_open'); var tmp = str.split(","); $.each(tmp, function() { _this.opened.push("#" + this.replace(/^#/, "")) }); this.settings.opened = false } else if (this.settings.opened != false) { $.each(this.settings.opened, function(i, item) { _this.opened.push("#" + this.replace(/^#/, "")) }); this.settings.opened = false } else { this.container.find("li.open").each(function(i) { _this.opened.push("#" + this.id) }) } if (this.selected) { this.settings.selected = Array(); if (this.selected_arr) { $.each(this.selected_arr, function() { if (this.attr("id")) _this.settings.selected.push("#" + this.attr("id")) }) } else { if (this.selected.attr("id")) this.settings.selected.push("#" + this.selected.attr("id")) } } else if (this.settings.cookies && $.cookie(this.settings.cookies.prefix + '_selected')) { this.settings.selected = Array(); var str = $.cookie(this.settings.cookies.prefix + '_selected'); var tmp = str.split(","); $.each(tmp, function() { _this.settings.selected.push("#" + this.replace(/^#/, "")) }) } else if (this.settings.selected !== false) { var tmp = Array(); if ((typeof this.settings.selected).toLowerCase() == "object") { $.each(this.settings.selected, function() { if (this.replace(/^#/, "").length > 0) tmp.push("#" + this.replace(/^#/, "")) }) } else { if (this.settings.selected.replace(/^#/, "").length > 0) tmp.push("#" + this.settings.selected.replace(/^#/, "")) } this.settings.selected = tmp } if (obj && this.settings.data.async) { this.opened = Array(); obj = this.get_node(obj); obj.find("li.open").each(function(i) { _this.opened.push("#" + this.id) }); if (obj.hasClass("open")) this.close_branch(obj, true); if (obj.hasClass("leaf")) obj.removeClass("leaf"); obj.children("ul:eq(0)").html(""); return this.open_branch(obj, true, function() { _this.reselect.apply(_this) }) } var cls = "tree-default"; if (this.settings.ui.theme_name != "default") cls += " tree-" + _this.settings.ui.theme_name; if (this.settings.ui.theme_name == "themeroller") cls = "tree-themeroller"; if (this.settings.data.type == "xml_flat" || this.settings.data.type == "xml_nested") { this.scrtop = this.container.get(0).scrollTop; var xsl = (this.settings.data.type == "xml_flat") ? "flat.xsl" : "nested.xsl"; if (this.settings.data.xml) this.container.getTransform(this.path + xsl, this.settings.data.xml, { params: { theme_name: cls, theme_path: _this.theme }, meth: _this.settings.data.method, dat: _this.settings.data.async_data.apply(_this, [obj]), callback: function() { _this.context_menu.apply(_this); _this.reselect.apply(_this) } }); else this.container.getTransform(this.path + xsl, this.settings.data.url, { params: { theme_name: cls, theme_path: _this.theme }, meth: _this.settings.data.method, dat: _this.settings.data.async_data.apply(_this, [obj]), callback: function() { _this.context_menu.apply(_this); _this.reselect.apply(_this) } }); return } else if (this.settings.data.type == "json") { if (this.settings.data.json) { var str = ""; if (this.settings.data.json.length) { for (var i = 0; i < this.settings.data.json.length; i++) { str += this.parseJSON(this.settings.data.json[i]) } } else str = this.parseJSON(this.settings.data.json); this.container.html("<ul class='" + cls + "'>" + str + "</ul>"); this.container.find("li:last-child").addClass("last").end().find("li:has(ul)").not(".open").addClass("closed"); this.container.find("li").not(".open").not(".closed").addClass("leaf"); this.context_menu(); this.reselect() } else { var _this = this; $.ajax({ type: this.settings.data.method, url: this.settings.data.url, data: this.settings.data.async_data(false), dataType: "json", success: function(data) { var str = ""; if (data.length) { for (var i = 0; i < data.length; i++) { str += _this.parseJSON(data[i]) } } else str = _this.parseJSON(data); _this.container.html("<ul class='" + cls + "'>" + str + "</ul>"); _this.container.find("li:last-child").addClass("last").end().find("li:has(ul)").not(".open").addClass("closed"); _this.container.find("li").not(".open").not(".closed").addClass("leaf"); _this.context_menu.apply(_this); _this.reselect.apply(_this) }, error: function(xhttp, textStatus, errorThrown) { _this.error(errorThrown + " " + textStatus) } }) } } else { this.container.children("ul:eq(0)").attr("class", cls); this.container.find("li:last-child").addClass("last").end().find("li:has(ul)").not(".open").addClass("closed"); this.container.find("li").not(".open").not(".closed").addClass("leaf"); this.reselect() } }, parseJSON: function(data) { if (!data || !data.data) return ""; var str = ""; str += "<li "; var cls = false; if (data.attributes) { for (var i in data.attributes) { if (i == "class") { str += " class='" + data.attributes[i] + " "; if (data.state == "closed" || data.state == "open") str += " " + data.state + " "; str += "' "; cls = true } else str += " " + i + "='" + data.attributes[i] + "' " } } if (!cls && (data.state == "closed" || data.state == "open")) str += " class='" + data.state + "' "; str += ">"; if (this.settings.languages.length) { for (var i = 0; i < this.settings.languages.length; i++) { var attr = {}; attr["href"] = "#"; attr["style"] = ""; attr["class"] = this.settings.languages[i]; if (data.data[this.settings.languages[i]] && (typeof data.data[this.settings.languages[i]].attributes).toLowerCase() != "undefined") { for (var j in data.data[this.settings.languages[i]].attributes) { if (j == "style" || j == "class") attr[j] += " " + data.data[this.settings.languages[i]].attributes[j]; else attr[j] = data.data[this.settings.languages[i]].attributes[j] } } if (data.data[this.settings.languages[i]] && data.data[this.settings.languages[i]].icon && this.settings.theme_name != "themeroller") { var icn = data.data[this.settings.languages[i]].icon.indexOf("/") == -1 ? this.theme + data.data[this.settings.languages[i]].icon : data.data[this.settings.languages[i]].icon; attr["style"] += " ; background-image:url('" + icn + "'); " } str += "<a"; for (var j in attr) str += ' ' + j + '="' + attr[j] + '" '; str += ">"; if (data.data[this.settings.languages[i]] && data.data[this.settings.languages[i]].icon && this.settings.theme_name == "themeroller") { str += "<ins class='ui-icon " + data.data[this.settings.languages[i]].icon + "'>&nbsp;</ins>" } str += ((typeof data.data[this.settings.languages[i]].title).toLowerCase() != "undefined" ? data.data[this.settings.languages[i]].title : data.data[this.settings.languages[i]]) + "</a>" } } else { var attr = {}; attr["href"] = "#"; attr["style"] = ""; attr["class"] = ""; if ((typeof data.data.attributes).toLowerCase() != "undefined") { for (var i in data.data.attributes) { if (i == "style" || i == "class") attr[i] += " " + data.data.attributes[i]; else attr[i] = data.data.attributes[i] } } if (data.data.icon && this.settings.ui.theme_name != "themeroller") { var icn = data.data.icon.indexOf("/") == -1 ? this.theme + data.data.icon : data.data.icon; attr["style"] += " ; background-image:url('" + icn + "');" } str += "<a"; for (var i in attr) str += ' ' + i + '="' + attr[i] + '" '; str += ">"; if (data.data.icon && this.settings.ui.theme_name == "themeroller") { str += "<ins class='ui-icon " + data.data.icon + "'>&nbsp;</ins>" } str += ((typeof data.data.title).toLowerCase() != "undefined" ? data.data.title : data.data) + "</a>" } if (data.children && data.children.length) { str += '<ul>'; for (var i = 0; i < data.children.length; i++) { str += this.parseJSON(data.children[i]) } str += '</ul>' } str += "</li>"; return str }, getJSON: function(nod, outer_attrib, inner_attrib, force) { var _this = this; if (!nod || $(nod).size() == 0) { nod = this.container.children("ul").children("li") } else nod = $(nod); if (nod.size() > 1) { var arr = []; nod.each(function() { arr.push(_this.getJSON(this, outer_attrib, inner_attrib, force)) }); return arr } if (!outer_attrib) outer_attrib = ["id", "rel", "class"]; if (!inner_attrib) inner_attrib = []; var obj = { attributes: {}, data: false }; for (var i in outer_attrib) { var val = (outer_attrib[i] == "class") ? nod.attr(outer_attrib[i]).replace("last", "").replace("leaf", "").replace("closed", "").replace("open", "") : nod.attr(outer_attrib[i]); if (typeof val != "undefined" && val.replace(" ", "").length > 0) obj.attributes[outer_attrib[i]] = val; delete val } if (this.settings.languages.length) { obj.data = {}; for (var i in this.settings.languages) { var a = nod.children("a." + this.settings.languages[i]); if (force || inner_attrib.length || a.get(0).style.backgroundImage.toString().length) { obj.data[this.settings.languages[i]] = {}; obj.data[this.settings.languages[i]].title = a.text(); if (a.get(0).style.backgroundImage.length) { obj.data[this.settings.languages[i]].icon = a.get(0).style.backgroundImage.replace("url(", "").replace(")", "") } if (this.settings.ui.theme_name == "themeroller" && a.children("ins").size()) { var tmp = a.children("ins").attr("class"); var cls = false; $.each(tmp.split(" "), function(i, val) { if (val.indexOf("ui-icon-") == 0) { cls = val; return false } }); if (cls) obj.data[this.settings.languages[i]].icon = cls } if (inner_attrib.length) { obj.data[this.settings.languages[i]].attributes = {}; for (var j in inner_attrib) { var val = a.attr(inner_attrib[j]); if (typeof val != "undefined" && val.replace(" ", "").length > 0) obj.data[this.settings.languages[i]].attributes[inner_attrib[j]] = val; delete val } } } else { obj.data[this.settings.languages[i]] = a.text() } } } else { var a = nod.children("a"); if (force || inner_attrib.length || a.get(0).style.backgroundImage.toString().length) { obj.data = {}; obj.data.title = a.text(); if (a.get(0).style.backgroundImage.length) { obj.data.icon = a.get(0).style.backgroundImage.replace("url(", "").replace(")", "") } if (this.settings.ui.theme_name == "themeroller" && a.children("ins").size()) { var tmp = a.children("ins").attr("class"); var cls = false; $.each(tmp.split(" "), function(i, val) { if (val.indexOf("ui-icon-") == 0) { cls = val; return false } }); if (cls) obj.data[this.settings.languages[i]].icon = cls } if (inner_attrib.length) { obj.data.attributes = {}; for (var j in inner_attrib) { var val = a.attr(inner_attrib[j]); if (typeof val != "undefined" && val.replace(" ", "").length > 0) obj.data.attributes[inner_attrib[j]] = val; delete val } } } else { obj.data = a.text() } } if (nod.children("ul").size() > 0) { obj.children = []; nod.children("ul").children("li").each(function() { obj.children.push(_this.getJSON(this, outer_attrib, inner_attrib, force)) }) } return obj }, getXML: function(tp, nod, outer_attrib, inner_attrib, cb) { var _this = this; if (tp != "flat") tp = "nested"; if (!nod || $(nod).size() == 0) { nod = this.container.children("ul").children("li") } else nod = $(nod); if (nod.size() > 1) { var obj = '<root>'; nod.each(function() { obj += _this.getXML(tp, this, outer_attrib, inner_attrib, true) }); obj += '</root>'; return obj } if (!outer_attrib) outer_attrib = ["id", "rel", "class"]; if (!inner_attrib) inner_attrib = []; var obj = ''; if (!cb) obj = '<root>'; obj += '<item '; if (tp == "flat") { var tmp_id = nod.parents("li:eq(0)").size() ? nod.parents("li:eq(0)").attr("id") : 0; obj += ' parent_id="' + tmp_id + '" '; delete tmp_id } for (var i in outer_attrib) { var val = (outer_attrib[i] == "class") ? nod.attr(outer_attrib[i]).replace("last", "").replace("leaf", "").replace("closed", "").replace("open", "") : nod.attr(outer_attrib[i]); if (typeof val != "undefined" && val.replace(" ", "").length > 0) obj += ' ' + outer_attrib[i] + '="' + val + '" '; delete val } obj += '>'; obj += '<content>'; if (this.settings.languages.length) { for (var i in this.settings.languages) { var a = nod.children("a." + this.settings.languages[i]); obj += '<name '; if (inner_attrib.length || a.get(0).style.backgroundImage.toString().length || this.settings.ui.theme_name == "themeroller") { if (a.get(0).style.backgroundImage.length) { obj += ' icon="' + a.get(0).style.backgroundImage.replace("url(", "").replace(")", "") + '" ' } if (this.settings.ui.theme_name == "themeroller" && a.children("ins").size()) { var tmp = a.children("ins").attr("class"); var cls = false; $.each(tmp.split(" "), function(i, val) { if (val.indexOf("ui-icon-") == 0) { cls = val; return false } }); if (cls) obj += ' icon="' + cls + '" ' } if (inner_attrib.length) { for (var j in inner_attrib) { var val = a.attr(inner_attrib[j]); if (typeof val != "undefined" && val.replace(" ", "").length > 0) obj += ' ' + inner_attrib[j] + '="' + val + '" '; delete val } } } obj += '><![CDATA[' + a.text() + ']]></name>' } } else { var a = nod.children("a"); obj += '<name '; if (inner_attrib.length || a.get(0).style.backgroundImage.toString().length || this.settings.ui.theme_name == "themeroller") { if (a.get(0).style.backgroundImage.length) { obj += ' icon="' + a.get(0).style.backgroundImage.replace("url(", "").replace(")", "") + '" ' } if (this.settings.ui.theme_name == "themeroller" && a.children("ins").size()) { var tmp = a.children("ins").attr("class"); var cls = false; $.each(tmp.split(" "), function(i, val) { if (val.indexOf("ui-icon-") == 0) { cls = val; return false } }); if (cls) obj += ' icon="' + cls + '" ' } if (inner_attrib.length) { for (var j in inner_attrib) { var val = a.attr(inner_attrib[j]); if (typeof val != "undefined" && val.replace(" ", "").length > 0) obj += ' ' + inner_attrib[j] + '="' + val + '" '; delete val } } } obj += '><![CDATA[' + a.text() + ']]></name>' } obj += '</content>'; if (tp == "flat") obj += '</item>'; if (nod.children("ul").size() > 0) { nod.children("ul").children("li").each(function() { obj += _this.getXML(tp, this, outer_attrib, inner_attrib, true) }) } if (tp == "nested") obj += '</item>'; if (!cb) obj += '</root>'; return obj }, focus: function() { if (this.locked) return false; if (tree_component.focused != this.cntr) { tree_component.focused = this.cntr; this.settings.callback.onfocus.call(null, this) } }, show_context: function(obj, x, y) { var tmp = this.context.show().offsetParent(); if (tmp.is("html")) tmp = $("body"); tmp = tmp.offset(); this.context.css({ "left": (x - tmp.left - (this.settings.ui.rtl ? $(this.context).width() : 0)), "top": (y - tmp.top + ($.browser.opera ? this.container.scrollTop() : 0) + 0) }) }, hide_context: function() { if (this.context.remove && this.context.apply_to) this.context.apply_to.children("a").removeClass("clicked"); this.context.apply_to = false; this.context.hide() }, attachEvents: function() { var _this = this; this.container.bind("mousedown", function(event) { if (tree_component.drag_drop.isdown) { tree_component.drag_drop.move_type = false; event.preventDefault(); event.stopPropagation(); event.stopImmediatePropagation(); return false } }).bind("mouseup", function(event) { setTimeout(function() { _this.focus.apply(_this) }, 5) }).bind("click", function(event) { return true }); $("#" + this.container.attr("id") + " li").live("click", function(event) { if (event.target.tagName != "LI") return true; _this.off_height(); if (event.pageY - $(event.target).offset().top > _this.li_height) return true; _this.toggle_branch.apply(_this, [event.target]); event.stopPropagation(); return false }); $("#" + this.container.attr("id") + " li a").live("click", function(event) { if (event.which && event.which == 3) return true; if (_this.locked) { event.preventDefault(); event.target.blur(); return _this.error("LOCKED") } _this.select_branch.apply(_this, [event.target, event.ctrlKey || _this.settings.rules.multiple == "on"]); if (_this.inp) { _this.inp.blur() } event.preventDefault(); event.target.blur(); return false }).live("dblclick", function(event) { if (_this.locked) { event.preventDefault(); event.stopPropagation(); event.target.blur(); return _this.error("LOCKED") } _this.settings.callback.ondblclk.call(null, _this.get_node(event.target).get(0), _this); event.preventDefault(); event.stopPropagation(); event.target.blur() }).live("contextmenu", function(event) { if (_this.locked) { event.target.blur(); return _this.error("LOCKED") } var val = _this.settings.callback.onrgtclk.call(null, _this.get_node(event.target).get(0), _this, event); if (_this.context) { if (_this.context.append == false) { $("body").append(_this.context); _this.context.append = true; for (var i in _this.settings.ui.context) { if (_this.settings.ui.context[i] == "separator") continue; (function() { var func = _this.settings.ui.context[i].action; _this.context.children("[rel=" + _this.settings.ui.context[i].id + "]").bind("click", function(event) { if (!$(this).hasClass("disabled")) { func.call(null, _this.context.apply_to || null, _this); _this.hide_context() } event.stopPropagation(); event.preventDefault(); return false }).bind("mouseup", function(event) { this.blur(); if ($(this).hasClass("disabled")) { event.stopPropagation(); event.preventDefault(); return false } }).bind("mousedown", function(event) { event.stopPropagation(); event.preventDefault() }) })() } } var obj = _this.get_node(event.target); if (_this.inp) { _this.inp.blur() } if (obj) { if (!obj.children("a:eq(0)").hasClass("clicked")) { _this.context.apply_to = obj; _this.context.remove = true; _this.context.apply_to.children("a").addClass("clicked"); event.target.blur() } else { _this.context.remove = false; _this.context.apply_to = _this.selected_arr || _this.selected } _this.context.children("a").removeClass("disabled").show(); var go = false; for (var i in _this.settings.ui.context) { if (_this.settings.ui.context[i] == "separator") continue; var state = _this.settings.ui.context[i].visible.call(null, _this.context.apply_to, _this); if (state === false) _this.context.children("[rel=" + _this.settings.ui.context[i].id + "]").addClass("disabled"); if (state === -1) _this.context.children("[rel=" + _this.settings.ui.context[i].id + "]").hide(); else go = true } if (go == true) _this.show_context(obj, event.pageX, event.pageY); event.preventDefault(); event.stopPropagation(); return false } } return val }).live("mouseover", function(event) { if (_this.locked) { event.preventDefault(); event.stopPropagation(); return _this.error("LOCKED") } if ((_this.settings.ui.hover_mode || _this.settings.ui.theme_name == "themeroller") && _this.hovered !== false && event.target.tagName == "A") { _this.hovered.children("a").removeClass("hover ui-state-hover"); _this.hovered = false } if (_this.settings.ui.theme_name == "themeroller") { _this.hover_branch.apply(_this, [event.target]) } }); if (_this.settings.ui.theme_name == "themeroller") { $("#" + this.container.attr("id") + " li a").live("mouseout", function(event) { if (_this.hovered) _this.hovered.children("a").removeClass("hover ui-state-hover") }) } if (this.settings.rules.draggable != "none") { $("#" + this.container.attr("id") + " li a").live("mousedown", function(event) { if (_this.settings.rules.drag_button == "left" && event.which && event.which != 1) return false; if (_this.settings.rules.drag_button == "right" && event.which && event.which != 3) return false; _this.focus.apply(_this); if (_this.locked) return _this.error("LOCKED"); var obj = _this.get_node(event.target); if (_this.settings.rules.multiple != false && _this.selected_arr.length > 1 && obj.children("a:eq(0)").hasClass("clicked")) { var counter = 0; for (var i in _this.selected_arr) { if (_this.check("draggable", _this.selected_arr[i])) { _this.selected_arr[i].addClass("dragged"); tree_component.drag_drop.origin_tree = _this; counter++ } } if (counter > 0) { if (_this.check("draggable", obj)) tree_component.drag_drop.drag_node = obj; else tree_component.drag_drop.drag_node = _this.container.find("li.dragged:eq(0)"); tree_component.drag_drop.isdown = true; tree_component.drag_drop.drag_help = $(tree_component.drag_drop.drag_node.get(0).cloneNode(true)); tree_component.drag_drop.drag_help.attr("id", "dragged"); tree_component.drag_drop.drag_help.children("a").html("Multiple selection").end().children("ul").remove() } } else { if (_this.check("draggable", obj)) { tree_component.drag_drop.drag_node = obj; tree_component.drag_drop.drag_help = $(obj.get(0).cloneNode(true)); tree_component.drag_drop.drag_help.attr("id", "dragged"); tree_component.drag_drop.isdown = true; tree_component.drag_drop.foreign = false; tree_component.drag_drop.origin_tree = _this; obj.addClass("dragged") } } tree_component.drag_drop.init_x = event.pageX; tree_component.drag_drop.init_y = event.pageY; obj.blur(); event.preventDefault(); event.stopPropagation(); return false }); $(document).bind("mousedown", tree_component.mousedown).bind("mouseup", tree_component.mouseup).bind("mousemove", tree_component.mousemove) } if (_this.context) $(document).bind("mousedown", function() { _this.hide_context() }) }, checkMove: function(NODES, REF_NODE, TYPE) { if (this.locked) return this.error("LOCKED"); var _this = this; if (REF_NODE.parents("li.dragged").size() > 0 || REF_NODE.is(".dragged")) return this.error("MOVE: NODE OVER SELF"); if (NODES.size() == 1) { var NODE = NODES.eq(0); if (tree_component.drag_drop.foreign) { if (this.settings.rules.droppable.length == 0) return false; if (!NODE.is("." + this.settings.rules.droppable.join(", ."))) return false; var ok = false; for (var i in this.settings.rules.droppable) { if (NODE.is("." + this.settings.rules.droppable[i])) { if (this.settings.rules.metadata) { $.metadata.setType("attr", this.settings.rules.metadata); NODE.attr(this.settings.rules.metadata, "type: '" + this.settings.rules.droppable[i] + "'") } else { NODE.attr(this.settings.rules.type_attr, this.settings.rules.droppable[i]) } ok = true; break } } if (!ok) return false } if (!this.check("dragrules", [NODE, TYPE, REF_NODE.parents("li:eq(0)")])) return this.error("MOVE: AGAINST DRAG RULES") } else { var ok = true; NODES.each(function(i) { if (ok == false) return false; var ref = REF_NODE; var mv = TYPE; if (!_this.check.apply(_this, ["dragrules", [$(this), mv, ref]])) ok = false }); if (ok == false) return this.error("MOVE: AGAINST DRAG RULES") } if (this.settings.rules.use_inline && this.settings.rules.metadata) { var nd = false; if (TYPE == "inside") nd = REF_NODE.parents("li:eq(0)"); else nd = REF_NODE.parents("li:eq(1)"); if (nd.size()) { if (typeof nd.metadata()["valid_children"] != "undefined") { var tmp = nd.metadata()["valid_children"]; var ok = true; NODES.each(function(i) { if (ok == false) return false; if ($.inArray(_this.get_type(this), tmp) == -1) ok = false }); if (ok == false) return this.error("MOVE: NOT A VALID CHILD") } if (typeof nd.metadata()["max_children"] != "undefined") { if ((nd.children("ul:eq(0)").children("li").not(".dragged").size() + NODES.size()) > nd.metadata().max_children) return this.error("MOVE: MAX CHILDREN REACHED") } var incr = 0; NODES.each(function(j) { var i = 1; var t = $(this); while (i < 100) { t = t.children("ul").children("li"); if (t.size() == 0) break; i++ } incr = Math.max(i, incr) }); var ok = true; if ((typeof $(nd).metadata().max_depth).toLowerCase() != "undefined" && $(nd).metadata().max_depth < incr) ok = false; else { nd.parents("li").each(function(i) { if (ok == false) return false; if ((typeof $(this).metadata().max_depth).toLowerCase() != "undefined") { if ((i + incr) >= $(this).metadata().max_depth) ok = false } }) } if (ok == false) return this.error("MOVE: MAX_DEPTH REACHED") } } return true }, reselect: function() { var _this = this; if (this.opened && this.opened.length) { var opn = false; for (var j = 0; j < this.opened.length; j++) { if (this.settings.data.async) { if (this.get_node(this.opened[j]).size() > 0) { opn = true; var tmp = this.opened[j]; delete this.opened[j]; this.open_branch(tmp, true, function() { _this.reselect.apply(_this) }) } } else this.open_branch(this.opened[j], true) } if (this.settings.data.async && opn) return; delete this.opened } if (this.scrtop) { this.container.scrollTop(_this.scrtop); delete this.scrtop } if (this.settings.selected !== false) { $.each(this.settings.selected, function(i) { _this.select_branch($(_this.settings.selected[i], _this.container), (_this.settings.rules.multiple !== false && i > 0)) }); this.settings.selected = false } if (this.settings.ui.theme_name == "themeroller") this.container.find("a").addClass("ui-state-default"); this.settings.callback.onload.call(null, _this) }, get_node: function(obj) { var obj = $(obj); return obj.is("li") ? obj : obj.parents("li:eq(0)") }, get_type: function(obj) { obj = !obj ? this.selected : this.get_node(obj); if (!obj) return; if (this.settings.rules.metadata) { $.metadata.setType("attr", this.settings.rules.metadata); var tmp = obj.metadata().type; if (tmp) return tmp } return obj.attr(this.settings.rules.type_attr) }, scrollCheck: function(x, y) { var _this = this; var cnt = _this.container; var off = _this.container.offset(); var st = cnt.scrollTop(); var sl = cnt.scrollLeft(); var h_cor = (cnt.get(0).scrollWidth > cnt.width()) ? 40 : 20; if (y - off.top < 20) cnt.scrollTop(Math.max((st - _this.settings.ui.scroll_spd), 0)); if (cnt.height() - (y - off.top) < h_cor) cnt.scrollTop(st + _this.settings.ui.scroll_spd); if (x - off.left < 20) cnt.scrollLeft(Math.max((sl - _this.settings.ui.scroll_spd), 0)); if (cnt.width() - (x - off.left) < 40) cnt.scrollLeft(sl + _this.settings.ui.scroll_spd); if (cnt.scrollLeft() != sl || cnt.scrollTop() != st) { _this.moveType = false; _this.moveRef = false; tree_component.drag_drop.marker.hide() } tree_component.drag_drop.scroll_time = setTimeout(function() { _this.scrollCheck(x, y) }, 50) }, check: function(rule, nodes) { if (this.locked) return this.error("LOCKED"); if (rule != "dragrules" && this.settings.rules.use_inline && this.settings.rules.metadata) { $.metadata.setType("attr", this.settings.rules.metadata); if (typeof this.get_node(nodes).metadata()[rule] != "undefined") return this.get_node(nodes).metadata()[rule] } if (!this.settings.rules[rule]) return false; if (this.settings.rules[rule] == "none") return false; if (this.settings.rules[rule] == "all") return true; if (rule == "dragrules") { var nds = new Array(); nds[0] = this.get_type(nodes[0]); nds[1] = nodes[1]; nds[2] = this.get_type(nodes[2]); for (var i = 0; i < this.settings.rules.dragrules.length; i++) { var r = this.settings.rules.dragrules[i]; var n = (r.indexOf("!") === 0) ? false : true; if (!n) r = r.replace("!", ""); var tmp = r.split(" "); for (var j = 0; j < 3; j++) { if (tmp[j] == nds[j] || tmp[j] == "*") tmp[j] = true } if (tmp[0] === true && tmp[1] === true && tmp[2] === true) return n } return false } else return ($.inArray(this.get_type(nodes), this.settings.rules[rule]) != -1) ? true : false }, hover_branch: function(obj) { if (this.locked) return this.error("LOCKED"); if (this.settings.ui.hover_mode == false && this.settings.theme_name != "themeroller") return this.select_branch(obj); var _this = this; var obj = _this.get_node(obj); if (!obj.size()) return this.error("HOVER: NOT A VALID NODE"); if (!_this.check("clickable", obj)) return this.error("SELECT: NODE NOT SELECTABLE"); if (this.hovered) this.hovered.children("A").removeClass("hover ui-state-hover"); this.hovered = obj; this.hovered.children("a").removeClass("hover ui-state-hover").addClass(this.settings.ui.theme_name == "themeroller" ? "hover ui-state-hover" : "hover"); var off_t = this.hovered.offset().top; var beg_t = this.container.offset().top; var end_t = beg_t + this.container.height(); var h_cor = (this.container.get(0).scrollWidth > this.container.width()) ? 40 : 20; if (off_t + 5 < beg_t) this.container.scrollTop(this.container.scrollTop() - (beg_t - off_t + 5)); if (off_t + h_cor > end_t) this.container.scrollTop(this.container.scrollTop() + (off_t + h_cor - end_t)) }, select_branch: function(obj, multiple) { if (this.locked) return this.error("LOCKED"); if (!obj && this.hovered !== false) obj = this.hovered; var _this = this; obj = _this.get_node(obj); if (!obj.size()) return this.error("SELECT: NOT A VALID NODE"); obj.children("a").removeClass("hover ui-state-hover"); if (!_this.check("clickable", obj)) return this.error("SELECT: NODE NOT SELECTABLE"); if (_this.settings.callback.beforechange.call(null, obj.get(0), _this) === false) return this.error("SELECT: STOPPED BY USER"); if (this.settings.rules.multiple != false && multiple && obj.children("a.clicked").size() > 0) { return this.deselect_branch(obj) } if (this.settings.rules.multiple != false && multiple) { this.selected_arr.push(obj) } if (this.settings.rules.multiple != false && !multiple) { for (var i in this.selected_arr) { this.selected_arr[i].children("A").removeClass("clicked ui-state-active"); this.settings.callback.ondeselect.call(null, this.selected_arr[i].get(0), _this) } this.selected_arr = []; this.selected_arr.push(obj); if (this.selected && this.selected.children("A").hasClass("clicked")) { this.selected.children("A").removeClass("clicked ui-state-active"); this.settings.callback.ondeselect.call(null, this.selected.get(0), _this) } } if (!this.settings.rules.multiple) { if (this.selected) { this.selected.children("A").removeClass("clicked ui-state-active"); this.settings.callback.ondeselect.call(null, this.selected.get(0), _this) } } this.selected = obj; if ((this.settings.ui.hover_mode || this.settings.ui.theme_name == "themeroller") && this.hovered !== false) { this.hovered.children("A").removeClass("hover ui-state-hover"); this.hovered = obj } this.selected.children("a").removeClass("clicked ui-state-active").addClass(this.settings.ui.theme_name == "themeroller" ? "clicked ui-state-active" : "clicked").end().parents("li.closed").each(function() { _this.open_branch(this, true) }); var off_t = this.selected.offset().top; var beg_t = this.container.offset().top; var end_t = beg_t + this.container.height(); var h_cor = (this.container.get(0).scrollWidth > this.container.width()) ? 40 : 20; if (off_t + 5 < beg_t) this.container.scrollTop(this.container.scrollTop() - (beg_t - off_t + 5)); if (off_t + h_cor > end_t) this.container.scrollTop(this.container.scrollTop() + (off_t + h_cor - end_t)); this.set_cookie("selected"); this.settings.callback.onselect.call(null, this.selected.get(0), _this); this.settings.callback.onchange.call(null, this.selected.get(0), _this) }, deselect_branch: function(obj) { if (this.locked) return this.error("LOCKED"); var _this = this; var obj = this.get_node(obj); obj.children("a").removeClass("clicked ui-state-active"); this.settings.callback.ondeselect.call(null, obj.get(0), _this); if (this.settings.rules.multiple != false && this.selected_arr.length > 1) { this.selected_arr = []; this.container.find("a.clicked").filter(":first-child").parent().each(function() { _this.selected_arr.push($(this)) }); if (obj.get(0) == this.selected.get(0)) { this.selected = this.selected_arr[0]; this.set_cookie("selected") } } else { if (this.settings.rules.multiple != false) this.selected_arr = []; this.selected = false; this.set_cookie("selected") } if (this.selected) this.settings.callback.onchange.call(null, this.selected.get(0), _this); else this.settings.callback.onchange.call(null, false, _this) }, toggle_branch: function(obj) { if (this.locked) return this.error("LOCKED"); var obj = this.get_node(obj); if (obj.hasClass("closed")) return this.open_branch(obj); if (obj.hasClass("open")) return this.close_branch(obj) }, open_branch: function(obj, disable_animation, callback) { if (this.locked) return this.error("LOCKED"); var obj = this.get_node(obj); if (!obj.size()) return this.error("OPEN: NO SUCH NODE"); if (obj.hasClass("leaf")) return this.error("OPEN: OPENING LEAF NODE"); if (this.settings.data.async && obj.find("li").size() == 0) { if (this.settings.callback.beforeopen.call(null, obj.get(0), this) === false) return this.error("OPEN: STOPPED BY USER"); var _this = this; obj.children("ul:eq(0)").remove().end().append("<ul><li class='last'><a class='loading' href='#'>" + (_this.settings.lang.loading || "Loading ...") + "</a></li></ul>"); obj.removeClass("closed").addClass("open"); if (this.settings.data.type == "xml_flat" || this.settings.data.type == "xml_nested") { var xsl = (this.settings.data.type == "xml_flat") ? "flat.xsl" : "nested.xsl"; obj.children("ul:eq(0)").getTransform(this.path + xsl, this.settings.data.url, { params: { theme_path: _this.theme }, meth: this.settings.data.method, dat: this.settings.data.async_data(obj), repl: true, callback: function(str, json) { if (str.length < 15) { obj.removeClass("closed").removeClass("open").addClass("leaf").children("ul").remove(); if (callback) callback.call(); return } _this.open_branch.apply(_this, [obj]); if (callback) callback.call() } }) } else { $.ajax({ type: this.settings.data.method, url: this.settings.data.url, data: this.settings.data.async_data(obj), dataType: "json", success: function(data, textStatus) { if (!data || data.length == 0) { obj.removeClass("closed").removeClass("open").addClass("leaf").children("ul").remove(); if (callback) callback.call(); return } var str = ""; if (data.length) { for (var i = 0; i < data.length; i++) { str += _this.parseJSON(data[i]) } } else str = _this.parseJSON(data); if (str.length > 0) { obj.children("ul:eq(0)").replaceWith("<ul>" + str + "</ul>"); obj.find("li:last-child").addClass("last").end().find("li:has(ul)").not(".open").addClass("closed"); obj.find("li").not(".open").not(".closed").addClass("leaf"); _this.open_branch.apply(_this, [obj]) } else obj.removeClass("closed").removeClass("open").addClass("leaf").children("ul").remove(); if (callback) callback.call() } }) } return true } else { if (!this.settings.data.async) { if (this.settings.callback.beforeopen.call(null, obj.get(0), this) === false) return this.error("OPEN: STOPPED BY USER") } if (this.settings.ui.theme_name == "themeroller") obj.find("a").not(".ui-state-default").addClass("ui-state-default"); if (parseInt(this.settings.ui.animation) > 0 && !disable_animation) { obj.children("ul:eq(0)").css("display", "none"); obj.removeClass("closed").addClass("open"); obj.children("ul:eq(0)").slideDown(parseInt(this.settings.ui.animation), function() { $(this).css("display", ""); if (callback) callback.call() }) } else { obj.removeClass("closed").addClass("open"); if (callback) callback.call() } this.set_cookie("open"); this.settings.callback.onopen.call(null, obj.get(0), this); return true } }, close_branch: function(obj, disable_animation) { if (this.locked) return this.error("LOCKED"); var _this = this; var obj = this.get_node(obj); if (!obj.size()) return this.error("CLOSE: NO SUCH NODE"); if (_this.settings.callback.beforeclose.call(null, obj.get(0), _this) === false) return this.error("CLOSE: STOPPED BY USER"); if (parseInt(this.settings.ui.animation) > 0 && !disable_animation && obj.children("ul:eq(0)").size() == 1) { obj.children("ul:eq(0)").slideUp(parseInt(this.settings.ui.animation), function() { if (obj.hasClass("open")) obj.removeClass("open").addClass("closed"); _this.set_cookie("open"); $(this).css("display", "") }) } else { if (obj.hasClass("open")) obj.removeClass("open").addClass("closed"); this.set_cookie("open") } if (this.selected && obj.children("ul:eq(0)").find("a.clicked").size() > 0) { obj.find("li:has(a.clicked)").each(function() { _this.deselect_branch(this) }); if (obj.children("a.clicked").size() == 0) this.select_branch(obj, (this.settings.rules.multiple != false && this.selected_arr.length > 0)) } this.settings.callback.onclose.call(null, obj.get(0), this) }, open_all: function(obj, callback) { if (this.locked) return this.error("LOCKED"); var _this = this; obj = obj ? $(obj) : this.container; var s = obj.find("li.closed").size(); if (!callback) this.cl_count = 0; else this.cl_count--; if (s > 0) { this.cl_count += s; obj.find("li.closed").each(function() { var __this = this; _this.open_branch.apply(_this, [this, true, function() { _this.open_all.apply(_this, [__this, true]) } ]) }) } else if (this.cl_count == 0) this.settings.callback.onopen_all.call(null, this) }, close_all: function() { if (this.locked) return this.error("LOCKED"); var _this = this; this.container.find("li.open").each(function() { _this.close_branch(this, true) }) }, show_lang: function(i) { if (this.locked) return this.error("LOCKED"); if (this.settings.languages[i] == this.current_lang) return true; var st = false; var id = this.container.attr("id") ? "#" + this.container.attr("id") : ".tree"; st = get_css(id + " ." + this.current_lang, this.sn); if (st !== false) st.style.display = "none"; st = get_css(id + " ." + this.settings.languages[i], this.sn); if (st !== false) st.style.display = ""; this.current_lang = this.settings.languages[i]; return true }, cycle_lang: function() { if (this.locked) return this.error("LOCKED"); var i = $.inArray(this.current_lang, this.settings.languages); i++; if (i > this.settings.languages.length - 1) i = 0; this.show_lang(i) }, create: function(obj, ref_node, position) { if (this.locked) return this.error("LOCKED"); var root = false; if (ref_node == -1) { root = true; ref_node = this.container } else ref_node = ref_node ? this.get_node(ref_node) : this.selected; if (!root && (!ref_node || !ref_node.size())) return this.error("CREATE: NO NODE SELECTED"); var tmp = ref_node; if (position == "before") { position = ref_node.parent().children().index(ref_node); ref_node = ref_node.parents("li:eq(0)") } if (position == "after") { position = ref_node.parent().children().index(ref_node) + 1; ref_node = ref_node.parents("li:eq(0)") } if (!root && ref_node.size() == 0) { root = true; ref_node = this.container } if (!root) { if (!this.check("creatable", ref_node)) return this.error("CREATE: CANNOT CREATE IN NODE"); if (ref_node.hasClass("closed")) { if (this.settings.data.async && ref_node.children("ul").size() == 0) { var _this = this; return this.open_branch(ref_node, true, function() { _this.create.apply(_this, [obj, ref_node, position]) }) } else this.open_branch(ref_node, true) } } var torename = false; if (!obj) obj = {}; if (!obj.attributes) obj.attributes = {}; if (this.settings.rules.metadata) { if (!obj.attributes[this.settings.rules.metadata]) obj.attributes[this.settings.rules.metadata] = '{ "type" : "' + (this.get_type(tmp) || "") + '" }' } else { if (!obj.attributes[this.settings.rules.type_attr]) obj.attributes[this.settings.rules.type_attr] = this.get_type(tmp) || "" } if (this.settings.languages.length) { if (!obj.data) { obj.data = {}; torename = true } for (var i = 0; i < this.settings.languages.length; i++) { if (!obj.data[this.settings.languages[i]]) obj.data[this.settings.languages[i]] = ((typeof this.settings.lang.new_node).toLowerCase() != "string" && this.settings.lang.new_node[i]) ? this.settings.lang.new_node[i] : this.settings.lang.new_node } } else { if (!obj.data) { obj.data = this.settings.lang.new_node; torename = true } } var $li = $(this.parseJSON(obj)); $li.addClass("leaf"); if (!root && this.settings.rules.use_inline && this.settings.rules.metadata) { var t = this.get_type($li) || ""; $.metadata.setType("attr", this.settings.rules.metadata); if (typeof ref_node.metadata()["valid_children"] != "undefined") { if ($.inArray(t, ref_node.metadata()["valid_children"]) == -1) return this.error("CREATE: NODE NOT A VALID CHILD") } if (typeof ref_node.metadata()["max_children"] != "undefined") { if ((ref_node.children("ul:eq(0)").children("li").size() + 1) > ref_node.metadata().max_children) return this.error("CREATE: MAX_CHILDREN REACHED") } var ok = true; if ((typeof $(ref_node).metadata().max_depth).toLowerCase() != "undefined" && $(ref_node).metadata().max_depth === 0) ok = false; else { ref_node.parents("li").each(function(i) { if ($(this).metadata().max_depth) { if ((i + 1) >= $(this).metadata().max_depth) { ok = false; return false } } }) } if (!ok) return this.error("CREATE: MAX_DEPTH REACHED") } if ((typeof position).toLowerCase() == "undefined" || position == "inside") position = (this.settings.rules.createat == "top") ? 0 : ref_node.children("ul:eq(0)").children("li").size(); if (ref_node.children("ul").size() == 0 || (root == true && ref_node.children("ul").children("li").size() == 0)) { if (!root) var a = this.moved($li, ref_node.children("a:eq(0)"), "inside", true); else var a = this.moved($li, this.container.children("ul:eq(0)"), "inside", true) } else if (ref_node.children("ul:eq(0)").children("li:nth-child(" + (position + 1) + ")").size()) var a = this.moved($li, ref_node.children("ul:eq(0)").children("li:nth-child(" + (position + 1) + ")").children("a:eq(0)"), "before", true); else var a = this.moved($li, ref_node.children("ul:eq(0)").children("li:last").children("a:eq(0)"), "after", true); if (a === false) return this.error("CREATE: ABORTED"); this.select_branch($li.children("a:eq(0)")); if (torename) this.rename(); return $li }, rename: function(obj) { if (this.locked) return this.error("LOCKED"); obj = obj ? this.get_node(obj) : this.selected; var _this = this; if (!obj || !obj.size()) return this.error("RENAME: NO NODE SELECTED"); if (!this.check("renameable", obj)) return this.error("RENAME: NODE NOT RENAMABLE"); if (!this.settings.callback.beforerename.call(null, obj.get(0), _this.current_lang, _this)) return this.error("RENAME: STOPPED BY USER"); obj.parents("li.closed").each(function() { _this.open_branch(this) }); if (this.current_lang) obj = obj.find("a." + this.current_lang).get(0); else obj = obj.find("a:first").get(0); last_value = obj.innerHTML; _this.inp = $("<input type='text' autocomplete='off' />"); _this.inp.val(last_value.replace(/&amp;/g, "&").replace(/&gt;/g, ">").replace(/&lt;/g, "<")).bind("mousedown", function(event) { event.stopPropagation() }).bind("mouseup", function(event) { event.stopPropagation() }).bind("click", function(event) { event.stopPropagation() }).bind("keyup", function(event) { var key = event.keyCode || event.which; if (key == 27) { this.value = last_value; this.blur(); return } if (key == 13) { this.blur(); return } }); var rb = {}; rb[this.container.attr("id")] = this.get_rollback(); _this.inp.blur(function(event) { if (this.value == "") this.value = last_value; $(obj).text($(obj).parent().find("input").eq(0).attr("value")).get(0).style.display = ""; $(obj).prevAll("span").remove(); _this.settings.callback.onrename.call(null, _this.get_node(obj).get(0), _this.current_lang, _this, rb); _this.inp = false }); var spn = $("<span />").addClass(obj.className).append(_this.inp); spn.attr("style", $(obj).attr("style")); obj.style.display = "none"; $(obj).parent().prepend(spn); _this.inp.get(0).focus(); _this.inp.get(0).select() }, remove: function(obj) { if (this.locked) return this.error("LOCKED"); var rb = {}; rb[this.container.attr("id")] = this.get_rollback(); if (obj && (!this.selected || this.get_node(obj).get(0) != this.selected.get(0))) { obj = this.get_node(obj); if (obj.size()) { if (!this.check("deletable", obj)) return this.error("DELETE: NODE NOT DELETABLE"); if (!this.settings.callback.beforedelete.call(null, obj.get(0), _this)) return this.error("DELETE: STOPPED BY USER"); $parent = obj.parent(); obj = obj.remove(); $parent.children("li:last").addClass("last"); if ($parent.children("li").size() == 0) { $li = $parent.parents("li:eq(0)"); $li.removeClass("open").removeClass("closed").addClass("leaf").children("ul").remove(); this.set_cookie("open") } this.settings.callback.ondelete.call(null, obj.get(0), this, rb) } } else if (this.selected) { if (!this.check("deletable", this.selected)) return this.error("DELETE: NODE NOT DELETABLE"); if (!this.settings.callback.beforedelete.call(null, this.selected.get(0), _this)) return this.error("DELETE: STOPPED BY USER"); $parent = this.selected.parent(); var obj = this.selected; if (this.settings.rules.multiple == false || this.selected_arr.length == 1) { var stop = true; var tmp = (this.selected.prev("li:eq(0)").size()) ? this.selected.prev("li:eq(0)") : this.selected.parents("li:eq(0)") } obj = obj.remove(); $parent.children("li:last").addClass("last"); if ($parent.children("li").size() == 0) { $li = $parent.parents("li:eq(0)"); $li.removeClass("open").removeClass("closed").addClass("leaf").children("ul").remove(); this.set_cookie("open") } this.settings.callback.ondelete.call(null, obj.get(0), this, rb); if (stop && tmp) this.select_branch(tmp); if (this.settings.rules.multiple != false && !stop) { var _this = this; this.selected_arr = []; this.container.find("a.clicked").filter(":first-child").parent().each(function() { _this.selected_arr.push($(this)) }); if (this.selected_arr.length > 0) { this.selected = this.selected_arr[0]; this.remove() } } } else return this.error("DELETE: NO NODE SELECTED") }, get_next: function(force) { var obj = this.hovered || this.selected; if (obj) { if (obj.hasClass("open")) return force ? this.select_branch(obj.find("li:eq(0)")) : this.hover_branch(obj.find("li:eq(0)")); else if ($(obj).nextAll("li").size() > 0) return force ? this.select_branch(obj.nextAll("li:eq(0)")) : this.hover_branch(obj.nextAll("li:eq(0)")); else return force ? this.select_branch(obj.parents("li").next("li").eq(0)) : this.hover_branch(obj.parents("li").next("li").eq(0)) } }, get_prev: function(force) { var obj = this.hovered || this.selected; if (obj) { if (obj.prev("li").size()) { var obj = obj.prev("li").eq(0); while (obj.hasClass("open")) obj = obj.children("ul:eq(0)").children("li:last"); return force ? this.select_branch(obj) : this.hover_branch(obj) } else { return force ? this.select_branch(obj.parents("li:eq(0)")) : this.hover_branch(obj.parents("li:eq(0)")) } } }, get_left: function(force, rtl) { if (this.settings.ui.rtl && !rtl) return this.get_right(force, true); var obj = this.hovered || this.selected; if (obj) { if (obj.hasClass("open")) this.close_branch(obj); else { return force ? this.select_branch(obj.parents("li:eq(0)")) : this.hover_branch(obj.parents("li:eq(0)")) } } }, get_right: function(force, rtl) { if (this.settings.ui.rtl && !rtl) return this.get_left(force, true); var obj = this.hovered || this.selected; if (obj) { if (obj.hasClass("closed")) this.open_branch(obj); else { return force ? this.select_branch(obj.find("li:eq(0)")) : this.hover_branch(obj.find("li:eq(0)")) } } }, toggleDots: function() { this.container.toggleClass("no_dots") }, set_cookie: function(type) { if (this.settings.cookies === false) return false; if (this.settings.cookies[type] === false) return false; switch (type) { case "selected": if (this.settings.rules.multiple != false && this.selected_arr.length > 1) { var val = Array(); $.each(this.selected_arr, function() { val.push(this.attr("id")) }); val = val.join(",") } else var val = this.selected ? this.selected.attr("id") : false; $.cookie(this.settings.cookies.prefix + '_selected', val, this.settings.cookies.opts); break; case "open": var str = ""; this.container.find("li.open").each(function(i) { str += this.id + "," }); $.cookie(this.settings.cookies.prefix + '_open', str.replace(/,$/ig, ""), this.settings.cookies.opts); break } }, get_rollback: function() { var rb = {}; if (this.context.remove && this.context.apply_to) this.context.apply_to.children("a").removeClass("clicked"); rb.html = this.container.html(); if (this.context.remove && this.context.apply_to) this.context.apply_to.children("a").addClass("clicked"); rb.selected = this.selected ? this.selected.attr("id") : false; return rb }, moved: function(what, where, how, is_new, is_copy, rb) { var what = $(what); var $parent = $(what).parents("ul:eq(0)"); var $where = $(where); if (!rb) { var rb = {}; rb[this.container.attr("id")] = this.get_rollback(); if (!is_new) { var tmp = what.size() > 1 ? what.eq(0).parents(".tree:eq(0)") : what.parents(".tree:eq(0)"); if (tmp.get(0) != this.container.get(0)) { tmp = tree_component.inst[tmp.attr("id")]; rb[tmp.container.attr("id")] = tmp.get_rollback() } delete tmp } } if (how == "inside" && this.settings.data.async && this.get_node($where).hasClass("closed")) { var _this = this; return this.open_branch(this.get_node($where), true, function() { _this.moved.apply(_this, [what, where, how, is_new, is_copy, rb]) }) } if (what.size() > 1) { var _this = this; var tmp = this.moved(what.eq(0), where, how, false, is_copy, rb); what.each(function(i) { if (i == 0) return; if (tmp) { tmp = _this.moved(this, tmp.children("a:eq(0)"), "after", false, is_copy, rb) } }); return } if (is_copy) { _what = what.clone(); _what.each(function(i) { this.id = this.id + "_copy"; $(this).find("li").each(function() { this.id = this.id + "_copy" }); $(this).removeClass("dragged").find("a.clicked").removeClass("clicked ui-state-active").end().find("li.dragged").removeClass("dragged") }) } else _what = what; if (is_new) { if (!this.settings.callback.beforecreate.call(null, this.get_node(what).get(0), this.get_node(where).get(0), how, this)) return false } else { if (!this.settings.callback.beforemove.call(null, this.get_node(what).get(0), this.get_node(where).get(0), how, this)) return false } if (!is_new) { var tmp = what.parents(".tree:eq(0)"); if (tmp.get(0) != this.container.get(0)) { tmp = tree_component.inst[tmp.attr("id")]; if (tmp.settings.languages.length) { var res = []; if (this.settings.languages.length == 0) res.push("." + tmp.current_lang); else { for (var i in this.settings.languages) { for (var j in tmp.settings.languages) { if (this.settings.languages[i] == tmp.settings.languages[j]) res.push("." + this.settings.languages[i]) } } } if (res.length == 0) return this.error("MOVE: NO COMMON LANGUAGES"); what.find("a").not(res.join(",")).remove() } what.find("a.clicked").removeClass("clicked ui-state-active") } } what = _what; switch (how) { case "before": $where.parents("ul:eq(0)").children("li.last").removeClass("last"); $where.parent().before(what.removeClass("last")); $where.parents("ul:eq(0)").children("li:last").addClass("last"); break; case "after": $where.parents("ul:eq(0)").children("li.last").removeClass("last"); $where.parent().after(what.removeClass("last")); $where.parents("ul:eq(0)").children("li:last").addClass("last"); break; case "inside": if ($where.parent().children("ul:first").size()) { if (this.settings.rules.createat == "top") $where.parent().children("ul:first").prepend(what.removeClass("last")).children("li:last").addClass("last"); else $where.parent().children("ul:first").children(".last").removeClass("last").end().append(what.removeClass("last")).children("li:last").addClass("last") } else { what.addClass("last"); $where.parent().append("<ul/>").removeClass("leaf").addClass("closed"); $where.parent().children("ul:first").prepend(what) } if ($where.parent().hasClass("closed")) { this.open_branch($where) } break; default: break } if ($parent.find("li").size() == 0) { var $li = $parent.parent(); $li.removeClass("open").removeClass("closed").addClass("leaf").children("ul").remove(); $li.parents("ul:eq(0)").children("li.last").removeClass("last").end().children("li:last").addClass("last"); this.set_cookie("open") } else { $parent.children("li.last").removeClass("last"); $parent.children("li:last").addClass("last") } if (is_copy) this.settings.callback.oncopy.call(null, this.get_node(what).get(0), this.get_node(where).get(0), how, this, rb); else if (is_new) this.settings.callback.oncreate.call(null, this.get_node(what).get(0), ($where.is("ul") ? -1 : this.get_node(where).get(0)), how, this, rb); else this.settings.callback.onmove.call(null, this.get_node(what).get(0), this.get_node(where).get(0), how, this, rb); return what }, error: function(code) { this.settings.callback.error.call(null, code, this); return false }, lock: function(state) { this.locked = state; if (this.locked) this.container.addClass("locked"); else this.container.removeClass("locked") }, cut: function(obj) { if (this.locked) return this.error("LOCKED"); obj = obj ? this.get_node(obj) : this.container.find("a.clicked").filter(":first-child").parent(); if (!obj || !obj.size()) return this.error("CUT: NO NODE SELECTED"); this.copy_nodes = false; this.cut_nodes = obj }, copy: function(obj) { if (this.locked) return this.error("LOCKED"); obj = obj ? this.get_node(obj) : this.container.find("a.clicked").filter(":first-child").parent(); if (!obj || !obj.size()) return this.error("COPY: NO NODE SELECTED"); this.copy_nodes = obj; this.cut_nodes = false }, paste: function(obj, position) { if (this.locked) return this.error("LOCKED"); obj = obj ? this.get_node(obj) : this.selected; if (!obj || !obj.size()) return this.error("PASTE: NO NODE SELECTED"); if (!this.copy_nodes && !this.cut_nodes) return this.error("PASTE: NOTHING TO DO"); var _this = this; if (position == "before") { position = ref_node.parent().children().index(obj); obj = obj.parents("li:eq(0)") } else if (position == "after") { position = obj.parent().children().index(obj) + 1; obj = obj.parents("li:eq(0)") } else if ((typeof position).toLowerCase() == "undefined" || position == "inside") { position = (this.settings.rules.createat == "top") ? 0 : obj.children("ul:eq(0)").children("li").size() } if (this.copy_nodes && this.copy_nodes.size()) { var ok = true; obj.parents().andSelf().each(function() { if (_this.copy_nodes.index(this) != -1) { ok = false; return false } }); if (!ok) return this.error("Invalid paste"); if (!this.checkMove(this.copy_nodes, obj.children("a:eq(0)"), "inside")) return false; if (obj.children("ul").size() == 0) var a = this.moved(this.copy_nodes, obj.children("a:eq(0)"), "inside", false, true); else if (obj.children("ul:eq(0)").children("li:nth-child(" + (position + 1) + ")").size()) var a = this.moved(this.copy_nodes, obj.children("ul:eq(0)").children("li:nth-child(" + (position + 1) + ")").children("a:eq(0)"), "before", false, true); else var a = this.moved(this.copy_nodes, obj.children("ul:eq(0)").children("li:last").children("a:eq(0)"), "after", false, true); this.copy_nodes = false } if (this.cut_nodes && this.cut_nodes.size()) { var ok = true; obj.parents().andSelf().each(function() { if (_this.cut_nodes.index(this) != -1) { ok = false; return false } }); if (!ok) return this.error("Invalid paste"); if (!this.checkMove(this.cut_nodes, obj.children("a:eq(0)"), "inside")) return false; if (obj.children("ul").size() == 0) var a = this.moved(this.cut_nodes, obj.children("a:eq(0)"), "inside"); else if (obj.children("ul:eq(0)").children("li:nth-child(" + (position + 1) + ")").size()) var a = this.moved(this.cut_nodes, obj.children("ul:eq(0)").children("li:nth-child(" + (position + 1) + ")").children("a:eq(0)"), "before"); else var a = this.moved(this.cut_nodes, obj.children("ul:eq(0)").children("li:last").children("a:eq(0)"), "after"); this.cut_nodes = false } }, search: function(str) { var _this = this; if (!str || (this.srch && str != this.srch)) { this.srch = ""; this.srch_opn = false; this.container.find("a.search").removeClass("search ui-state-highlight") } this.srch = str; if (!str) return; if (this.settings.data.async) { if (!this.srch_opn) { var dd = $.extend({ "search": str }, this.settings.data.async_data(false)); $.ajax({ type: this.settings.data.method, url: this.settings.data.url, data: dd, dataType: "text", success: function(data) { _this.srch_opn = $.unique(data.split(",")); _this.search.apply(_this, [str]) } }) } else if (this.srch_opn.length) { if (this.srch_opn && this.srch_opn.length) { var opn = false; for (var j = 0; j < this.srch_opn.length; j++) { if (this.get_node("#" + this.srch_opn[j]).size() > 0) { opn = true; var tmp = "#" + this.srch_opn[j]; delete this.srch_opn[j]; this.open_branch(tmp, true, function() { _this.search.apply(_this, [str]) }) } } if (!opn) { this.srch_opn = []; _this.search.apply(_this, [str]) } } } else { var selector = "a"; if (this.settings.languages.length) selector += "." + this.current_lang; this.container.find(selector + ":contains('" + str + "')").addClass(this.settings.ui.theme_name == "themeroller" ? "search ui-state-highlight" : "search"); this.srch_opn = false } } else { var selector = "a"; if (this.settings.languages.length) selector += "." + this.current_lang; this.container.find(selector + ":contains('" + str + "')").addClass(this.settings.ui.theme_name == "themeroller" ? "search ui-state-highlight" : "search").parents("li.closed").each(function() { _this.open_branch(this, true) }) } }, destroy: function() { this.container.unbind().find("li").die().find("a").die(); this.container.removeClass("tree ui-widget ui-widget-content").children("ul").removeClass("tree-" + this.settings.ui.theme_name).find("li").removeClass("leaf").removeClass("open").removeClass("closed").removeClass("last").children("a").removeClass("clicked hover search ui-state-active ui-state-hover ui-state-highlight ui-state-default"); if (this.cntr == tree_component.focused) { for (var i in tree_component.inst) { if (i != this.cntr && i != this.container.attr("id")) { tree_component.inst[i].focus(); break } } } delete tree_component.inst[this.cntr]; delete tree_component.inst[this.container.attr("id")]; tree_component.cntr-- } } } })(jQuery);
(function(c) { var i = c.fn.remove, d = c.browser.mozilla && (parseFloat(c.browser.version) < 1.9); c.ui = { version: "1.6rc6", 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) { 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) }, cssCache: {}, css: function(j) { if (c.ui.cssCache[j]) { return c.ui.cssCache[j] } var k = c('<div class="ui-gen"></div>').addClass(j).css({ position: "absolute", top: "-5000px", left: "-5000px", display: "block" }).appendTo("body"); c.ui.cssCache[j] = !!((!(/auto|default/).test(k.css("cursor")) || (/^[1-9]/).test(k.css("height")) || (/^[1-9]/).test(k.css("width")) || !(/none/).test(k.css("backgroundImage")) || !(/transparent|rgba\(0, 0, 0, 0\)/).test(k.css("backgroundColor")))); try { c("body").get(0).removeChild(k.get(0)) } catch (l) { } return c.ui.cssCache[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; 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) { 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 = true; 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);
(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.cssNamespace && this.element.addClass(this.options.cssNamespace + "-draggable")); (this.options.disabled && this.element.addClass(this.options.cssNamespace + "-draggable-disabled")); this._mouseInit() }, destroy: function() { if (!this.element.data("draggable")) { return } this.element.removeData("draggable").unbind(".draggable").removeClass(this.options.cssNamespace + "-draggable " + this.options.cssNamespace + "-draggable-dragging " + this.options.cssNamespace + "-draggable-disabled"); this._mouseDestroy() }, _mouseCapture: function(b) { var c = this.options; if (this.helper || c.disabled || a(b.target).is("." + this.options.cssNamespace + "-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(c.cssNamespace + "-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 && a.browser.mozilla) || (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 - (this.cssPosition == "fixed" ? -this.scrollParent.scrollTop() : (g ? 0 : b.scrollTop())) * c), left: (h.left + this.offset.relative.left * c + this.offset.parent.left * c - (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 + (this.cssPosition == "fixed" ? -this.scrollParent.scrollTop() : (i ? 0 : b.scrollTop()))), left: (d - this.offset.click.left - this.offset.relative.left - this.offset.parent.left + (this.cssPosition == "fixed" ? -this.scrollParent.scrollLeft() : i ? 0 : b.scrollLeft()))} }, _clear: function() { this.helper.removeClass(this.options.cssNamespace + "-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.6rc6", eventPrefix: "drag", defaults: { appendTo: "parent", axis: false, cancel: ":input,option", connectToSortable: false, containment: false, cssNamespace: "ui", cursor: "default", 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(b, d) { var c = a(this).data("draggable"), e = c.options; c.sortables = []; a(e.connectToSortable).each(function() { a(typeof this == "string" ? this + "" : this).each(function() { if (a.data(this, "sortable")) { var f = a.data(this, "sortable"); c.sortables.push({ instance: f, shouldRevert: f.options.revert }); f._refreshItems(); f._trigger("activate", b, c) } }) }) }, stop: function(b, d) { var c = a(this).data("draggable"); a.each(c.sortables, function() { if (this.instance.isOver) { this.instance.isOver = 0; c.cancelHelperRemoval = true; this.instance.cancelHelperRemoval = false; if (this.shouldRevert) { this.instance.options.revert = true } this.instance._mouseStop(b); this.instance.options.helper = this.instance.options._helper; if (c.options.helper == "original") { this.instance.currentItem.css({ top: "auto", left: "auto" }) } } else { this.instance.cancelHelperRemoval = false; this.instance._trigger("deactivate", b, c) } }) }, 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) { if (d.call(e, 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; 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._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.absolutePosition.left, w = x + g.helperProportions.width, f = p.absolutePosition.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);
(function(a) { a.widget("ui.droppable", { _init: function() { var c = this.options, b = c.accept; this.isover = 0; this.isout = 1; this.options.accept = this.options.accept && a.isFunction(this.options.accept) ? this.options.accept : function(e) { return e.is(b) }; this.proportions = { width: this.element[0].offsetWidth, height: this.element[0].offsetHeight }; a.ui.ddmanager.droppables[this.options.scope] = a.ui.ddmanager.droppables[this.options.scope] || []; a.ui.ddmanager.droppables[this.options.scope].push(this); (this.options.cssNamespace && this.element.addClass(this.options.cssNamespace + "-droppable")) }, destroy: function() { var b = a.ui.ddmanager.droppables[this.options.scope]; for (var c = 0; c < b.length; c++) { if (b[c] == this) { b.splice(c, 1) } } this.element.removeClass(this.options.cssNamespace + "-droppable " + this.options.cssNamespace + "-droppable-disabled").removeData("droppable").unbind(".droppable") }, _setData: function(b, c) { if (b == "accept") { this.options.accept = c && a.isFunction(c) ? c : function(e) { return e.is(accept) } } else { a.widget.prototype._setData.apply(this, arguments) } }, _activate: function(c) { var b = a.ui.ddmanager.current; if (this.options.activeClass) { this.element.addClass(this.options.activeClass) } (b && this._trigger("activate", c, this.ui(b))) }, _deactivate: function(c) { var b = a.ui.ddmanager.current; if (this.options.activeClass) { this.element.removeClass(this.options.activeClass) } (b && this._trigger("deactivate", c, this.ui(b))) }, _over: function(c) { var b = a.ui.ddmanager.current; if (!b || (b.currentItem || b.element)[0] == this.element[0]) { return } if (this.options.accept.call(this.element[0], (b.currentItem || b.element))) { if (this.options.hoverClass) { this.element.addClass(this.options.hoverClass) } this._trigger("over", c, this.ui(b)) } }, _out: function(c) { var b = a.ui.ddmanager.current; if (!b || (b.currentItem || b.element)[0] == this.element[0]) { return } if (this.options.accept.call(this.element[0], (b.currentItem || b.element))) { if (this.options.hoverClass) { this.element.removeClass(this.options.hoverClass) } this._trigger("out", c, this.ui(b)) } }, _drop: function(c, d) { var b = d || a.ui.ddmanager.current; if (!b || (b.currentItem || b.element)[0] == this.element[0]) { return false } var e = false; this.element.find(":data(droppable)").not("." + b.options.cssNamespace + "-draggable-dragging").each(function() { var f = a.data(this, "droppable"); if (f.options.greedy && a.ui.intersect(b, a.extend(f, { offset: f.element.offset() }), f.options.tolerance)) { e = true; return false } }); if (e) { return false } if (this.options.accept.call(this.element[0], (b.currentItem || b.element))) { if (this.options.activeClass) { this.element.removeClass(this.options.activeClass) } if (this.options.hoverClass) { this.element.removeClass(this.options.hoverClass) } this._trigger("drop", c, this.ui(b)); return this.element } return false }, ui: function(b) { return { draggable: (b.currentItem || b.element), helper: b.helper, position: b.position, absolutePosition: b.positionAbs, offset: b.positionAbs} } }); a.extend(a.ui.droppable, { version: "1.6rc6", eventPrefix: "drop", defaults: { accept: "*", activeClass: false, cssNamespace: "ui", greedy: false, hoverClass: false, scope: "default", tolerance: "intersect"} }); a.ui.intersect = function(q, j, o) { if (!j.offset) { return false } var e = (q.positionAbs || q.position.absolute).left, d = e + q.helperProportions.width, n = (q.positionAbs || q.position.absolute).top, m = n + q.helperProportions.height; var g = j.offset.left, c = g + j.proportions.width, p = j.offset.top, k = p + j.proportions.height; switch (o) { case "fit": return (g < e && d < c && p < n && m < k); break; case "intersect": return (g < e + (q.helperProportions.width / 2) && d - (q.helperProportions.width / 2) < c && p < n + (q.helperProportions.height / 2) && m - (q.helperProportions.height / 2) < k); break; case "pointer": var h = ((q.positionAbs || q.position.absolute).left + (q.clickOffset || q.offset.click).left), i = ((q.positionAbs || q.position.absolute).top + (q.clickOffset || q.offset.click).top), f = a.ui.isOver(i, h, p, g, j.proportions.height, j.proportions.width); return f; break; case "touch": return ((n >= p && n <= k) || (m >= p && m <= k) || (n < p && m > k)) && ((e >= g && e <= c) || (d >= g && d <= c) || (e < g && d > c)); break; default: return false; break } }; a.ui.ddmanager = { current: null, droppables: { "default": [] }, prepareOffsets: function(e, g) { var b = a.ui.ddmanager.droppables[e.options.scope]; var f = g ? g.type : null; var h = (e.currentItem || e.element).find(":data(droppable)").andSelf(); droppablesLoop: for (var d = 0; d < b.length; d++) { if (b[d].options.disabled || (e && !b[d].options.accept.call(b[d].element[0], (e.currentItem || e.element)))) { continue } for (var c = 0; c < h.length; c++) { if (h[c] == b[d].element[0]) { b[d].proportions.height = 0; continue droppablesLoop } } b[d].visible = b[d].element.css("display") != "none"; if (!b[d].visible) { continue } b[d].offset = b[d].element.offset(); b[d].proportions = { width: b[d].element[0].offsetWidth, height: b[d].element[0].offsetHeight }; if (f == "mousedown") { b[d]._activate.call(b[d], g) } } }, drop: function(b, c) { var d = false; a.each(a.ui.ddmanager.droppables[b.options.scope], function() { if (!this.options) { return } if (!this.options.disabled && this.visible && a.ui.intersect(b, this, this.options.tolerance)) { d = this._drop.call(this, c) } if (!this.options.disabled && this.visible && this.options.accept.call(this.element[0], (b.currentItem || b.element))) { this.isout = 1; this.isover = 0; this._deactivate.call(this, c) } }); return d }, drag: function(b, c) { if (b.options.refreshPositions) { a.ui.ddmanager.prepareOffsets(b, c) } a.each(a.ui.ddmanager.droppables[b.options.scope], function() { if (this.options.disabled || this.greedyChild || !this.visible) { return } var e = a.ui.intersect(b, this, this.options.tolerance); var g = !e && this.isover == 1 ? "isout" : (e && this.isover == 0 ? "isover" : null); if (!g) { return } var f; if (this.options.greedy) { var d = this.element.parents(":data(droppable):eq(0)"); if (d.length) { f = a.data(d[0], "droppable"); f.greedyChild = (g == "isover" ? 1 : 0) } } if (f && g == "isover") { f.isover = 0; f.isout = 1; f._out.call(f, c) } this[g] = 1; this[g == "isout" ? "isover" : "isout"] = 0; this[g == "isover" ? "_over" : "_out"].call(this, c); if (f && g == "isout") { f.isout = 0; f.isover = 1; f._over.call(f, c) } }) } } })(jQuery);
(function(b) { b.widget("ui.resizable", b.extend({}, b.ui.mouse, { _init: function() { var d = this, h = this.options; this.element.addClass("ui-resizable"); b.extend(this, { _aspectRatio: !!(h.aspectRatio), aspectRatio: h.aspectRatio, originalElement: this.element, proportionallyResize: h.proportionallyResize ? [h.proportionallyResize] : [], _helper: h.helper || h.ghost || h.animate ? h.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")) && b.browser.opera) { this.element.css({ position: "relative", top: "auto", left: "auto" }) } this.element.wrap(b('<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(); 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 }); if (b.browser.safari && h.preventDefault) { this.originalElement.css("resize", "none") } this.proportionallyResize.push(this.originalElement.css({ position: "static", zoom: 1, display: "block" })); this.originalElement.css({ margin: this.originalElement.css("margin") }); this._proportionallyResize() } this.handles = h.handles || (!b(".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 j = this.handles.split(","); this.handles = {}; for (var e = 0; e < j.length; e++) { var g = b.trim(j[e]), c = "ui-resizable-" + g; var f = b('<div class="ui-resizable-handle ' + c + '"></div>'); if (/sw|se|ne|nw/.test(g)) { f.css({ zIndex: ++h.zIndex }) } if ("se" == g) { f.addClass("ui-icon ui-icon-gripsmall-diagonal-se") } this.handles[g] = ".ui-resizable-" + g; this.element.append(f) } } this._renderAxis = function(o) { o = o || this.element; for (var l in this.handles) { if (this.handles[l].constructor == String) { this.handles[l] = b(this.handles[l], this.element).show() } if (h.transparent) { this.handles[l].css({ opacity: 0 }) } if (this.elementIsWrapper && this.originalElement[0].nodeName.match(/textarea|input|select|button/i)) { var m = b(this.handles[l], this.element), n = 0; n = /sw|ne|nw|se|n|s/.test(l) ? m.outerHeight() : m.outerWidth(); var k = ["padding", /ne|nw|n/.test(l) ? "Top" : /se|sw|s/.test(l) ? "Bottom" : /^e$/.test(l) ? "Right" : "Left"].join(""); if (!h.transparent) { o.css(k, n) } this._proportionallyResize() } if (!b(this.handles[l]).length) { continue } } }; this._renderAxis(this.element); this._handles = b(".ui-resizable-handle", this.element); if (h.disableSelection) { this._handles.disableSelection() } this._handles.mouseover(function() { if (!d.resizing) { if (this.className) { var i = this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i) } d.axis = i && i[1] ? i[1] : "se" } }); if (h.autoHide) { this._handles.hide(); b(this.element).addClass("ui-resizable-autohide").hover(function() { b(this).removeClass("ui-resizable-autohide"); d._handles.show() }, function() { if (!d.resizing) { b(this).addClass("ui-resizable-autohide"); d._handles.hide() } }) } this._mouseInit() }, destroy: function() { this._mouseDestroy(); var c = function(d) { b(d).removeClass("ui-resizable ui-resizable-disabled").removeData("resizable").unbind(".resizable").find(".ui-resizable-handle").remove() }; if (this.elementIsWrapper) { c(this.element); this.wrapper.parent().append(this.originalElement.css({ position: this.wrapper.css("position"), width: this.wrapper.outerWidth(), height: this.wrapper.outerHeight(), top: this.wrapper.css("top"), left: this.wrapper.css("left") })).end().remove() } c(this.originalElement) }, _mouseCapture: function(d) { var e = false; for (var c in this.handles) { if (b(this.handles[c])[0] == d.target) { e = true } } return this.options.disabled || !!e }, _mouseStart: function(e) { var h = this.options, d = this.element.position(), c = this.element; this.resizing = true; this.documentScroll = { top: b(document).scrollTop(), left: b(document).scrollLeft() }; if (c.is(".ui-draggable") || (/absolute/).test(c.css("position"))) { c.css({ position: "absolute", top: d.top, left: d.left }) } if (b.browser.opera && (/relative/).test(c.css("position"))) { c.css({ position: "relative", top: "auto", left: "auto" }) } this._renderProxy(); var i = a(this.helper.css("left")), f = a(this.helper.css("top")); if (h.containment) { i += b(h.containment).scrollLeft() || 0; f += b(h.containment).scrollTop() || 0 } this.offset = this.helper.offset(); this.position = { left: i, top: f }; this.size = this._helper ? { width: c.outerWidth(), height: c.outerHeight()} : { width: c.width(), height: c.height() }; this.originalSize = this._helper ? { width: c.outerWidth(), height: c.outerHeight()} : { width: c.width(), height: c.height() }; this.originalPosition = { left: i, top: f }; this.sizeDiff = { width: c.outerWidth() - c.width(), height: c.outerHeight() - c.height() }; this.originalMousePosition = { left: e.pageX, top: e.pageY }; this.aspectRatio = (typeof h.aspectRatio == "number") ? h.aspectRatio : ((this.originalSize.width / this.originalSize.height) || 1); if (h.preserveCursor) { var g = b(".ui-resizable-" + this.axis).css("cursor"); b("body").css("cursor", g == "auto" ? this.axis + "-resize" : g) } this._propagate("start", e); return true }, _mouseDrag: function(c) { var f = this.helper, e = this.options, k = {}, n = this, h = this.originalMousePosition, l = this.axis; var p = (c.pageX - h.left) || 0, m = (c.pageY - h.top) || 0; var g = this._change[l]; if (!g) { return false } var j = g.apply(this, [c, p, m]), i = b.browser.msie && b.browser.version < 7, d = this.sizeDiff; if (this._aspectRatio || c.shiftKey) { j = this._updateRatio(j, c) } j = this._respectSize(j, c); this._propagate("resize", c); f.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.proportionallyResize.length) { this._proportionallyResize() } this._updateCache(j); this._trigger("resize", c, this.ui()); return false }, _mouseStop: function(f) { this.resizing = false; var g = this.options, k = this; if (this._helper) { var e = this.proportionallyResize, c = e.length && (/textarea/i).test(e[0].nodeName), d = c && b.ui.hasScroll(e[0], "left") ? 0 : k.sizeDiff.height, i = c ? 0 : k.sizeDiff.width; var l = { width: (k.size.width - i), height: (k.size.height - d) }, h = (parseInt(k.element.css("left"), 10) + (k.position.left - k.originalPosition.left)) || null, j = (parseInt(k.element.css("top"), 10) + (k.position.top - k.originalPosition.top)) || null; if (!g.animate) { this.element.css(b.extend(l, { top: j, left: h })) } if (this._helper && !g.animate) { this._proportionallyResize() } } if (g.preserveCursor) { b("body").css("cursor", "auto") } this._propagate("stop", f); if (this._helper) { this.helper.remove() } return false }, _updateCache: function(c) { var d = this.options; this.offset = this.helper.offset(); if (c.left) { this.position.left = c.left } if (c.top) { this.position.top = c.top } if (c.height) { this.size.height = c.height } if (c.width) { this.size.width = c.width } }, _updateRatio: function(f, e) { var g = this.options, h = this.position, d = this.size, c = this.axis; if (f.height) { f.width = (d.height * this.aspectRatio) } else { if (f.width) { f.height = (d.width / this.aspectRatio) } } if (c == "sw") { f.left = h.left + (d.width - f.width); f.top = null } if (c == "nw") { f.top = h.top + (d.height - f.height); f.left = h.left + (d.width - f.width) } return f }, _respectSize: function(j, e) { var r = function(o) { return !isNaN(parseInt(o, 10)) }; var h = this.helper, g = this.options, p = this._aspectRatio || e.shiftKey, n = this.axis, s = r(j.width) && g.maxWidth && (g.maxWidth < j.width), k = r(j.height) && g.maxHeight && (g.maxHeight < j.height), f = r(j.width) && g.minWidth && (g.minWidth > j.width), q = r(j.height) && g.minHeight && (g.minHeight > j.height); if (f) { j.width = g.minWidth } if (q) { j.height = g.minHeight } if (s) { j.width = g.maxWidth } if (k) { j.height = g.maxHeight } var d = this.originalPosition.left + this.originalSize.width, m = this.position.top + this.size.height; var i = /sw|nw|w/.test(n), c = /nw|ne|n/.test(n); if (f && i) { j.left = d - g.minWidth } if (s && i) { j.left = d - g.maxWidth } if (q && c) { j.top = m - g.minHeight } if (k && c) { j.top = m - g.maxHeight } var l = !j.width && !j.height; if (l && !j.left && j.top) { j.top = null } else { if (l && !j.top && j.left) { j.left = null } } return j }, _proportionallyResize: function() { var h = this.options; if (!this.proportionallyResize.length) { return } var e = this.helper || this.element; for (var d = 0; d < this.proportionallyResize.length; d++) { var f = this.proportionallyResize[d]; if (!this.borderDif) { var c = [f.css("borderTopWidth"), f.css("borderRightWidth"), f.css("borderBottomWidth"), f.css("borderLeftWidth")], g = [f.css("paddingTop"), f.css("paddingRight"), f.css("paddingBottom"), f.css("paddingLeft")]; this.borderDif = b.map(c, function(j, l) { var k = parseInt(j, 10) || 0, m = parseInt(g[l], 10) || 0; return k + m }) } if (b.browser.msie && !(!(b(e).is(":hidden") || b(e).parents(":hidden").length))) { continue } f.css({ height: (e.height() - this.borderDif[0] - this.borderDif[2]) || 0, width: (e.width() - this.borderDif[1] - this.borderDif[3]) || 0 }) } }, _renderProxy: function() { var d = this.element, g = this.options; this.elementOffset = d.offset(); if (this._helper) { this.helper = this.helper || b('<div style="overflow:hidden;"></div>'); var c = b.browser.msie && b.browser.version < 7, e = (c ? 1 : 0), f = (c ? 2 : -1); this.helper.addClass(this._helper).css({ width: this.element.outerWidth() + f, height: this.element.outerHeight() + f, position: "absolute", left: this.elementOffset.left - e + "px", top: this.elementOffset.top - e + "px", zIndex: ++g.zIndex }); this.helper.appendTo("body"); if (g.disableSelection) { this.helper.disableSelection() } } else { this.helper = this.element } }, _change: { e: function(e, d, c) { return { width: this.originalSize.width + d} }, w: function(f, d, c) { var h = this.options, e = this.originalSize, g = this.originalPosition; return { left: g.left + d, width: e.width - d} }, n: function(f, d, c) { var h = this.options, e = this.originalSize, g = this.originalPosition; return { top: g.top + c, height: e.height - c} }, s: function(e, d, c) { return { height: this.originalSize.height + c} }, se: function(e, d, c) { return b.extend(this._change.s.apply(this, arguments), this._change.e.apply(this, [e, d, c])) }, sw: function(e, d, c) { return b.extend(this._change.s.apply(this, arguments), this._change.w.apply(this, [e, d, c])) }, ne: function(e, d, c) { return b.extend(this._change.n.apply(this, arguments), this._change.e.apply(this, [e, d, c])) }, nw: function(e, d, c) { return b.extend(this._change.n.apply(this, arguments), this._change.w.apply(this, [e, d, c])) } }, _propagate: function(d, c) { b.ui.plugin.call(this, d, [c, this.ui()]); (d != "resize" && this._trigger(d, c, 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} } })); b.extend(b.ui.resizable, { version: "1.6rc6", eventPrefix: "resize", defaults: { alsoResize: false, animate: false, animateDuration: "slow", animateEasing: "swing", aspectRatio: false, autoHide: false, cancel: ":input,option", containment: false, delay: 0, disableSelection: true, distance: 1, ghost: false, grid: false, handles: "e,s,se", helper: false, maxHeight: null, maxWidth: null, minHeight: 10, minWidth: 10, preserveCursor: true, preventDefault: true, proportionallyResize: false, transparent: false, zIndex: 1000} }); b.ui.plugin.add("resizable", "alsoResize", { start: function(d, e) { var c = b(this).data("resizable"), f = c.options; _store = function(g) { b(g).each(function() { b(this).data("resizable-alsoresize", { width: parseInt(b(this).width(), 10), height: parseInt(b(this).height(), 10), left: parseInt(b(this).css("left"), 10), top: parseInt(b(this).css("top"), 10) }) }) }; if (typeof (f.alsoResize) == "object" && !f.alsoResize.parentNode) { if (f.alsoResize.length) { f.alsoResize = f.alsoResize[0]; _store(f.alsoResize) } else { b.each(f.alsoResize, function(g, h) { _store(g) }) } } else { _store(f.alsoResize) } }, resize: function(e, g) { var d = b(this).data("resizable"), h = d.options, f = d.originalSize, j = d.originalPosition; var i = { height: (d.size.height - f.height) || 0, width: (d.size.width - f.width) || 0, top: (d.position.top - j.top) || 0, left: (d.position.left - j.left) || 0 }, c = function(k, l) { b(k).each(function() { var o = b(this), p = b(this).data("resizable-alsoresize"), n = {}, m = l && l.length ? l : ["width", "height", "top", "left"]; b.each(m || ["width", "height", "top", "left"], function(q, s) { var r = (p[s] || 0) + (i[s] || 0); if (r && r >= 0) { n[s] = r || null } }); if (/relative/.test(o.css("position")) && b.browser.opera) { d._revertToRelativePosition = true; o.css({ position: "absolute", top: "auto", left: "auto" }) } o.css(n) }) }; if (typeof (h.alsoResize) == "object" && !h.alsoResize.nodeType) { b.each(h.alsoResize, function(k, l) { c(k, l) }) } else { c(h.alsoResize) } }, stop: function(d, e) { var c = b(this).data("resizable"); if (c._revertToRelativePosition && b.browser.opera) { c._revertToRelativePosition = false; el.css({ position: "relative" }) } b(this).removeData("resizable-alsoresize-start") } }); b.ui.plugin.add("resizable", "animate", { stop: function(g, l) { var m = b(this).data("resizable"), h = m.options; var f = h.proportionallyResize, c = f && (/textarea/i).test(f.get(0).nodeName), d = c && b.ui.hasScroll(f.get(0), "left") ? 0 : m.sizeDiff.height, j = c ? 0 : m.sizeDiff.width; var e = { width: (m.size.width - j), height: (m.size.height - d) }, i = (parseInt(m.element.css("left"), 10) + (m.position.left - m.originalPosition.left)) || null, k = (parseInt(m.element.css("top"), 10) + (m.position.top - m.originalPosition.top)) || null; m.element.animate(b.extend(e, k && i ? { top: k, left: i} : {}), { duration: h.animateDuration, easing: h.animateEasing, step: function() { var n = { width: parseInt(m.element.css("width"), 10), height: parseInt(m.element.css("height"), 10), top: parseInt(m.element.css("top"), 10), left: parseInt(m.element.css("left"), 10) }; if (f) { f.css({ width: n.width, height: n.height }) } m._updateCache(n); m._propagate("resize", g) } }) } }); b.ui.plugin.add("resizable", "containment", { start: function(d, n) { var r = b(this).data("resizable"), h = r.options, j = r.element; var e = h.containment, i = (e instanceof b) ? e.get(0) : (/parent/.test(e)) ? j.parent().get(0) : e; if (!i) { return } r.containerElement = b(i); if (/document/.test(e) || e == document) { r.containerOffset = { left: 0, top: 0 }; r.containerPosition = { left: 0, top: 0 }; r.parentData = { element: b(document), left: 0, top: 0, width: b(document).width(), height: b(document).height() || document.body.parentNode.scrollHeight} } else { var l = b(i), g = []; b(["Top", "Right", "Left", "Bottom"]).each(function(p, o) { g[p] = a(l.css("padding" + o)) }); r.containerOffset = l.offset(); r.containerPosition = l.position(); r.containerSize = { height: (l.innerHeight() - g[3]), width: (l.innerWidth() - g[1]) }; var m = r.containerOffset, c = r.containerSize.height, k = r.containerSize.width, f = (b.ui.hasScroll(i, "left") ? i.scrollWidth : k), q = (b.ui.hasScroll(i) ? i.scrollHeight : c); r.parentData = { element: i, left: m.left, top: m.top, width: f, height: q} } }, resize: function(e, l) { var p = b(this).data("resizable"), g = p.options, d = p.containerSize, k = p.containerOffset, i = p.size, j = p.position, m = g._aspectRatio || e.shiftKey, c = { top: 0, left: 0 }, f = p.containerElement; if (f[0] != document && (/static/).test(f.css("position"))) { c = k } if (j.left < (p._helper ? k.left : 0)) { p.size.width = p.size.width + (p._helper ? (p.position.left - k.left) : (p.position.left - c.left)); if (m) { p.size.height = p.size.width / g.aspectRatio } p.position.left = g.helper ? k.left : 0 } if (j.top < (p._helper ? k.top : 0)) { p.size.height = p.size.height + (p._helper ? (p.position.top - k.top) : p.position.top); if (m) { p.size.width = p.size.height * g.aspectRatio } p.position.top = p._helper ? k.top : 0 } var h = Math.abs((p._helper ? p.offset.left - c.left : (p.offset.left - c.left)) + p.sizeDiff.width), n = Math.abs((p._helper ? p.offset.top - c.top : (p.offset.top - k.top)) + p.sizeDiff.height); if (h + p.size.width >= p.parentData.width) { p.size.width = p.parentData.width - h; if (m) { p.size.height = p.size.width / g.aspectRatio } } if (n + p.size.height >= p.parentData.height) { p.size.height = p.parentData.height - n; if (m) { p.size.width = p.size.height * g.aspectRatio } } }, stop: function(d, l) { var n = b(this).data("resizable"), e = n.options, j = n.position, k = n.containerOffset, c = n.containerPosition, f = n.containerElement; var g = b(n.helper), p = g.offset(), m = g.outerWidth() - n.sizeDiff.width, i = g.outerHeight() - n.sizeDiff.height; if (n._helper && !e.animate && (/relative/).test(f.css("position"))) { b(this).css({ left: p.left - c.left - k.left, width: m, height: i }) } if (n._helper && !e.animate && (/static/).test(f.css("position"))) { b(this).css({ left: p.left - c.left - k.left, width: m, height: i }) } } }); b.ui.plugin.add("resizable", "ghost", { start: function(e, f) { var c = b(this).data("resizable"), g = c.options, h = g.proportionallyResize, d = c.size; c.ghost = c.originalElement.clone(); c.ghost.css({ opacity: 0.25, display: "block", position: "relative", height: d.height, width: d.width, margin: 0, left: 0, top: 0 }).addClass("ui-resizable-ghost").addClass(typeof g.ghost == "string" ? g.ghost : ""); c.ghost.appendTo(c.helper) }, resize: function(d, e) { var c = b(this).data("resizable"), f = c.options; if (c.ghost) { c.ghost.css({ position: "relative", height: c.size.height, width: c.size.width }) } }, stop: function(d, e) { var c = b(this).data("resizable"), f = c.options; if (c.ghost && c.helper) { c.helper.get(0).removeChild(c.ghost.get(0)) } } }); b.ui.plugin.add("resizable", "grid", { resize: function(c, k) { var m = b(this).data("resizable"), f = m.options, i = m.size, g = m.originalSize, h = m.originalPosition, l = m.axis, j = f._aspectRatio || c.shiftKey; f.grid = typeof f.grid == "number" ? [f.grid, f.grid] : f.grid; var e = Math.round((i.width - g.width) / (f.grid[0] || 1)) * (f.grid[0] || 1), d = Math.round((i.height - g.height) / (f.grid[1] || 1)) * (f.grid[1] || 1); if (/^(se|s|e)$/.test(l)) { m.size.width = g.width + e; m.size.height = g.height + d } else { if (/^(ne)$/.test(l)) { m.size.width = g.width + e; m.size.height = g.height + d; m.position.top = h.top - d } else { if (/^(sw)$/.test(l)) { m.size.width = g.width + e; m.size.height = g.height + d; m.position.left = h.left - e } else { m.size.width = g.width + e; m.size.height = g.height + d; m.position.top = h.top - d; m.position.left = h.left - e } } } } }); var a = function(c) { return parseInt(c, 10) || 0 } })(jQuery);
(function(a) { a.widget("ui.selectable", a.extend({}, a.ui.mouse, { _init: function() { var b = this; this.element.addClass("ui-selectable"); this.dragged = false; var c; this.refresh = function() { c = a(b.options.filter, b.element[0]); c.each(function() { var d = a(this); var e = d.offset(); a.data(this, "selectable-item", { element: this, $element: d, left: e.left, top: e.top, right: e.left + d.outerWidth(), bottom: e.top + d.outerHeight(), startselected: false, selected: d.hasClass("ui-selected"), selecting: d.hasClass("ui-selecting"), unselecting: d.hasClass("ui-unselecting") }) }) }; this.refresh(); this.selectees = c.addClass("ui-selectee"); this._mouseInit(); this.helper = a(document.createElement("div")).css({ border: "1px dotted black" }).addClass("ui-selectable-helper") }, destroy: function() { this.element.removeClass("ui-selectable ui-selectable-disabled").removeData("selectable").unbind(".selectable"); this._mouseDestroy() }, _mouseStart: function(d) { var b = this; this.opos = [d.pageX, d.pageY]; if (this.options.disabled) { return } var c = this.options; this.selectees = a(c.filter, this.element[0]); this._trigger("start", d); a("body").append(this.helper); this.helper.css({ "z-index": 100, position: "absolute", left: d.clientX, top: d.clientY, width: 0, height: 0 }); if (c.autoRefresh) { this.refresh() } this.selectees.filter(".ui-selected").each(function() { var e = a.data(this, "selectable-item"); e.startselected = true; if (!d.metaKey) { e.$element.removeClass("ui-selected"); e.selected = false; e.$element.addClass("ui-unselecting"); e.unselecting = true; b._trigger("unselecting", d, { unselecting: e.element }) } }); a(d.target).parents().andSelf().each(function() { var e = a.data(this, "selectable-item"); if (e) { e.$element.removeClass("ui-unselecting").addClass("ui-selecting"); e.unselecting = false; e.selecting = true; e.selected = true; b._trigger("selecting", d, { selecting: e.element }); return false } }) }, _mouseDrag: function(i) { var c = this; this.dragged = true; if (this.options.disabled) { return } var e = this.options; var d = this.opos[0], h = this.opos[1], b = i.pageX, g = i.pageY; if (d > b) { var f = b; b = d; d = f } if (h > g) { var f = g; g = h; h = f } this.helper.css({ left: d, top: h, width: b - d, height: g - h }); this.selectees.each(function() { var j = a.data(this, "selectable-item"); if (!j || j.element == c.element[0]) { return } var k = false; if (e.tolerance == "touch") { k = (!(j.left > b || j.right < d || j.top > g || j.bottom < h)) } else { if (e.tolerance == "fit") { k = (j.left > d && j.right < b && j.top > h && j.bottom < g) } } if (k) { if (j.selected) { j.$element.removeClass("ui-selected"); j.selected = false } if (j.unselecting) { j.$element.removeClass("ui-unselecting"); j.unselecting = false } if (!j.selecting) { j.$element.addClass("ui-selecting"); j.selecting = true; c._trigger("selecting", i, { selecting: j.element }) } } else { if (j.selecting) { if (i.metaKey && j.startselected) { j.$element.removeClass("ui-selecting"); j.selecting = false; j.$element.addClass("ui-selected"); j.selected = true } else { j.$element.removeClass("ui-selecting"); j.selecting = false; if (j.startselected) { j.$element.addClass("ui-unselecting"); j.unselecting = true } c._trigger("unselecting", i, { unselecting: j.element }) } } if (j.selected) { if (!i.metaKey && !j.startselected) { j.$element.removeClass("ui-selected"); j.selected = false; j.$element.addClass("ui-unselecting"); j.unselecting = true; c._trigger("unselecting", i, { unselecting: j.element }) } } } }); return false }, _mouseStop: function(d) { var b = this; this.dragged = false; var c = this.options; a(".ui-unselecting", this.element[0]).each(function() { var e = a.data(this, "selectable-item"); e.$element.removeClass("ui-unselecting"); e.unselecting = false; e.startselected = false; b._trigger("unselected", d, { unselected: e.element }) }); a(".ui-selecting", this.element[0]).each(function() { var e = a.data(this, "selectable-item"); e.$element.removeClass("ui-selecting").addClass("ui-selected"); e.selecting = false; e.selected = true; e.startselected = true; b._trigger("selected", d, { selected: e.element }) }); this._trigger("stop", d); this.helper.remove(); return false } })); a.extend(a.ui.selectable, { version: "1.6rc6", defaults: { appendTo: "body", autoRefresh: true, cancel: ":input,option", delay: 0, distance: 0, filter: "*", tolerance: "touch"} }) })(jQuery);
(function(a) { a.widget("ui.sortable", a.extend({}, a.ui.mouse, { _init: function() { var b = this.options; this.containerCache = {}; (this.options.cssNamespace && this.element.addClass(this.options.cssNamespace + "-sortable")); this.refresh(); this.floating = this.items.length ? (/left|right/).test(this.items[0].item.css("float")) : false; this.offset = this.element.offset(); this._mouseInit() }, destroy: function() { this.element.removeClass(this.options.cssNamespace + "-sortable " + this.options.cssNamespace + "-sortable-disabled").removeData("sortable").unbind(".sortable"); this._mouseDestroy(); for (var b = this.items.length - 1; b >= 0; b--) { this.items[b].item.removeData("sortable-item") } }, _mouseCapture: function(e, f) { if (this.reverting) { return false } if (this.options.disabled || this.options.type == "static") { return false } this._refreshItems(e); var d = null, c = this, b = a(e.target).parents().each(function() { if (a.data(this, "sortable-item") == c) { d = a(this); return false } }); if (a.data(e.target, "sortable-item") == c) { d = a(e.target) } if (!d) { return false } if (this.options.handle && !f) { var g = false; a(this.options.handle, d).find("*").andSelf().each(function() { if (this == e.target) { g = true } }); if (!g) { return false } } this.currentItem = d; this._removeCurrentsFromItems(); return true }, _mouseStart: function(e, f, b) { var g = this.options, c = this; this.currentContainer = this; this.refreshPositions(); this.helper = this._createHelper(e); this._cacheHelperProportions(); this._cacheMargins(); this.scrollParent = this.helper.scrollParent(); this.offset = this.currentItem.offset(); this.offset = { top: this.offset.top - this.margins.top, left: this.offset.left - this.margins.left }; this.helper.css("position", "absolute"); this.cssPosition = this.helper.css("position"); a.extend(this.offset, { click: { left: e.pageX - this.offset.left, top: e.pageY - this.offset.top }, parent: this._getParentOffset(), relative: this._getRelativeOffset() }); this.originalPosition = this._generatePosition(e); this.originalPageX = e.pageX; this.originalPageY = e.pageY; if (g.cursorAt) { this._adjustOffsetFromHelper(g.cursorAt) } this.domPosition = { prev: this.currentItem.prev()[0], parent: this.currentItem.parent()[0] }; if (this.helper[0] != this.currentItem[0]) { this.currentItem.hide() } this._createPlaceholder(); if (g.containment) { this._setContainment() } if (g.cursor) { if (a("body").css("cursor")) { this._storedCursor = a("body").css("cursor") } a("body").css("cursor", g.cursor) } if (g.opacity) { if (this.helper.css("opacity")) { this._storedOpacity = this.helper.css("opacity") } this.helper.css("opacity", g.opacity) } if (g.zIndex) { if (this.helper.css("zIndex")) { this._storedZIndex = this.helper.css("zIndex") } this.helper.css("zIndex", g.zIndex) } if (this.scrollParent[0] != document && this.scrollParent[0].tagName != "HTML") { this.overflowOffset = this.scrollParent.offset() } this._trigger("start", e, this._uiHash()); if (!this._preserveHelperProportions) { this._cacheHelperProportions() } if (!b) { for (var d = this.containers.length - 1; d >= 0; d--) { this.containers[d]._trigger("activate", e, c._uiHash(this)) } } if (a.ui.ddmanager) { a.ui.ddmanager.current = this } if (a.ui.ddmanager && !g.dropBehaviour) { a.ui.ddmanager.prepareOffsets(this, e) } this.dragging = true; this.helper.addClass(g.cssNamespace + "-sortable-helper"); this._mouseDrag(e); return true }, _mouseDrag: function(f) { this.position = this._generatePosition(f); this.positionAbs = this._convertPositionTo("absolute"); if (!this.lastPositionAbs) { this.lastPositionAbs = this.positionAbs } if (this.options.scroll) { var g = this.options, b = false; if (this.scrollParent[0] != document && this.scrollParent[0].tagName != "HTML") { if ((this.overflowOffset.top + this.scrollParent[0].offsetHeight) - f.pageY < g.scrollSensitivity) { this.scrollParent[0].scrollTop = b = this.scrollParent[0].scrollTop + g.scrollSpeed } else { if (f.pageY - this.overflowOffset.top < g.scrollSensitivity) { this.scrollParent[0].scrollTop = b = this.scrollParent[0].scrollTop - g.scrollSpeed } } if ((this.overflowOffset.left + this.scrollParent[0].offsetWidth) - f.pageX < g.scrollSensitivity) { this.scrollParent[0].scrollLeft = b = this.scrollParent[0].scrollLeft + g.scrollSpeed } else { if (f.pageX - this.overflowOffset.left < g.scrollSensitivity) { this.scrollParent[0].scrollLeft = b = this.scrollParent[0].scrollLeft - g.scrollSpeed } } } else { if (f.pageY - a(document).scrollTop() < g.scrollSensitivity) { b = a(document).scrollTop(a(document).scrollTop() - g.scrollSpeed) } else { if (a(window).height() - (f.pageY - a(document).scrollTop()) < g.scrollSensitivity) { b = a(document).scrollTop(a(document).scrollTop() + g.scrollSpeed) } } if (f.pageX - a(document).scrollLeft() < g.scrollSensitivity) { b = a(document).scrollLeft(a(document).scrollLeft() - g.scrollSpeed) } else { if (a(window).width() - (f.pageX - a(document).scrollLeft()) < g.scrollSensitivity) { b = a(document).scrollLeft(a(document).scrollLeft() + g.scrollSpeed) } } } if (b !== false && a.ui.ddmanager && !g.dropBehaviour) { a.ui.ddmanager.prepareOffsets(this, f) } } this.positionAbs = this._convertPositionTo("absolute"); if (!this.options.axis || this.options.axis != "y") { this.helper[0].style.left = this.position.left + "px" } if (!this.options.axis || this.options.axis != "x") { this.helper[0].style.top = this.position.top + "px" } for (var d = this.items.length - 1; d >= 0; d--) { var e = this.items[d], c = e.item[0], h = this._intersectsWithPointer(e); if (!h) { continue } if (c != this.currentItem[0] && this.placeholder[h == 1 ? "next" : "prev"]()[0] != c && !a.ui.contains(this.placeholder[0], c) && (this.options.type == "semi-dynamic" ? !a.ui.contains(this.element[0], c) : true)) { this.direction = h == 1 ? "down" : "up"; if (this.options.tolerance == "pointer" || this._intersectsWithSides(e)) { this.options.sortIndicator.call(this, f, e) } else { break } this._trigger("change", f, this._uiHash()); break } } this._contactContainers(f); if (a.ui.ddmanager) { a.ui.ddmanager.drag(this, f) } this._trigger("sort", f, this._uiHash()); this.lastPositionAbs = this.positionAbs; return false }, _mouseStop: function(c, d) { if (!c) { return } if (a.ui.ddmanager && !this.options.dropBehaviour) { a.ui.ddmanager.drop(this, c) } if (this.options.revert) { var b = this; var e = b.placeholder.offset(); b.reverting = true; a(this.helper).animate({ left: e.left - this.offset.parent.left - b.margins.left + (this.offsetParent[0] == document.body ? 0 : this.offsetParent[0].scrollLeft), top: e.top - this.offset.parent.top - b.margins.top + (this.offsetParent[0] == document.body ? 0 : this.offsetParent[0].scrollTop) }, parseInt(this.options.revert, 10) || 500, function() { b._clear(c) }) } else { this._clear(c, d) } return false }, cancel: function() { var b = this; if (this.dragging) { this._mouseUp(); if (this.options.helper == "original") { this.currentItem.css(this._storedCSS).removeClass(this.options.cssNamespace + "-sortable-helper") } else { this.currentItem.show() } for (var c = this.containers.length - 1; c >= 0; c--) { this.containers[c]._trigger("deactivate", null, b._uiHash(this)); if (this.containers[c].containerCache.over) { this.containers[c]._trigger("out", null, b._uiHash(this)); this.containers[c].containerCache.over = 0 } } } if (this.placeholder[0].parentNode) { this.placeholder[0].parentNode.removeChild(this.placeholder[0]) } if (this.options.helper != "original" && this.helper && this.helper[0].parentNode) { this.helper.remove() } a.extend(this, { helper: null, dragging: false, reverting: false, _noFinalSort: null }); if (this.domPosition.prev) { a(this.domPosition.prev).after(this.currentItem) } else { a(this.domPosition.parent).prepend(this.currentItem) } return true }, serialize: function(d) { var b = this._getItemsAsjQuery(d && d.connected); var c = []; d = d || {}; a(b).each(function() { var e = (a(d.item || this).attr(d.attribute || "id") || "").match(d.expression || (/(.+)[-=_](.+)/)); if (e) { c.push((d.key || e[1] + "[]") + "=" + (d.key && d.expression ? e[1] : e[2])) } }); return c.join("&") }, toArray: function(d) { var b = this._getItemsAsjQuery(d && d.connected); var c = []; d = d || {}; b.each(function() { c.push(a(d.item || this).attr(d.attribute || "id") || "") }); return c }, _intersectsWith: function(m) { var e = this.positionAbs.left, d = e + this.helperProportions.width, k = this.positionAbs.top, j = k + this.helperProportions.height; var f = m.left, c = f + m.width, n = m.top, i = n + m.height; var o = this.offset.click.top, h = this.offset.click.left; var g = (k + o) > n && (k + o) < i && (e + h) > f && (e + h) < c; if (this.options.tolerance == "pointer" || this.options.forcePointerForContainers || (this.options.tolerance != "pointer" && this.helperProportions[this.floating ? "width" : "height"] > m[this.floating ? "width" : "height"])) { return g } else { return (f < e + (this.helperProportions.width / 2) && d - (this.helperProportions.width / 2) < c && n < k + (this.helperProportions.height / 2) && j - (this.helperProportions.height / 2) < i) } }, _intersectsWithPointer: function(d) { var e = a.ui.isOverAxis(this.positionAbs.top + this.offset.click.top, d.top, d.height), c = a.ui.isOverAxis(this.positionAbs.left + this.offset.click.left, d.left, d.width), g = e && c, b = this._getDragVerticalDirection(), f = this._getDragHorizontalDirection(); if (!g) { return false } return this.floating ? (((f && f == "right") || b == "down") ? 2 : 1) : (b && (b == "down" ? 2 : 1)) }, _intersectsWithSides: function(e) { var c = a.ui.isOverAxis(this.positionAbs.top + this.offset.click.top, e.top + (e.height / 2), e.height), d = a.ui.isOverAxis(this.positionAbs.left + this.offset.click.left, e.left + (e.width / 2), e.width), b = this._getDragVerticalDirection(), f = this._getDragHorizontalDirection(); if (this.floating && f) { return ((f == "right" && d) || (f == "left" && !d)) } else { return b && ((b == "down" && c) || (b == "up" && !c)) } }, _getDragVerticalDirection: function() { var b = this.positionAbs.top - this.lastPositionAbs.top; return b != 0 && (b > 0 ? "down" : "up") }, _getDragHorizontalDirection: function() { var b = this.positionAbs.left - this.lastPositionAbs.left; return b != 0 && (b > 0 ? "right" : "left") }, refresh: function(b) { this._refreshItems(b); this.refreshPositions() }, _getItemsAsjQuery: function(b) { var l = this; var g = []; var e = []; if (this.options.connectWith && b) { var h = this.options.connectWith.constructor == String ? [this.options.connectWith] : this.options.connectWith; for (var d = h.length - 1; d >= 0; d--) { var k = a(h[d]); for (var c = k.length - 1; c >= 0; c--) { var f = a.data(k[c], "sortable"); if (f && f != this && !f.options.disabled) { e.push([a.isFunction(f.options.items) ? f.options.items.call(f.element) : a(f.options.items, f.element).not("." + f.options.cssNamespace + "-sortable-helper"), f]) } } } } e.push([a.isFunction(this.options.items) ? this.options.items.call(this.element, null, { options: this.options, item: this.currentItem }) : a(this.options.items, this.element).not("." + this.options.cssNamespace + "-sortable-helper"), this]); for (var d = e.length - 1; d >= 0; d--) { e[d][0].each(function() { g.push(this) }) } return a(g) }, _removeCurrentsFromItems: function() { var d = this.currentItem.find(":data(sortable-item)"); for (var c = 0; c < this.items.length; c++) { for (var b = 0; b < d.length; b++) { if (d[b] == this.items[c].item[0]) { this.items.splice(c, 1) } } } }, _refreshItems: function(b) { this.items = []; this.containers = [this]; var h = this.items; var o = this; var f = [[a.isFunction(this.options.items) ? this.options.items.call(this.element[0], b, { item: this.currentItem }) : a(this.options.items, this.element), this]]; if (this.options.connectWith) { for (var e = this.options.connectWith.length - 1; e >= 0; e--) { var l = a(this.options.connectWith[e]); for (var d = l.length - 1; d >= 0; d--) { var g = a.data(l[d], "sortable"); if (g && g != this && !g.options.disabled) { f.push([a.isFunction(g.options.items) ? g.options.items.call(g.element[0], b, { item: this.currentItem }) : a(g.options.items, g.element), g]); this.containers.push(g) } } } } for (var e = f.length - 1; e >= 0; e--) { var k = f[e][1]; var c = f[e][0]; for (var d = 0, m = c.length; d < m; d++) { var n = a(c[d]); n.data("sortable-item", k); h.push({ item: n, instance: k, width: 0, height: 0, left: 0, top: 0 }) } } }, refreshPositions: function(b) { if (this.offsetParent && this.helper) { this.offset.parent = this._getParentOffset() } for (var d = this.items.length - 1; d >= 0; d--) { var e = this.items[d]; if (e.instance != this.currentContainer && this.currentContainer && e.item[0] != this.currentItem[0]) { continue } var c = this.options.toleranceElement ? a(this.options.toleranceElement, e.item) : e.item; if (!b) { if (this.options.accurateIntersection) { e.width = c.outerWidth(); e.height = c.outerHeight() } else { e.width = c[0].offsetWidth; e.height = c[0].offsetHeight } } var f = c.offset(); e.left = f.left; e.top = f.top } if (this.options.custom && this.options.custom.refreshContainers) { this.options.custom.refreshContainers.call(this) } else { for (var d = this.containers.length - 1; d >= 0; d--) { var f = this.containers[d].element.offset(); this.containers[d].containerCache.left = f.left; this.containers[d].containerCache.top = f.top; this.containers[d].containerCache.width = this.containers[d].element.outerWidth(); this.containers[d].containerCache.height = this.containers[d].element.outerHeight() } } }, _createPlaceholder: function(d) { var b = d || this, e = b.options; if (!e.placeholder || e.placeholder.constructor == String) { var c = e.placeholder; e.placeholder = { element: function() { var f = a(document.createElement(b.currentItem[0].nodeName)).addClass(c || b.currentItem[0].className + " " + b.options.cssNamespace + "-sortable-placeholder").removeClass(b.options.cssNamespace + "-sortable-helper")[0]; if (!c) { f.style.visibility = "hidden" } return f }, update: function(f, g) { if (c && !e.forcePlaceholderSize) { return } if (!g.height()) { g.height(b.currentItem.innerHeight() - parseInt(b.currentItem.css("paddingTop") || 0, 10) - parseInt(b.currentItem.css("paddingBottom") || 0, 10)) } if (!g.width()) { g.width(b.currentItem.innerWidth() - parseInt(b.currentItem.css("paddingLeft") || 0, 10) - parseInt(b.currentItem.css("paddingRight") || 0, 10)) } } } } b.placeholder = a(e.placeholder.element.call(b.element, b.currentItem)); b.currentItem.after(b.placeholder); e.placeholder.update(b, b.placeholder) }, _contactContainers: function(d) { for (var c = this.containers.length - 1; c >= 0; c--) { if (this._intersectsWith(this.containers[c].containerCache)) { if (!this.containers[c].containerCache.over) { if (this.currentContainer != this.containers[c]) { var h = 10000; var g = null; var e = this.positionAbs[this.containers[c].floating ? "left" : "top"]; for (var b = this.items.length - 1; b >= 0; b--) { if (!a.ui.contains(this.containers[c].element[0], this.items[b].item[0])) { continue } var f = this.items[b][this.containers[c].floating ? "left" : "top"]; if (Math.abs(f - e) < h) { h = Math.abs(f - e); g = this.items[b] } } if (!g && !this.options.dropOnEmpty) { continue } this.currentContainer = this.containers[c]; g ? this.options.sortIndicator.call(this, d, g, null, true) : this.options.sortIndicator.call(this, d, null, this.containers[c].element, true); this._trigger("change", d, this._uiHash()); this.containers[c]._trigger("change", d, this._uiHash(this)); this.options.placeholder.update(this.currentContainer, this.placeholder) } this.containers[c]._trigger("over", d, this._uiHash(this)); this.containers[c].containerCache.over = 1 } } else { if (this.containers[c].containerCache.over) { this.containers[c]._trigger("out", d, this._uiHash(this)); this.containers[c].containerCache.over = 0 } } } }, _createHelper: function(c) { var d = this.options; var b = a.isFunction(d.helper) ? a(d.helper.apply(this.element[0], [c, this.currentItem])) : (d.helper == "clone" ? this.currentItem.clone() : this.currentItem); if (!b.parents("body").length) { a(d.appendTo != "parent" ? d.appendTo : this.currentItem[0].parentNode)[0].appendChild(b[0]) } if (b[0] == this.currentItem[0]) { this._storedCSS = { width: this.currentItem[0].style.width, height: this.currentItem[0].style.height, position: this.currentItem.css("position"), top: this.currentItem.css("top"), left: this.currentItem.css("left")} } if (b[0].style.width == "" || d.forceHelperSize) { b.width(this.currentItem.width()) } if (b[0].style.height == "" || d.forceHelperSize) { b.height(this.currentItem.height()) } return b }, _adjustOffsetFromHelper: function(b) { if (b.left != undefined) { this.offset.click.left = b.left + this.margins.left } if (b.right != undefined) { this.offset.click.left = this.helperProportions.width - b.right + this.margins.left } if (b.top != undefined) { this.offset.click.top = b.top + this.margins.top } if (b.bottom != undefined) { this.offset.click.top = this.helperProportions.height - b.bottom + this.margins.top } }, _getParentOffset: function() { this.offsetParent = this.helper.offsetParent(); var b = this.offsetParent.offset(); if (this.cssPosition == "absolute" && this.scrollParent[0] != document && a.ui.contains(this.scrollParent[0], this.offsetParent[0])) { b.left += this.scrollParent.scrollLeft(); b.top += this.scrollParent.scrollTop() } if ((this.offsetParent[0] == document.body && a.browser.mozilla) || (this.offsetParent[0].tagName && this.offsetParent[0].tagName.toLowerCase() == "html" && a.browser.msie)) { b = { top: 0, left: 0} } return { top: b.top + (parseInt(this.offsetParent.css("borderTopWidth"), 10) || 0), left: b.left + (parseInt(this.offsetParent.css("borderLeftWidth"), 10) || 0)} }, _getRelativeOffset: function() { if (this.cssPosition == "relative") { var b = this.currentItem.position(); return { top: b.top - (parseInt(this.helper.css("top"), 10) || 0) + this.scrollParent.scrollTop(), left: b.left - (parseInt(this.helper.css("left"), 10) || 0) + this.scrollParent.scrollLeft()} } else { return { top: 0, left: 0} } }, _cacheMargins: function() { this.margins = { left: (parseInt(this.currentItem.css("marginLeft"), 10) || 0), top: (parseInt(this.currentItem.css("marginTop"), 10) || 0)} }, _cacheHelperProportions: function() { this.helperProportions = { width: this.helper.outerWidth(), height: this.helper.outerHeight()} }, _setContainment: function() { var e = this.options; if (e.containment == "parent") { e.containment = this.helper[0].parentNode } if (e.containment == "document" || e.containment == "window") { this.containment = [0 - this.offset.relative.left - this.offset.parent.left, 0 - this.offset.relative.top - this.offset.parent.top, a(e.containment == "document" ? document : window).width() - this.helperProportions.width - this.margins.left, (a(e.containment == "document" ? document : window).height() || document.body.parentNode.scrollHeight) - this.helperProportions.height - this.margins.top] } if (!(/^(document|window|parent)$/).test(e.containment)) { var c = a(e.containment)[0]; var d = a(e.containment).offset(); var b = (a(c).css("overflow") != "hidden"); this.containment = [d.left + (parseInt(a(c).css("borderLeftWidth"), 10) || 0) + (parseInt(a(c).css("paddingLeft"), 10) || 0) - this.margins.left, d.top + (parseInt(a(c).css("borderTopWidth"), 10) || 0) + (parseInt(a(c).css("paddingTop"), 10) || 0) - this.margins.top, d.left + (b ? Math.max(c.scrollWidth, c.offsetWidth) : c.offsetWidth) - (parseInt(a(c).css("borderLeftWidth"), 10) || 0) - (parseInt(a(c).css("paddingRight"), 10) || 0) - this.helperProportions.width - this.margins.left, d.top + (b ? Math.max(c.scrollHeight, c.offsetHeight) : c.offsetHeight) - (parseInt(a(c).css("borderTopWidth"), 10) || 0) - (parseInt(a(c).css("paddingBottom"), 10) || 0) - this.helperProportions.height - this.margins.top] } }, _convertPositionTo: function(f, h) { if (!h) { h = this.position } var c = f == "absolute" ? 1 : -1; var e = this.options, b = this.cssPosition == "absolute" && !(this.scrollParent[0] != document && a.ui.contains(this.scrollParent[0], this.offsetParent[0])) ? this.offsetParent : this.scrollParent, g = (/(html|body)/i).test(b[0].tagName); return { top: (h.top + this.offset.relative.top * c + this.offset.parent.top * c - (this.cssPosition == "fixed" ? -this.scrollParent.scrollTop() : (g ? 0 : b.scrollTop())) * c), left: (h.left + this.offset.relative.left * c + this.offset.parent.left * c - (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 + (this.cssPosition == "fixed" ? -this.scrollParent.scrollTop() : (i ? 0 : b.scrollTop()))), left: (d - this.offset.click.left - this.offset.relative.left - this.offset.parent.left + (this.cssPosition == "fixed" ? -this.scrollParent.scrollLeft() : i ? 0 : b.scrollLeft()))} }, _rearrange: function(g, f, c, e) { c ? c[0].appendChild(this.placeholder[0]) : f.item[0].parentNode.insertBefore(this.placeholder[0], (this.direction == "down" ? f.item[0] : f.item[0].nextSibling)); this.counter = this.counter ? ++this.counter : 1; var d = this, b = this.counter; window.setTimeout(function() { if (b == d.counter) { d.refreshPositions(!e) } }, 0) }, _clear: function(d, e) { this.reverting = false; var f = [], b = this; if (!this._noFinalSort) { this.placeholder.before(this.currentItem) } this._noFinalSort = null; if (this.helper[0] == this.currentItem[0]) { for (var c in this._storedCSS) { if (this._storedCSS[c] == "auto" || this._storedCSS[c] == "static") { this._storedCSS[c] = "" } } this.currentItem.css(this._storedCSS).removeClass(this.options.cssNamespace + "-sortable-helper") } else { this.currentItem.show() } if (this.fromOutside && !e) { f.push(function(g) { this._trigger("receive", g, this._uiHash(this.fromOutside)) }) } if ((this.fromOutside || this.domPosition.prev != this.currentItem.prev().not("." + this.options.cssNamespace + "-sortable-helper")[0] || this.domPosition.parent != this.currentItem.parent()[0]) && !e) { f.push(function(g) { this._trigger("update", g, this._uiHash()) }) } if (!a.ui.contains(this.element[0], this.currentItem[0])) { if (!e) { f.push(function(g) { this._trigger("remove", g, this._uiHash()) }) } for (var c = this.containers.length - 1; c >= 0; c--) { if (a.ui.contains(this.containers[c].element[0], this.currentItem[0]) && !e) { f.push((function(g) { return function(h) { g._trigger("receive", h, this._uiHash(this)) } }).call(this, this.containers[c])); f.push((function(g) { return function(h) { g._trigger("update", h, this._uiHash(this)) } }).call(this, this.containers[c])) } } } for (var c = this.containers.length - 1; c >= 0; c--) { if (!e) { f.push((function(g) { return function(h) { g._trigger("deactivate", h, this._uiHash(this)) } }).call(this, this.containers[c])) } if (this.containers[c].containerCache.over) { f.push((function(g) { return function(h) { g._trigger("out", h, this._uiHash(this)) } }).call(this, this.containers[c])); this.containers[c].containerCache.over = 0 } } if (this._storedCursor) { a("body").css("cursor", this._storedCursor) } if (this._storedOpacity) { this.helper.css("opacity", this._storedCursor) } if (this._storedZIndex) { this.helper.css("zIndex", this._storedZIndex == "auto" ? "" : this._storedZIndex) } this.dragging = false; if (this.cancelHelperRemoval) { if (!e) { this._trigger("beforeStop", d, this._uiHash()); for (var c = 0; c < f.length; c++) { f[c].call(this, d) } this._trigger("stop", d, this._uiHash()) } return false } if (!e) { this._trigger("beforeStop", d, this._uiHash()) } this.placeholder[0].parentNode.removeChild(this.placeholder[0]); if (this.helper[0] != this.currentItem[0]) { this.helper.remove() } this.helper = null; if (!e) { for (var c = 0; c < f.length; c++) { f[c].call(this, d) } this._trigger("stop", d, this._uiHash()) } this.fromOutside = false; return true }, _trigger: function() { if (a.widget.prototype._trigger.apply(this, arguments) === false) { this.cancel() } }, _uiHash: function(c) { var b = c || this; return { helper: b.helper, placeholder: b.placeholder || a([]), position: b.position, absolutePosition: b.positionAbs, offset: b.positionAbs, item: b.currentItem, sender: c ? c.element : null} } })); a.extend(a.ui.sortable, { getter: "serialize toArray", version: "1.6rc6", defaults: { accurateIntersection: true, appendTo: "parent", cancel: ":input,option", connectWith: false, cssNamespace: "ui", delay: 0, distance: 1, dropOnEmpty: true, forcePlaceholderSize: false, forceHelperSize: false, handle: false, helper: "original", items: "> *", placeholder: false, scope: "default", scroll: true, scrollSensitivity: 20, scrollSpeed: 20, sortIndicator: a.ui.sortable.prototype._rearrange, tolerance: "intersect", zIndex: 1000} }) })(jQuery);
(function(a) { a.widget("ui.accordion", { _init: function() { var d = this.options, b = this; this.running = 0; if (d.navigation) { var c = this.element.find("a").filter(d.navigationFilter); if (c.length) { if (c.filter(d.header).length) { this.active = c } else { this.active = c.parent().parent().prev(); c.addClass("ui-accordion-content-active") } } } this.element.addClass("ui-accordion ui-widget ui-helper-reset"); this.headers = this.element.find(d.header).addClass("ui-accordion-header ui-helper-reset ui-state-default ui-corner-all").bind("mouseenter.accordion", function() { a(this).addClass("ui-state-hover") }).bind("mouseleave.accordion", function() { a(this).removeClass("ui-state-hover") }); this.headers.next().addClass("ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom"); this.active = this._findActive(this.active || d.active).toggleClass("ui-state-default").toggleClass("ui-state-active").toggleClass("ui-corner-all").toggleClass("ui-corner-top"); this.active.next().addClass("ui-accordion-content-active"); a("<span/>").addClass("ui-icon " + d.icons.header).prependTo(this.headers); this.active.find(".ui-icon").toggleClass(d.icons.header).toggleClass(d.icons.headerSelected); if (a.browser.msie) { this.element.find("a").css("zoom", "1") } this.resize(); this.element.attr("role", "tablist"); this.headers.attr("role", "tab").bind("keydown", function(e) { return b._keydown(e) }).next().attr("role", "tabpanel"); this.headers.not(this.active || "").attr("aria-expanded", "false").attr("tabIndex", "-1").next().hide(); if (!this.active.length) { this.headers.eq(0).attr("tabIndex", "0") } else { this.active.attr("aria-expanded", "true").attr("tabIndex", "0") } if (!a.browser.safari) { this.headers.find("a").attr("tabIndex", "-1") } if (d.event) { this.element.bind((d.event) + ".accordion", function(e) { return b._clickHandler.call(b, e) }) } }, destroy: function() { this.element.removeClass("ui-accordion ui-widget ui-helper-reset").removeAttr("role").unbind(".accordion").removeData("accordion"); this.headers.unbind(".accordion").removeClass("ui-accordion-header ui-helper-reset ui-state-default ui-corner-all ui-state-active ui-corner-top").removeAttr("role").removeAttr("aria-expanded").removeAttr("tabindex"); this.headers.find("a").removeAttr("tabindex"); this.headers.children(".ui-icon").remove(); this.headers.next().removeClass("ui-accordion-content ui-accordion-content-active") }, _keydown: function(e) { var g = this.options, f = a.ui.keyCode; if (g.disabled || e.altKey || e.ctrlKey) { return } var d = this.headers.length; var b = this.headers.index(e.target); var c = false; switch (e.keyCode) { case f.RIGHT: case f.DOWN: c = this.headers[(b + 1) % d]; break; case f.LEFT: case f.UP: c = this.headers[(b - 1 + d) % d]; break; case f.SPACE: case f.ENTER: return this._clickHandler({ target: e.target }) } if (c) { a(e.target).attr("tabIndex", "-1"); a(c).attr("tabIndex", "0"); c.focus(); return false } return true }, resize: function() { var e = this.options, d; if (e.fillSpace) { if (a.browser.msie) { var b = this.element.parent().css("overflow"); this.element.parent().css("overflow", "hidden") } d = this.element.parent().height(); if (a.browser.msie) { this.element.parent().css("overflow", b) } this.headers.each(function() { d -= a(this).outerHeight() }); var c = 0; this.headers.next().each(function() { c = Math.max(c, a(this).innerHeight() - a(this).height()) }).height(d - c).css("overflow", "auto") } else { if (e.autoHeight) { d = 0; this.headers.next().each(function() { d = Math.max(d, a(this).outerHeight()) }).height(d) } } }, activate: function(b) { this._clickHandler({ target: this._findActive(b)[0] }) }, _findActive: function(b) { return b ? typeof b == "number" ? this.headers.filter(":eq(" + b + ")") : this.headers.not(this.headers.not(b)) : b === false ? a([]) : this.headers.filter(":eq(0)") }, _clickHandler: function(f) { var h = this.options; if (h.disabled) { return false } if (!f.target && !h.alwaysOpen) { this.active.removeClass("ui-state-active ui-corner-top").addClass("ui-state-default ui-corner-all").find(".ui-icon").removeClass(h.icons.headerSelected).addClass(h.icons.header); this.active.next().addClass("ui-accordion-content-active"); var c = this.active.next(), g = { options: h, newHeader: a([]), oldHeader: h.active, newContent: a([]), oldContent: c }, b = (this.active = a([])); this._toggle(b, c, g); return false } var d = a(f.target); d = a(d.parents(h.header)[0] || d); var e = d[0] == this.active[0]; if (this.running || (h.alwaysOpen && e)) { return false } if (!d.is(h.header)) { return } this.active.removeClass("ui-state-active ui-corner-top").addClass("ui-state-default ui-corner-all").find(".ui-icon").removeClass(h.icons.headerSelected).addClass(h.icons.header); this.active.next().addClass("ui-accordion-content-active"); if (!e) { d.removeClass("ui-state-default ui-corner-all").addClass("ui-state-active ui-corner-top").find(".ui-icon").removeClass(h.icons.header).addClass(h.icons.headerSelected); d.next().addClass("ui-accordion-content-active") } var b = d.next(), c = this.active.next(), g = { options: h, newHeader: e && !h.alwaysOpen ? a([]) : d, oldHeader: this.active, newContent: e && !h.alwaysOpen ? a([]) : b.find("> *"), oldContent: c.find("> *") }, i = this.headers.index(this.active[0]) > this.headers.index(d[0]); this.active = e ? a([]) : d; this._toggle(b, c, g, e, i); return false }, _toggle: function(b, i, g, j, k) { var d = this.options, m = this; this.toShow = b; this.toHide = i; this.data = g; var c = function() { if (!m) { return } return m._completed.apply(m, arguments) }; this._trigger("changestart", null, this.data); this.running = i.size() === 0 ? b.size() : i.size(); if (d.animated) { var f = {}; if (!d.alwaysOpen && j) { f = { toShow: a([]), toHide: i, complete: c, down: k, autoHeight: d.autoHeight || d.fillSpace} } else { f = { toShow: b, toHide: i, complete: c, down: k, autoHeight: d.autoHeight || d.fillSpace} } if (!d.proxied) { d.proxied = d.animated } if (!d.proxiedDuration) { d.proxiedDuration = d.duration } d.animated = a.isFunction(d.proxied) ? d.proxied(f) : d.proxied; d.duration = a.isFunction(d.proxiedDuration) ? d.proxiedDuration(f) : d.proxiedDuration; var l = a.ui.accordion.animations, e = d.duration, h = d.animated; if (!l[h]) { l[h] = function(n) { this.slide(n, { easing: h, duration: e || 700 }) } } l[h](f) } else { if (!d.alwaysOpen && j) { b.toggle() } else { i.hide(); b.show() } c(true) } i.prev().attr("aria-expanded", "false").attr("tabIndex", "-1"); b.prev().attr("aria-expanded", "true").attr("tabIndex", "0").focus() }, _completed: function(b) { var c = this.options; this.running = b ? 0 : --this.running; if (this.running) { return } if (c.clearStyle) { this.toShow.add(this.toHide).css({ height: "", overflow: "" }) } this._trigger("change", null, this.data) } }); a.extend(a.ui.accordion, { version: "1.6rc6", defaults: { active: null, autoHeight: true, alwaysOpen: true, animated: "slide", clearStyle: false, event: "click", fillSpace: false, header: "a", icons: { header: "ui-icon-triangle-1-e", headerSelected: "ui-icon-triangle-1-s" }, navigation: false, navigationFilter: function() { return this.href.toLowerCase() == location.href.toLowerCase() } }, animations: { slide: function(j, h) { j = a.extend({ easing: "swing", duration: 300 }, j, h); if (!j.toHide.size()) { j.toShow.animate({ height: "show" }, j); return } var b = j.toHide.height(), i = j.toShow.height(), c = i / b, d = j.toShow.css("overflow"), e = {}, g = {}, f = ["height", "paddingTop", "paddingBottom"]; a.each(f, function(k, l) { g[l] = "hide"; e[l] = parseFloat(j.toShow.css(l)) }); j.toShow.css({ height: 0, overflow: "hidden" }).show(); j.toHide.filter(":hidden").each(j.complete).end().filter(":visible").animate(g, { step: function(l, m) { if (!j.toShow[0]) { return } var k = m.start != m.end ? (m.now - m.start) / (m.end - m.start) : 0, n = k * e[m.prop]; if (a.browser.msie || a.browser.opera) { n = Math.ceil(n) } j.toShow[0].style[m.prop] = n + "px" }, duration: j.duration, easing: j.easing, complete: function() { if (!j.autoHeight) { j.toShow.css("height", "auto") } j.toShow.css({ overflow: d }); j.complete() } }) }, bounceslide: function(b) { this.slide(b, { easing: b.down ? "easeOutBounce" : "swing", duration: b.down ? 1000 : 200 }) }, easeslide: function(b) { this.slide(b, { easing: "easeinout", duration: 700 }) } } }) })(jQuery);
(function(b) { var a = { 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" }; b.widget("ui.dialog", { _init: function() { this.originalTitle = this.element.attr("title"); var k = this, l = this.options, i = l.title || this.originalTitle || "&nbsp;", d = b.ui.dialog.getTitleId(this.element), j = (this.uiDialog = b("<div/>")).appendTo(document.body).hide().addClass("ui-dialog ui-widget ui-widget-content ui-corner-all " + l.dialogClass).css({ position: "absolute", overflow: "hidden", zIndex: l.zIndex }).attr("tabIndex", -1).css("outline", 0).keydown(function(m) { (l.closeOnEscape && m.keyCode && m.keyCode == b.ui.keyCode.ESCAPE && k.close(m)) }).attr({ role: "dialog", "aria-labelledby": d }).mousedown(function(m) { k.moveToTop(m) }), f = this.element.show().removeAttr("title").addClass("ui-dialog-content ui-widget-content").appendTo(j), e = (this.uiDialogTitlebar = b("<div></div>")).addClass("ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix").prependTo(j), h = b('<a href="#"/>').addClass("ui-dialog-titlebar-close ui-corner-all").attr("role", "button").hover(function() { h.addClass("ui-state-hover") }, function() { h.removeClass("ui-state-hover") }).focus(function() { h.addClass("ui-state-focus") }).blur(function() { h.removeClass("ui-state-focus") }).mousedown(function(m) { m.stopPropagation() }).click(function(m) { k.close(m); return false }).appendTo(e), g = (this.uiDialogTitlebarCloseText = b("<span/>")).addClass("ui-icon ui-icon-closethick").text(l.closeText).appendTo(h), c = b("<span/>").addClass("ui-dialog-title").attr("id", d).html(i).prependTo(e); e.find("*").add(e).disableSelection(); (l.draggable && b.fn.draggable && this._makeDraggable()); (l.resizable && b.fn.resizable && this._makeResizable()); this._createButtons(l.buttons); this._isOpen = false; (l.bgiframe && b.fn.bgiframe && j.bgiframe()); (l.autoOpen && this.open()) }, destroy: function() { (this.overlay && this.overlay.destroy()); (this.shadow && this._destroyShadow()); 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(c) { if (false === this._trigger("beforeclose", c)) { return } (this.overlay && this.overlay.destroy()); (this.shadow && this._destroyShadow()); this.uiDialog.hide(this.options.hide).unbind("keypress.ui-dialog"); this._trigger("close", c); b.ui.dialog.overlay.resize(); this._isOpen = false }, isOpen: function() { return this._isOpen }, moveToTop: function(g, f) { if ((this.options.modal && !g) || (!this.options.stack && !this.options.modal)) { return this._trigger("focus", f) } var e = this.options.zIndex, d = this.options; b(".ui-dialog:visible").each(function() { e = Math.max(e, parseInt(b(this).css("z-index"), 10) || d.zIndex) }); (this.overlay && this.overlay.$el.css("z-index", ++e)); (this.shadow && this.shadow.css("z-index", ++e)); var c = { scrollTop: this.element.attr("scrollTop"), scrollLeft: this.element.attr("scrollLeft") }; this.uiDialog.css("z-index", ++e); this.element.attr(c); this._trigger("focus", f) }, open: function(e) { if (this._isOpen) { return } var d = this.options, c = this.uiDialog; this.overlay = d.modal ? new b.ui.dialog.overlay(this) : null; (c.next().length && c.appendTo("body")); this._size(); this._position(d.position); c.show(d.show); this.moveToTop(true, e); (d.modal && c.bind("keypress.ui-dialog", function(h) { if (h.keyCode != b.ui.keyCode.TAB) { return } var g = b(":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) } } })); b([]).add(c.find(".ui-dialog-content :tabbable:first")).add(c.find(".ui-dialog-buttonpane :tabbable:first")).add(c.find(".ui-dialog-titlebar :tabbable:first")).filter(":first").focus(); if (d.shadow) { this._createShadow() } this._trigger("open", e); this._isOpen = true }, _createButtons: function(f) { var e = this, c = false, d = b("<div></div>").addClass("ui-dialog-buttonpane ui-widget-content ui-helper-clearfix"); this.uiDialog.find(".ui-dialog-buttonpane").remove(); (typeof f == "object" && f !== null && b.each(f, function() { return !(c = true) })); if (c) { b.each(f, function(g, h) { b('<button type="button"></button>').addClass("ui-state-default ui-corner-all").text(g).click(function() { h.apply(e.element[0], arguments) }).hover(function() { b(this).addClass("ui-state-hover") }, function() { b(this).removeClass("ui-state-hover") }).focus(function() { b(this).addClass("ui-state-focus") }).blur(function() { b(this).removeClass("ui-state-focus") }).appendTo(d) }); d.appendTo(this.uiDialog) } }, _makeDraggable: function() { var c = this, d = this.options; this.uiDialog.draggable({ cancel: ".ui-dialog-content", helper: d.dragHelper, handle: ".ui-dialog-titlebar", containment: "document", start: function() { (d.dragStart && d.dragStart.apply(c.element[0], arguments)); if (b.browser.msie && b.browser.version < 7 && c.shadow) { c.shadow.hide() } }, drag: function() { (d.drag && d.drag.apply(c.element[0], arguments)); c._refreshShadow(1) }, stop: function() { (d.dragStop && d.dragStop.apply(c.element[0], arguments)); b.ui.dialog.overlay.resize(); if (b.browser.msie && b.browser.version < 7 && c.shadow) { c.shadow.show() } c._refreshShadow() } }) }, _makeResizable: function(f) { f = (f === undefined ? this.options.resizable : f); var c = this, e = this.options, d = typeof f == "string" ? f : "n,e,s,w,se,sw,ne,nw"; this.uiDialog.resizable({ cancel: ".ui-dialog-content", alsoResize: this.element, helper: e.resizeHelper, maxWidth: e.maxWidth, maxHeight: e.maxHeight, minWidth: e.minWidth, minHeight: e.minHeight, start: function() { (e.resizeStart && e.resizeStart.apply(c.element[0], arguments)); if (b.browser.msie && b.browser.version < 7 && c.shadow) { c.shadow.hide() } }, resize: function() { (e.resize && e.resize.apply(c.element[0], arguments)); c._refreshShadow(1) }, handles: d, stop: function() { (e.resizeStop && e.resizeStop.apply(c.element[0], arguments)); b.ui.dialog.overlay.resize(); if (b.browser.msie && b.browser.version < 7 && c.shadow) { c.shadow.show() } c._refreshShadow() } }).find(".ui-resizable-se").addClass("ui-icon ui-icon-grip-diagonal-se") }, _position: function(h) { var d = b(window), e = b(document), f = e.scrollTop(), c = e.scrollLeft(), g = f; if (b.inArray(h, ["center", "top", "right", "bottom", "left"]) >= 0) { h = [h == "right" || h == "left" ? h : "center", h == "top" || h == "bottom" ? h : "middle"] } if (h.constructor != Array) { h = ["center", "middle"] } if (h[0].constructor == Number) { c += h[0] } else { switch (h[0]) { case "left": c += 0; break; case "right": c += d.width() - this.uiDialog.outerWidth(); break; default: case "center": c += (d.width() - this.uiDialog.outerWidth()) / 2 } } if (h[1].constructor == Number) { f += h[1] } else { switch (h[1]) { case "top": f += 0; break; case "bottom": f += d.height() - this.uiDialog.outerHeight(); break; default: case "middle": f += (d.height() - this.uiDialog.outerHeight()) / 2 } } f = Math.max(f, g); this.uiDialog.css({ top: f, left: c }) }, _setData: function(d, e) { (a[d] && this.uiDialog.data(a[d], e)); switch (d) { case "buttons": this._createButtons(e); break; case "closeText": this.uiDialogTitlebarCloseText.text(e); break; case "draggable": (e ? this._makeDraggable() : this.uiDialog.draggable("destroy")); break; case "height": this.uiDialog.height(e); break; case "position": this._position(e); break; case "resizable": var c = this.uiDialog, f = this.uiDialog.is(":data(resizable)"); (f && !e && c.resizable("destroy")); (f && typeof e == "string" && c.resizable("option", "handles", e)); (f || this._makeResizable(e)); break; case "title": b(".ui-dialog-title", this.uiDialogTitlebar).html(e || "&nbsp;"); break; case "width": this.uiDialog.width(e); break } b.widget.prototype._setData.apply(this, arguments) }, _size: function() { var d = this.options; this.element.css({ height: 0, minHeight: 0, width: "auto" }); var c = this.uiDialog.css({ height: "auto", width: d.width }).height(); this.element.css({ minHeight: Math.max(d.minHeight - c, 0), height: d.height == "auto" ? "auto" : d.height - c }) }, _createShadow: function() { this.shadow = b('<div class="ui-widget-shadow"></div>').css("position", "absolute").appendTo(document.body); this._refreshShadow(); return this.shadow }, _refreshShadow: function(c) { if (c && b.browser.msie && b.browser.version < 7) { return } var d = this.uiDialog.offset(); this.shadow.css({ left: d.left, top: d.top, width: this.uiDialog.outerWidth(), height: this.uiDialog.outerHeight() }) }, _destroyShadow: function() { this.shadow.remove(); this.shadow = null } }); b.extend(b.ui.dialog, { version: "1.6rc6", defaults: { autoOpen: true, bgiframe: false, buttons: {}, closeOnEscape: true, closeText: "close", draggable: true, height: "auto", minHeight: 150, minWidth: 150, modal: false, position: "center", resizable: true, shadow: true, stack: true, title: "", width: 300, zIndex: 1000 }, getter: "isOpen", uuid: 0, getTitleId: function(c) { return "ui-dialog-title-" + (c.attr("id") || ++this.uuid) }, overlay: function(c) { this.$el = b.ui.dialog.overlay.create(c) } }); b.extend(b.ui.dialog.overlay, { instances: [], events: b.map("focus,mousedown,mouseup,keydown,keypress,click".split(","), function(c) { return c + ".dialog-overlay" }).join(" "), create: function(d) { if (this.instances.length === 0) { setTimeout(function() { b("a, :input").bind(b.ui.dialog.overlay.events, function() { var f = false; var h = b(this).parents(".ui-dialog"); if (h.length) { var e = b(".ui-dialog-overlay"); if (e.length) { var g = parseInt(e.css("z-index"), 10); e.each(function() { g = Math.max(g, parseInt(b(this).css("z-index"), 10)) }); f = parseInt(h.css("z-index"), 10) > g } else { f = true } } return f }) }, 1); b(document).bind("keydown.dialog-overlay", function(e) { (d.options.closeOnEscape && e.keyCode && e.keyCode == b.ui.keyCode.ESCAPE && d.close(e)) }); b(window).bind("resize.dialog-overlay", b.ui.dialog.overlay.resize) } var c = b("<div></div>").appendTo(document.body).addClass("ui-widget-overlay").css({ width: this.width(), height: this.height() }); (d.options.bgiframe && b.fn.bgiframe && c.bgiframe()); this.instances.push(c); return c }, destroy: function(c) { this.instances.splice(b.inArray(this.instances, c), 1); if (this.instances.length === 0) { b("a, :input").add([document, window]).unbind(".dialog-overlay") } c.remove() }, height: function() { if (b.browser.msie && b.browser.version < 7) { var d = Math.max(document.documentElement.scrollHeight, document.body.scrollHeight); var c = Math.max(document.documentElement.offsetHeight, document.body.offsetHeight); if (d < c) { return b(window).height() + "px" } else { return d + "px" } } else { return b(document).height() + "px" } }, width: function() { if (b.browser.msie && b.browser.version < 7) { var c = Math.max(document.documentElement.scrollWidth, document.body.scrollWidth); var d = Math.max(document.documentElement.offsetWidth, document.body.offsetWidth); if (c < d) { return b(window).width() + "px" } else { return c + "px" } } else { return b(document).width() + "px" } }, resize: function() { var c = b([]); b.each(b.ui.dialog.overlay.instances, function() { c = c.add(this) }); c.css({ width: 0, height: 0 }).css({ width: b.ui.dialog.overlay.width(), height: b.ui.dialog.overlay.height() }) } }); b.extend(b.ui.dialog.overlay.prototype, { destroy: function() { b.ui.dialog.overlay.destroy(this.$el) } }) })(jQuery);
(function(a) { a.widget("ui.slider", a.extend({}, a.ui.mouse, { _init: function() { var b = this, c = this.options; this._keySliding = false; this._handleIndex = null; this._detectOrientation(); this._mouseInit(); this.element.addClass("ui-slider ui-slider-" + this.orientation + " ui-widget ui-widget-content ui-corner-all"); this.range = a([]); if (c.range) { if (c.range === true) { this.range = a("<div></div>"); if (!c.values) { c.values = [this._valueMin(), this._valueMin()] } if (c.values.length && c.values.length != 2) { c.values = [c.values[0], c.values[0]] } } else { this.range = a("<div></div>") } this.range.appendTo(this.element).addClass("ui-slider-range ui-widget-header"); (c.range == "min") && (this.orientation == "horizontal") && this.range.css({ left: 0 }); (c.range == "max") && (this.orientation == "horizontal") && this.range.css({ right: 0 }); (c.range == "min") && (this.orientation == "vertical") && this.range.css({ bottom: 0 }); (c.range == "max") && (this.orientation == "vertical") && this.range.css({ top: 0 }) } if (a(".ui-slider-handle", this.element).length == 0) { a('<a href="#"></a>').appendTo(this.element).addClass("ui-slider-handle") } if (c.values && c.values.length) { while (a(".ui-slider-handle", this.element).length < c.values.length) { a('<a href="#"></a>').appendTo(this.element).addClass("ui-slider-handle") } } this.handles = a(".ui-slider-handle", this.element).addClass("ui-state-default ui-corner-all"); this.handle = this.handles.eq(0); this.handles.add(this.range).filter("a").click(function(d) { d.preventDefault() }).hover(function() { a(this).addClass("ui-state-hover") }, function() { a(this).removeClass("ui-state-hover") }).focus(function() { b.handles.removeClass("ui-state-focus"); a(this).addClass("ui-state-focus") }).blur(function() { a(this).removeClass("ui-state-focus") }); this.handles.each(function(d) { a(this).data("index.ui-slider-handle", d) }); this.handles.keydown(function(h) { var e = a(this).data("index.ui-slider-handle"); if (b.options.disabled) { return } switch (h.keyCode) { case a.ui.keyCode.HOME: case a.ui.keyCode.END: case a.ui.keyCode.UP: case a.ui.keyCode.RIGHT: case a.ui.keyCode.DOWN: case a.ui.keyCode.LEFT: if (!b._keySliding) { b._keySliding = true; a(this).addClass("ui-state-active"); b._start(h) } break } var f, d, g = b._step(); if (b.options.values && b.options.values.length) { f = d = b.values(e) } else { f = d = b.value() } switch (h.keyCode) { case a.ui.keyCode.HOME: d = b._valueMin(); break; case a.ui.keyCode.END: d = b._valueMax(); break; case a.ui.keyCode.UP: case a.ui.keyCode.RIGHT: if (f == b._valueMax()) { return } d = f + g; break; case a.ui.keyCode.DOWN: case a.ui.keyCode.LEFT: if (f == b._valueMin()) { return } d = f - g; break } b._slide(h, e, d) }).keyup(function(d) { if (b._keySliding) { b._stop(d); b._change(d); b._keySliding = false; a(this).removeClass("ui-state-active") } }); this._refreshValue() }, destroy: function() { this.handles.remove(); this.element.removeClass("ui-slider ui-slider-horizontal ui-slider-vertical ui-slider-disabled ui-widget ui-widget-content ui-corner-all").removeData("slider").unbind(".slider"); this._mouseDestroy() }, _mouseCapture: function(d) { var e = this.options; if (e.disabled) { return false } this._start(d); this.elementSize = { width: this.element.outerWidth(), height: this.element.outerHeight() }; this.elementOffset = this.element.offset(); var h = { x: d.pageX, y: d.pageY }; var j = this._normValueFromMouse(h); var c = this._valueMax() + 1, f; var k = this, i; this.handles.each(function(l) { var m = Math.abs(j - k.values(l)); if (c > m) { c = m; f = a(this); i = l } }); if (e.range && (this.values(0) + this.values(1)) == 0) { f = a(this.handles[++i]) } k._handleIndex = i; f.addClass("ui-state-active").focus(); var g = f.offset(); var b = !a(d.target).parents().andSelf().is(".ui-slider-handle"); this._clickOffset = b ? { left: 0, top: 0} : { left: d.pageX - g.left + (parseInt(f.css("marginLeft"), 10) || 0), top: d.pageY - g.top + (parseInt(f.css("marginTop"), 10) || 0) }; j = this._normValueFromMouse(h); this._slide(d, i, j); return true }, _mouseStart: function(b) { return true }, _mouseDrag: function(d) { var b = { x: d.pageX, y: d.pageY }; var c = this._normValueFromMouse(b); this._slide(d, this._handleIndex, c); return false }, _mouseStop: function(b) { this.handles.removeClass("ui-state-active"); this._stop(b); this._change(b); this._handleIndex = null; this._clickOffset = null; return false }, _detectOrientation: function() { this.orientation = this.options.orientation == "auto" ? (this.element[0].offsetWidth / this.element[0].offsetHeight > 1 ? "horizontal" : "vertical") : this.options.orientation }, _normValueFromMouse: function(d) { var c, h; if ("horizontal" == this.orientation) { c = this.elementSize.width; h = d.x - this.elementOffset.left - (this._clickOffset ? this._clickOffset.left : 0) } else { c = this.elementSize.height; h = d.y - this.elementOffset.top - (this._clickOffset ? this._clickOffset.top : 0) } var f = (h / c); if (f > 1) { f = 1 } if (f < 0) { f = 0 } if ("vertical" == this.orientation) { f = 1 - f } var e = this._valueMax() - this._valueMin(), i = f * e, b = i % this.options.step, g = this._valueMin() + i - b; if (b > (this.options.step / 2)) { g += this.options.step } return g }, _start: function(b) { this._trigger("start", b, { value: this.value() }) }, _slide: function(f, e, d) { var g = this.handles[e]; if (this.options.values && this.options.values.length) { var b = this.values(e ? 0 : 1); if ((e == 0 && d >= b) || (e == 1 && d <= b)) { d = b } if (d != this.values(e)) { var c = this.values(); c[e] = d; var h = this._trigger("slide", f, { handle: g, value: d, values: c }); var b = this.values(e ? 0 : 1); if (h !== false) { this.values(e, d, !(f.type == "mousedown" && this.options.animate)) } } } else { if (d != this.value()) { var h = this._trigger("slide", f, { handle: g, value: d }); if (h !== false) { this._setData("value", d, (f.type == "mousedown" && this.options.animate)) } } } }, _stop: function(b) { this._trigger("stop", b, { value: this.value() }) }, _change: function(b) { this._trigger("change", b, { value: this.value() }) }, value: function(b) { if (arguments.length) { this._setData("value", b); this._change() } return this._value() }, values: function(c, d, b) { if (!this.options.animate) { b = true } if (arguments.length > 1) { this.options.values[c] = d; this._refreshValue(!b); this._change() } if (arguments.length) { if (this.options.values && this.options.values.length) { return this._values(c) } else { return this.value() } } else { return this._values() } }, _setData: function(b, c) { a.widget.prototype._setData.apply(this, arguments); switch (b) { case "orientation": this._detectOrientation(); this.element.removeClass("ui-slider-horizontal ui-slider-vertical").addClass("ui-slider-" + this.orientation); this._refreshValue(); break; case "value": this._refreshValue(); break } }, _step: function() { var b = this.options.step; return b }, _value: function() { var b = this.options.value; if (b < this._valueMin()) { b = this._valueMin() } if (b > this._valueMax()) { b = this._valueMax() } return b }, _values: function(b) { if (arguments.length) { var c = this.options.values[b]; if (c < this._valueMin()) { c = this._valueMin() } if (c > this._valueMax()) { c = this._valueMax() } return c } else { return this.options.values } }, _valueMin: function() { var b = this.options.min; return b }, _valueMax: function() { var b = this.options.max; return b }, _refreshValue: function(e) { var h = this.options.range, g = this.options, d = this; if (this.options.values && this.options.values.length) { var c, i; this.handles.each(function(n, l) { var m = (d.values(n) - d._valueMin()) / (d._valueMax() - d._valueMin()) * 100; var k = {}; k[d.orientation == "horizontal" ? "left" : "bottom"] = m + "%"; a(this).stop(1, 1)[e ? "animate" : "css"](k, g.animate); if (d.options.range === true) { if (d.orientation == "horizontal") { (n == 0) && d.range.stop(1, 1)[e ? "animate" : "css"]({ left: m + "%" }, g.animate); (n == 1) && d.range[e ? "animate" : "css"]({ width: (m - lastValPercent) + "%" }, { queue: false, duration: g.animate }) } else { (n == 0) && d.range.stop(1, 1)[e ? "animate" : "css"]({ bottom: (m) + "%" }, g.animate); (n == 1) && d.range[e ? "animate" : "css"]({ height: (m - lastValPercent) + "%" }, { queue: false, duration: g.animate }) } } lastValPercent = m }) } else { var f = (this.value() - this._valueMin()) / (this._valueMax() - this._valueMin()) * 100; var b = {}; b[d.orientation == "horizontal" ? "left" : "bottom"] = f + "%"; this.handle.stop(1, 1)[e ? "animate" : "css"](b, g.animate); (h == "min") && (this.orientation == "horizontal") && this.range.stop(1, 1)[e ? "animate" : "css"]({ left: 0, width: f + "%" }, g.animate); (h == "max") && (this.orientation == "horizontal") && this.range[e ? "animate" : "css"]({ left: f + "%", width: (100 - f) + "%" }, { queue: false, duration: g.animate }); (h == "min") && (this.orientation == "vertical") && this.range.stop(1, 1)[e ? "animate" : "css"]({ top: (100 - f) + "%", height: f + "%" }, g.animate); (h == "max") && (this.orientation == "vertical") && this.range[e ? "animate" : "css"]({ bottom: f + "%", height: (100 - f) + "%" }, { queue: false, duration: g.animate }) } } })); a.extend(a.ui.slider, { getter: "value values", version: "1.6rc6", eventPrefix: "slide", defaults: { animate: false, delay: 0, distance: 0, max: 100, min: 0, orientation: "auto", range: false, step: 1, value: 0, values: null} }) })(jQuery);
(function(a) { a.widget("ui.tabs", { _init: function() { this._tabify(true) }, _setData: function(b, c) { if ((/^selected/).test(b)) { this.select(c) } else { this.options[b] = c; this._tabify() } }, _tabId: function(b) { return b.title && b.title.replace(/\s/g, "_").replace(/[^A-Za-z0-9\-_:\.]/g, "") || this.options.idPrefix + a.data(b) }, _sanitizeSelector: function(b) { return b.replace(/:/g, "\\:") }, _cookie: function() { var b = this.cookie || (this.cookie = this.options.cookie.name || "ui-tabs-" + a.data(this.list[0])); return a.cookie.apply(null, [b].concat(a.makeArray(arguments))) }, _ui: function(c, b) { return { tab: c, panel: b, index: this.$tabs.index(c)} }, _tabify: function(q) { this.list = this.element.is("div") ? this.element.children("ul:first, ol:first").eq(0) : this.element; this.$lis = a("li:has(a[href])", this.list); this.$tabs = this.$lis.map(function() { return a("a", this)[0] }); this.$panels = a([]); var r = this, d = this.options; var c = /^#.+/; this.$tabs.each(function(t, o) { var s = a(o).attr("href"); if (c.test(s)) { r.$panels = r.$panels.add(r._sanitizeSelector(s)) } else { if (s != "#") { a.data(o, "href.tabs", s); a.data(o, "load.tabs", s.replace(/#.*$/, "")); var v = r._tabId(o); o.href = "#" + v; var u = a("#" + v); if (!u.length) { u = a(d.panelTemplate).attr("id", v).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").insertAfter(r.$panels[t - 1] || r.list); u.data("destroy.tabs", true) } r.$panels = r.$panels.add(u) } else { d.disabled.push(t + 1) } } }); if (q) { if (this.element.is("div")) { this.element.addClass("ui-tabs ui-widget ui-widget-content ui-corner-all") } this.list.addClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all"); this.$lis.addClass("ui-state-default ui-corner-top"); this.$panels.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom"); if (d.selected === undefined) { if (location.hash) { this.$tabs.each(function(s, o) { if (o.hash == location.hash) { d.selected = s; return false } }) } else { if (d.cookie) { d.selected = parseInt(r._cookie(), 10) } else { if (this.$lis.filter(".ui-tabs-selected").length) { d.selected = this.$lis.index(this.$lis.filter(".ui-tabs-selected")) } else { d.selected = 0 } } } } else { if (d.selected === null) { d.selected = -1 } } d.selected = ((d.selected >= 0 && this.$tabs[d.selected]) || d.selected < 0) ? d.selected : 0; d.disabled = a.unique(d.disabled.concat(a.map(this.$lis.filter(".ui-state-disabled"), function(s, o) { return r.$lis.index(s) }))).sort(); if (a.inArray(d.selected, d.disabled) != -1) { d.disabled.splice(a.inArray(d.selected, d.disabled), 1) } this.$panels.addClass("ui-tabs-hide"); this.$lis.removeClass("ui-tabs-selected ui-state-active"); if (d.selected >= 0 && this.$tabs.length) { this.$panels.eq(d.selected).removeClass("ui-tabs-hide"); var f = ["ui-tabs-selected ui-state-active"]; if (d.deselectable) { f.push("ui-tabs-deselectable") } this.$lis.eq(d.selected).addClass(f.join(" ")); var k = function() { r._trigger("show", null, r._ui(r.$tabs[d.selected], r.$panels[d.selected])) }; if (a.data(this.$tabs[d.selected], "load.tabs")) { this.load(d.selected, k) } else { k() } } if (d.event != "mouseover") { var l = function(o, i) { if (i.is(":not(.ui-state-disabled)")) { i.toggleClass("ui-state-" + o) } }; this.$lis.bind("mouseover.tabs mouseout.tabs", function() { l("hover", a(this)) }); this.$tabs.bind("focus.tabs blur.tabs", function() { l("focus", a(this).parents("li:first")) }) } a(window).bind("unload", function() { r.$lis.add(r.$tabs).unbind(".tabs"); r.$lis = r.$tabs = r.$panels = null }) } else { d.selected = this.$lis.index(this.$lis.filter(".ui-tabs-selected")) } if (d.cookie) { this._cookie(d.selected, d.cookie) } for (var h = 0, p; p = this.$lis[h]; h++) { a(p)[a.inArray(h, d.disabled) != -1 && !a(p).hasClass("ui-tabs-selected") ? "addClass" : "removeClass"]("ui-state-disabled") } if (d.cache === false) { this.$tabs.removeData("cache.tabs") } var b, j; if (d.fx) { if (a.isArray(d.fx)) { b = d.fx[0]; j = d.fx[1] } else { b = j = d.fx } } function e(i, o) { i.css({ display: "" }); if (a.browser.msie && o.opacity) { i[0].style.removeAttribute("filter") } } var m = j ? function(i, o) { o.hide().removeClass("ui-tabs-hide").animate(j, 500, function() { e(o, j); r._trigger("show", null, r._ui(i, o[0])) }) } : function(i, o) { o.removeClass("ui-tabs-hide"); r._trigger("show", null, r._ui(i, o[0])) }; var n = b ? function(o, i, s) { i.animate(b, b.duration || "normal", function() { i.addClass("ui-tabs-hide"); e(i, b); if (s) { m(o, s) } }) } : function(o, i, s) { i.addClass("ui-tabs-hide"); if (s) { m(o, s) } }; function g(s, u, i, t) { var o = ["ui-tabs-selected ui-state-active"]; if (d.deselectable) { o.push("ui-tabs-deselectable") } u.removeClass("ui-state-default").addClass(o.join(" ")).siblings().removeClass(o.join(" ")).addClass("ui-state-default"); n(s, i, t) } this.$tabs.unbind(".tabs").bind(d.event + ".tabs", function() { var t = a(this).parents("li:eq(0)"), i = r.$panels.filter(":visible"), s = a(r._sanitizeSelector(this.hash)); if ((t.hasClass("ui-state-active") && !d.deselectable) || t.hasClass("ui-state-disabled") || a(this).hasClass("ui-tabs-loading") || r._trigger("select", null, r._ui(this, s[0])) === false) { this.blur(); return false } d.selected = r.$tabs.index(this); if (d.deselectable) { if (t.hasClass("ui-state-active")) { d.selected = -1; if (d.cookie) { r._cookie(d.selected, d.cookie) } t.removeClass("ui-tabs-selected ui-state-active ui-tabs-deselectable").addClass("ui-state-default"); r.$panels.stop(); n(this, i); this.blur(); return false } else { if (!i.length) { if (d.cookie) { r._cookie(d.selected, d.cookie) } r.$panels.stop(); var o = this; r.load(r.$tabs.index(this), function() { t.addClass("ui-tabs-selected ui-state-active ui-tabs-deselectable").removeClass("ui-state-default"); m(o, s) }); this.blur(); return false } } } if (d.cookie) { r._cookie(d.selected, d.cookie) } r.$panels.stop(); if (s.length) { var o = this; r.load(r.$tabs.index(this), i.length ? function() { g(o, t, i, s) } : function() { t.addClass("ui-tabs-selected ui-state-active").removeClass("ui-state-default"); m(o, s) }) } else { throw "jQuery UI Tabs: Mismatching fragment identifier." } if (a.browser.msie) { this.blur() } return false }); if (d.event != "click") { this.$tabs.bind("click.tabs", function() { return false }) } }, destroy: function() { var b = this.options; this.element.removeClass("ui-tabs ui-widget ui-widget-content ui-corner-all"); this.list.unbind(".tabs").removeClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all").removeData("tabs"); this.$tabs.each(function() { var c = a.data(this, "href.tabs"); if (c) { this.href = c } var d = a(this).unbind(".tabs"); a.each(["href", "load", "cache"], function(e, f) { d.removeData(f + ".tabs") }) }); this.$lis.unbind(".tabs").add(this.$panels).each(function() { if (a.data(this, "destroy.tabs")) { a(this).remove() } else { a(this).removeClass("ui-state-default ui-corner-top ui-tabs-selected ui-state-active ui-tabs-deselectable ui-state-disabled ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide") } }); if (b.cookie) { this._cookie(null, b.cookie) } }, add: function(c, h, f) { if (f == undefined) { f = this.$tabs.length } var i = this, e = this.options; var g = a(e.tabTemplate.replace(/#\{href\}/g, c).replace(/#\{label\}/g, h)); g.addClass("ui-state-default ui-corner-top").data("destroy.tabs", true); var d = c.indexOf("#") == 0 ? c.replace("#", "") : this._tabId(a("a:first-child", g)[0]); var j = a("#" + d); if (!j.length) { j = a(e.panelTemplate).attr("id", d).data("destroy.tabs", true) } j.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide"); if (f >= this.$lis.length) { g.appendTo(this.list); j.appendTo(this.list[0].parentNode) } else { g.insertBefore(this.$lis[f]); j.insertBefore(this.$panels[f]) } e.disabled = a.map(e.disabled, function(l, k) { return l >= f ? ++l : l }); this._tabify(); if (this.$tabs.length == 1) { g.addClass("ui-tabs-selected ui-state-active"); j.removeClass("ui-tabs-hide"); var b = a.data(this.$tabs[0], "load.tabs"); if (b) { this.load(0, function() { i._trigger("show", null, i._ui(i.$tabs[0], i.$panels[0])) }) } } this._trigger("add", null, this._ui(this.$tabs[f], this.$panels[f])) }, remove: function(b) { var d = this.options, e = this.$lis.eq(b).remove(), c = this.$panels.eq(b).remove(); if (e.hasClass("ui-tabs-selected") && this.$tabs.length > 1) { this.select(b + (b + 1 < this.$tabs.length ? 1 : -1)) } d.disabled = a.map(a.grep(d.disabled, function(g, f) { return g != b }), function(g, f) { return g >= b ? --g : g }); this._tabify(); this._trigger("remove", null, this._ui(e.find("a")[0], c[0])) }, enable: function(b) { var c = this.options; if (a.inArray(b, c.disabled) == -1) { return } this.$lis.eq(b).removeClass("ui-state-disabled"); c.disabled = a.grep(c.disabled, function(e, d) { return e != b }); this._trigger("enable", null, this._ui(this.$tabs[b], this.$panels[b])) }, disable: function(c) { var b = this, d = this.options; if (c != d.selected) { this.$lis.eq(c).addClass("ui-state-disabled"); d.disabled.push(c); d.disabled.sort(); this._trigger("disable", null, this._ui(this.$tabs[c], this.$panels[c])) } }, select: function(b) { if (typeof b == "string") { b = this.$tabs.index(this.$tabs.filter("[href$=" + b + "]")) } this.$tabs.eq(b).trigger(this.options.event + ".tabs") }, load: function(g, k) { var l = this, d = this.options, e = this.$tabs.eq(g), j = e[0], h = k == undefined || k === false, b = e.data("load.tabs"); k = k || function() { }; if (!b || !h && a.data(j, "cache.tabs")) { k(); return } var m = function(n) { var o = a(n), p = o.find("*:last"); return p.length && p.is(":not(img)") && p || o }; var c = function() { l.$tabs.filter(".ui-tabs-loading").removeClass("ui-tabs-loading").each(function() { if (d.spinner) { m(this).parent().html(m(this).data("label.tabs")) } }); l.xhr = null }; if (d.spinner) { var i = m(j).html(); m(j).wrapInner("<em></em>").find("em").data("label.tabs", i).html(d.spinner) } var f = a.extend({}, d.ajaxOptions, { url: b, success: function(o, n) { a(l._sanitizeSelector(j.hash)).html(o); c(); if (d.cache) { a.data(j, "cache.tabs", true) } l._trigger("load", null, l._ui(l.$tabs[g], l.$panels[g])); try { d.ajaxOptions.success(o, n) } catch (p) { } k() } }); if (this.xhr) { this.xhr.abort(); c() } e.addClass("ui-tabs-loading"); l.xhr = a.ajax(f) }, url: function(c, b) { this.$tabs.eq(c).removeData("cache.tabs").data("load.tabs", b) }, length: function() { return this.$tabs.length } }); a.extend(a.ui.tabs, { version: "1.6rc6", getter: "length", defaults: { ajaxOptions: null, cache: false, cookie: null, deselectable: false, disabled: [], event: "click", fx: null, idPrefix: "ui-tabs-", panelTemplate: "<div></div>", spinner: "Loading&#8230;", tabTemplate: '<li><a href="#{href}"><span>#{label}</span></a></li>'} }); a.extend(a.ui.tabs.prototype, { rotation: null, rotate: function(d, f) { var b = this, e = this.options.selected; function c() { clearTimeout(b.rotation); b.rotation = setTimeout(function() { e = ++e < b.$tabs.length ? e : 0; b.select(e) }, d) } if (d) { this.element.bind("tabsshow", c); this.$tabs.bind(this.options.event + ".tabs", !f ? function(g) { if (g.clientX) { clearTimeout(b.rotation); b.element.unbind("tabsshow", c) } } : function(g) { e = b.options.selected; c() }); c() } else { clearTimeout(b.rotation); this.element.unbind("tabsshow", c); this.$tabs.unbind(this.options.event + ".tabs", stop) } } }) })(jQuery);
(function($) { $.extend($.ui, { datepicker: { version: "1.6rc6"} }); var PROP_NAME = "datepicker"; function Datepicker() { this.debug = false; this._curInst = null; this._keyEvent = false; this._disabledInputs = []; this._datepickerShowing = false; this._inDialog = false; this._mainDivId = "ui-datepicker-div"; this._inlineClass = "ui-datepicker-inline"; this._appendClass = "ui-datepicker-append"; this._triggerClass = "ui-datepicker-trigger"; this._dialogClass = "ui-datepicker-dialog"; this._disableClass = "ui-datepicker-disabled"; this._unselectableClass = "ui-datepicker-unselectable"; this._currentClass = "ui-datepicker-current-day"; this._dayOverClass = "ui-datepicker-days-cell-over"; this.regional = []; this.regional[""] = { closeText: "Done", prevText: "Prev", nextText: "Next", currentText: "Today", monthNames: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"], monthNamesShort: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"], dayNames: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"], dayNamesShort: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"], dayNamesMin: ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"], dateFormat: "mm/dd/yy", firstDay: 0, isRTL: false }; this._defaults = { showOn: "focus", showAnim: "show", showOptions: {}, defaultDate: null, appendText: "", buttonText: "...", buttonImage: "", buttonImageOnly: false, hideIfNoPrevNext: false, navigationAsDateFormat: false, gotoCurrent: false, changeMonth: false, changeYear: false, showMonthAfterYear: false, yearRange: "-10:+10", showOtherMonths: false, calculateWeek: this.iso8601Week, shortYearCutoff: "+10", minDate: null, maxDate: null, duration: "normal", beforeShowDay: null, beforeShow: null, onSelect: null, onChangeMonthYear: null, onClose: null, numberOfMonths: 1, showCurrentAtPos: 0, stepMonths: 1, stepBigMonths: 12, altField: "", altFormat: "", constrainInput: true, showButtonPanel: false }; $.extend(this._defaults, this.regional[""]); this.dpDiv = $('<div id="' + this._mainDivId + '" class="ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all ui-helper-hidden-accessible"></div>') } $.extend(Datepicker.prototype, { markerClassName: "hasDatepicker", log: function() { if (this.debug) { console.log.apply("", arguments) } }, setDefaults: function(settings) { extendRemove(this._defaults, settings || {}); return this }, _attachDatepicker: function(target, settings) { var inlineSettings = null; for (var attrName in this._defaults) { var attrValue = target.getAttribute("date:" + attrName); if (attrValue) { inlineSettings = inlineSettings || {}; try { inlineSettings[attrName] = eval(attrValue) } catch (err) { inlineSettings[attrName] = attrValue } } } var nodeName = target.nodeName.toLowerCase(); var inline = (nodeName == "div" || nodeName == "span"); if (!target.id) { target.id = "dp" + (++this.uuid) } var inst = this._newInst($(target), inline); inst.settings = $.extend({}, settings || {}, inlineSettings || {}); if (nodeName == "input") { this._connectDatepicker(target, inst) } else { if (inline) { this._inlineDatepicker(target, inst) } } }, _newInst: function(target, inline) { var id = target[0].id.replace(/([:\[\]\.])/g, "\\\\$1"); return { id: id, input: target, selectedDay: 0, selectedMonth: 0, selectedYear: 0, drawMonth: 0, drawYear: 0, inline: inline, dpDiv: (!inline ? this.dpDiv : $('<div class="' + this._inlineClass + ' ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all"></div>'))} }, _connectDatepicker: function(target, inst) { var input = $(target); if (input.hasClass(this.markerClassName)) { return } var appendText = this._get(inst, "appendText"); var isRTL = this._get(inst, "isRTL"); if (appendText) { input[isRTL ? "before" : "after"]('<span class="' + this._appendClass + '">' + appendText + "</span>") } var showOn = this._get(inst, "showOn"); if (showOn == "focus" || showOn == "both") { input.focus(this._showDatepicker) } if (showOn == "button" || showOn == "both") { var buttonText = this._get(inst, "buttonText"); var buttonImage = this._get(inst, "buttonImage"); var trigger = $(this._get(inst, "buttonImageOnly") ? $("<img/>").addClass(this._triggerClass).attr({ src: buttonImage, alt: buttonText, title: buttonText }) : $('<button type="button"></button>').addClass(this._triggerClass).html(buttonImage == "" ? buttonText : $("<img/>").attr({ src: buttonImage, alt: buttonText, title: buttonText }))); input[isRTL ? "before" : "after"](trigger); trigger.click(function() { if ($.datepicker._datepickerShowing && $.datepicker._lastInput == target) { $.datepicker._hideDatepicker() } else { $.datepicker._showDatepicker(target) } return false }) } input.addClass(this.markerClassName).keydown(this._doKeyDown).keypress(this._doKeyPress).bind("setData.datepicker", function(event, key, value) { inst.settings[key] = value }).bind("getData.datepicker", function(event, key) { return this._get(inst, key) }); $.data(target, PROP_NAME, inst) }, _inlineDatepicker: function(target, inst) { var divSpan = $(target); if (divSpan.hasClass(this.markerClassName)) { return } divSpan.addClass(this.markerClassName).append(inst.dpDiv).bind("setData.datepicker", function(event, key, value) { inst.settings[key] = value }).bind("getData.datepicker", function(event, key) { return this._get(inst, key) }); $.data(target, PROP_NAME, inst); this._setDate(inst, this._getDefaultDate(inst)); this._updateDatepicker(inst); this._updateAlternate(inst) }, _dialogDatepicker: function(input, dateText, onSelect, settings, pos) { var inst = this._dialogInst; if (!inst) { var id = "dp" + (++this.uuid); this._dialogInput = $('<input type="text" id="' + id + '" size="1" style="position: absolute; top: -100px;"/>'); this._dialogInput.keydown(this._doKeyDown); $("body").append(this._dialogInput); inst = this._dialogInst = this._newInst(this._dialogInput, false); inst.settings = {}; $.data(this._dialogInput[0], PROP_NAME, inst) } extendRemove(inst.settings, settings || {}); this._dialogInput.val(dateText); this._pos = (pos ? (pos.length ? pos : [pos.pageX, pos.pageY]) : null); if (!this._pos) { var browserWidth = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth; var browserHeight = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight; var scrollX = document.documentElement.scrollLeft || document.body.scrollLeft; var scrollY = document.documentElement.scrollTop || document.body.scrollTop; this._pos = [(browserWidth / 2) - 100 + scrollX, (browserHeight / 2) - 150 + scrollY] } this._dialogInput.css("left", this._pos[0] + "px").css("top", this._pos[1] + "px"); inst.settings.onSelect = onSelect; this._inDialog = true; this.dpDiv.addClass(this._dialogClass); this._showDatepicker(this._dialogInput[0]); if ($.blockUI) { $.blockUI(this.dpDiv) } $.data(this._dialogInput[0], PROP_NAME, inst); return this }, _destroyDatepicker: function(target) { var $target = $(target); if (!$target.hasClass(this.markerClassName)) { return } var nodeName = target.nodeName.toLowerCase(); $.removeData(target, PROP_NAME); if (nodeName == "input") { $target.siblings("." + this._appendClass).remove().end().siblings("." + this._triggerClass).remove().end().removeClass(this.markerClassName).unbind("focus", this._showDatepicker).unbind("keydown", this._doKeyDown).unbind("keypress", this._doKeyPress) } else { if (nodeName == "div" || nodeName == "span") { $target.removeClass(this.markerClassName).empty() } } }, _enableDatepicker: function(target) { var $target = $(target); if (!$target.hasClass(this.markerClassName)) { return } var nodeName = target.nodeName.toLowerCase(); if (nodeName == "input") { target.disabled = false; $target.siblings("button." + this._triggerClass).each(function() { this.disabled = false }).end().siblings("img." + this._triggerClass).css({ opacity: "1.0", cursor: "" }) } else { if (nodeName == "div" || nodeName == "span") { var inline = $target.children("." + this._inlineClass); inline.children().removeClass("ui-state-disabled") } } this._disabledInputs = $.map(this._disabledInputs, function(value) { return (value == target ? null : value) }) }, _disableDatepicker: function(target) { var $target = $(target); if (!$target.hasClass(this.markerClassName)) { return } var nodeName = target.nodeName.toLowerCase(); if (nodeName == "input") { target.disabled = true; $target.siblings("button." + this._triggerClass).each(function() { this.disabled = true }).end().siblings("img." + this._triggerClass).css({ opacity: "0.5", cursor: "default" }) } else { if (nodeName == "div" || nodeName == "span") { var inline = $target.children("." + this._inlineClass); inline.children().addClass("ui-state-disabled") } } this._disabledInputs = $.map(this._disabledInputs, function(value) { return (value == target ? null : value) }); this._disabledInputs[this._disabledInputs.length] = target }, _isDisabledDatepicker: function(target) { if (!target) { return false } for (var i = 0; i < this._disabledInputs.length; i++) { if (this._disabledInputs[i] == target) { return true } } return false }, _getInst: function(target) { try { return $.data(target, PROP_NAME) } catch (err) { throw "Missing instance data for this datepicker" } }, _optionDatepicker: function(target, name, value) { var settings = name || {}; if (typeof name == "string") { settings = {}; settings[name] = value } var inst = this._getInst(target); if (inst) { if (this._curInst == inst) { this._hideDatepicker(null) } extendRemove(inst.settings, settings); var date = new Date(); extendRemove(inst, { rangeStart: null, endDay: null, endMonth: null, endYear: null, selectedDay: date.getDate(), selectedMonth: date.getMonth(), selectedYear: date.getFullYear(), currentDay: date.getDate(), currentMonth: date.getMonth(), currentYear: date.getFullYear(), drawMonth: date.getMonth(), drawYear: date.getFullYear() }); this._updateDatepicker(inst) } }, _changeDatepicker: function(target, name, value) { this._optionDatepicker(target, name, value) }, _refreshDatepicker: function(target) { var inst = this._getInst(target); if (inst) { this._updateDatepicker(inst) } }, _setDateDatepicker: function(target, date, endDate) { var inst = this._getInst(target); if (inst) { this._setDate(inst, date, endDate); this._updateDatepicker(inst); this._updateAlternate(inst) } }, _getDateDatepicker: function(target) { var inst = this._getInst(target); if (inst && !inst.inline) { this._setDateFromField(inst) } return (inst ? this._getDate(inst) : null) }, _doKeyDown: function(event) { var inst = $.datepicker._getInst(event.target); var handled = true; var isRTL = inst.dpDiv.is(".ui-datepicker-rtl"); inst._keyEvent = true; if ($.datepicker._datepickerShowing) { switch (event.keyCode) { case 9: $.datepicker._hideDatepicker(null, ""); break; case 13: var sel = $("td." + $.datepicker._dayOverClass + ", td." + $.datepicker._currentClass, inst.dpDiv); if (sel[0]) { $.datepicker._selectDay(event.target, inst.selectedMonth, inst.selectedYear, sel[0]) } else { $.datepicker._hideDatepicker(null, $.datepicker._get(inst, "duration")) } return false; break; case 27: $.datepicker._hideDatepicker(null, $.datepicker._get(inst, "duration")); break; case 33: $.datepicker._adjustDate(event.target, (event.ctrlKey ? -$.datepicker._get(inst, "stepBigMonths") : -$.datepicker._get(inst, "stepMonths")), "M"); break; case 34: $.datepicker._adjustDate(event.target, (event.ctrlKey ? +$.datepicker._get(inst, "stepBigMonths") : +$.datepicker._get(inst, "stepMonths")), "M"); break; case 35: if (event.ctrlKey || event.metaKey) { $.datepicker._clearDate(event.target) } handled = event.ctrlKey || event.metaKey; break; case 36: if (event.ctrlKey || event.metaKey) { $.datepicker._gotoToday(event.target) } handled = event.ctrlKey || event.metaKey; break; case 37: if (event.ctrlKey || event.metaKey) { $.datepicker._adjustDate(event.target, (isRTL ? +1 : -1), "D") } handled = event.ctrlKey || event.metaKey; if (event.originalEvent.altKey) { $.datepicker._adjustDate(event.target, (event.ctrlKey ? -$.datepicker._get(inst, "stepBigMonths") : -$.datepicker._get(inst, "stepMonths")), "M") } break; case 38: if (event.ctrlKey || event.metaKey) { $.datepicker._adjustDate(event.target, -7, "D") } handled = event.ctrlKey || event.metaKey; break; case 39: if (event.ctrlKey || event.metaKey) { $.datepicker._adjustDate(event.target, (isRTL ? -1 : +1), "D") } handled = event.ctrlKey || event.metaKey; if (event.originalEvent.altKey) { $.datepicker._adjustDate(event.target, (event.ctrlKey ? +$.datepicker._get(inst, "stepBigMonths") : +$.datepicker._get(inst, "stepMonths")), "M") } break; case 40: if (event.ctrlKey || event.metaKey) { $.datepicker._adjustDate(event.target, +7, "D") } handled = event.ctrlKey || event.metaKey; break; default: handled = false } } else { if (event.keyCode == 36 && event.ctrlKey) { $.datepicker._showDatepicker(this) } else { handled = false } } if (handled) { event.preventDefault(); event.stopPropagation() } }, _doKeyPress: function(event) { var inst = $.datepicker._getInst(event.target); if ($.datepicker._get(inst, "constrainInput")) { var chars = $.datepicker._possibleChars($.datepicker._get(inst, "dateFormat")); var chr = String.fromCharCode(event.charCode == undefined ? event.keyCode : event.charCode); return event.ctrlKey || (chr < " " || !chars || chars.indexOf(chr) > -1) } }, _showDatepicker: function(input) { input = input.target || input; if (input.nodeName.toLowerCase() != "input") { input = $("input", input.parentNode)[0] } if ($.datepicker._isDisabledDatepicker(input) || $.datepicker._lastInput == input) { return } var inst = $.datepicker._getInst(input); var beforeShow = $.datepicker._get(inst, "beforeShow"); extendRemove(inst.settings, (beforeShow ? beforeShow.apply(input, [input, inst]) : {})); $.datepicker._hideDatepicker(null, ""); $.datepicker._lastInput = input; $.datepicker._setDateFromField(inst); if ($.datepicker._inDialog) { input.value = "" } if (!$.datepicker._pos) { $.datepicker._pos = $.datepicker._findPos(input); $.datepicker._pos[1] += input.offsetHeight } var isFixed = false; $(input).parents().each(function() { isFixed |= $(this).css("position") == "fixed"; return !isFixed }); if (isFixed && $.browser.opera) { $.datepicker._pos[0] -= document.documentElement.scrollLeft; $.datepicker._pos[1] -= document.documentElement.scrollTop } var offset = { left: $.datepicker._pos[0], top: $.datepicker._pos[1] }; $.datepicker._pos = null; inst.rangeStart = null; inst.dpDiv.css({ position: "absolute", display: "block", top: "-1000px" }); $.datepicker._updateDatepicker(inst); offset = $.datepicker._checkOffset(inst, offset, isFixed); inst.dpDiv.css({ position: ($.datepicker._inDialog && $.blockUI ? "static" : (isFixed ? "fixed" : "absolute")), display: "none", left: offset.left + "px", top: offset.top + "px" }); if (!inst.inline) { var showAnim = $.datepicker._get(inst, "showAnim") || "show"; var duration = $.datepicker._get(inst, "duration"); var postProcess = function() { $.datepicker._datepickerShowing = true; if ($.browser.msie && parseInt($.browser.version, 10) < 7) { $("iframe.ui-datepicker-cover").css({ width: inst.dpDiv.width() + 4, height: inst.dpDiv.height() + 4 }) } }; if ($.effects && $.effects[showAnim]) { inst.dpDiv.show(showAnim, $.datepicker._get(inst, "showOptions"), duration, postProcess) } else { inst.dpDiv[showAnim](duration, postProcess) } if (duration == "") { postProcess() } if (inst.input[0].type != "hidden") { inst.input[0].focus() } $.datepicker._curInst = inst } }, _updateDatepicker: function(inst) { var dims = { width: inst.dpDiv.width() + 4, height: inst.dpDiv.height() + 4 }; var self = this; inst.dpDiv.empty().append(this._generateHTML(inst)).find("iframe.ui-datepicker-cover").css({ width: dims.width, height: dims.height }).end().find("button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a").bind("mouseout", function() { $(this).removeClass("ui-state-hover"); if (this.className.indexOf("ui-datepicker-prev") != -1) { $(this).removeClass("ui-datepicker-prev-hover") } if (this.className.indexOf("ui-datepicker-next") != -1) { $(this).removeClass("ui-datepicker-next-hover") } }).bind("mouseover", function() { if (!self._isDisabledDatepicker(inst.inline ? inst.dpDiv.parent()[0] : inst.input[0])) { $(this).parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover"); $(this).addClass("ui-state-hover"); if (this.className.indexOf("ui-datepicker-prev") != -1) { $(this).addClass("ui-datepicker-prev-hover") } if (this.className.indexOf("ui-datepicker-next") != -1) { $(this).addClass("ui-datepicker-next-hover") } } }).end().find("." + this._dayOverClass + " a").trigger("mouseover").end(); var numMonths = this._getNumberOfMonths(inst); var cols = numMonths[1]; var width = 17; if (cols > 1) { inst.dpDiv.addClass("ui-datepicker-multi-" + cols).css("width", (width * cols) + "em") } else { inst.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width("") } inst.dpDiv[(numMonths[0] != 1 || numMonths[1] != 1 ? "add" : "remove") + "Class"]("ui-datepicker-multi"); inst.dpDiv[(this._get(inst, "isRTL") ? "add" : "remove") + "Class"]("ui-datepicker-rtl"); if (inst.input && inst.input[0].type != "hidden" && inst == $.datepicker._curInst) { $(inst.input[0]).focus() } }, _checkOffset: function(inst, offset, isFixed) { var dpWidth = inst.dpDiv.outerWidth(); var dpHeight = inst.dpDiv.outerHeight(); var inputWidth = inst.input ? inst.input.outerWidth() : 0; var inputHeight = inst.input ? inst.input.outerHeight() : 0; var viewWidth = (window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth) + $(document).scrollLeft(); var viewHeight = (window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight) + $(document).scrollTop(); offset.left -= (this._get(inst, "isRTL") ? (dpWidth - inputWidth) : 0); offset.left -= (isFixed && offset.left == inst.input.offset().left) ? $(document).scrollLeft() : 0; offset.top -= (isFixed && offset.top == (inst.input.offset().top + inputHeight)) ? $(document).scrollTop() : 0; offset.left -= (offset.left + dpWidth > viewWidth && viewWidth > dpWidth) ? Math.abs(offset.left + dpWidth - viewWidth) : 0; offset.top -= (offset.top + dpHeight > viewHeight && viewHeight > dpHeight) ? Math.abs(offset.top + dpHeight + inputHeight * 2 - viewHeight) : 0; return offset }, _findPos: function(obj) { while (obj && (obj.type == "hidden" || obj.nodeType != 1)) { obj = obj.nextSibling } var position = $(obj).offset(); return [position.left, position.top] }, _hideDatepicker: function(input, duration) { var inst = this._curInst; if (!inst || (input && inst != $.data(input, PROP_NAME))) { return } if (inst.stayOpen) { this._selectDate("#" + inst.id, this._formatDate(inst, inst.currentDay, inst.currentMonth, inst.currentYear)) } inst.stayOpen = false; if (this._datepickerShowing) { duration = (duration != null ? duration : this._get(inst, "duration")); var showAnim = this._get(inst, "showAnim"); var postProcess = function() { $.datepicker._tidyDialog(inst) }; if (duration != "" && $.effects && $.effects[showAnim]) { inst.dpDiv.hide(showAnim, $.datepicker._get(inst, "showOptions"), duration, postProcess) } else { inst.dpDiv[(duration == "" ? "hide" : (showAnim == "slideDown" ? "slideUp" : (showAnim == "fadeIn" ? "fadeOut" : "hide")))](duration, postProcess) } if (duration == "") { this._tidyDialog(inst) } var onClose = this._get(inst, "onClose"); if (onClose) { onClose.apply((inst.input ? inst.input[0] : null), [(inst.input ? inst.input.val() : ""), inst]) } this._datepickerShowing = false; this._lastInput = null; if (this._inDialog) { this._dialogInput.css({ position: "absolute", left: "0", top: "-100px" }); if ($.blockUI) { $.unblockUI(); $("body").append(this.dpDiv) } } this._inDialog = false } this._curInst = null }, _tidyDialog: function(inst) { inst.dpDiv.removeClass(this._dialogClass).unbind(".ui-datepicker-calendar") }, _checkExternalClick: function(event) { if (!$.datepicker._curInst) { return } var $target = $(event.target); if (($target.parents("#" + $.datepicker._mainDivId).length == 0) && !$target.hasClass($.datepicker.markerClassName) && !$target.hasClass($.datepicker._triggerClass) && $.datepicker._datepickerShowing && !($.datepicker._inDialog && $.blockUI)) { $.datepicker._hideDatepicker(null, "") } }, _adjustDate: function(id, offset, period) { var target = $(id); var inst = this._getInst(target[0]); if (this._isDisabledDatepicker(target[0])) { return } this._adjustInstDate(inst, offset + (period == "M" ? this._get(inst, "showCurrentAtPos") : 0), period); this._updateDatepicker(inst) }, _gotoToday: function(id) { var target = $(id); var inst = this._getInst(target[0]); if (this._get(inst, "gotoCurrent") && inst.currentDay) { inst.selectedDay = inst.currentDay; inst.drawMonth = inst.selectedMonth = inst.currentMonth; inst.drawYear = inst.selectedYear = inst.currentYear } else { var date = new Date(); inst.selectedDay = date.getDate(); inst.drawMonth = inst.selectedMonth = date.getMonth(); inst.drawYear = inst.selectedYear = date.getFullYear() } this._notifyChange(inst); this._adjustDate(target) }, _selectMonthYear: function(id, select, period) { var target = $(id); var inst = this._getInst(target[0]); inst._selectingMonthYear = false; inst["selected" + (period == "M" ? "Month" : "Year")] = inst["draw" + (period == "M" ? "Month" : "Year")] = parseInt(select.options[select.selectedIndex].value, 10); this._notifyChange(inst); this._adjustDate(target) }, _clickMonthYear: function(id) { var target = $(id); var inst = this._getInst(target[0]); if (inst.input && inst._selectingMonthYear && !$.browser.msie) { inst.input[0].focus() } inst._selectingMonthYear = !inst._selectingMonthYear }, _selectDay: function(id, month, year, td) { var target = $(id); if ($(td).hasClass(this._unselectableClass) || this._isDisabledDatepicker(target[0])) { return } var inst = this._getInst(target[0]); inst.selectedDay = inst.currentDay = $("a", td).html(); inst.selectedMonth = inst.currentMonth = month; inst.selectedYear = inst.currentYear = year; if (inst.stayOpen) { inst.endDay = inst.endMonth = inst.endYear = null } this._selectDate(id, this._formatDate(inst, inst.currentDay, inst.currentMonth, inst.currentYear)); if (inst.stayOpen) { inst.rangeStart = this._daylightSavingAdjust(new Date(inst.currentYear, inst.currentMonth, inst.currentDay)); this._updateDatepicker(inst) } }, _clearDate: function(id) { var target = $(id); var inst = this._getInst(target[0]); inst.stayOpen = false; inst.endDay = inst.endMonth = inst.endYear = inst.rangeStart = null; this._selectDate(target, "") }, _selectDate: function(id, dateStr) { var target = $(id); var inst = this._getInst(target[0]); dateStr = (dateStr != null ? dateStr : this._formatDate(inst)); if (inst.input) { inst.input.val(dateStr) } this._updateAlternate(inst); var onSelect = this._get(inst, "onSelect"); if (onSelect) { onSelect.apply((inst.input ? inst.input[0] : null), [dateStr, inst]) } else { if (inst.input) { inst.input.trigger("change") } } if (inst.inline) { this._updateDatepicker(inst) } else { if (!inst.stayOpen) { this._hideDatepicker(null, this._get(inst, "duration")); this._lastInput = inst.input[0]; if (typeof (inst.input[0]) != "object") { inst.input[0].focus() } this._lastInput = null } } }, _updateAlternate: function(inst) { var altField = this._get(inst, "altField"); if (altField) { var altFormat = this._get(inst, "altFormat") || this._get(inst, "dateFormat"); var date = this._getDate(inst); dateStr = this.formatDate(altFormat, date, this._getFormatConfig(inst)); $(altField).each(function() { $(this).val(dateStr) }) } }, noWeekends: function(date) { var day = date.getDay(); return [(day > 0 && day < 6), ""] }, iso8601Week: function(date) { var checkDate = new Date(date.getFullYear(), date.getMonth(), date.getDate()); var firstMon = new Date(checkDate.getFullYear(), 1 - 1, 4); var firstDay = firstMon.getDay() || 7; firstMon.setDate(firstMon.getDate() + 1 - firstDay); if (firstDay < 4 && checkDate < firstMon) { checkDate.setDate(checkDate.getDate() - 3); return $.datepicker.iso8601Week(checkDate) } else { if (checkDate > new Date(checkDate.getFullYear(), 12 - 1, 28)) { firstDay = new Date(checkDate.getFullYear() + 1, 1 - 1, 4).getDay() || 7; if (firstDay > 4 && (checkDate.getDay() || 7) < firstDay - 3) { return 1 } } } return Math.floor(((checkDate - firstMon) / 86400000) / 7) + 1 }, parseDate: function(format, value, settings) { if (format == null || value == null) { throw "Invalid arguments" } value = (typeof value == "object" ? value.toString() : value + ""); if (value == "") { return null } var shortYearCutoff = (settings ? settings.shortYearCutoff : null) || this._defaults.shortYearCutoff; var dayNamesShort = (settings ? settings.dayNamesShort : null) || this._defaults.dayNamesShort; var dayNames = (settings ? settings.dayNames : null) || this._defaults.dayNames; var monthNamesShort = (settings ? settings.monthNamesShort : null) || this._defaults.monthNamesShort; var monthNames = (settings ? settings.monthNames : null) || this._defaults.monthNames; var year = -1; var month = -1; var day = -1; var doy = -1; var literal = false; var lookAhead = function(match) { var matches = (iFormat + 1 < format.length && format.charAt(iFormat + 1) == match); if (matches) { iFormat++ } return matches }; var getNumber = function(match) { lookAhead(match); var origSize = (match == "@" ? 14 : (match == "y" ? 4 : (match == "o" ? 3 : 2))); var size = origSize; var num = 0; while (size > 0 && iValue < value.length && value.charAt(iValue) >= "0" && value.charAt(iValue) <= "9") { num = num * 10 + parseInt(value.charAt(iValue++), 10); size-- } if (size == origSize) { throw "Missing number at position " + iValue } return num }; var getName = function(match, shortNames, longNames) { var names = (lookAhead(match) ? longNames : shortNames); var size = 0; for (var j = 0; j < names.length; j++) { size = Math.max(size, names[j].length) } var name = ""; var iInit = iValue; while (size > 0 && iValue < value.length) { name += value.charAt(iValue++); for (var i = 0; i < names.length; i++) { if (name == names[i]) { return i + 1 } } size-- } throw "Unknown name at position " + iInit }; var checkLiteral = function() { if (value.charAt(iValue) != format.charAt(iFormat)) { throw "Unexpected literal at position " + iValue } iValue++ }; var iValue = 0; for (var iFormat = 0; iFormat < format.length; iFormat++) { if (literal) { if (format.charAt(iFormat) == "'" && !lookAhead("'")) { literal = false } else { checkLiteral() } } else { switch (format.charAt(iFormat)) { case "d": day = getNumber("d"); break; case "D": getName("D", dayNamesShort, dayNames); break; case "o": doy = getNumber("o"); break; case "m": month = getNumber("m"); break; case "M": month = getName("M", monthNamesShort, monthNames); break; case "y": year = getNumber("y"); break; case "@": var date = new Date(getNumber("@")); year = date.getFullYear(); month = date.getMonth() + 1; day = date.getDate(); break; case "'": if (lookAhead("'")) { checkLiteral() } else { literal = true } break; default: checkLiteral() } } } if (year == -1) { year = new Date().getFullYear() } else { if (year < 100) { year += new Date().getFullYear() - new Date().getFullYear() % 100 + (year <= shortYearCutoff ? 0 : -100) } } if (doy > -1) { month = 1; day = doy; do { var dim = this._getDaysInMonth(year, month - 1); if (day <= dim) { break } month++; day -= dim } while (true) } var date = this._daylightSavingAdjust(new Date(year, month - 1, day)); if (date.getFullYear() != year || date.getMonth() + 1 != month || date.getDate() != day) { throw "Invalid date" } return date }, ATOM: "yy-mm-dd", COOKIE: "D, dd M yy", ISO_8601: "yy-mm-dd", RFC_822: "D, d M y", RFC_850: "DD, dd-M-y", RFC_1036: "D, d M y", RFC_1123: "D, d M yy", RFC_2822: "D, d M yy", RSS: "D, d M y", TIMESTAMP: "@", W3C: "yy-mm-dd", formatDate: function(format, date, settings) { if (!date) { return "" } var dayNamesShort = (settings ? settings.dayNamesShort : null) || this._defaults.dayNamesShort; var dayNames = (settings ? settings.dayNames : null) || this._defaults.dayNames; var monthNamesShort = (settings ? settings.monthNamesShort : null) || this._defaults.monthNamesShort; var monthNames = (settings ? settings.monthNames : null) || this._defaults.monthNames; var lookAhead = function(match) { var matches = (iFormat + 1 < format.length && format.charAt(iFormat + 1) == match); if (matches) { iFormat++ } return matches }; var formatNumber = function(match, value, len) { var num = "" + value; if (lookAhead(match)) { while (num.length < len) { num = "0" + num } } return num }; var formatName = function(match, value, shortNames, longNames) { return (lookAhead(match) ? longNames[value] : shortNames[value]) }; var output = ""; var literal = false; if (date) { for (var iFormat = 0; iFormat < format.length; iFormat++) { if (literal) { if (format.charAt(iFormat) == "'" && !lookAhead("'")) { literal = false } else { output += format.charAt(iFormat) } } else { switch (format.charAt(iFormat)) { case "d": output += formatNumber("d", date.getDate(), 2); break; case "D": output += formatName("D", date.getDay(), dayNamesShort, dayNames); break; case "o": var doy = date.getDate(); for (var m = date.getMonth() - 1; m >= 0; m--) { doy += this._getDaysInMonth(date.getFullYear(), m) } output += formatNumber("o", doy, 3); break; case "m": output += formatNumber("m", date.getMonth() + 1, 2); break; case "M": output += formatName("M", date.getMonth(), monthNamesShort, monthNames); break; case "y": output += (lookAhead("y") ? date.getFullYear() : (date.getYear() % 100 < 10 ? "0" : "") + date.getYear() % 100); break; case "@": output += date.getTime(); break; case "'": if (lookAhead("'")) { output += "'" } else { literal = true } break; default: output += format.charAt(iFormat) } } } } return output }, _possibleChars: function(format) { var chars = ""; var literal = false; for (var iFormat = 0; iFormat < format.length; iFormat++) { if (literal) { if (format.charAt(iFormat) == "'" && !lookAhead("'")) { literal = false } else { chars += format.charAt(iFormat) } } else { switch (format.charAt(iFormat)) { case "d": case "m": case "y": case "@": chars += "0123456789"; break; case "D": case "M": return null; case "'": if (lookAhead("'")) { chars += "'" } else { literal = true } break; default: chars += format.charAt(iFormat) } } } return chars }, _get: function(inst, name) { return inst.settings[name] !== undefined ? inst.settings[name] : this._defaults[name] }, _setDateFromField: function(inst) { var dateFormat = this._get(inst, "dateFormat"); var dates = inst.input ? inst.input.val() : null; inst.endDay = inst.endMonth = inst.endYear = null; var date = defaultDate = this._getDefaultDate(inst); var settings = this._getFormatConfig(inst); try { date = this.parseDate(dateFormat, dates, settings) || defaultDate } catch (event) { this.log(event); date = defaultDate } inst.selectedDay = date.getDate(); inst.drawMonth = inst.selectedMonth = date.getMonth(); inst.drawYear = inst.selectedYear = date.getFullYear(); inst.currentDay = (dates ? date.getDate() : 0); inst.currentMonth = (dates ? date.getMonth() : 0); inst.currentYear = (dates ? date.getFullYear() : 0); this._adjustInstDate(inst) }, _getDefaultDate: function(inst) { var date = this._determineDate(this._get(inst, "defaultDate"), new Date()); var minDate = this._getMinMaxDate(inst, "min", true); var maxDate = this._getMinMaxDate(inst, "max"); date = (minDate && date < minDate ? minDate : date); date = (maxDate && date > maxDate ? maxDate : date); return date }, _determineDate: function(date, defaultDate) { var offsetNumeric = function(offset) { var date = new Date(); date.setDate(date.getDate() + offset); return date }; var offsetString = function(offset, getDaysInMonth) { var date = new Date(); var year = date.getFullYear(); var month = date.getMonth(); var day = date.getDate(); var pattern = /([+-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g; var matches = pattern.exec(offset); while (matches) { switch (matches[2] || "d") { case "d": case "D": day += parseInt(matches[1], 10); break; case "w": case "W": day += parseInt(matches[1], 10) * 7; break; case "m": case "M": month += parseInt(matches[1], 10); day = Math.min(day, getDaysInMonth(year, month)); break; case "y": case "Y": year += parseInt(matches[1], 10); day = Math.min(day, getDaysInMonth(year, month)); break } matches = pattern.exec(offset) } return new Date(year, month, day) }; date = (date == null ? defaultDate : (typeof date == "string" ? offsetString(date, this._getDaysInMonth) : (typeof date == "number" ? (isNaN(date) ? defaultDate : offsetNumeric(date)) : date))); date = (date && date.toString() == "Invalid Date" ? defaultDate : date); if (date) { date.setHours(0); date.setMinutes(0); date.setSeconds(0); date.setMilliseconds(0) } return this._daylightSavingAdjust(date) }, _daylightSavingAdjust: function(date) { if (!date) { return null } date.setHours(date.getHours() > 12 ? date.getHours() + 2 : 0); return date }, _setDate: function(inst, date, endDate) { var clear = !(date); var origMonth = inst.selectedMonth; var origYear = inst.selectedYear; date = this._determineDate(date, new Date()); inst.selectedDay = inst.currentDay = date.getDate(); inst.drawMonth = inst.selectedMonth = inst.currentMonth = date.getMonth(); inst.drawYear = inst.selectedYear = inst.currentYear = date.getFullYear(); if (origMonth != inst.selectedMonth || origYear != inst.selectedYear) { this._notifyChange(inst) } this._adjustInstDate(inst); if (inst.input) { inst.input.val(clear ? "" : this._formatDate(inst)) } }, _getDate: function(inst) { var startDate = (!inst.currentYear || (inst.input && inst.input.val() == "") ? null : this._daylightSavingAdjust(new Date(inst.currentYear, inst.currentMonth, inst.currentDay))); return startDate }, _generateHTML: function(inst) { var today = new Date(); today = this._daylightSavingAdjust(new Date(today.getFullYear(), today.getMonth(), today.getDate())); var isRTL = this._get(inst, "isRTL"); var showButtonPanel = this._get(inst, "showButtonPanel"); var hideIfNoPrevNext = this._get(inst, "hideIfNoPrevNext"); var navigationAsDateFormat = this._get(inst, "navigationAsDateFormat"); var numMonths = this._getNumberOfMonths(inst); var showCurrentAtPos = this._get(inst, "showCurrentAtPos"); var stepMonths = this._get(inst, "stepMonths"); var stepBigMonths = this._get(inst, "stepBigMonths"); var isMultiMonth = (numMonths[0] != 1 || numMonths[1] != 1); var currentDate = this._daylightSavingAdjust((!inst.currentDay ? new Date(9999, 9, 9) : new Date(inst.currentYear, inst.currentMonth, inst.currentDay))); var minDate = this._getMinMaxDate(inst, "min", true); var maxDate = this._getMinMaxDate(inst, "max"); var drawMonth = inst.drawMonth - showCurrentAtPos; var drawYear = inst.drawYear; if (drawMonth < 0) { drawMonth += 12; drawYear-- } if (maxDate) { var maxDraw = this._daylightSavingAdjust(new Date(maxDate.getFullYear(), maxDate.getMonth() - numMonths[1] + 1, maxDate.getDate())); maxDraw = (minDate && maxDraw < minDate ? minDate : maxDraw); while (this._daylightSavingAdjust(new Date(drawYear, drawMonth, 1)) > maxDraw) { drawMonth--; if (drawMonth < 0) { drawMonth = 11; drawYear-- } } } inst.drawMonth = drawMonth; inst.drawYear = drawYear; var prevText = this._get(inst, "prevText"); prevText = (!navigationAsDateFormat ? prevText : this.formatDate(prevText, this._daylightSavingAdjust(new Date(drawYear, drawMonth - stepMonths, 1)), this._getFormatConfig(inst))); var prev = (this._canAdjustMonth(inst, -1, drawYear, drawMonth) ? '<a class="ui-datepicker-prev ui-corner-all" onclick="jQuery.datepicker._adjustDate(\'#' + inst.id + "', -" + stepMonths + ", 'M');\" title=\"" + prevText + '"><span class="ui-icon ui-icon-circle-triangle-' + (isRTL ? "e" : "w") + '">' + prevText + "</span></a>" : (hideIfNoPrevNext ? "" : '<a class="ui-datepicker-prev ui-corner-all ui-state-disabled" title="' + prevText + '"><span class="ui-icon ui-icon-circle-triangle-' + (isRTL ? "e" : "w") + '">' + prevText + "</span></a>")); var nextText = this._get(inst, "nextText"); nextText = (!navigationAsDateFormat ? nextText : this.formatDate(nextText, this._daylightSavingAdjust(new Date(drawYear, drawMonth + stepMonths, 1)), this._getFormatConfig(inst))); var next = (this._canAdjustMonth(inst, +1, drawYear, drawMonth) ? '<a class="ui-datepicker-next ui-corner-all" onclick="jQuery.datepicker._adjustDate(\'#' + inst.id + "', +" + stepMonths + ", 'M');\" title=\"" + nextText + '"><span class="ui-icon ui-icon-circle-triangle-' + (isRTL ? "w" : "e") + '">' + nextText + "</span></a>" : (hideIfNoPrevNext ? "" : '<a class="ui-datepicker-next ui-corner-all ui-state-disabled" title="' + nextText + '"><span class="ui-icon ui-icon-circle-triangle-' + (isRTL ? "w" : "e") + '">' + nextText + "</span></a>")); var currentText = this._get(inst, "currentText"); var gotoDate = (this._get(inst, "gotoCurrent") && inst.currentDay ? currentDate : today); currentText = (!navigationAsDateFormat ? currentText : this.formatDate(currentText, gotoDate, this._getFormatConfig(inst))); var controls = '<button type="button" class="ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all" onclick="jQuery.datepicker._hideDatepicker();">' + this._get(inst, "closeText") + "</button>"; var buttonPanel = (showButtonPanel) ? '<div class="ui-datepicker-buttonpane ui-widget-content">' + (isRTL ? controls : "") + (this._isInRange(inst, gotoDate) ? '<button type="button" class="ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all" onclick="jQuery.datepicker._gotoToday(\'#' + inst.id + "');\">" + currentText + "</button>" : "") + (isRTL ? "" : controls) + "</div>" : ""; var firstDay = parseInt(this._get(inst, "firstDay"), 10); firstDay = (isNaN(firstDay) ? 0 : firstDay); var dayNames = this._get(inst, "dayNames"); var dayNamesShort = this._get(inst, "dayNamesShort"); var dayNamesMin = this._get(inst, "dayNamesMin"); var monthNames = this._get(inst, "monthNames"); var monthNamesShort = this._get(inst, "monthNamesShort"); var beforeShowDay = this._get(inst, "beforeShowDay"); var showOtherMonths = this._get(inst, "showOtherMonths"); var calculateWeek = this._get(inst, "calculateWeek") || this.iso8601Week; var endDate = inst.endDay ? this._daylightSavingAdjust(new Date(inst.endYear, inst.endMonth, inst.endDay)) : currentDate; var defaultDate = this._getDefaultDate(inst); var html = ""; for (var row = 0; row < numMonths[0]; row++) { var group = ""; for (var col = 0; col < numMonths[1]; col++) { var selectedDate = this._daylightSavingAdjust(new Date(drawYear, drawMonth, inst.selectedDay)); var cornerClass = " ui-corner-all"; var calender = ""; if (isMultiMonth) { calender += '<div class="ui-datepicker-group ui-datepicker-group-'; switch (col) { case 0: calender += "first"; cornerClass = " ui-corner-" + (isRTL ? "right" : "left"); break; case numMonths[1] - 1: calender += "last"; cornerClass = " ui-corner-" + (isRTL ? "left" : "right"); break; default: calender += "middle"; cornerClass = ""; break } calender += '">' } calender += '<div class="ui-datepicker-header ui-widget-header ui-helper-clearfix' + cornerClass + '">' + (/all|left/.test(cornerClass) && row == 0 ? (isRTL ? next : prev) : "") + (/all|right/.test(cornerClass) && row == 0 ? (isRTL ? prev : next) : "") + this._generateMonthYearHeader(inst, drawMonth, drawYear, minDate, maxDate, selectedDate, row > 0 || col > 0, monthNames, monthNamesShort) + '</div><table class="ui-datepicker-calendar"><thead><tr>'; var thead = ""; for (var dow = 0; dow < 7; dow++) { var day = (dow + firstDay) % 7; thead += "<th" + ((dow + firstDay + 6) % 7 >= 5 ? ' class="ui-datepicker-week-end"' : "") + '><span title="' + dayNames[day] + '">' + dayNamesMin[day] + "</span></th>" } calender += thead + "</tr></thead><tbody>"; var daysInMonth = this._getDaysInMonth(drawYear, drawMonth); if (drawYear == inst.selectedYear && drawMonth == inst.selectedMonth) { inst.selectedDay = Math.min(inst.selectedDay, daysInMonth) } var leadDays = (this._getFirstDayOfMonth(drawYear, drawMonth) - firstDay + 7) % 7; var numRows = (isMultiMonth ? 6 : Math.ceil((leadDays + daysInMonth) / 7)); var printDate = this._daylightSavingAdjust(new Date(drawYear, drawMonth, 1 - leadDays)); for (var dRow = 0; dRow < numRows; dRow++) { calender += "<tr>"; var tbody = ""; for (var dow = 0; dow < 7; dow++) { var daySettings = (beforeShowDay ? beforeShowDay.apply((inst.input ? inst.input[0] : null), [printDate]) : [true, ""]); var otherMonth = (printDate.getMonth() != drawMonth); var unselectable = otherMonth || !daySettings[0] || (minDate && printDate < minDate) || (maxDate && printDate > maxDate); tbody += '<td class="' + ((dow + firstDay + 6) % 7 >= 5 ? " ui-datepicker-week-end" : "") + (otherMonth ? " ui-datepicker-other-month" : "") + ((printDate.getTime() == selectedDate.getTime() && drawMonth == inst.selectedMonth && inst._keyEvent) || (defaultDate.getTime() == printDate.getTime() && defaultDate.getTime() == selectedDate.getTime()) ? " " + this._dayOverClass : "") + (unselectable ? " " + this._unselectableClass + " ui-state-disabled" : "") + (otherMonth && !showOtherMonths ? "" : " " + daySettings[1] + (printDate.getTime() >= currentDate.getTime() && printDate.getTime() <= endDate.getTime() ? " " + this._currentClass : "") + (printDate.getTime() == today.getTime() ? " ui-datepicker-today" : "")) + '"' + ((!otherMonth || showOtherMonths) && daySettings[2] ? ' title="' + daySettings[2] + '"' : "") + (unselectable ? "" : " onclick=\"jQuery.datepicker._selectDay('#" + inst.id + "'," + drawMonth + "," + drawYear + ', this);return false;"') + ">" + (otherMonth ? (showOtherMonths ? printDate.getDate() : "&#xa0;") : (unselectable ? '<span class="ui-state-default">' + printDate.getDate() + "</span>" : '<a class="ui-state-default' + (printDate.getTime() == today.getTime() ? " ui-state-highlight" : "") + (printDate.getTime() >= currentDate.getTime() && printDate.getTime() <= endDate.getTime() ? " ui-state-active" : "") + '" href="#">' + printDate.getDate() + "</a>")) + "</td>"; printDate.setDate(printDate.getDate() + 1); printDate = this._daylightSavingAdjust(printDate) } calender += tbody + "</tr>" } drawMonth++; if (drawMonth > 11) { drawMonth = 0; drawYear++ } calender += "</tbody></table>" + (isMultiMonth ? "</div>" : ""); group += calender } html += group } html += (!inst.inline ? buttonPanel : "") + ($.browser.msie && parseInt($.browser.version, 10) < 7 && !inst.inline ? '<iframe src="javascript:false;" class="ui-datepicker-cover" frameborder="0"></iframe>' : ""); inst._keyEvent = false; return html }, _generateMonthYearHeader: function(inst, drawMonth, drawYear, minDate, maxDate, selectedDate, secondary, monthNames, monthNamesShort) { minDate = (inst.rangeStart && minDate && selectedDate < minDate ? selectedDate : minDate); var changeMonth = this._get(inst, "changeMonth"); var changeYear = this._get(inst, "changeYear"); var showMonthAfterYear = this._get(inst, "showMonthAfterYear"); var html = '<div class="ui-datepicker-title">'; var monthHtml = ""; if (secondary || !changeMonth) { monthHtml += '<span class="ui-datepicker-month">' + monthNames[drawMonth] + "</span> " } else { var inMinYear = (minDate && minDate.getFullYear() == drawYear); var inMaxYear = (maxDate && maxDate.getFullYear() == drawYear); monthHtml += '<select class="ui-datepicker-month" onchange="jQuery.datepicker._selectMonthYear(\'#' + inst.id + "', this, 'M');\" onclick=\"jQuery.datepicker._clickMonthYear('#" + inst.id + "');\">"; for (var month = 0; month < 12; month++) { if ((!inMinYear || month >= minDate.getMonth()) && (!inMaxYear || month <= maxDate.getMonth())) { monthHtml += '<option value="' + month + '"' + (month == drawMonth ? ' selected="selected"' : "") + ">" + monthNamesShort[month] + "</option>" } } monthHtml += "</select>" } if (!showMonthAfterYear) { html += monthHtml + ((secondary || changeMonth || changeYear) && (!(changeMonth && changeYear)) ? "&#xa0;" : "") } if (secondary || !changeYear) { html += '<span class="ui-datepicker-year">' + drawYear + "</span>" } else { var years = this._get(inst, "yearRange").split(":"); var year = 0; var endYear = 0; if (years.length != 2) { year = drawYear - 10; endYear = drawYear + 10 } else { if (years[0].charAt(0) == "+" || years[0].charAt(0) == "-") { year = drawYear + parseInt(years[0], 10); endYear = drawYear + parseInt(years[1], 10) } else { year = parseInt(years[0], 10); endYear = parseInt(years[1], 10) } } year = (minDate ? Math.max(year, minDate.getFullYear()) : year); endYear = (maxDate ? Math.min(endYear, maxDate.getFullYear()) : endYear); html += '<select class="ui-datepicker-year" onchange="jQuery.datepicker._selectMonthYear(\'#' + inst.id + "', this, 'Y');\" onclick=\"jQuery.datepicker._clickMonthYear('#" + inst.id + "');\">"; for (; year <= endYear; year++) { html += '<option value="' + year + '"' + (year == drawYear ? ' selected="selected"' : "") + ">" + year + "</option>" } html += "</select>" } if (showMonthAfterYear) { html += (secondary || changeMonth || changeYear ? "&#xa0;" : "") + monthHtml } html += "</div>"; return html }, _adjustInstDate: function(inst, offset, period) { var year = inst.drawYear + (period == "Y" ? offset : 0); var month = inst.drawMonth + (period == "M" ? offset : 0); var day = Math.min(inst.selectedDay, this._getDaysInMonth(year, month)) + (period == "D" ? offset : 0); var date = this._daylightSavingAdjust(new Date(year, month, day)); var minDate = this._getMinMaxDate(inst, "min", true); var maxDate = this._getMinMaxDate(inst, "max"); date = (minDate && date < minDate ? minDate : date); date = (maxDate && date > maxDate ? maxDate : date); inst.selectedDay = date.getDate(); inst.drawMonth = inst.selectedMonth = date.getMonth(); inst.drawYear = inst.selectedYear = date.getFullYear(); if (period == "M" || period == "Y") { this._notifyChange(inst) } }, _notifyChange: function(inst) { var onChange = this._get(inst, "onChangeMonthYear"); if (onChange) { onChange.apply((inst.input ? inst.input[0] : null), [inst.selectedYear, inst.selectedMonth + 1, inst]) } }, _getNumberOfMonths: function(inst) { var numMonths = this._get(inst, "numberOfMonths"); return (numMonths == null ? [1, 1] : (typeof numMonths == "number" ? [1, numMonths] : numMonths)) }, _getMinMaxDate: function(inst, minMax, checkRange) { var date = this._determineDate(this._get(inst, minMax + "Date"), null); return (!checkRange || !inst.rangeStart ? date : (!date || inst.rangeStart > date ? inst.rangeStart : date)) }, _getDaysInMonth: function(year, month) { return 32 - new Date(year, month, 32).getDate() }, _getFirstDayOfMonth: function(year, month) { return new Date(year, month, 1).getDay() }, _canAdjustMonth: function(inst, offset, curYear, curMonth) { var numMonths = this._getNumberOfMonths(inst); var date = this._daylightSavingAdjust(new Date(curYear, curMonth + (offset < 0 ? offset : numMonths[1]), 1)); if (offset < 0) { date.setDate(this._getDaysInMonth(date.getFullYear(), date.getMonth())) } return this._isInRange(inst, date) }, _isInRange: function(inst, date) { var newMinDate = (!inst.rangeStart ? null : this._daylightSavingAdjust(new Date(inst.selectedYear, inst.selectedMonth, inst.selectedDay))); newMinDate = (newMinDate && inst.rangeStart < newMinDate ? inst.rangeStart : newMinDate); var minDate = newMinDate || this._getMinMaxDate(inst, "min"); var maxDate = this._getMinMaxDate(inst, "max"); return ((!minDate || date >= minDate) && (!maxDate || date <= maxDate)) }, _getFormatConfig: function(inst) { var shortYearCutoff = this._get(inst, "shortYearCutoff"); shortYearCutoff = (typeof shortYearCutoff != "string" ? shortYearCutoff : new Date().getFullYear() % 100 + parseInt(shortYearCutoff, 10)); return { shortYearCutoff: shortYearCutoff, dayNamesShort: this._get(inst, "dayNamesShort"), dayNames: this._get(inst, "dayNames"), monthNamesShort: this._get(inst, "monthNamesShort"), monthNames: this._get(inst, "monthNames")} }, _formatDate: function(inst, day, month, year) { if (!day) { inst.currentDay = inst.selectedDay; inst.currentMonth = inst.selectedMonth; inst.currentYear = inst.selectedYear } var date = (day ? (typeof day == "object" ? day : this._daylightSavingAdjust(new Date(year, month, day))) : this._daylightSavingAdjust(new Date(inst.currentYear, inst.currentMonth, inst.currentDay))); return this.formatDate(this._get(inst, "dateFormat"), date, this._getFormatConfig(inst)) } }); function extendRemove(target, props) { $.extend(target, props); for (var name in props) { if (props[name] == null || props[name] == undefined) { target[name] = props[name] } } return target } function isArray(a) { return (a && (($.browser.safari && typeof a == "object" && a.length) || (a.constructor && a.constructor.toString().match(/\Array\(\)/)))) } $.fn.datepicker = function(options) { if (!$.datepicker.initialized) { $(document).mousedown($.datepicker._checkExternalClick).find("body").append($.datepicker.dpDiv); $.datepicker.initialized = true } var otherArgs = Array.prototype.slice.call(arguments, 1); if (typeof options == "string" && (options == "isDisabled" || options == "getDate")) { return $.datepicker["_" + options + "Datepicker"].apply($.datepicker, [this[0]].concat(otherArgs)) } return this.each(function() { typeof options == "string" ? $.datepicker["_" + options + "Datepicker"].apply($.datepicker, [this].concat(otherArgs)) : $.datepicker._attachDatepicker(this, options) }) }; $.datepicker = new Datepicker(); $.datepicker.initialized = false; $.datepicker.uuid = new Date().getTime(); $.datepicker.version = "1.6rc6" })(jQuery);
(function(a) { a.widget("ui.progressbar", { _init: function() { var b = this, c = this.options; this.element.addClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").attr({ role: "progressbar", "aria-valuemin": this._valueMin(), "aria-valuemax": this._valueMax(), "aria-valuenow": this._value() }); this.valueDiv = a('<div class="ui-progressbar-value ui-widget-header ui-corner-left"></div>').appendTo(this.element); this._refreshValue() }, destroy: function() { this.element.removeClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").removeAttr("role").removeAttr("aria-valuemin").removeAttr("aria-valuemax").removeAttr("aria-valuenow").removeData("progressbar").unbind(".progressbar"); this.valueDiv.remove(); a.widget.prototype.destroy.apply(this, arguments) }, value: function(b) { arguments.length && this._setData("value", b); return this._value() }, _setData: function(b, c) { switch (b) { case "value": this.options.value = c; this._refreshValue(); this._trigger("change", null, {}); break } a.widget.prototype._setData.apply(this, arguments) }, _value: function() { var b = this.options.value; if (b < this._valueMin()) { b = this._valueMin() } if (b > this._valueMax()) { b = this._valueMax() } return b }, _valueMin: function() { var b = 0; return b }, _valueMax: function() { var b = 100; return b }, _refreshValue: function() { var b = this.value(); this.valueDiv[b == this._valueMax() ? "addClass" : "removeClass"]("ui-corner-right"); this.valueDiv.width(b + "%"); this.element.attr("aria-valuenow", b) } }); a.extend(a.ui.progressbar, { version: "1.6rc6", defaults: { value: 0} }) })(jQuery);
(function(A) { A.swfobject = function() { var X = "undefined", Q = "object", D = "Shockwave Flash", e = "ShockwaveFlash.ShockwaveFlash", V = "application/x-shockwave-flash", J = "SWFObjectExprInst", H = window, d = document, M = navigator, I = [], L = [], U = [], K = null, S = null, E = false, Z, T, F, b, a, R, G, Y, C, P, O, B, W, c, N; Z = function() { var k = typeof d.getElementById !== X && typeof d.getElementsByTagName !== X && typeof d.createElement !== X, q = [0, 0, 0], l = null; if (typeof M.plugins !== X && typeof M.plugins[D] === Q) { l = M.plugins[D].description; if (l && !(typeof M.mimeTypes !== X && M.mimeTypes[V] && !M.mimeTypes[V].enabledPlugin)) { l = l.replace(/^[\S|\s]*\s+(\S+\s+\S+$)/, "$1"); q[0] = parseInt(l.replace(/^([\S|\s]*)\.[\S|\s]*$/, "$1"), 10); q[1] = parseInt(l.replace(/^[\S|\s]*\.([\S|\s]*)\s[\S|\s]*$/, "$1"), 10); q[2] = /r/.test(l) ? parseInt(l.replace(/^[\S|\s]*r([\S|\s]*)$/, "$1"), 10) : 0 } } else { if (typeof H.ActiveXObject !== X) { var m = null, n = false; try { m = new ActiveXObject(e + ".7") } catch (j) { try { m = new ActiveXObject(e + ".6"); q = [6, 0, 21]; m.AllowScriptAccess = "always" } catch (i) { if (q[0] === 6) { n = true } } if (!n) { try { m = new ActiveXObject(e) } catch (h) { } } } if (!n && m) { try { l = m.GetVariable("$version"); if (l) { l = l.split(" ")[1].split(","); q = [parseInt(l[0], 10), parseInt(l[1], 10), parseInt(l[2], 10)] } } catch (f) { } } } } var o = M.userAgent.toLowerCase(), g = M.platform.toLowerCase(); return { w3cdom: k, pv: q, webkit: jQuery.browser.safari ? jQuery.browser.version : false, ie: jQuery.browser.msie, win: g ? /win/.test(g) : /win/.test(o), mac: g ? /mac/.test(g) : /mac/.test(o)} } (); A(function() { var h = I.length; for (var f = 0; f < h; f++) { var j = I[f].id; if (Z.pv[0] > 0) { var g = A("#" + j); if (g.length) { I[f].width = g.attr("width") ? g.attr("width") : "0"; I[f].height = g.attr("height") ? g.attr("height") : "0"; if (O(I[f].swfVersion)) { if (Z.webkit && Z.webkit < 312) { T(g[0]) } W(j, true) } else { if (I[f].expressInstall && !E && O("6.0.65") && (Z.win || Z.mac)) { F(I[f]) } else { b(g[0]) } } } } else { W(j, true) } } }); T = function(k) { k = A(k); var g = k.find("object"); if (g.length) { var j = A("<embed />"), f = g[0].attributes; if (f) { for (var h = 0; h < f.length; h++) { j.attr((f[h].nodeName === "DATA") ? "src" : f[h].nodeName, f[h].nodeValue) } } g.children().each(function() { if (this.nodeType === 1 && this.nodeName === "PARAM") { j.attr(A(this).attr("name"), A(this).attr("value")) } }); k.replaceWith(j) } }; F = function(k) { E = true; var i = A("#" + k.id); if (i.length) { if (k.altContentId) { var m = A("#" + k.altContentId)[0]; if (m) { K = m; S = k.altContentId } } else { K = a(i[0]) } if (!/%$/.test(k.width) && parseInt(k.width, 10) < 310) { k.width = "310" } if (!/%$/.test(k.height) && parseInt(k.height, 10) < 137) { k.height = "137" } d.title = d.title.slice(0, 47) + " - Flash Player Installation"; var n = Z.ie && Z.win ? "ActiveX" : "PlugIn", f = d.title, g = "MMredirectURL=" + H.location + "&MMplayerType=" + n + "&MMdoctitle=" + f, l = k.id; if (Z.ie && Z.win && i[0].readyState !== 4) { l += "SWFObjectNew"; var h = A('<div id="' + l + '" />'); i.before(h); i.css("display", "none"); var j = function() { i.remove() }; P(H, "onload", j) } R({ data: k.expressInstall, id: J, width: k.width, height: k.height }, { flashvars: g }, l) } }; b = function(h) { h = A(h); if (Z.ie && Z.win && h[0].readyState !== 4) { var g = A("<div/>"); h.before(g); g.replaceWith(A(a(h[0]))); h.css("display", "none"); var f = function() { h.remove() }; P(H, "onload", f) } else { h.replaceWith(A(a(h[0]))) } }; a = function(g) { g = A(g); var f = A("<div />"); if (Z.win && Z.ie) { f.html(g.html()) } else { g.find("object").children().each(function() { if (!(this.nodeType === 1 && this.nodeName === "PARAM") && !(this.nodeType === 8)) { A(this.cloneNode(true)).appendTo(f) } }) } return f[0] }; R = function(AB, z, g) { var f, p = A("#" + g); if (p.length) { if (typeof AB.id === X) { AB.id = g } if (Z.ie && Z.win) { var AA = ""; for (var w in AB) { if (AB[w] !== Object.prototype[w]) { if (w.toLowerCase() === "data") { z.movie = AB[w] } else { if (w.toLowerCase() === "styleclass") { AA += ' class="' + AB[w] + '"' } else { if (w.toLowerCase() !== "classid") { AA += " " + w + '="' + AB[w] + '"' } } } } } var y = ""; for (var v in z) { if (z[v] !== Object.prototype[v]) { y += '<param name="' + v + '" value="' + z[v] + '" />' } } p[0].outerHTML = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"' + AA + ">" + y + "</object>"; L[L.length] = AB.id; f = A("#" + AB.id)[0] } else { if (Z.webkit && Z.webkit < 312) { var x = A('<embed type="' + V + '" />'); for (var u in AB) { if (AB[u] !== Object.prototype[u]) { if (u.toLowerCase() === "data") { x.attr("src", AB[u]) } else { if (u.toLowerCase() === "styleclass") { x.attr("class", AB[u]) } else { if (u.toLowerCase() !== "classid") { x.attr(u, AB[u]) } } } } } for (var t in z) { if (z[t] !== Object.prototype[t]) { if (t.toLowerCase() !== "movie") { x.attr(t, z[t]) } } } p.replaceWith(x); f = x[0] } else { var h = A('<object type="' + V + '" />'); for (var s in AB) { if (AB[s] !== Object.prototype[s]) { if (s.toLowerCase() === "styleclass") { h.attr("class", AB[s]) } else { if (s.toLowerCase() !== "classid") { h.attr(s, AB[s]) } } } } for (var q in z) { if (z[q] !== Object.prototype[q] && q.toLowerCase() !== "movie") { G(h[0], q, z[q]) } } p.replaceWith(h); f = h[0] } } } return f }; G = function(h, f, g) { A(h).append(A('<param name="' + f + '" value="' + g + '" />')) }; Y = function(g) { var f = A("#" + g); if (f && (f[0].nodeName === "OBJECT" || f[0].nodeName === "EMBED")) { if (Z.ie && Z.win) { if (f[0].readyState === 4) { C(g) } else { H.attachEvent("onload", function() { C(g) }) } } else { f.remove() } } }; C = function(h) { var g = A("#" + h); if (g.length) { for (var f in g[0]) { if (typeof g[0][f] === "function") { g[0][f] = null } } g.remove() } }; P = function(h, f, g) { h.attachEvent(f, g); U[U.length] = [h, f, g] }; O = function(h) { var g = Z.pv, f = h.split("."); f[0] = parseInt(f[0], 10); f[1] = parseInt(f[1], 10) || 0; f[2] = parseInt(f[2], 10) || 0; return (g[0] > f[0] || (g[0] === f[0] && g[1] > f[1]) || (g[0] === f[0] && g[1] === f[1] && g[2] >= f[2])) ? true : false }; B = function(k, g) { if (Z.ie && Z.mac) { return } var j = A("head"), i = A('<style media="screen" type="text/css" />'); if (!(Z.ie && Z.win) && typeof d.createTextNode !== X) { A(d.createTextNode(k + " {" + g + "}")).appendTo(i) } i.appendTo(j); if (Z.ie && Z.win && typeof d.styleSheets !== X && d.styleSheets.length > 0) { var f = d.styleSheets[d.styleSheets.length - 1]; if (typeof f.addRule === Q) { f.addRule(k, g) } } }; W = function(i, f) { var g = f ? "visible" : "hidden", h = A("#" + i); if (h.length) { A(function() { h.css("visibility", g) }) } else { B("#" + i, "visibility: " + g) } }; c = function(g) { var h = /[\\\"<>\.;]/; var f = h.exec(g) !== null; return f ? encodeURIComponent(g) : g }; N = function() { if (Z.ie && Z.win) { window.attachEvent("onunload", function() { var o = U.length; for (var n = 0; n < o; n++) { U[n][0].detachEvent(U[n][1], U[n][2]) } var h = L.length; for (var m = 0; m < h; m++) { Y(L[m]) } for (var g in Z) { Z[g] = null } Z = null; for (var f in jQuery.swfobject) { jQuery.swfobject[f] = null } jQuery.swfobject = null }) } } (); return { registerObject: function(i, f, h) { if (!Z.w3cdom || !i || !f) { return } var g = {}; g.id = i; g.swfVersion = f; g.expressInstall = h ? h : false; I[I.length] = g; W(i, false) }, getObjectById: function(i) { var f = null; if (Z.w3cdom) { var g = A("#" + i); if (g.length) { var h = g.find(Q)[0]; if (!h || (h && typeof g.SetVariable !== X)) { f = g[0] } else { if (typeof h.SetVariable !== X) { f = h } } } } return f }, createCSS: function(g, f) { if (Z.w3cdom) { B(g, f) } }, createSWF: function(h, g, f) { if (Z.w3cdom) { return R(h, g, f) } else { return undefined } }, embedSWF: function(o, v, s, u, f, n, g, q, t) { if (!Z.w3cdom || !o || !v || !s || !u || !f) { return } s += ""; u += ""; if (O(f)) { W(v, false); var r = {}; if (t && typeof t === Q) { for (var m in t) { if (t[m] !== Object.prototype[m]) { r[m] = t[m] } } } r.data = o; r.width = s; r.height = u; var p = {}; if (q && typeof q === Q) { for (var l in q) { if (q[l] !== Object.prototype[l]) { p[l] = q[l] } } } if (g && typeof g === Q) { for (var h in g) { if (g[h] !== Object.prototype[h]) { if (typeof p.flashvars !== X) { p.flashvars += "&" + h + "=" + g[h] } else { p.flashvars = h + "=" + g[h] } } } } A(function() { R(r, p, v); if (r.id === v) { W(v, true) } }) } else { if (n && !E && O("6.0.65") && (Z.win || Z.mac)) { E = true; W(v, false); A(function() { var i = {}; i.id = i.altContentId = v; i.width = s; i.height = u; i.expressInstall = n; F(i) }) } } }, expressInstallCallback: function() { if (E && K) { var f = A("#" + J); if (f.length) { f.replaceWith(A(K)); if (S) { W(S, true); if (Z.ie && Z.win) { A(K).css("display", "block") } } K = null; S = null; E = false } } }, getFlashPlayerVersion: function() { return { major: Z.pv[0], minor: Z.pv[1], release: Z.pv[2]} }, getQueryParamValue: function(j) { var h = d.location.search || d.location.hash; if (j === null) { return c(h) } if (h) { var g = h.substring(1).split("&"); for (var f = 0; f < g.length; f++) { if (g[f].substring(0, g[f].indexOf("=")) === j) { return c(g[f].substring((g[f].indexOf("=") + 1))) } } } return "" }, hasFlashPlayerVersion: O, removeSWF: function(f) { if (Z.w3cdom) { Y(f) } } } } () })(jQuery);


function playMovie2(strFileName)
{
	$.swfobject.embedSWF("/flash/" + strFileName + ".swf", "annons", "325", "80", "8.0.0", "expressInstall.swf");
}
$(document).ready(function() {
    $("#popup").hide();
    $('a[rel*="external"]').click(function() { return !window.open(this.href); });
    $('[rel*="border"]').focus(function() { this.className = "focusClass"; return false; });
    $('[rel*="border"]').blur(function() { this.className = "blurClass"; return false; });
    $('div#divBottom').html("<img rel=\"nofollow\" src=\"http://www.foretaget.com/stats/skrivStats.asp?Id=ecf921c4-275b-40d9-80da-c24bd1458dd8&qBrowser=" + escape(navigator.appName) + "&qSida=" + escape(location.href) + "&qFran=" + escape(top.document.referrer) + "&qUpplosning=" + screen.width + "x" + screen.height + "\" width=\"1\" height=\"1\" border=\"0\" />");
    _uacct = "UA-2592080-1";
    urchinTracker();
    playMovie2('annons');
    document.createElement("img").src = "http://trafikanalys.se/gatherer/collect.aspx?id=100000614&request=" + escape(document.URL) + "&referer=" + escape(document.referrer) + "&res=" + screen.width + "x" + screen.height + "&col=" + screen.colorDepth;
    $(".hover").hover(function(e) {
        $("#popup h1").text($(this).attr("title")).css("text-align", "left");
        $("#popup p").text($(this).attr("alt")).css("text-align", "left");
        $("#popup").hide();
        $("#popup").fadeIn('fast');
    }, function() {
        $("#popup").fadeOut('fast');
    });
    $().mousemove(function(e) {
        $("#popup").css({ "left": e.pageX + 5 + "px", "top": e.pageY + 5 + "px" });
    });
});
function PostBack(a,b) {
    __doPostBack(a.id,b);
    return false;
}
function playMovie(strFileName, strTitle) {
    $.swfobject.embedSWF("/flash/player.swf?myVar=/flash/" + strFileName + ".flv", "film1", "350", "300", "8.0.0", "expressInstall.swf");
    $('#h2Film').text(strTitle);
    $('#divTitle').slideDown();
    $('#filmWrapper').slideDown();
}
