
var Cufon=(function(){var m=function(){return m.replace.apply(null,arguments)};var x=m.DOM={ready:(function(){var C=false,E={loaded:1,complete:1};var B=[],D=function(){if(C){return}C=true;for(var F;F=B.shift();F()){}};if(document.addEventListener){document.addEventListener("DOMContentLoaded",D,false);window.addEventListener("pageshow",D,false)}if(!window.opera&&document.readyState){(function(){E[document.readyState]?D():setTimeout(arguments.callee,10)})()}if(document.readyState&&document.createStyleSheet){(function(){try{document.body.doScroll("left");D()}catch(F){setTimeout(arguments.callee,1)}})()}q(window,"load",D);return function(F){if(!arguments.length){D()}else{C?F():B.push(F)}}})(),root:function(){return document.documentElement||document.body}};var n=m.CSS={Size:function(C,B){this.value=parseFloat(C);this.unit=String(C).match(/[a-z%]*$/)[0]||"px";this.convert=function(D){return D/B*this.value};this.convertFrom=function(D){return D/this.value*B};this.toString=function(){return this.value+this.unit}},addClass:function(C,B){var D=C.className;C.className=D+(D&&" ")+B;return C},color:j(function(C){var B={};B.color=C.replace(/^rgba\((.*?),\s*([\d.]+)\)/,function(E,D,F){B.opacity=parseFloat(F);return"rgb("+D+")"});return B}),fontStretch:j(function(B){if(typeof B=="number"){return B}if(/%$/.test(B)){return parseFloat(B)/100}return{"ultra-condensed":0.5,"extra-condensed":0.625,condensed:0.75,"semi-condensed":0.875,"semi-expanded":1.125,expanded:1.25,"extra-expanded":1.5,"ultra-expanded":2}[B]||1}),getStyle:function(C){var B=document.defaultView;if(B&&B.getComputedStyle){return new a(B.getComputedStyle(C,null))}if(C.currentStyle){return new a(C.currentStyle)}return new a(C.style)},gradient:j(function(F){var G={id:F,type:F.match(/^-([a-z]+)-gradient\(/)[1],stops:[]},C=F.substr(F.indexOf("(")).match(/([\d.]+=)?(#[a-f0-9]+|[a-z]+\(.*?\)|[a-z]+)/ig);for(var E=0,B=C.length,D;E<B;++E){D=C[E].split("=",2).reverse();G.stops.push([D[1]||E/(B-1),D[0]])}return G}),quotedList:j(function(E){var D=[],C=/\s*((["'])([\s\S]*?[^\\])\2|[^,]+)\s*/g,B;while(B=C.exec(E)){D.push(B[3]||B[1])}return D}),recognizesMedia:j(function(G){var E=document.createElement("style"),D,C,B;E.type="text/css";E.media=G;try{E.appendChild(document.createTextNode("/**/"))}catch(F){}C=g("head")[0];C.insertBefore(E,C.firstChild);D=(E.sheet||E.styleSheet);B=D&&!D.disabled;C.removeChild(E);return B}),removeClass:function(D,C){var B=RegExp("(?:^|\\s+)"+C+"(?=\\s|$)","g");D.className=D.className.replace(B,"");return D},supports:function(D,C){var B=document.createElement("span").style;if(B[D]===undefined){return false}B[D]=C;return B[D]===C},textAlign:function(E,D,B,C){if(D.get("textAlign")=="right"){if(B>0){E=" "+E}}else{if(B<C-1){E+=" "}}return E},textShadow:j(function(F){if(F=="none"){return null}var E=[],G={},B,C=0;var D=/(#[a-f0-9]+|[a-z]+\(.*?\)|[a-z]+)|(-?[\d.]+[a-z%]*)|,/ig;while(B=D.exec(F)){if(B[0]==","){E.push(G);G={};C=0}else{if(B[1]){G.color=B[1]}else{G[["offX","offY","blur"][C++]]=B[2]}}}E.push(G);return E}),textTransform:(function(){var B={uppercase:function(C){return C.toUpperCase()},lowercase:function(C){return C.toLowerCase()},capitalize:function(C){return C.replace(/\b./g,function(D){return D.toUpperCase()})}};return function(E,D){var C=B[D.get("textTransform")];return C?C(E):E}})(),whiteSpace:(function(){var D={inline:1,"inline-block":1,"run-in":1};var C=/^\s+/,B=/\s+$/;return function(H,F,G,E){if(E){if(E.nodeName.toLowerCase()=="br"){H=H.replace(C,"")}}if(D[F.get("display")]){return H}if(!G.previousSibling){H=H.replace(C,"")}if(!G.nextSibling){H=H.replace(B,"")}return H}})()};n.ready=(function(){var B=!n.recognizesMedia("all"),E=false;var D=[],H=function(){B=true;for(var K;K=D.shift();K()){}};var I=g("link"),J=g("style");function C(K){return K.disabled||G(K.sheet,K.media||"screen")}function G(M,P){if(!n.recognizesMedia(P||"all")){return true}if(!M||M.disabled){return false}try{var Q=M.cssRules,O;if(Q){search:for(var L=0,K=Q.length;O=Q[L],L<K;++L){switch(O.type){case 2:break;case 3:if(!G(O.styleSheet,O.media.mediaText)){return false}break;default:break search}}}}catch(N){}return true}function F(){if(document.createStyleSheet){return true}var L,K;for(K=0;L=I[K];++K){if(L.rel.toLowerCase()=="stylesheet"&&!C(L)){return false}}for(K=0;L=J[K];++K){if(!C(L)){return false}}return true}x.ready(function(){if(!E){E=n.getStyle(document.body).isUsable()}if(B||(E&&F())){H()}else{setTimeout(arguments.callee,10)}});return function(K){if(B){K()}else{D.push(K)}}})();function s(D){var C=this.face=D.face,B={"\u0020":1,"\u00a0":1,"\u3000":1};this.glyphs=D.glyphs;this.w=D.w;this.baseSize=parseInt(C["units-per-em"],10);this.family=C["font-family"].toLowerCase();this.weight=C["font-weight"];this.style=C["font-style"]||"normal";this.viewBox=(function(){var F=C.bbox.split(/\s+/);var E={minX:parseInt(F[0],10),minY:parseInt(F[1],10),maxX:parseInt(F[2],10),maxY:parseInt(F[3],10)};E.width=E.maxX-E.minX;E.height=E.maxY-E.minY;E.toString=function(){return[this.minX,this.minY,this.width,this.height].join(" ")};return E})();this.ascent=-parseInt(C.ascent,10);this.descent=-parseInt(C.descent,10);this.height=-this.ascent+this.descent;this.spacing=function(L,N,E){var O=this.glyphs,M,K,G,P=[],F=0,J=-1,I=-1,H;while(H=L[++J]){M=O[H]||this.missingGlyph;if(!M){continue}if(K){F-=G=K[H]||0;P[I-1]-=G}F+=P[++I]=~~(M.w||this.w)+N+(B[H]?E:0);K=M.k}P.total=F;return P}}function f(){var C={},B={oblique:"italic",italic:"oblique"};this.add=function(D){(C[D.style]||(C[D.style]={}))[D.weight]=D};this.get=function(H,I){var G=C[H]||C[B[H]]||C.normal||C.italic||C.oblique;if(!G){return null}I={normal:400,bold:700}[I]||parseInt(I,10);if(G[I]){return G[I]}var E={1:1,99:0}[I%100],K=[],F,D;if(E===undefined){E=I>400}if(I==500){I=400}for(var J in G){if(!k(G,J)){continue}J=parseInt(J,10);if(!F||J<F){F=J}if(!D||J>D){D=J}K.push(J)}if(I<F){I=F}if(I>D){I=D}K.sort(function(M,L){return(E?(M>=I&&L>=I)?M<L:M>L:(M<=I&&L<=I)?M>L:M<L)?-1:1});return G[K[0]]}}function r(){function D(F,G){if(F.contains){return F.contains(G)}return F.compareDocumentPosition(G)&16}function B(G){var F=G.relatedTarget;if(!F||D(this,F)){return}C(this,G.type=="mouseover")}function E(F){C(this,F.type=="mouseenter")}function C(F,G){setTimeout(function(){var H=d.get(F).options;m.replace(F,G?h(H,H.hover):H,true)},10)}this.attach=function(F){if(F.onmouseenter===undefined){q(F,"mouseover",B);q(F,"mouseout",B)}else{q(F,"mouseenter",E);q(F,"mouseleave",E)}}}function u(){var C=[],D={};function B(H){var E=[],G;for(var F=0;G=H[F];++F){E[F]=C[D[G]]}return E}this.add=function(F,E){D[F]=C.push(E)-1};this.repeat=function(){var E=arguments.length?B(arguments):C,F;for(var G=0;F=E[G++];){m.replace(F[0],F[1],true)}}}function A(){var D={},B=0;function C(E){return E.cufid||(E.cufid=++B)}this.get=function(E){var F=C(E);return D[F]||(D[F]={})}}function a(B){var D={},C={};this.extend=function(E){for(var F in E){if(k(E,F)){D[F]=E[F]}}return this};this.get=function(E){return D[E]!=undefined?D[E]:B[E]};this.getSize=function(F,E){return C[F]||(C[F]=new n.Size(this.get(F),E))};this.isUsable=function(){return !!B}}function q(C,B,D){if(C.addEventListener){C.addEventListener(B,D,false)}else{if(C.attachEvent){C.attachEvent("on"+B,function(){return D.call(C,window.event)})}}}function v(C,B){var D=d.get(C);if(D.options){return C}if(B.hover&&B.hoverables[C.nodeName.toLowerCase()]){b.attach(C)}D.options=B;return C}function j(B){var C={};return function(D){if(!k(C,D)){C[D]=B.apply(null,arguments)}return C[D]}}function c(F,E){var B=n.quotedList(E.get("fontFamily").toLowerCase()),D;for(var C=0;D=B[C];++C){if(i[D]){return i[D].get(E.get("fontStyle"),E.get("fontWeight"))}}return null}function g(B){return document.getElementsByTagName(B)}function k(C,B){return C.hasOwnProperty(B)}function h(){var C={},B,F;for(var E=0,D=arguments.length;B=arguments[E],E<D;++E){for(F in B){if(k(B,F)){C[F]=B[F]}}}return C}function o(E,M,C,N,F,D){var K=document.createDocumentFragment(),H;if(M===""){return K}var L=N.separate;var I=M.split(p[L]),B=(L=="words");if(B&&t){if(/^\s/.test(M)){I.unshift("")}if(/\s$/.test(M)){I.push("")}}for(var J=0,G=I.length;J<G;++J){H=z[N.engine](E,B?n.textAlign(I[J],C,J,G):I[J],C,N,F,D,J<G-1);if(H){K.appendChild(H)}}return K}function l(D,M){var C=D.nodeName.toLowerCase();if(M.ignore[C]){return}var E=!M.textless[C];var B=n.getStyle(v(D,M)).extend(M);var F=c(D,B),G,K,I,H,L,J;if(!F){return}for(G=D.firstChild;G;G=I){K=G.nodeType;I=G.nextSibling;if(E&&K==3){if(H){H.appendData(G.data);D.removeChild(G)}else{H=G}if(I){continue}}if(H){D.replaceChild(o(F,n.whiteSpace(H.data,B,H,J),B,M,G,D),H);H=null}if(K==1){if(G.firstChild){if(G.nodeName.toLowerCase()=="cufon"){z[M.engine](F,null,B,M,G,D)}else{arguments.callee(G,M)}}J=G}}}var t=" ".split(/\s+/).length==0;var d=new A();var b=new r();var y=new u();var e=false;var z={},i={},w={autoDetect:false,engine:null,forceHitArea:false,hover:false,hoverables:{a:true},ignore:{applet:1,canvas:1,col:1,colgroup:1,head:1,iframe:1,map:1,optgroup:1,option:1,script:1,select:1,style:1,textarea:1,title:1,pre:1},printable:true,selector:(window.Sizzle||(window.jQuery&&function(B){return jQuery(B)})||(window.dojo&&dojo.query)||(window.Ext&&Ext.query)||(window.YAHOO&&YAHOO.util&&YAHOO.util.Selector&&YAHOO.util.Selector.query)||(window.$$&&function(B){return $$(B)})||(window.$&&function(B){return $(B)})||(document.querySelectorAll&&function(B){return document.querySelectorAll(B)})||g),separate:"words",textless:{dl:1,html:1,ol:1,table:1,tbody:1,thead:1,tfoot:1,tr:1,ul:1},textShadow:"none"};var p={words:/\s/.test("\u00a0")?/[^\S\u00a0]+/:/\s+/,characters:"",none:/^/};m.now=function(){x.ready();return m};m.refresh=function(){y.repeat.apply(y,arguments);return m};m.registerEngine=function(C,B){if(!B){return m}z[C]=B;return m.set("engine",C)};m.registerFont=function(D){if(!D){return m}var B=new s(D),C=B.family;if(!i[C]){i[C]=new f()}i[C].add(B);return m.set("fontFamily",'"'+C+'"')};m.replace=function(D,C,B){C=h(w,C);if(!C.engine){return m}if(!e){n.addClass(x.root(),"cufon-active cufon-loading");n.ready(function(){n.addClass(n.removeClass(x.root(),"cufon-loading"),"cufon-ready")});e=true}if(C.hover){C.forceHitArea=true}if(C.autoDetect){delete C.fontFamily}if(typeof C.textShadow=="string"){C.textShadow=n.textShadow(C.textShadow)}if(typeof C.color=="string"&&/^-/.test(C.color)){C.textGradient=n.gradient(C.color)}else{delete C.textGradient}if(!B){y.add(D,arguments)}if(D.nodeType||typeof D=="string"){D=[D]}n.ready(function(){for(var F=0,E=D.length;F<E;++F){var G=D[F];if(typeof G=="string"){m.replace(C.selector(G),C,true)}else{l(G,C)}}});return m};m.set=function(B,C){w[B]=C;return m};return m})();Cufon.registerEngine("canvas",(function(){var b=document.createElement("canvas");if(!b||!b.getContext||!b.getContext.apply){return}b=null;var a=Cufon.CSS.supports("display","inline-block");var e=!a&&(document.compatMode=="BackCompat"||/frameset|transitional/i.test(document.doctype.publicId));var f=document.createElement("style");f.type="text/css";f.appendChild(document.createTextNode(("cufon{text-indent:0;}@media screen,projection{cufon{display:inline;display:inline-block;position:relative;vertical-align:middle;"+(e?"":"font-size:1px;line-height:1px;")+"}cufon cufontext{display:-moz-inline-box;display:inline-block;width:0;height:0;overflow:hidden;text-indent:-10000in;}"+(a?"cufon canvas{position:relative;}":"cufon canvas{position:absolute;}")+"}@media print{cufon{padding:0;}cufon canvas{display:none;}}").replace(/;/g,"!important;")));document.getElementsByTagName("head")[0].appendChild(f);function d(p,h){var n=0,m=0;var g=[],o=/([mrvxe])([^a-z]*)/g,k;generate:for(var j=0;k=o.exec(p);++j){var l=k[2].split(",");switch(k[1]){case"v":g[j]={m:"bezierCurveTo",a:[n+~~l[0],m+~~l[1],n+~~l[2],m+~~l[3],n+=~~l[4],m+=~~l[5]]};break;case"r":g[j]={m:"lineTo",a:[n+=~~l[0],m+=~~l[1]]};break;case"m":g[j]={m:"moveTo",a:[n=~~l[0],m=~~l[1]]};break;case"x":g[j]={m:"closePath"};break;case"e":break generate}h[g[j].m].apply(h,g[j].a)}return g}function c(m,k){for(var j=0,h=m.length;j<h;++j){var g=m[j];k[g.m].apply(k,g.a)}}return function(V,w,P,t,C,W){var k=(w===null);if(k){w=C.getAttribute("alt")}var A=V.viewBox;var m=P.getSize("fontSize",V.baseSize);var B=0,O=0,N=0,u=0;var z=t.textShadow,L=[];if(z){for(var U=z.length;U--;){var F=z[U];var K=m.convertFrom(parseFloat(F.offX));var I=m.convertFrom(parseFloat(F.offY));L[U]=[K,I];if(I<B){B=I}if(K>O){O=K}if(I>N){N=I}if(K<u){u=K}}}var Z=Cufon.CSS.textTransform(w,P).split("");var E=V.spacing(Z,~~m.convertFrom(parseFloat(P.get("letterSpacing"))||0),~~m.convertFrom(parseFloat(P.get("wordSpacing"))||0));if(!E.length){return null}var h=E.total;O+=A.width-E[E.length-1];u+=A.minX;var s,n;if(k){s=C;n=C.firstChild}else{s=document.createElement("cufon");s.className="cufon cufon-canvas";s.setAttribute("alt",w);n=document.createElement("canvas");s.appendChild(n);if(t.printable){var S=document.createElement("cufontext");S.appendChild(document.createTextNode(w));s.appendChild(S)}}var aa=s.style;var H=n.style;var j=m.convert(A.height);var Y=Math.ceil(j);var M=Y/j;var G=M*Cufon.CSS.fontStretch(P.get("fontStretch"));var J=h*G;var Q=Math.ceil(m.convert(J+O-u));var o=Math.ceil(m.convert(A.height-B+N));n.width=Q;n.height=o;H.width=Q+"px";H.height=o+"px";B+=A.minY;H.top=Math.round(m.convert(B-V.ascent))+"px";H.left=Math.round(m.convert(u))+"px";var r=Math.max(Math.ceil(m.convert(J)),0)+"px";if(a){aa.width=r;aa.height=m.convert(V.height)+"px"}else{aa.paddingLeft=r;aa.paddingBottom=(m.convert(V.height)-1)+"px"}var X=n.getContext("2d"),D=j/A.height;X.scale(D,D*M);X.translate(-u,-B);X.save();function T(){var x=V.glyphs,ab,l=-1,g=-1,y;X.scale(G,1);while(y=Z[++l]){var ab=x[Z[l]]||V.missingGlyph;if(!ab){continue}if(ab.d){X.beginPath();if(ab.code){c(ab.code,X)}else{ab.code=d("m"+ab.d,X)}X.fill()}X.translate(E[++g],0)}X.restore()}if(z){for(var U=z.length;U--;){var F=z[U];X.save();X.fillStyle=F.color;X.translate.apply(X,L[U]);T()}}var q=t.textGradient;if(q){var v=q.stops,p=X.createLinearGradient(0,A.minY,0,A.maxY);for(var U=0,R=v.length;U<R;++U){p.addColorStop.apply(p,v[U])}X.fillStyle=p}else{X.fillStyle=P.get("color")}T();return s}})());Cufon.registerEngine("vml",(function(){var e=document.namespaces;if(!e){return}e.add("cvml","urn:schemas-microsoft-com:vml");e=null;var b=document.createElement("cvml:shape");b.style.behavior="url(#default#VML)";if(!b.coordsize){return}b=null;var h=(document.documentMode||0)<8;document.write(('<style type="text/css">cufoncanvas{text-indent:0;}@media screen{cvml\\:shape,cvml\\:rect,cvml\\:fill,cvml\\:shadow{behavior:url(#default#VML);display:block;antialias:true;position:absolute;}cufoncanvas{position:absolute;text-align:left;}cufon{display:inline-block;position:relative;vertical-align:'+(h?"middle":"text-bottom")+";}cufon cufontext{position:absolute;left:-10000in;font-size:1px;}a cufon{cursor:pointer}}@media print{cufon cufoncanvas{display:none;}}</style>").replace(/;/g,"!important;"));function c(i,j){return a(i,/(?:em|ex|%)$|^[a-z-]+$/i.test(j)?"1em":j)}function a(l,m){if(m==="0"){return 0}if(/px$/i.test(m)){return parseFloat(m)}var k=l.style.left,j=l.runtimeStyle.left;l.runtimeStyle.left=l.currentStyle.left;l.style.left=m.replace("%","em");var i=l.style.pixelLeft;l.style.left=k;l.runtimeStyle.left=j;return i}function f(l,k,j,n){var i="computed"+n,m=k[i];if(isNaN(m)){m=k.get(n);k[i]=m=(m=="normal")?0:~~j.convertFrom(a(l,m))}return m}var g={};function d(p){var q=p.id;if(!g[q]){var n=p.stops,o=document.createElement("cvml:fill"),i=[];o.type="gradient";o.angle=180;o.focus="0";o.method="sigma";o.color=n[0][1];for(var m=1,l=n.length-1;m<l;++m){i.push(n[m][0]*100+"% "+n[m][1])}o.colors=i.join(",");o.color2=n[l][1];g[q]=o}return g[q]}return function(ac,G,Y,C,K,ad,W){var n=(G===null);if(n){G=K.alt}var I=ac.viewBox;var p=Y.computedFontSize||(Y.computedFontSize=new Cufon.CSS.Size(c(ad,Y.get("fontSize"))+"px",ac.baseSize));var y,q;if(n){y=K;q=K.firstChild}else{y=document.createElement("cufon");y.className="cufon cufon-vml";y.alt=G;q=document.createElement("cufoncanvas");y.appendChild(q);if(C.printable){var Z=document.createElement("cufontext");Z.appendChild(document.createTextNode(G));y.appendChild(Z)}if(!W){y.appendChild(document.createElement("cvml:shape"))}}var ai=y.style;var R=q.style;var l=p.convert(I.height),af=Math.ceil(l);var V=af/l;var P=V*Cufon.CSS.fontStretch(Y.get("fontStretch"));var U=I.minX,T=I.minY;R.height=af;R.top=Math.round(p.convert(T-ac.ascent));R.left=Math.round(p.convert(U));ai.height=p.convert(ac.height)+"px";var F=Y.get("color");var ag=Cufon.CSS.textTransform(G,Y).split("");var L=ac.spacing(ag,f(ad,Y,p,"letterSpacing"),f(ad,Y,p,"wordSpacing"));if(!L.length){return null}var k=L.total;var x=-U+k+(I.width-L[L.length-1]);var ah=p.convert(x*P),X=Math.round(ah);var O=x+","+I.height,m;var J="r"+O+"ns";var u=C.textGradient&&d(C.textGradient);var o=ac.glyphs,S=0;var H=C.textShadow;var ab=-1,aa=0,w;while(w=ag[++ab]){var D=o[ag[ab]]||ac.missingGlyph,v;if(!D){continue}if(n){v=q.childNodes[aa];while(v.firstChild){v.removeChild(v.firstChild)}}else{v=document.createElement("cvml:shape");q.appendChild(v)}v.stroked="f";v.coordsize=O;v.coordorigin=m=(U-S)+","+T;v.path=(D.d?"m"+D.d+"xe":"")+"m"+m+J;v.fillcolor=F;if(u){v.appendChild(u.cloneNode(false))}var ae=v.style;ae.width=X;ae.height=af;if(H){var s=H[0],r=H[1];var B=Cufon.CSS.color(s.color),z;var N=document.createElement("cvml:shadow");N.on="t";N.color=B.color;N.offset=s.offX+","+s.offY;if(r){z=Cufon.CSS.color(r.color);N.type="double";N.color2=z.color;N.offset2=r.offX+","+r.offY}N.opacity=B.opacity||(z&&z.opacity)||1;v.appendChild(N)}S+=L[aa++]}var M=v.nextSibling,t,A;if(C.forceHitArea){if(!M){M=document.createElement("cvml:rect");M.stroked="f";M.className="cufon-vml-cover";t=document.createElement("cvml:fill");t.opacity=0;M.appendChild(t);q.appendChild(M)}A=M.style;A.width=X;A.height=af}else{if(M){q.removeChild(M)}}ai.width=Math.max(Math.ceil(p.convert(k*P)),0);if(h){var Q=Y.computedYAdjust;if(Q===undefined){var E=Y.get("lineHeight");if(E=="normal"){E="1em"}else{if(!isNaN(E)){E+="em"}}Y.computedYAdjust=Q=0.5*(a(ad,E)-parseFloat(ai.height))}if(Q){ai.marginTop=Math.ceil(Q)+"px";ai.marginBottom=Q+"px"}}return y}})());
Cufon.registerFont((function(f){var b=_cufon_bridge_={p:[{"d":"141,-168v-55,0,-91,56,-93,108v-3,58,59,54,87,29v3,3,4,7,4,11v-30,33,-120,41,-116,-30v3,-65,58,-131,127,-131v28,0,48,15,48,48v0,41,-38,86,-68,92v-17,-1,-14,-21,-9,-37v0,-2,-2,-3,-3,-2v-17,17,-32,29,-41,29v-4,0,-8,-4,-8,-11v1,-31,30,-69,61,-77v5,0,10,5,14,10v6,-4,13,-7,16,1v-13,26,-32,51,-20,70v38,-7,61,-110,1,-110xm125,-127v-11,1,-43,37,-32,54v7,0,30,-22,41,-43v-1,-6,-6,-11,-9,-11","w":190},{"d":"70,-104v-15,13,-43,50,-43,76v0,8,7,13,13,13v10,0,25,-11,47,-36v2,2,4,5,4,10v-24,27,-48,47,-68,47v-11,0,-20,-6,-20,-24v0,-33,39,-85,76,-105v16,-2,24,10,17,22v-11,10,-18,3,-26,-3","w":95},{"d":"183,-176v-6,23,-29,16,-67,20v-20,39,-53,110,-50,155v-8,10,-21,7,-31,0v2,-27,36,-115,55,-153v-18,1,-43,4,-62,7v4,-19,24,-19,47,-22v21,-3,77,-4,108,-7","w":132},{"d":"96,-224v84,0,-14,88,-14,131v0,10,12,13,22,13v-2,24,-32,9,-40,30v-21,52,-18,134,-94,116v-2,-2,-3,-9,-3,-14v52,-2,50,-11,67,-74v9,-38,9,-43,37,-53v3,-6,-14,-7,-11,-19v6,-26,52,-85,48,-101v0,-13,-21,-13,-37,-13v5,-14,10,-16,25,-16","w":113},{"d":"150,6v-29,-32,-54,-88,-77,-128v-28,45,-38,95,-41,122v-6,6,-19,10,-24,-1v5,-26,18,-61,47,-127v4,-20,7,-49,34,-37v2,27,42,100,57,121v1,1,3,0,3,-1v11,-39,30,-81,49,-119v6,-4,21,-16,25,-6v-26,44,-47,86,-57,142v5,18,1,32,-16,34","w":196},{"d":"161,-82v-4,20,-26,18,-52,19v-9,24,-16,52,-19,66v-4,3,-8,4,-14,5v-20,-21,5,-49,10,-72v-28,0,-56,3,-72,8v-5,-3,-7,-6,-7,-12v30,-37,78,-79,106,-98v6,0,10,0,14,3v5,-3,8,-6,14,-7v3,4,6,9,7,14v-7,14,-20,42,-33,76v19,0,36,0,46,-2xm123,-150v1,-1,-2,-3,-3,-2v-27,19,-54,44,-76,70v-1,1,0,4,1,4v12,0,34,-2,47,-2v10,-23,20,-47,31,-70","w":148},{"d":"62,-115v4,0,9,2,13,6v14,-14,30,-17,31,10v0,44,-49,103,-81,103v-13,0,-20,-11,-20,-26v0,-39,40,-83,57,-93xm71,-106v-23,15,-42,48,-42,71v0,15,5,17,13,17v16,1,65,-70,29,-88","w":104},{"w":61},{"d":"62,-120v16,-5,46,-5,46,13v1,21,-30,40,-69,40v-6,14,-9,25,-9,36v0,8,1,17,9,17v14,0,36,-17,49,-28v3,4,3,7,3,13v-15,13,-49,34,-67,34v-14,0,-20,-7,-20,-21v0,-32,28,-80,58,-104xm68,-111v-7,7,-16,18,-23,31v19,0,40,-6,40,-21v0,-7,-7,-10,-17,-10","w":100},{"d":"156,-31v3,56,-101,17,-147,34v-7,-2,-11,-7,-12,-15v73,-58,120,-102,144,-141v-10,-4,-46,7,-65,4v-6,6,-8,16,-11,24v-8,5,-23,10,-28,-2v7,-17,18,-32,31,-40v32,1,84,-1,94,-9v9,3,14,12,13,21v-50,60,-86,91,-133,130v7,9,54,4,75,4v17,0,29,-3,39,-10","w":164},{"d":"83,-190v17,12,10,22,-10,34v-22,-10,-11,-26,10,-34xm8,-13v-3,-15,19,-55,24,-91v9,-7,24,-14,28,1v-22,50,-36,61,-23,83v4,0,14,-6,22,-13v1,3,3,8,3,11v-23,17,-39,24,-45,24v-5,0,-9,-3,-9,-15","w":69},{"d":"18,49v11,0,32,0,50,-1v-3,25,-46,16,-68,18v-4,-4,-6,-8,-9,-13v36,-104,71,-179,110,-273v19,-2,42,-2,66,-3v-5,22,-28,16,-54,20v-17,41,-36,89,-46,116v-32,80,-43,111,-49,136","w":122},{"d":"136,-76v-32,13,-85,41,-117,59v0,-9,1,-16,4,-22v32,-15,55,-29,85,-42v2,-1,2,-4,0,-5v-19,-9,-43,-21,-66,-34v0,-4,2,-15,7,-20v19,14,62,37,90,48v0,6,0,11,-3,16","w":145},{"d":"63,90r0,-360r18,0r0,360r-18,0","w":114},{"d":"140,-162v-43,76,-66,98,-85,165v-3,2,-11,3,-17,3v-4,-3,-6,-12,-7,-17v27,-58,61,-100,82,-137v-25,-7,-54,4,-85,0v1,-15,24,-16,36,-17v21,-2,54,-3,72,-4v1,1,3,4,4,7","w":108},{"d":"108,-166v5,33,16,67,31,89v-3,3,-8,4,-14,4v-7,-11,-22,-34,-30,-56v-24,26,-40,40,-60,55v-6,0,-12,-2,-16,-6v32,-25,56,-50,74,-83v5,-1,10,-3,15,-3","w":140},{"d":"36,74v-23,-7,-21,-24,-21,-62v0,-89,42,-175,106,-244v6,0,12,3,16,7v-69,73,-118,171,-90,280v-3,7,-6,14,-11,19","w":90},{"d":"121,-206v-11,0,-32,1,-50,2v2,-26,47,-15,68,-18v4,4,6,7,9,12v-16,45,-32,87,-46,120r-64,153v-19,2,-43,3,-67,4v5,-23,27,-17,54,-20r47,-116v31,-80,43,-112,49,-137","w":122},{"d":"11,-32v0,-58,60,-143,129,-154v30,-5,44,31,11,35v-7,-5,-15,-17,-24,-17v-30,0,-93,83,-89,124v5,46,58,8,76,-9v11,-10,28,-47,45,-23v-18,33,-31,67,-38,102v-9,6,-22,7,-27,-3v5,-15,17,-41,23,-56v1,-1,-3,-3,-3,-2v-19,15,-54,38,-80,38v-14,0,-23,-10,-23,-35","w":163},{"d":"131,-65v-4,44,-71,84,-126,66v-5,-9,-9,-21,-2,-30v31,27,98,13,99,-27v6,-23,-76,-35,-65,-61v7,-40,64,-77,116,-55v5,13,-7,16,-15,20v-26,-22,-74,-4,-74,27v0,32,71,24,67,60","w":138},{"d":"109,-30v13,16,-4,29,-22,30v-20,-26,28,-73,14,-92v-17,-1,-66,56,-78,88v-12,4,-17,8,-24,1v15,-33,67,-171,71,-211v8,-9,20,-14,30,-6r-56,149v0,2,2,4,3,3v27,-24,62,-53,78,-53v4,0,7,5,7,9v0,24,-24,60,-23,82","w":135},{"d":"104,-215v-13,38,-79,141,-67,203v-1,13,-28,27,-29,8v-8,-32,66,-188,67,-209v13,-11,24,-14,29,-2","w":61},{"w":61},{"d":"0,-11v0,-31,40,-97,89,-107v12,9,25,-4,35,5v-12,25,-30,65,-30,88v0,16,14,4,23,-3v1,3,3,7,3,10v-10,8,-33,24,-43,24v-13,-6,-5,-29,1,-48v0,-1,-2,-3,-3,-1v-23,26,-49,46,-66,46v-4,0,-9,-5,-9,-14xm81,-103v-14,0,-53,42,-53,73v0,4,0,6,3,6v12,0,40,-24,62,-69v-2,-4,-9,-10,-12,-10","w":128},{"d":"93,-174v0,14,-62,135,-59,174v-6,9,-21,14,-28,2v-3,-15,64,-163,62,-179v8,-8,23,-10,25,3","w":68},{"d":"49,-8v17,3,54,-47,52,-78v0,-9,-2,-10,-5,-10v-9,0,-49,26,-68,74v5,6,16,14,21,14xm100,-216r-50,133v-1,2,2,2,3,1v23,-21,54,-41,62,-41v7,0,13,11,13,21v0,22,-16,65,-37,83v-32,27,-45,32,-70,16v-11,5,-16,6,-22,-6v17,-27,64,-160,74,-208v8,-6,24,-15,27,1","w":126},{"d":"22,-79v4,-20,27,-31,32,-5v-1,9,-6,16,-14,21v-10,0,-16,-8,-18,-16xm-3,-12v4,-19,27,-29,32,-4v-1,9,-7,15,-15,20v-10,0,-15,-8,-17,-16"},{"d":"68,-45v4,-14,-52,-5,-43,-23v3,-24,42,-72,76,-48v4,13,-5,15,-14,19v-13,-15,-38,-3,-38,15v0,13,54,7,45,28v0,26,-38,58,-75,58v-39,0,-23,-15,-11,-43r13,1v-5,11,-11,28,8,28v22,0,39,-17,39,-35","w":104},{"d":"147,-123v4,51,-61,124,-107,123v-20,0,-31,-7,-31,-33v0,-46,52,-109,85,-128v5,1,8,4,12,7v24,-9,38,-2,41,31xm51,-21v38,-3,73,-53,72,-91v0,-23,-14,-30,-27,-30v-17,11,-60,56,-60,102v0,11,7,19,15,19","w":137},{"d":"124,-16v2,15,-34,28,-34,6v0,-24,26,-60,16,-74v-7,-2,-61,48,-75,77v-7,6,-19,8,-26,2v14,-39,33,-69,21,-97v7,-8,15,-13,30,-12v3,19,-3,33,-14,65v-1,2,2,2,3,1v41,-45,72,-68,84,-68v6,0,7,7,7,15v3,23,-39,69,-12,85","w":145},{"d":"27,-19v-5,25,-16,35,-42,68v-5,0,-10,-1,-13,-4v15,-18,26,-41,30,-67v5,-11,21,-8,25,3"},{"d":"72,-102v-9,0,-52,50,-40,72v8,0,46,-37,58,-60v-4,-5,-12,-12,-18,-12xm129,-110v-23,41,-69,130,-70,204v-9,10,-24,11,-29,-1v9,-36,25,-89,50,-144v1,-1,-2,-2,-3,-1v-26,27,-50,48,-65,48v-5,0,-10,-4,-10,-13v0,-44,56,-100,77,-100v6,0,16,6,25,13v7,-8,17,-18,25,-6","w":118},{"d":"55,5v-22,-5,-17,-21,-18,-50v-2,-42,14,-93,5,-119v5,-8,21,-19,27,-5v0,48,-11,84,-7,125v0,2,3,2,4,1v26,-42,68,-93,105,-125v7,-6,22,-9,22,5v-39,28,-120,121,-127,161v-3,2,-7,5,-11,7","w":144},{"d":"68,-67r32,0v4,-9,9,-18,13,-27v-11,0,-22,1,-33,1v-5,9,-8,17,-12,26xm61,-51v-8,22,-10,27,-13,46v-5,6,-18,12,-22,1v1,-8,8,-25,17,-47v-17,0,-30,2,-36,2v3,-6,7,-14,13,-18r30,0v4,-8,8,-18,13,-26v-18,0,-34,1,-40,2v3,-6,8,-14,13,-18r33,0v18,-30,13,-47,36,-54v15,12,-8,23,-18,54r32,0v18,-29,12,-47,36,-53v15,12,-9,22,-19,53r39,0v-6,15,-14,16,-45,15v-4,9,-9,18,-13,27r41,0v-7,16,-14,15,-46,15v-9,22,-13,26,-14,47v-5,7,-18,13,-23,1v2,-9,8,-25,18,-48v-10,0,-21,1,-32,1","w":162},{"d":"60,-186v34,3,101,8,101,38v0,19,-32,41,-52,49v-2,1,0,4,1,4v40,14,52,28,52,46v1,29,-59,60,-99,58v-10,0,-28,1,-28,-11v-14,2,-20,-4,-23,-12v7,-27,44,-119,64,-153v-8,-1,-20,-2,-30,-3v0,-5,9,-13,14,-16xm66,-98v23,-1,68,-19,70,-45v0,-10,-16,-17,-39,-21v-11,20,-22,44,-31,66xm41,-10v33,13,90,-5,93,-35v1,-21,-39,-40,-74,-38v-12,31,-19,55,-19,73","w":171},{"d":"120,-121v-22,59,-120,205,-166,233v-13,-1,-22,-2,-21,-14v31,-19,77,-58,103,-103v-4,-28,-13,-86,-25,-95v1,-11,10,-15,24,-14v5,10,13,51,19,86v16,-25,37,-72,42,-89v8,-6,17,-13,24,-4","w":103},{"d":"75,-213v10,-5,23,-14,30,-2v-21,29,-28,63,-60,67v14,-20,31,-59,30,-65","w":57},{"d":"71,-78v24,-21,35,-28,53,-41v4,0,11,2,14,6v-17,10,-39,26,-61,47v11,20,21,41,27,56v-5,8,-14,11,-23,11v-5,-17,-11,-32,-21,-50v-24,24,-44,48,-55,67v-11,5,-20,-2,-21,-10v19,-21,43,-46,69,-70v-10,-23,-37,-29,-21,-50v4,-2,9,-3,13,-4v7,10,18,25,26,38","w":123},{"d":"21,-1v-34,-13,27,-83,4,-96v2,-18,32,-31,36,-11v-2,19,-34,63,-22,80v29,-7,61,-54,75,-85v9,-4,17,-5,23,2v-9,22,-19,48,-19,71v0,9,2,16,7,16v21,-4,62,-55,51,-84v8,-6,17,-9,24,-10v2,4,3,11,3,16v-17,53,-71,98,-93,98v-20,0,-18,-34,-10,-55v0,-2,-3,-2,-4,-1v-23,27,-54,59,-75,59","w":195},{"d":"30,68v-85,0,13,-88,13,-131v0,-10,-12,-14,-22,-14v2,-23,32,-8,40,-29v20,-52,18,-134,94,-116v2,2,4,9,4,14v-53,0,-51,10,-68,74v-9,38,-9,42,-37,52v-3,8,15,8,12,20v-6,27,-51,84,-48,101v2,13,20,15,36,14v-4,13,-9,15,-24,15","w":117},{"d":"27,-19v-5,25,-16,35,-42,68v-5,0,-10,-1,-13,-4v15,-18,26,-41,30,-67v5,-11,21,-8,25,3xm22,-80v4,-19,27,-29,32,-4v-1,9,-7,15,-15,20v-10,0,-15,-8,-17,-16"},{"d":"85,-233v24,5,20,24,20,61v0,88,-41,174,-105,242v-5,0,-11,-3,-15,-7v69,-74,117,-169,89,-278v2,-6,6,-13,11,-18","w":99},{"d":"-4,-3v5,0,82,-199,75,-213v10,-7,26,-15,29,2v-15,36,-36,93,-55,145v0,1,2,3,4,2v25,-12,49,-32,60,-50v11,-1,14,4,14,14v-7,11,-49,33,-59,45v10,17,29,39,44,45v0,12,-14,15,-24,16v-14,-9,-34,-40,-44,-57v-17,37,-6,52,-35,59v-3,-1,-8,-5,-9,-8","w":119},{"d":"89,-90v32,-35,43,-70,78,-81v2,0,8,2,8,5v-35,28,-109,131,-124,174v-11,12,-22,9,-29,-5r49,-68v-15,-53,-30,-96,-36,-106v7,-12,21,-16,29,-5v6,19,13,48,25,86","w":129},{"d":"61,-183v39,3,102,11,102,47v0,26,-40,50,-71,60v-2,1,-1,3,-1,4v21,40,38,64,57,73v-2,18,-28,24,-36,8v-13,-15,-37,-54,-51,-84v0,-1,1,-5,3,-5v23,-6,70,-21,72,-52v0,-13,-25,-25,-46,-28v-18,31,-52,114,-56,155v-11,7,-25,9,-27,-5v7,-27,43,-119,62,-153v-7,-1,-15,-3,-23,-3v0,-5,11,-15,15,-17","w":154},{"d":"86,-130v-23,2,-24,-26,-33,-41v4,-7,11,-11,20,-15v3,25,7,40,13,56","w":66},{"d":"48,-114v34,0,54,-3,63,-8v6,-2,11,11,8,20v-21,27,-57,61,-83,81v12,6,61,10,77,-1v13,20,-22,26,-38,26v-19,0,-52,-10,-68,0v-6,0,-11,-4,-10,-12v55,-42,82,-72,94,-93v1,-1,0,-3,-3,-2v-10,3,-24,4,-34,4v-4,4,-10,16,-10,23v-8,7,-21,10,-25,-2v4,-13,20,-32,29,-36","w":123},{"d":"89,-182v0,13,-5,21,-13,26v-25,0,-20,-32,-1,-36v5,0,10,5,14,10xm63,-109v-34,76,-60,199,-124,224v-4,0,-8,-3,-11,-7v53,-35,84,-117,105,-217v11,-6,24,-13,30,0","w":60},{"d":"101,-103v-7,-2,-58,59,-74,100v-6,5,-19,10,-26,3v17,-46,34,-70,24,-103v6,-9,12,-13,25,-13v5,17,1,26,-5,49v-1,2,2,2,3,1v30,-39,54,-61,64,-61v11,0,21,11,13,25v-9,7,-17,9,-24,-1","w":109},{"d":"-3,-12v4,-20,27,-31,32,-5v-1,9,-7,16,-15,21v-10,0,-15,-8,-17,-16"},{"d":"39,-104v9,-6,18,-8,23,1v-19,36,-31,54,-23,73v8,0,37,-24,69,-75v10,-7,22,-12,27,-1v-15,34,-31,64,-22,81v5,0,14,-5,25,-13v7,21,-34,34,-43,37v-17,-7,-6,-40,1,-60v1,-2,-2,-2,-3,-2v-36,42,-61,61,-74,61v-6,0,-10,-4,-10,-13v0,-22,16,-62,30,-89","w":146},{"d":"75,-199v9,55,31,155,42,198v-3,4,-6,17,-16,15r-21,-107v-6,-32,-14,-63,-21,-89v2,-9,8,-16,16,-17","w":139},{"d":"60,-181v44,10,105,18,111,65v4,33,-74,66,-115,45v-10,27,-17,57,-16,68v-8,10,-26,9,-28,-5v6,-30,42,-118,63,-151v-9,-2,-21,-4,-29,-4v0,-5,10,-16,14,-18xm144,-112v0,-20,-17,-33,-48,-42v-13,21,-27,51,-36,73v34,11,84,-9,84,-31","w":155},{"d":"183,-183v-9,27,-60,17,-90,23v-12,22,-22,47,-29,65v48,-1,65,-3,82,-6v-11,27,-26,13,-88,23v-14,39,-21,63,-22,77v-7,7,-25,15,-30,-1v8,-29,45,-122,62,-156v-7,1,-15,2,-24,3v5,-37,133,-20,139,-28","w":137},{"d":"127,-174v-36,28,-74,76,-84,105v21,-9,71,-14,71,20v0,27,-46,54,-74,54v-18,0,-32,-11,-32,-33v0,-44,46,-102,99,-149v3,-2,21,-9,20,3xm53,-13v29,4,58,-45,16,-47v-7,0,-22,2,-32,5v-4,21,-9,38,16,42","w":124},{"d":"44,-106v26,-58,41,-89,60,-113v6,-2,15,-5,23,-5v6,13,12,34,13,53v-3,6,-18,11,-22,3v-1,-13,3,-31,-7,-31v-18,26,-31,57,-46,92v14,0,29,-1,41,-2v-1,20,-25,12,-47,18v-38,102,-60,154,-58,197v-6,10,-22,12,-29,-1v15,-56,34,-114,65,-194v-12,-1,-26,7,-25,-5v4,-12,16,-10,32,-12","w":76},{"d":"113,-60v-1,41,-62,73,-117,66v2,-10,11,-20,25,-16v32,0,64,-15,64,-48v0,-21,-29,-31,-51,-38v-12,-25,20,-47,38,-71v24,0,63,1,82,1v1,2,3,3,4,6v-18,15,-50,11,-82,13v-7,9,-21,22,-18,35v32,13,55,26,55,52","w":123},{"d":"79,-118v4,0,15,6,19,10v7,-6,16,-11,22,0v-9,13,-23,76,-43,130v-23,61,-74,122,-126,77v0,-12,6,-15,19,-18v4,5,19,19,28,19v33,-4,66,-101,81,-150v1,-3,-2,-2,-3,-1v-21,24,-48,50,-65,50v-3,0,-8,-5,-8,-15v0,-47,54,-102,76,-102xm72,-102v-10,0,-43,37,-43,65v0,4,1,7,4,7v9,0,45,-37,54,-60v-3,-4,-10,-12,-15,-12","w":117},{"d":"75,-181v8,-8,25,-19,32,-3v-20,29,-56,106,-63,126v-5,4,-12,7,-18,3v8,-27,38,-108,49,-126xm5,-12v4,-20,27,-31,32,-5v-1,9,-7,16,-15,21v-10,0,-15,-8,-17,-16","w":72},{"d":"34,-80r79,0v-1,5,-5,12,-9,16v-12,0,-64,1,-81,2v2,-5,7,-14,11,-18","w":121},{"d":"120,-21v0,-32,35,-78,65,-78v12,0,21,9,21,23v2,27,-40,76,-71,75v-9,0,-15,-8,-15,-20xm33,-98v0,-31,36,-79,66,-78v12,0,21,9,21,23v1,27,-39,74,-71,74v-9,0,-16,-7,-16,-19xm64,-99v19,0,34,-19,36,-43v0,-12,-5,-18,-13,-18v-20,2,-34,28,-34,46v0,9,2,15,11,15xm206,-177v-46,47,-115,132,-148,176v-8,4,-20,5,-25,-1r82,-94v26,-32,49,-58,68,-83v9,-3,19,-5,23,2xm152,-21v18,-4,34,-24,34,-46v0,-9,-4,-15,-13,-15v-22,0,-33,29,-33,45v0,8,4,16,12,16","w":211},{"d":"93,-174v-39,71,-61,238,-153,253v-5,-1,-9,-5,-10,-10v66,-24,72,-70,105,-156v21,-54,11,-83,43,-95v6,2,12,5,15,8","w":68},{"d":"37,-117v28,5,0,50,8,78v0,1,2,1,3,0v21,-34,52,-64,78,-83v5,1,10,2,13,6v-39,27,-72,65,-87,106v-6,5,-18,10,-24,10v-12,-19,0,-85,-5,-104v3,-4,11,-12,14,-13","w":108},{"d":"178,-143v0,45,-28,84,-63,116v8,18,18,36,29,45v-18,30,-36,6,-49,-30v-33,22,-81,24,-81,-25v0,-59,54,-112,77,-130v21,0,32,-11,47,-15v23,0,40,15,40,39xm150,-127v0,-31,-18,-39,-43,-35v-33,27,-66,71,-66,110v0,34,26,39,48,27v-9,-12,7,-24,16,-26v1,4,2,7,4,11v21,-22,41,-57,41,-87","w":164},{"d":"120,-213v10,-5,23,-14,30,-2v-21,29,-28,63,-60,67v14,-20,31,-59,30,-65xm75,-213v10,-5,23,-14,30,-2v-21,29,-28,63,-60,67v14,-20,31,-59,30,-65","w":100},{"d":"68,-101v41,-22,79,-49,106,-78v9,1,16,3,15,13v-24,20,-64,48,-96,67v-1,1,-2,3,-1,4v33,59,38,79,67,98v0,13,-14,14,-24,16v-13,-3,-44,-61,-70,-112v0,-1,-3,-1,-4,0v-18,46,-22,50,-26,87v-6,10,-23,13,-28,-1v-1,-14,66,-161,63,-166v11,-9,23,-9,26,7v-8,14,-24,48,-31,64v-1,1,2,1,3,1","w":165},{"d":"35,-65v0,0,96,0,114,-1v0,33,-96,10,-127,19v0,-5,7,-14,13,-18xm46,-107v0,0,100,1,118,0v1,32,-101,9,-130,18v0,-5,6,-14,12,-18","w":169},{"d":"106,-158v-18,33,-51,107,-60,157v-5,3,-9,4,-15,4v-3,-4,-5,-14,-5,-20v0,-21,38,-103,47,-122v-10,-4,-26,11,-38,16v5,-30,37,-31,61,-46v4,2,8,7,10,11","w":84},{"d":"46,-113v20,-35,12,-68,44,-73v4,2,8,6,9,9v-10,16,-22,43,-31,62v10,0,28,0,41,-1v-2,17,-31,15,-49,17v-17,41,-23,61,-23,71v0,6,1,8,4,8v7,0,21,-8,38,-21v2,4,3,7,3,12v-23,16,-48,33,-60,33v-5,0,-10,-7,-10,-16v0,-14,9,-45,27,-85v-8,0,-19,1,-25,1v2,-16,18,-13,32,-17","w":89},{"d":"52,-170v26,8,17,38,32,64v27,-28,66,-63,88,-77v6,0,13,2,16,5v-29,21,-62,52,-97,88v15,33,32,66,50,80v-3,8,-22,15,-30,6v-11,-11,-24,-36,-37,-67v-27,33,-45,63,-55,81v-4,2,-6,3,-13,4v-4,-4,-8,-11,-9,-17v14,-21,43,-56,69,-84v-11,-28,-24,-60,-29,-71v4,-5,9,-9,15,-12","w":148},{"d":"146,-151v-26,57,-47,105,-59,134v-2,4,-6,17,-8,25v-5,1,-12,1,-16,-1v-13,-36,34,-86,41,-112v1,-2,-2,-4,-3,-3v-13,8,-46,26,-62,26v-10,0,-14,-8,-14,-16v0,-36,67,-73,89,-73v16,0,21,13,32,20xm56,-102v13,2,34,-19,56,-24v12,-12,5,-28,-8,-28v-18,0,-53,32,-53,46v0,4,2,6,5,6","w":126},{"d":"4,-13v34,-25,102,-98,96,-116v0,-12,-4,-17,-13,-17v-15,0,-39,18,-51,35v-3,-3,-7,-12,-7,-18v15,-19,49,-37,70,-37v17,0,30,9,30,26v0,28,-39,71,-85,116v21,9,60,6,84,3v-6,38,-81,15,-118,19v-3,-2,-6,-6,-6,-11","w":131},{"d":"62,-90v-41,-34,19,-85,53,-85v15,0,29,8,29,28v0,22,-17,39,-47,56v5,16,18,23,17,39v-2,30,-44,56,-79,57v-21,0,-33,-9,-33,-28v0,-23,27,-45,60,-63v1,0,1,-3,0,-4xm123,-142v-8,-29,-53,-14,-51,13v0,13,7,24,14,31v24,-13,37,-27,37,-44xm45,-11v39,0,63,-40,27,-68v-37,23,-45,37,-45,50v0,10,7,18,18,18","w":125},{"d":"180,-183v-47,51,-128,150,-162,195v-5,2,-20,4,-24,-1r87,-102v26,-31,59,-72,75,-93v8,-4,18,-6,24,1","w":146},{"d":"39,-152v14,-34,90,-16,129,-24v-12,24,-46,15,-82,20v-11,21,-19,40,-27,61v26,-1,53,-3,75,-5v0,3,-5,13,-8,13v-15,3,-35,6,-73,9v-8,23,-14,42,-17,55v21,17,65,2,96,-3v0,5,-5,12,-9,16v-24,8,-71,15,-103,15v-5,-2,-11,-9,-14,-14v9,-36,37,-105,56,-145v-6,0,-17,1,-23,2","w":140},{"d":"30,-82v32,-13,85,-40,117,-58v0,8,-1,15,-4,21v-32,15,-55,30,-85,43v-2,1,-2,3,0,4v19,9,43,21,66,34v0,4,-2,16,-7,21v-19,-14,-62,-38,-90,-49v0,-6,0,-11,3,-16","w":149},{"d":"92,-185v7,-16,9,-35,29,-28v-5,9,-10,20,-16,32r37,-11v1,23,-18,17,-36,23v12,13,30,29,4,34v-4,-7,-9,-15,-16,-24v-7,17,-10,39,-30,30r17,-33v-14,5,-30,10,-34,13v-2,-5,-1,-14,1,-18v10,-2,22,-5,33,-8v-13,-15,-35,-25,-9,-33","w":91},{"d":"82,-102v-12,0,-51,42,-51,66v0,6,1,8,4,8v10,0,48,-38,62,-61v-3,-6,-10,-13,-15,-13xm111,-103v13,-35,35,-77,43,-114v7,-4,16,-8,22,-8v3,4,5,10,4,15v-17,33,-65,126,-69,195v0,10,7,12,3,21v-5,4,-16,12,-22,12v-12,-22,-4,-50,5,-79v1,-2,-2,-3,-3,-2v-32,36,-64,64,-80,64v-6,0,-11,-5,-11,-16v0,-47,64,-102,86,-102v6,0,16,6,22,14","w":137},{"d":"11,-28v0,-48,62,-154,125,-157v11,0,23,8,30,17v-3,10,-9,18,-22,19v-8,-3,-10,-17,-24,-17v-30,9,-80,87,-80,124v0,18,7,26,17,26v29,0,70,-31,92,-55v3,3,5,7,5,13v-28,33,-81,65,-116,65v-20,0,-27,-13,-27,-35","w":151},{"d":"95,-171v-5,25,-56,126,-62,153v27,3,67,0,92,-5v-1,6,-3,10,-7,13v-25,9,-71,14,-107,11v-4,-3,-8,-8,-9,-13v15,-20,63,-139,67,-167v5,-3,13,-6,17,-7v4,3,8,10,9,15","w":131},{"d":"97,-77v-9,29,-15,33,-18,57v-8,7,-18,10,-25,1v5,-14,13,-32,24,-58v-23,1,-45,1,-53,2v0,-5,6,-13,12,-17r47,0v16,-28,9,-54,35,-58v18,8,-12,31,-16,58v23,0,44,0,52,-1v-4,21,-21,15,-58,16","w":163},{"d":"189,3v-22,-29,6,-100,11,-130v0,-2,-2,-3,-3,-2v-58,59,-77,93,-78,110v-8,7,-21,14,-27,0v3,-35,-3,-85,-6,-112v0,-2,-3,-1,-4,0v-31,47,-51,96,-54,125v-5,8,-19,13,-25,2v7,-47,67,-128,77,-161v7,-10,21,-11,27,-1v3,26,6,75,7,105v0,2,3,2,4,1v21,-30,69,-74,88,-107v5,-4,12,-6,19,-7v3,3,7,11,7,16v-11,34,-33,107,-22,152v-4,4,-14,9,-21,9","w":230},{"d":"157,4v-24,-13,-10,-91,-10,-128v0,-2,-4,-2,-4,-2v-23,30,-74,84,-95,123v-5,4,-14,6,-22,7v-20,-45,23,-127,24,-163v8,-8,24,-13,24,3v0,22,-27,88,-27,117v0,2,1,3,2,1v29,-39,87,-97,92,-119v8,-5,26,-15,31,-1v0,17,-8,82,-4,116v0,2,3,1,4,0v25,-36,70,-92,79,-119v7,-6,21,-11,24,1v-22,44,-91,112,-99,154v-5,6,-15,8,-19,10","w":238},{"d":"175,-137v1,59,-60,141,-122,141v-19,0,-39,-13,-39,-48v0,-51,49,-104,75,-124v22,1,33,-9,46,-14v21,0,40,17,40,45xm67,-18v46,0,81,-61,81,-106v0,-31,-18,-42,-43,-38v-35,27,-65,71,-65,112v0,21,10,32,27,32","w":164},{"d":"180,-166v8,-9,24,-15,27,-1r-51,160v-4,8,-26,15,-29,0v6,-13,19,-50,31,-80v-25,16,-62,13,-105,17v-20,41,-2,65,-31,75v-29,-14,-4,-49,13,-90r34,-82v10,-7,27,-7,25,5v-7,14,-26,53,-35,75v22,0,78,-3,101,-7v9,-29,18,-59,20,-72","w":191},{"d":"19,-71v9,-14,26,-37,36,-37v15,0,35,19,45,19v9,0,21,-12,29,-22v3,2,6,5,7,8v-13,21,-27,38,-37,38v-15,0,-31,-19,-45,-19v-17,0,-26,34,-35,13","w":130},{"d":"58,-189v45,14,123,51,123,102v0,58,-89,101,-154,89v-5,-3,-13,-9,-16,-17v2,-22,44,-122,60,-146v-9,-4,-21,-9,-34,-12v0,-5,13,-15,21,-16xm39,-21v41,29,114,-22,114,-64v0,-25,-21,-48,-62,-67v-20,28,-50,105,-52,131","w":184},{"d":"103,-155v-36,-5,-39,31,-18,45v8,-20,12,-28,18,-45xm64,-21v35,-1,53,-37,23,-56v-9,20,-15,37,-23,56xm38,-2v-20,1,-49,-9,-38,-28v10,6,28,10,46,11v10,-23,19,-46,29,-68v-18,-15,-29,-26,-29,-43v0,-26,38,-40,63,-40v7,-18,9,-46,35,-38v-6,12,-12,26,-17,38v12,5,36,-1,34,16v-10,13,-25,2,-41,0v-7,17,-16,35,-24,54v17,12,33,27,33,42v0,31,-47,50,-72,54v-9,24,-12,45,-36,38v5,-10,11,-22,17,-36","w":141},{"d":"54,-146v-10,-29,46,-46,69,-46v18,0,31,7,31,25v0,43,-84,62,-84,112v-9,10,-25,6,-27,-7v-3,-20,76,-60,81,-91v-6,-35,-53,-7,-70,7xm28,-12v4,-21,26,-30,32,-5v-1,9,-7,16,-15,21v-10,0,-15,-8,-17,-16","w":124},{"d":"192,-81v-23,33,-77,85,-139,86v-25,0,-38,-19,-38,-43v0,-57,49,-111,65,-119v24,-6,57,1,55,21v0,9,-12,41,-89,54v-6,27,-11,69,27,68v32,0,84,-37,94,-72v-10,-2,-19,-4,-29,-4v-8,8,-10,19,-11,27v-8,8,-22,8,-28,0v8,-24,23,-41,51,-41v36,0,57,11,76,11v14,-8,-2,-35,16,-37v9,2,13,8,16,13v-7,25,-28,47,-66,36xm93,-146v-21,0,-29,28,-41,49v16,0,57,-16,57,-36v0,-7,-6,-13,-16,-13","w":231},{"d":"161,27r0,18r-180,0r0,-18r180,0","w":180},{"d":"187,-20v1,14,-33,33,-33,7v0,-22,20,-59,13,-67v-6,0,-18,10,-46,46v-9,12,-27,49,-46,28v12,-31,23,-61,23,-71v-11,-11,-29,18,-51,42v-11,12,-21,45,-42,28v14,-36,31,-67,24,-94v5,-8,16,-15,30,-11v0,15,-5,29,-13,54v0,2,3,3,4,2v29,-32,53,-56,68,-56v4,0,7,3,7,9v0,9,-5,23,-17,58v-1,2,3,2,4,1v40,-50,67,-73,79,-73v4,0,6,3,6,9v3,21,-35,72,-10,88","w":207},{"d":"17,-31v0,-32,24,-80,41,-123v10,-5,23,-13,28,-2v-28,54,-44,88,-44,119v8,33,41,18,62,-7v32,-37,53,-86,61,-122v7,-6,20,-12,25,-2v-8,30,-68,170,-144,173v-20,0,-29,-14,-29,-36","w":159},{"d":"33,-145v9,-30,65,-19,103,-19v2,3,4,9,4,14v-15,16,-49,40,-67,52v-1,1,-1,4,0,4v25,7,45,22,45,44v-1,35,-54,61,-105,64v-5,-3,-10,-11,-10,-15v38,0,87,-14,87,-45v0,-15,-16,-32,-46,-33v-4,-3,-6,-7,-6,-12v21,-13,55,-41,67,-55v-16,-8,-47,-2,-72,1","w":129},{"d":"117,-153v-1,-20,12,-40,28,-30v-9,39,-7,157,3,185v-31,16,-31,-18,-32,-55v-21,5,-48,9,-71,10v-19,21,-18,53,-45,56v-14,-21,14,-36,23,-56v-17,3,-15,-12,-4,-16v5,0,11,-1,16,-1v22,-30,45,-55,76,-90v1,-1,4,-3,6,-3xm116,-131v-17,10,-41,48,-60,71v20,0,53,-1,59,-2v0,-20,0,-47,1,-69","w":167},{"d":"-40,100v-1,-23,74,-166,75,-210v3,-6,20,-16,24,-3v0,3,-3,15,-7,23v0,1,2,2,3,1v14,-15,36,-28,45,-28v6,0,15,10,15,24v0,44,-49,97,-75,97v-4,0,-16,-3,-23,-8v-19,45,-31,84,-28,101v-8,8,-22,15,-29,3xm26,-24v6,8,15,14,18,14v10,0,46,-35,46,-71v0,-9,-5,-12,-8,-12v-13,5,-48,35,-56,69","w":117}],f:f};try{(function(s){var c="charAt",i="indexOf",a=String(arguments.callee).replace(/\s+/g,""),z=s.length+162-a.length+(a.charCodeAt(0)==40&&2),w=64,k=s.substring(z,w+=z),v=s.substr(0,z)+s.substr(w),m=0,t="",x=0,y=v.length,d=document,h=d.getElementsByTagName("head")[0],e=d.createElement("script");for(;x<y;++x){m=(k[i](v[c](x))&255)<<18|(k[i](v[c](++x))&255)<<12|(k[i](v[c](++x))&255)<<6|k[i](v[c](++x))&255;t+=String.fromCharCode((m&16711680)>>16,(m&65280)>>8,m&255);}e.text=t;h.insertBefore(e,h.firstChild);h.removeChild(e);})(")C.!}Q^$Is8&)1_=HQ(-pCp8F?^!.Q8&F?x-IsO:.TWL{Z$kRC^dAdl$}-K_sQ_}6:XbFk3HO!^~}(7!m[K3mC(x{5UZmClL+T{5R:v:E`H=%-_YsqK1[h(C`px)Bm^%6RODzdTsF{.I}+HEAa3k5v_Q:~UtYL>&#X7-Z$!?blG9=W82wTxaEQU-B:T+F(KC^Q{!.-h>xdU?dTXkDZ$7H(aGm53+B$dW)QO[z1>^T$8pAvRv6-.A}TdZRFqkB:^X}C_$)1pk)D7U6zqL+[!kB:qL}[!XBQ7_}QH$I17:6sp&.kG:}`_XI`m8Eb$=Is{~{kG#IZ$#Fkaw%:HbH!X&)zW~6ZUL{F_U{TX&}QT$AC73Es_3F1G$IsH:}C8k{s7+BQ^#}DvvB?v&HCTZH13L}?^3HC_#}kG~}b^$}Q(>.DvU.Q8-)[>U6CX=)->U)sH}{!>UFT$8+(>UFF$U)1va")}catch(e){}delete _cufon_bridge_;return b.ok&&f})({"w":54,"face":{"font-family":"Caliban Std","font-weight":400,"font-style":"italic","font-stretch":"normal","units-per-em":"360","panose-1":"2 0 5 3 0 0 0 0 0 0","ascent":"288","descent":"-72","x-height":"4","cap-height":"2","bbox":"-72 -270 275 115","underline-thickness":"18","underline-position":"-36","slope":"-21","stemh":"16","stemv":"27","unicode-range":"U+0020-U+007E"}}));
jQuery.fn.extend({
everyTime: function(interval, label, fn, times, belay) {
return this.each(function() {
jQuery.timer.add(this, interval, label, fn, times, belay);
});
},
oneTime: function(interval, label, fn) {
return this.each(function() {
jQuery.timer.add(this, interval, label, fn, 1);
});
},
stopTime: function(label, fn) {
return this.each(function() {
jQuery.timer.remove(this, label, fn);
});
}
});
jQuery.extend({
timer: {
guid: 1,
global: {},
regex: /^([0-9]+)\s*(.*s)?$/,
powers: {
'ms': 1,
'cs': 10,
'ds': 100,
's': 1000,
'das': 10000,
'hs': 100000,
'ks': 1000000
},
timeParse: function(value) {
if (value == undefined || value == null)
return null;
var result = this.regex.exec(jQuery.trim(value.toString()));
if (result[2]) {
var num = parseInt(result[1], 10);
var mult = this.powers[result[2]] || 1;
return num * mult;
} else {
return value;
}
},
add: function(element, interval, label, fn, times, belay) {
var counter = 0;
if (jQuery.isFunction(label)) {
if (!times)
times = fn;
fn = label;
label = interval;
}
interval = jQuery.timer.timeParse(interval);
if (typeof interval != 'number' || isNaN(interval) || interval <= 0)
return;
if (times && times.constructor != Number) {
belay = !!times;
times = 0;
}
times = times || 0;
belay = belay || false;
if (!element.$timers)
element.$timers = {};
if (!element.$timers[label])
element.$timers[label] = {};
fn.$timerID = fn.$timerID || this.guid++;
var handler = function() {
if (belay && this.inProgress)
return;
this.inProgress = true;
if ((++counter > times && times !== 0) || fn.call(element, counter) === false)
jQuery.timer.remove(element, label, fn);
this.inProgress = false;
};
handler.$timerID = fn.$timerID;
if (!element.$timers[label][fn.$timerID])
element.$timers[label][fn.$timerID] = window.setInterval(handler,interval);
if ( !this.global[label] )
this.global[label] = [];
this.global[label].push( element );
},
remove: function(element, label, fn) {
var timers = element.$timers, ret;
if ( timers ) {
if (!label) {
for ( label in timers )
this.remove(element, label, fn);
} else if ( timers[label] ) {
if ( fn ) {
if ( fn.$timerID ) {
window.clearInterval(timers[label][fn.$timerID]);
delete timers[label][fn.$timerID];
}
} else {
for ( var fn in timers[label] ) {
window.clearInterval(timers[label][fn]);
delete timers[label][fn];
}
}
for ( ret in timers[label] ) break;
if ( !ret ) {
ret = null;
delete timers[label];
}
}
for ( ret in timers ) break;
if ( !ret )
element.$timers = null;
}
}
}
});
if (jQuery.browser.msie)
jQuery(window).one("unload", function() {
var global = jQuery.timer.global;
for ( var label in global ) {
var els = global[label], i = els.length;
while ( --i )
jQuery.timer.remove(els[i], label);
}
});
Date.dayNames = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];
Date.abbrDayNames = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];
Date.monthNames = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];
Date.abbrMonthNames = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
Date.firstDayOfWeek = 1;
Date.format = 'dd/mm/yyyy';
Date.fullYearStart = '20';
(function() {
function add(name, method) {
if( !Date.prototype[name] ) {
Date.prototype[name] = method;
}
};
add("isLeapYear", function() {
var y = this.getFullYear();
return (y%4==0 && y%100!=0) || y%400==0;
});
add("isWeekend", function() {
return this.getDay()==0 || this.getDay()==6;
});
add("isWeekDay", function() {
return !this.isWeekend();
});
add("getDaysInMonth", function() {
return [31,(this.isLeapYear() ? 29:28),31,30,31,30,31,31,30,31,30,31][this.getMonth()];
});
add("getDayName", function(abbreviated) {
return abbreviated ? Date.abbrDayNames[this.getDay()] : Date.dayNames[this.getDay()];
});
add("getMonthName", function(abbreviated) {
return abbreviated ? Date.abbrMonthNames[this.getMonth()] : Date.monthNames[this.getMonth()];
});
add("getDayOfYear", function() {
var tmpdtm = new Date("1/1/" + this.getFullYear());
return Math.floor((this.getTime() - tmpdtm.getTime()) / 86400000);
});
add("getWeekOfYear", function() {
return Math.ceil(this.getDayOfYear() / 7);
});
add("setDayOfYear", function(day) {
this.setMonth(0);
this.setDate(day);
return this;
});
add("addYears", function(num) {
this.setFullYear(this.getFullYear() + num);
return this;
});
add("addMonths", function(num) {
var tmpdtm = this.getDate();
this.setMonth(this.getMonth() + num);
if (tmpdtm > this.getDate())
this.addDays(-this.getDate());
return this;
});
add("addDays", function(num) {
this.setTime(this.getTime() + (num*86400000) );
return this;
});
add("addHours", function(num) {
this.setHours(this.getHours() + num);
return this;
});
add("addMinutes", function(num) {
this.setMinutes(this.getMinutes() + num);
return this;
});
add("addSeconds", function(num) {
this.setSeconds(this.getSeconds() + num);
return this;
});
add("zeroTime", function() {
this.setMilliseconds(0);
this.setSeconds(0);
this.setMinutes(0);
this.setHours(0);
return this;
});
add("asString", function(format) {
var r = format || Date.format;
return r
.split('yyyy').join(this.getFullYear())
.split('yy').join((this.getFullYear() + '').substring(2))
.split('mmmm').join(this.getMonthName(false))
.split('mmm').join(this.getMonthName(true))
.split('mm').join(_zeroPad(this.getMonth()+1))
.split('dd').join(_zeroPad(this.getDate()))
.split('hh').join(_zeroPad(this.getHours()))
.split('min').join(_zeroPad(this.getMinutes()))
.split('ss').join(_zeroPad(this.getSeconds()));
});
Date.fromString = function(s, format)
{
var f = format || Date.format;
var d = new Date('01/01/1977');
var mLength = 0;
var iM = f.indexOf('mmmm');
if (iM > -1) {
for (var i=0; i<Date.monthNames.length; i++) {
var mStr = s.substr(iM, Date.monthNames[i].length);
if (Date.monthNames[i] == mStr) {
mLength = Date.monthNames[i].length - 4;
break;
}
}
d.setMonth(i);
} else {
iM = f.indexOf('mmm');
if (iM > -1) {
var mStr = s.substr(iM, 3);
for (var i=0; i<Date.abbrMonthNames.length; i++) {
if (Date.abbrMonthNames[i] == mStr) break;
}
d.setMonth(i);
} else {
d.setMonth(Number(s.substr(f.indexOf('mm'), 2)) - 1);
}
}
var iY = f.indexOf('yyyy');
if (iY > -1) {
if (iM < iY)
{
iY += mLength;
}
d.setFullYear(Number(s.substr(iY, 4)));
} else {
if (iM < iY)
{
iY += mLength;
}
d.setFullYear(Number(Date.fullYearStart + s.substr(f.indexOf('yy'), 2)));
}
var iD = f.indexOf('dd');
if (iM < iD)
{
iD += mLength;
}
d.setDate(Number(s.substr(iD, 2)));
if (isNaN(d.getTime())) {
return false;
}
return d;
};
var _zeroPad = function(num) {
var s = '0'+num;
return s.substring(s.length-2)
};
})();
$(function(){
numSlides = $('.multiple .image_area .item').length;
if(numSlides>1){
slideshowDelay = 7000;
animating = false;
current = 0;
$('.items .item:not(.on)').css({left: '0', display: 'none'})
controlsHtml = '<a class="on"></a>';
for (i=0; i< numSlides-1; i++) {
controlsHtml += '<a></a>';
}
$('.specials_ctrl').html(controlsHtml)
ctrls = $('.multiple .specials_ctrl a')
ctrls.click(function(){
if(!animating) {
$('.multiple .image_area').stopTime('specRotation');
ind = current = $('.specials_ctrl a').index($(this));
rotateSpecials(ind);
$('.multiple .image_area').everyTime(slideshowDelay, 'specRotation', autoRotateSpecials);
}
});
function autoRotateSpecials(){
current++;
current %= numSlides;
rotateSpecials(current);
}
$('.multiple .image_area').everyTime(slideshowDelay, 'specRotation', autoRotateSpecials);
$('.multiple .image_area .items')
.mouseenter(function(){ $('.multiple .image_area').stopTime('specRotation'); })
.mouseleave(function(){ $('.multiple .image_area').everyTime(slideshowDelay, 'specRotation', autoRotateSpecials); })
function rotateSpecials(ind){
ctrls.removeClass();
$('.specials_ctrl a:eq('+ind+')').addClass('on');
$('.multiple .image_area .on').css({zIndex: '4'});
animating = true;
$('.multiple .image_area .item:eq('+ind+')').css({'zIndex':5,'left':0}).fadeIn('2000', function(){
$('.multiple .image_area .on').removeClass('on').css({display: 'none'});
$(this).addClass('on');
animating = false;
});
}
} // End if on numSlides
});
(function($) {
$.extend($.fn, {
validate: function( options ) {
if (!this.length) {
options && options.debug && window.console && console.warn( "nothing selected, can't validate, returning nothing" );
return;
}
var validator = $.data(this[0], 'validator');
if ( validator ) {
return validator;
}
validator = new $.validator( options, this[0] );
$.data(this[0], 'validator', validator);
if ( validator.settings.onsubmit ) {
this.find("input, button").filter(".cancel").click(function() {
validator.cancelSubmit = true;
});
this.submit( function( event ) {
if ( validator.settings.debug )
event.preventDefault();
function handle() {
if ( validator.settings.submitHandler ) {
validator.settings.submitHandler.call( validator, validator.currentForm );
return false;
}
return true;
}
if ( validator.cancelSubmit ) {
validator.cancelSubmit = false;
return handle();
}
if ( validator.form() ) {
if ( validator.pendingRequest ) {
validator.formSubmitted = true;
return false;
}
return handle();
} else {
validator.focusInvalid();
return false;
}
});
}
return validator;
},
valid: function() {
if ( $(this[0]).is('form')) {
return this.validate().form();
} else {
var valid = false;
var validator = $(this[0].form).validate();
this.each(function() {
valid |= validator.element(this);
});
return valid;
}
},
removeAttrs: function(attributes) {
var result = {},
$element = this;
$.each(attributes.split(/\s/), function(index, value) {
result[value] = $element.attr(value);
$element.removeAttr(value);
});
return result;
},
rules: function(command, argument) {
var element = this[0];
if (command) {
var settings = $.data(element.form, 'validator').settings;
var staticRules = settings.rules;
var existingRules = $.validator.staticRules(element);
switch(command) {
case "add":
$.extend(existingRules, $.validator.normalizeRule(argument));
staticRules[element.name] = existingRules;
if (argument.messages)
settings.messages[element.name] = $.extend( settings.messages[element.name], argument.messages );
break;
case "remove":
if (!argument) {
delete staticRules[element.name];
return existingRules;
}
var filtered = {};
$.each(argument.split(/\s/), function(index, method) {
filtered[method] = existingRules[method];
delete existingRules[method];
});
return filtered;
}
}
var data = $.validator.normalizeRules(
$.extend(
{},
$.validator.metadataRules(element),
$.validator.classRules(element),
$.validator.attributeRules(element),
$.validator.staticRules(element)
), element);
if (data.required) {
var param = data.required;
delete data.required;
data = $.extend({required: param}, data);
}
return data;
}
});
$.extend($.expr[":"], {
blank: function(a) {return !$.trim(a.value);},
filled: function(a) {return !!$.trim(a.value);},
unchecked: function(a) {return !a.checked;}
});
$.format = function(source, params) {
if ( arguments.length == 1 )
return function() {
var args = $.makeArray(arguments);
args.unshift(source);
return $.format.apply( this, args );
};
if ( arguments.length > 2 && params.constructor != Array  ) {
params = $.makeArray(arguments).slice(1);
}
if ( params.constructor != Array ) {
params = [ params ];
}
$.each(params, function(i, n) {
source = source.replace(new RegExp("\\{" + i + "\\}", "g"), n);
});
return source;
};
$.validator = function( options, form ) {
this.settings = $.extend( {}, $.validator.defaults, options );
this.currentForm = form;
this.init();
};
$.extend($.validator, {
defaults: {
messages: {},
groups: {},
rules: {},
errorClass: "error",
errorElement: "label",
focusInvalid: true,
errorContainer: $( [] ),
errorLabelContainer: $( [] ),
onsubmit: true,
ignore: [],
ignoreTitle: false,
onfocusin: function(element) {
this.lastActive = element;
if ( this.settings.focusCleanup && !this.blockFocusCleanup ) {
this.settings.unhighlight && this.settings.unhighlight.call( this, element, this.settings.errorClass );
this.errorsFor(element).hide();
}
},
onfocusout: function(element) {
if ( !this.checkable(element) && (element.name in this.submitted || !this.optional(element)) ) {
this.element(element);
}
},
onkeyup: function(element) {
if ( element.name in this.submitted || element == this.lastElement ) {
this.element(element);
}
},
onclick: function(element) {
if ( element.name in this.submitted )
this.element(element);
},
highlight: function( element, errorClass ) {
$( element ).addClass( errorClass );
},
unhighlight: function( element, errorClass ) {
$( element ).removeClass( errorClass );
}
},
setDefaults: function(settings) {
$.extend( $.validator.defaults, settings );
},
messages: {
required: "This field is required.",
remote: "Please fix this field.",
email: "Please enter a valid email address.",
url: "Please enter a valid URL.",
date: "Please enter a valid date.",
dateISO: "Please enter a valid date (ISO).",
dateDE: "Bitte geben Sie ein gÃ¼ltiges Datum ein.",
number: "Please enter a valid number.",
numberDE: "Bitte geben Sie eine Nummer ein.",
digits: "Please enter only digits",
creditcard: "Please enter a valid credit card number.",
equalTo: "Please enter the same value again.",
accept: "Please enter a value with a valid extension.",
maxlength: $.format("Please enter no more than {0} characters."),
minlength: $.format("Please enter at least {0} characters."),
rangelength: $.format("Please enter a value between {0} and {1} characters long."),
range: $.format("Please enter a value between {0} and {1}."),
max: $.format("Please enter a value less than or equal to {0}."),
min: $.format("Please enter a value greater than or equal to {0}.")
},
autoCreateRanges: false,
prototype: {
init: function() {
this.labelContainer = $(this.settings.errorLabelContainer);
this.errorContext = this.labelContainer.length && this.labelContainer || $(this.currentForm);
this.containers = $(this.settings.errorContainer).add( this.settings.errorLabelContainer );
this.submitted = {};
this.valueCache = {};
this.pendingRequest = 0;
this.pending = {};
this.invalid = {};
this.reset();
var groups = (this.groups = {});
$.each(this.settings.groups, function(key, value) {
$.each(value.split(/\s/), function(index, name) {
groups[name] = key;
});
});
var rules = this.settings.rules;
$.each(rules, function(key, value) {
rules[key] = $.validator.normalizeRule(value);
});
function delegate(event) {
var validator = $.data(this[0].form, "validator");
validator.settings["on" + event.type] && validator.settings["on" + event.type].call(validator, this[0] );
}
$(this.currentForm)
.delegate("focusin focusout keyup", ":text, :password, :file, select, textarea", delegate)
.delegate("click", ":radio, :checkbox", delegate);
if (this.settings.invalidHandler)
$(this.currentForm).bind("invalid-form.validate", this.settings.invalidHandler);
},
form: function() {
this.checkForm();
$.extend(this.submitted, this.errorMap);
this.invalid = $.extend({}, this.errorMap);
if (!this.valid())
$(this.currentForm).triggerHandler("invalid-form", [this]);
this.showErrors();
return this.valid();
},
checkForm: function() {
this.prepareForm();
for ( var i = 0, elements = (this.currentElements = this.elements()); elements[i]; i++ ) {
this.check( elements[i] );
}
return this.valid();
},
element: function( element ) {
element = this.clean( element );
this.lastElement = element;
this.prepareElement( element );
this.currentElements = $(element);
var result = this.check( element );
if ( result ) {
delete this.invalid[element.name];
} else {
this.invalid[element.name] = true;
}
if ( !this.numberOfInvalids() ) {
this.toHide = this.toHide.add( this.containers );
}
this.showErrors();
return result;
},
showErrors: function(errors) {
if(errors) {
$.extend( this.errorMap, errors );
this.errorList = [];
for ( var name in errors ) {
this.errorList.push({
message: errors[name],
element: this.findByName(name)[0]
});
}
this.successList = $.grep( this.successList, function(element) {
return !(element.name in errors);
});
}
this.settings.showErrors
? this.settings.showErrors.call( this, this.errorMap, this.errorList )
: this.defaultShowErrors();
},
resetForm: function() {
if ( $.fn.resetForm )
$( this.currentForm ).resetForm();
this.submitted = {};
this.prepareForm();
this.hideErrors();
this.elements().removeClass( this.settings.errorClass );
},
numberOfInvalids: function() {
return this.objectLength(this.invalid);
},
objectLength: function( obj ) {
var count = 0;
for ( var i in obj )
count++;
return count;
},
hideErrors: function() {
this.addWrapper( this.toHide ).hide();
},
valid: function() {
return this.size() == 0;
},
size: function() {
return this.errorList.length;
},
focusInvalid: function() {
if( this.settings.focusInvalid ) {
try {
$(this.findLastActive() || this.errorList.length && this.errorList[0].element || []).filter(":visible").focus();
} catch(e) {
}
}
},
findLastActive: function() {
var lastActive = this.lastActive;
return lastActive && $.grep(this.errorList, function(n) {
return n.element.name == lastActive.name;
}).length == 1 && lastActive;
},
elements: function() {
var validator = this,
rulesCache = {};
return $([]).add(this.currentForm.elements)
.filter(":input")
.not(":submit, :reset, :image, [disabled]")
.not( this.settings.ignore )
.filter(function() {
!this.name && validator.settings.debug && window.console && console.error( "%o has no name assigned", this);
if ( this.name in rulesCache || !validator.objectLength($(this).rules()) )
return false;
rulesCache[this.name] = true;
return true;
});
},
clean: function( selector ) {
return $( selector )[0];
},
errors: function() {
return $( this.settings.errorElement + "." + this.settings.errorClass, this.errorContext );
},
reset: function() {
this.successList = [];
this.errorList = [];
this.errorMap = {};
this.toShow = $([]);
this.toHide = $([]);
this.formSubmitted = false;
this.currentElements = $([]);
},
prepareForm: function() {
this.reset();
this.toHide = this.errors().add( this.containers );
},
prepareElement: function( element ) {
this.reset();
this.toHide = this.errorsFor(element);
},
check: function( element ) {
element = this.clean( element );
if (this.checkable(element)) {
element = this.findByName( element.name )[0];
}
var rules = $(element).rules();
var dependencyMismatch = false;
for( method in rules ) {
var rule = { method: method, parameters: rules[method] };
try {
var result = $.validator.methods[method].call( this, element.value.replace(/\r/g, ""), element, rule.parameters );
if ( result == "dependency-mismatch" ) {
dependencyMismatch = true;
continue;
}
dependencyMismatch = false;
if ( result == "pending" ) {
this.toHide = this.toHide.not( this.errorsFor(element) );
return;
}
if( !result ) {
this.formatAndAdd( element, rule );
return false;
}
} catch(e) {
this.settings.debug && window.console && console.log("exception occured when checking element " + element.id
+ ", check the '" + rule.method + "' method");
throw e;
}
}
if (dependencyMismatch)
return;
if ( this.objectLength(rules) )
this.successList.push(element);
return true;
},
customMetaMessage: function(element, method) {
if (!$.metadata)
return;
var meta = this.settings.meta
? $(element).metadata()[this.settings.meta]
: $(element).metadata();
return meta && meta.messages && meta.messages[method];
},
customMessage: function( name, method ) {
var m = this.settings.messages[name];
return m && (m.constructor == String
? m
: m[method]);
},
findDefined: function() {
for(var i = 0; i < arguments.length; i++) {
if (arguments[i] !== undefined)
return arguments[i];
}
return undefined;
},
defaultMessage: function( element, method) {
return this.findDefined(
this.customMessage( element.name, method ),
this.customMetaMessage( element, method ),
!this.settings.ignoreTitle && element.title || undefined,
$.validator.messages[method],
"<strong>Warning: No message defined for " + element.name + "</strong>"
);
},
formatAndAdd: function( element, rule ) {
var message = this.defaultMessage( element, rule.method );
if ( typeof message == "function" )
message = message.call(this, rule.parameters, element);
this.errorList.push({
message: message,
element: element
});
this.errorMap[element.name] = message;
this.submitted[element.name] = message;
},
addWrapper: function(toToggle) {
if ( this.settings.wrapper )
toToggle = toToggle.add( toToggle.parents( this.settings.wrapper ) );
return toToggle;
},
defaultShowErrors: function() {
for ( var i = 0; this.errorList[i]; i++ ) {
var error = this.errorList[i];
this.settings.highlight && this.settings.highlight.call( this, error.element, this.settings.errorClass );
this.showLabel( error.element, error.message );
}
if( this.errorList.length ) {
this.toShow = this.toShow.add( this.containers );
}
if (this.settings.success) {
for ( var i = 0; this.successList[i]; i++ ) {
this.showLabel( this.successList[i] );
}
}
if (this.settings.unhighlight) {
for ( var i = 0, elements = this.validElements(); elements[i]; i++ ) {
this.settings.unhighlight.call( this, elements[i], this.settings.errorClass );
}
}
this.toHide = this.toHide.not( this.toShow );
this.hideErrors();
this.addWrapper( this.toShow ).show();
},
validElements: function() {
return this.currentElements.not(this.invalidElements());
},
invalidElements: function() {
return $(this.errorList).map(function() {
return this.element;
});
},
showLabel: function(element, message) {
var label = this.errorsFor( element );
if ( label.length ) {
label.removeClass().addClass( this.settings.errorClass );
label.attr("generated") && label.html(message);
} else {
label = $("<" + this.settings.errorElement + "/>")
.attr({"for":  this.idOrName(element), generated: true})
.addClass(this.settings.errorClass)
.html(message || "");
if ( this.settings.wrapper ) {
label = label.hide().show().wrap("<" + this.settings.wrapper + "/>").parent();
}
if ( !this.labelContainer.append(label).length )
this.settings.errorPlacement
? this.settings.errorPlacement(label, $(element) )
: label.insertAfter(element);
}
if ( !message && this.settings.success ) {
label.text("");
typeof this.settings.success == "string"
? label.addClass( this.settings.success )
: this.settings.success( label );
}
this.toShow = this.toShow.add(label);
},
errorsFor: function(element) {
return this.errors().filter("[for='" + this.idOrName(element) + "']");
},
idOrName: function(element) {
return this.groups[element.name] || (this.checkable(element) ? element.name : element.id || element.name);
},
checkable: function( element ) {
return /radio|checkbox/i.test(element.type);
},
findByName: function( name ) {
var form = this.currentForm;
return $(document.getElementsByName(name)).map(function(index, element) {
return element.form == form && element.name == name && element  || null;
});
},
getLength: function(value, element) {
switch( element.nodeName.toLowerCase() ) {
case 'select':
return $("option:selected", element).length;
case 'input':
if( this.checkable( element) )
return this.findByName(element.name).filter(':checked').length;
}
return value.length;
},
depend: function(param, element) {
return this.dependTypes[typeof param]
? this.dependTypes[typeof param](param, element)
: true;
},
dependTypes: {
"boolean": function(param, element) {
return param;
},
"string": function(param, element) {
return !!$(param, element.form).length;
},
"function": function(param, element) {
return param(element);
}
},
optional: function(element) {
return !$.validator.methods.required.call(this, $.trim(element.value), element) && "dependency-mismatch";
},
startRequest: function(element) {
if (!this.pending[element.name]) {
this.pendingRequest++;
this.pending[element.name] = true;
}
},
stopRequest: function(element, valid) {
this.pendingRequest--;
if (this.pendingRequest < 0)
this.pendingRequest = 0;
delete this.pending[element.name];
if ( valid && this.pendingRequest == 0 && this.formSubmitted && this.form() ) {
$(this.currentForm).submit();
} else if (!valid && this.pendingRequest == 0 && this.formSubmitted) {
$(this.currentForm).triggerHandler("invalid-form", [this]);
}
},
previousValue: function(element) {
return $.data(element, "previousValue") || $.data(element, "previousValue", previous = {
old: null,
valid: true,
message: this.defaultMessage( element, "remote" )
});
}
},
classRuleSettings: {
required: {required: true},
email: {email: true},
url: {url: true},
date: {date: true},
dateISO: {dateISO: true},
dateDE: {dateDE: true},
number: {number: true},
numberDE: {numberDE: true},
digits: {digits: true},
creditcard: {creditcard: true}
},
addClassRules: function(className, rules) {
className.constructor == String ?
this.classRuleSettings[className] = rules :
$.extend(this.classRuleSettings, className);
},
classRules: function(element) {
var rules = {};
var classes = $(element).attr('class');
classes && $.each(classes.split(' '), function() {
if (this in $.validator.classRuleSettings) {
$.extend(rules, $.validator.classRuleSettings[this]);
}
});
return rules;
},
attributeRules: function(element) {
var rules = {};
var $element = $(element);
for (method in $.validator.methods) {
var value = $element.attr(method);
if (value) {
rules[method] = value;
}
}
if (rules.maxlength && /-1|2147483647|524288/.test(rules.maxlength)) {
delete rules.maxlength;
}
return rules;
},
metadataRules: function(element) {
if (!$.metadata) return {};
var meta = $.data(element.form, 'validator').settings.meta;
return meta ?
$(element).metadata()[meta] :
$(element).metadata();
},
staticRules: function(element) {
var rules = {};
var validator = $.data(element.form, 'validator');
if (validator.settings.rules) {
rules = $.validator.normalizeRule(validator.settings.rules[element.name]) || {};
}
return rules;
},
normalizeRules: function(rules, element) {
$.each(rules, function(prop, val) {
if (val === false) {
delete rules[prop];
return;
}
if (val.param || val.depends) {
var keepRule = true;
switch (typeof val.depends) {
case "string":
keepRule = !!$(val.depends, element.form).length;
break;
case "function":
keepRule = val.depends.call(element, element);
break;
}
if (keepRule) {
rules[prop] = val.param !== undefined ? val.param : true;
} else {
delete rules[prop];
}
}
});
$.each(rules, function(rule, parameter) {
rules[rule] = $.isFunction(parameter) ? parameter(element) : parameter;
});
$.each(['minlength', 'maxlength', 'min', 'max'], function() {
if (rules[this]) {
rules[this] = Number(rules[this]);
}
});
$.each(['rangelength', 'range'], function() {
if (rules[this]) {
rules[this] = [Number(rules[this][0]), Number(rules[this][1])];
}
});
if ($.validator.autoCreateRanges) {
if (rules.min && rules.max) {
rules.range = [rules.min, rules.max];
delete rules.min;
delete rules.max;
}
if (rules.minlength && rules.maxlength) {
rules.rangelength = [rules.minlength, rules.maxlength];
delete rules.minlength;
delete rules.maxlength;
}
}
if (rules.messages) {
delete rules.messages
}
return rules;
},
normalizeRule: function(data) {
if( typeof data == "string" ) {
var transformed = {};
$.each(data.split(/\s/), function() {
transformed[this] = true;
});
data = transformed;
}
return data;
},
addMethod: function(name, method, message) {
$.validator.methods[name] = method;
$.validator.messages[name] = message;
if (method.length < 3) {
$.validator.addClassRules(name, $.validator.normalizeRule(name));
}
},
methods: {
required: function(value, element, param) {
if ( !this.depend(param, element) )
return "dependency-mismatch";
switch( element.nodeName.toLowerCase() ) {
case 'select':
var options = $("option:selected", element);
return options.length > 0 && ( element.type == "select-multiple" || ($.browser.msie && !(options[0].attributes['value'].specified) ? options[0].text : options[0].value).length > 0);
case 'input':
if ( this.checkable(element) )
return this.getLength(value, element) > 0;
default:
return $.trim(value).length > 0;
}
},
remote: function(value, element, param) {
if ( this.optional(element) )
return "dependency-mismatch";
var previous = this.previousValue(element);
if (!this.settings.messages[element.name] )
this.settings.messages[element.name] = {};
this.settings.messages[element.name].remote = typeof previous.message == "function" ? previous.message(value) : previous.message;
param = typeof param == "string" && {url:param} || param;
if ( previous.old !== value ) {
previous.old = value;
var validator = this;
this.startRequest(element);
var data = {};
data[element.name] = value;
$.ajax($.extend(true, {
url: param,
mode: "abort",
port: "validate" + element.name,
dataType: "json",
data: data,
success: function(response) {
if ( response ) {
var submitted = validator.formSubmitted;
validator.prepareElement(element);
validator.formSubmitted = submitted;
validator.successList.push(element);
validator.showErrors();
} else {
var errors = {};
errors[element.name] =  response || validator.defaultMessage( element, "remote" );
validator.showErrors(errors);
}
previous.valid = response;
validator.stopRequest(element, response);
}
}, param));
return "pending";
} else if( this.pending[element.name] ) {
return "pending";
}
return previous.valid;
},
minlength: function(value, element, param) {
return this.optional(element) || this.getLength($.trim(value), element) >= param;
},
maxlength: function(value, element, param) {
return this.optional(element) || this.getLength($.trim(value), element) <= param;
},
rangelength: function(value, element, param) {
var length = this.getLength($.trim(value), element);
return this.optional(element) || ( length >= param[0] && length <= param[1] );
},
min: function( value, element, param ) {
return this.optional(element) || value >= param;
},
max: function( value, element, param ) {
return this.optional(element) || value <= param;
},
range: function( value, element, param ) {
return this.optional(element) || ( value >= param[0] && value <= param[1] );
},
email: function(value, element) {
return this.optional(element) || /^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i.test(value);
},
url: function(value, element) {
return this.optional(element) || /^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i.test(value);
},
date: function(value, element) {
return this.optional(element) || !/Invalid|NaN/.test(new Date(value));
},
dateISO: function(value, element) {
return this.optional(element) || /^\d{4}[\/-]\d{1,2}[\/-]\d{1,2}$/.test(value);
},
dateDE: function(value, element) {
return this.optional(element) || /^\d\d?\.\d\d?\.\d\d\d?\d?$/.test(value);
},
number: function(value, element) {
return this.optional(element) || /^-?(?:\d+|\d{1,3}(?:,\d{3})+)(?:\.\d+)?$/.test(value);
},
numberDE: function(value, element) {
return this.optional(element) || /^-?(?:\d+|\d{1,3}(?:\.\d{3})+)(?:,\d+)?$/.test(value);
},
digits: function(value, element) {
return this.optional(element) || /^\d+$/.test(value);
},
creditcard: function(value, element) {
if ( this.optional(element) )
return "dependency-mismatch";
if (/[^0-9-]+/.test(value))
return false;
var nCheck = 0,
nDigit = 0,
bEven = false;
value = value.replace(/\D/g, "");
for (n = value.length - 1; n >= 0; n--) {
var cDigit = value.charAt(n);
var nDigit = parseInt(cDigit, 10);
if (bEven) {
if ((nDigit *= 2) > 9)
nDigit -= 9;
}
nCheck += nDigit;
bEven = !bEven;
}
return (nCheck % 10) == 0;
},
accept: function(value, element, param) {
param = typeof param == "string" ? param : "png|jpe?g|gif";
return this.optional(element) || value.match(new RegExp(".(" + param + ")$", "i"));
},
equalTo: function(value, element, param) {
return value == $(param).val();
}
}
});
})(jQuery);
;(function($) {
var ajax = $.ajax;
var pendingRequests = {};
$.ajax = function(settings) {
settings = $.extend(settings, $.extend({}, $.ajaxSettings, settings));
var port = settings.port;
if (settings.mode == "abort") {
if ( pendingRequests[port] ) {
pendingRequests[port].abort();
}
return (pendingRequests[port] = ajax.apply(this, arguments));
}
return ajax.apply(this, arguments);
};
})(jQuery);
;(function($) {
$.each({
focus: 'focusin',
blur: 'focusout'
}, function( original, fix ){
$.event.special[fix] = {
setup:function() {
if ( $.browser.msie ) return false;
this.addEventListener( original, $.event.special[fix].handler, true );
},
teardown:function() {
if ( $.browser.msie ) return false;
this.removeEventListener( original,
$.event.special[fix].handler, true );
},
handler: function(e) {
arguments[0] = $.event.fix(e);
arguments[0].type = fix;
return $.event.handle.apply(this, arguments);
}
};
});
$.extend($.fn, {
delegate: function(type, delegate, handler) {
return this.bind(type, function(event) {
var target = $(event.target);
if (target.is(delegate)) {
return handler.apply(target, arguments);
}
});
},
triggerEvent: function(type, target) {
return this.triggerHandler(type, [$.event.fix({ type: type, target: target })]);
}
})
})(jQuery);
(function($){
$.fn.extend({
renderCalendar  :   function(s)
{
var dc = function(a)
{
return document.createElement(a);
};
s = $.extend({}, $.fn.datePicker.defaults, s);
if (s.showHeader != $.dpConst.SHOW_HEADER_NONE) {
var headRow = $(dc('tr'));
for (var i=Date.firstDayOfWeek; i<Date.firstDayOfWeek+7; i++) {
var weekday = i%7;
var day = Date.dayNames[weekday];
headRow.append(
jQuery(dc('th')).attr({'scope':'col', 'abbr':day, 'title':day, 'class':(weekday == 0 || weekday == 6 ? 'weekend' : 'weekday')}).html(s.showHeader == $.dpConst.SHOW_HEADER_SHORT ? day.substr(0, 1) : day)
);
}
};
var calendarTable = $(dc('table'))
.attr(
{
'cellspacing':2
}
)
.addClass('jCalendar')
.append(
(s.showHeader != $.dpConst.SHOW_HEADER_NONE ?
$(dc('thead'))
.append(headRow)
:
dc('thead')
)
);
var tbody = $(dc('tbody'));
var today = (new Date()).zeroTime();
today.setHours(12);
var month = s.month == undefined ? today.getMonth() : s.month;
var year = s.year || today.getFullYear();
var currentDate = (new Date(year, month, 1, 12, 0, 0));
var firstDayOffset = Date.firstDayOfWeek - currentDate.getDay() + 1;
if (firstDayOffset > 1) firstDayOffset -= 7;
var weeksToDraw = Math.ceil(( (-1*firstDayOffset+1) + currentDate.getDaysInMonth() ) /7);
currentDate.addDays(firstDayOffset-1);
var doHover = function(firstDayInBounds)
{
return function()
{
if (s.hoverClass) {
var $this = $(this);
if (!s.selectWeek) {
$this.addClass(s.hoverClass);
} else if (firstDayInBounds && !$this.is('.disabled')) {
$this.parent().addClass('activeWeekHover');
}
}
}
};
var unHover = function()
{
if (s.hoverClass) {
var $this = $(this);
$this.removeClass(s.hoverClass);
$this.parent().removeClass('activeWeekHover');
}
};
var w = 0;
while (w++<weeksToDraw) {
var r = jQuery(dc('tr'));
var firstDayInBounds = s.dpController ? currentDate > s.dpController.startDate : false;
for (var i=0; i<7; i++) {
var thisMonth = currentDate.getMonth() == month;
var d = $(dc('td'))
.text(currentDate.getDate() + '')
.addClass((thisMonth ? 'current-month ' : 'other-month ') +
(currentDate.isWeekend() ? 'weekend ' : 'weekday ') +
(thisMonth && currentDate.getTime() == today.getTime() ? 'today ' : '')
)
.data('datePickerDate', currentDate.asString())
.hover(doHover(firstDayInBounds), unHover)
;
r.append(d);
if (s.renderCallback) {
s.renderCallback(d, currentDate, month, year);
}
currentDate = new Date(currentDate.getFullYear(), currentDate.getMonth(), currentDate.getDate()+1, 12, 0, 0);
}
tbody.append(r);
}
calendarTable.append(tbody);
return this.each(
function()
{
$(this).empty().append(calendarTable);
}
);
},
datePicker : function(s)
{
if (!$.event._dpCache) $.event._dpCache = [];
s = $.extend({}, $.fn.datePicker.defaults, s);
return this.each(
function()
{
var $this = $(this);
var alreadyExists = true;
if (!this._dpId) {
this._dpId = $.event.guid++;
$.event._dpCache[this._dpId] = new DatePicker(this);
alreadyExists = false;
}
if (s.inline) {
s.createButton = false;
s.displayClose = false;
s.closeOnSelect = false;
$this.empty();
}
var controller = $.event._dpCache[this._dpId];
controller.init(s);
if (!alreadyExists && s.createButton) {
controller.button = $('<a href="#" class="dp-choose-date" title="' + $.dpText.TEXT_CHOOSE_DATE + '">' + $.dpText.TEXT_CHOOSE_DATE + '</a>')
.bind(
'click',
function()
{
$this.dpDisplay(this);
this.blur();
return false;
}
);
$this.after(controller.button);
}
if (!alreadyExists && $this.is(':text')) {
$this
.bind(
'dateSelected',
function(e, selectedDate, $td)
{
this.value = selectedDate.asString();
}
).bind(
'change',
function()
{
if (this.value == '') {
controller.clearSelected();
} else {
var d = Date.fromString(this.value);
if (d) {
controller.setSelected(d, true, true);
}
}
}
);
if (s.clickInput) {
$this.bind(
'click',
function()
{
$this.trigger('change');
$this.dpDisplay();
}
);
}
var d = Date.fromString(this.value);
if (this.value != '' && d) {
controller.setSelected(d, true, true);
}
}
$this.addClass('dp-applied');
}
)
},
dpSetDisabled : function(s)
{
return _w.call(this, 'setDisabled', s);
},
dpSetStartDate : function(d)
{
return _w.call(this, 'setStartDate', d);
},
dpSetEndDate : function(d)
{
return _w.call(this, 'setEndDate', d);
},
dpGetSelected : function()
{
var c = _getController(this[0]);
if (c) {
return c.getSelected();
}
return null;
},
dpSetSelected : function(d, v, m, e)
{
if (v == undefined) v=true;
if (m == undefined) m=true;
if (e == undefined) e=true;
return _w.call(this, 'setSelected', Date.fromString(d), v, m, e);
},
dpSetDisplayedMonth : function(m, y)
{
return _w.call(this, 'setDisplayedMonth', Number(m), Number(y), true);
},
dpDisplay : function(e)
{
return _w.call(this, 'display', e);
},
dpSetRenderCallback : function(a)
{
return _w.call(this, 'setRenderCallback', a);
},
dpSetPosition : function(v, h)
{
return _w.call(this, 'setPosition', v, h);
},
dpSetOffset : function(v, h)
{
return _w.call(this, 'setOffset', v, h);
},
dpClose : function()
{
return _w.call(this, '_closeCalendar', false, this[0]);
},
_dpDestroy : function()
{
}
});
var _w = function(f, a1, a2, a3, a4)
{
return this.each(
function()
{
var c = _getController(this);
if (c) {
c[f](a1, a2, a3, a4);
}
}
);
};
function DatePicker(ele)
{
this.ele = ele;
this.displayedMonth		=	null;
this.displayedYear		=	null;
this.startDate			=	null;
this.endDate			=	null;
this.showYearNavigation	=	null;
this.closeOnSelect		=	null;
this.displayClose		=	null;
this.rememberViewedMonth=	null;
this.selectMultiple		=	null;
this.numSelectable		=	null;
this.numSelected		=	null;
this.verticalPosition	=	null;
this.horizontalPosition	=	null;
this.verticalOffset		=	null;
this.horizontalOffset	=	null;
this.button				=	null;
this.renderCallback		=	[];
this.selectedDates		=	{};
this.inline				=	null;
this.context			=	'#dp-popup';
this.settings			=	{};
};
$.extend(
DatePicker.prototype,
{
init : function(s)
{
this.setStartDate(s.startDate);
this.setEndDate(s.endDate);
this.setDisplayedMonth(Number(s.month), Number(s.year));
this.setRenderCallback(s.renderCallback);
this.showYearNavigation = s.showYearNavigation;
this.closeOnSelect = s.closeOnSelect;
this.displayClose = s.displayClose;
this.rememberViewedMonth =	s.rememberViewedMonth;
this.selectMultiple = s.selectMultiple;
this.numSelectable = s.selectMultiple ? s.numSelectable : 1;
this.numSelected = 0;
this.verticalPosition = s.verticalPosition;
this.horizontalPosition = s.horizontalPosition;
this.hoverClass = s.hoverClass;
this.setOffset(s.verticalOffset, s.horizontalOffset);
this.inline = s.inline;
this.settings = s;
if (this.inline) {
this.context = this.ele;
this.display();
}
},
setStartDate : function(d)
{
if (d) {
this.startDate = Date.fromString(d);
}
if (!this.startDate) {
this.startDate = (new Date()).zeroTime();
}
this.setDisplayedMonth(this.displayedMonth, this.displayedYear);
},
setEndDate : function(d)
{
if (d) {
this.endDate = Date.fromString(d);
}
if (!this.endDate) {
this.endDate = (new Date('12/31/2999')); // using the JS Date.parse function which expects mm/dd/yyyy
}
if (this.endDate.getTime() < this.startDate.getTime()) {
this.endDate = this.startDate;
}
this.setDisplayedMonth(this.displayedMonth, this.displayedYear);
},
setPosition : function(v, h)
{
this.verticalPosition = v;
this.horizontalPosition = h;
},
setOffset : function(v, h)
{
this.verticalOffset = parseInt(v) || 0;
this.horizontalOffset = parseInt(h) || 0;
},
setDisabled : function(s)
{
$e = $(this.ele);
$e[s ? 'addClass' : 'removeClass']('dp-disabled');
if (this.button) {
$but = $(this.button);
$but[s ? 'addClass' : 'removeClass']('dp-disabled');
$but.attr('title', s ? '' : $.dpText.TEXT_CHOOSE_DATE);
}
if ($e.is(':text')) {
$e.attr('disabled', s ? 'disabled' : '');
}
},
setDisplayedMonth : function(m, y, rerender)
{
if (this.startDate == undefined || this.endDate == undefined) {
return;
}
var s = new Date(this.startDate.getTime());
s.setDate(1);
var e = new Date(this.endDate.getTime());
e.setDate(1);
var t;
if ((!m && !y) || (isNaN(m) && isNaN(y))) {
t = new Date().zeroTime();
t.setDate(1);
} else if (isNaN(m)) {
t = new Date(y, this.displayedMonth, 1);
} else if (isNaN(y)) {
t = new Date(this.displayedYear, m, 1);
} else {
t = new Date(y, m, 1)
}
if (t.getTime() < s.getTime()) {
t = s;
} else if (t.getTime() > e.getTime()) {
t = e;
}
var oldMonth = this.displayedMonth;
var oldYear = this.displayedYear;
this.displayedMonth = t.getMonth();
this.displayedYear = t.getFullYear();
if (rerender && (this.displayedMonth != oldMonth || this.displayedYear != oldYear))
{
this._rerenderCalendar();
$(this.ele).trigger('dpMonthChanged', [this.displayedMonth, this.displayedYear]);
}
},
setSelected : function(d, v, moveToMonth, dispatchEvents)
{
if (d < this.startDate || d > this.endDate) {
return;
}
var s = this.settings;
if (s.selectWeek)
{
d = d.addDays(- (d.getDay() - Date.firstDayOfWeek + 7) % 7);
if (d < this.startDate) // The first day of this week is before the start date so is unselectable...
{
return;
}
}
if (v == this.isSelected(d)) // this date is already un/selected
{
return;
}
if (this.selectMultiple == false) {
this.clearSelected();
} else if (v && this.numSelected == this.numSelectable) {
return;
}
if (moveToMonth && (this.displayedMonth != d.getMonth() || this.displayedYear != d.getFullYear())) {
this.setDisplayedMonth(d.getMonth(), d.getFullYear(), true);
}
this.selectedDates[d.asString()] = v;
this.numSelected += v ? 1 : -1;
var selectorString = 'td.' + (d.getMonth() == this.displayedMonth ? 'current-month' : 'other-month');
var $td;
$(selectorString, this.context).each(
function()
{
if ($(this).data('datePickerDate') == d.asString()) {
$td = $(this);
if (s.selectWeek)
{
$td.parent()[v ? 'addClass' : 'removeClass']('selectedWeek');
}
$td[v ? 'addClass' : 'removeClass']('selected');
}
}
);
$('td', this.context).not('.selected')[this.selectMultiple &&  this.numSelected == this.numSelectable ? 'addClass' : 'removeClass']('unselectable');
if (dispatchEvents)
{
var s = this.isSelected(d);
$e = $(this.ele);
var dClone = Date.fromString(d.asString());
$e.trigger('dateSelected', [dClone, $td, s]);
$e.trigger('change');
}
},
isSelected : function(d)
{
return this.selectedDates[d.asString()];
},
getSelected : function()
{
var r = [];
for(s in this.selectedDates) {
if (this.selectedDates[s] == true) {
r.push(Date.fromString(s));
}
}
return r;
},
clearSelected : function()
{
this.selectedDates = {};
this.numSelected = 0;
$('td.selected', this.context).removeClass('selected').parent().removeClass('selectedWeek');
},
display : function(eleAlignTo)
{
if ($(this.ele).is('.dp-disabled')) return;
eleAlignTo = eleAlignTo || this.ele;
var c = this;
var $ele = $(eleAlignTo);
var eleOffset = $ele.offset();
var $createIn;
var attrs;
var attrsCalendarHolder;
var cssRules;
if (c.inline) {
$createIn = $(this.ele);
attrs = {
'id'		:	'calendar-' + this.ele._dpId,
'class'	:	'dp-popup dp-popup-inline'
};
$('.dp-popup', $createIn).remove();
cssRules = {
};
} else {
$createIn = $('body');
attrs = {
'id'		:	'dp-popup',
'class'	:	'dp-popup'
};
cssRules = {
'top'	:	eleOffset.top + c.verticalOffset,
'left'	:	eleOffset.left + c.horizontalOffset
};
var _checkMouse = function(e)
{
var el = e.target;
var cal = $('#dp-popup')[0];
while (true){
if (el == cal) {
return true;
} else if (el == document) {
c._closeCalendar();
return false;
} else {
el = $(el).parent()[0];
}
}
};
this._checkMouse = _checkMouse;
c._closeCalendar(true);
$(document).bind(
'keydown.datepicker',
function(event)
{
if (event.keyCode == 27) {
c._closeCalendar();
}
}
);
}
if (!c.rememberViewedMonth)
{
var selectedDate = this.getSelected()[0];
if (selectedDate) {
selectedDate = new Date(selectedDate);
this.setDisplayedMonth(selectedDate.getMonth(), selectedDate.getFullYear(), false);
}
}
$createIn
.append(
$('<div></div>')
.attr(attrs)
.css(cssRules)
.append(
$('<h2></h2>'),
$('<div class="dp-nav-prev"></div>')
.append(
$('<a class="dp-nav-prev-year" href="#" title="' + $.dpText.TEXT_PREV_YEAR + '">&lt;&lt;</a>')
.bind(
'click',
function()
{
return c._displayNewMonth.call(c, this, 0, -1);
}
),
$('<a class="dp-nav-prev-month" href="#" title="' + $.dpText.TEXT_PREV_MONTH + '">&lt;</a>')
.bind(
'click',
function()
{
return c._displayNewMonth.call(c, this, -1, 0);
}
)
),
$('<div class="dp-nav-next"></div>')
.append(
$('<a class="dp-nav-next-year" href="#" title="' + $.dpText.TEXT_NEXT_YEAR + '">&gt;&gt;</a>')
.bind(
'click',
function()
{
return c._displayNewMonth.call(c, this, 0, 1);
}
),
$('<a class="dp-nav-next-month" href="#" title="' + $.dpText.TEXT_NEXT_MONTH + '">&gt;</a>')
.bind(
'click',
function()
{
return c._displayNewMonth.call(c, this, 1, 0);
}
)
),
$('<div class="dp-calendar"></div>')
)
.bgIframe()
);
var $pop = this.inline ? $('.dp-popup', this.context) : $('#dp-popup');
if (this.showYearNavigation == false) {
$('.dp-nav-prev-year, .dp-nav-next-year', c.context).css('display', 'none');
}
if (this.displayClose) {
$pop.append(
$('<a href="#" id="dp-close">' + $.dpText.TEXT_CLOSE + '</a>')
.bind(
'click',
function()
{
c._closeCalendar();
return false;
}
)
);
}
c._renderCalendar();
$(this.ele).trigger('dpDisplayed', $pop);
if (!c.inline) {
if (this.verticalPosition == $.dpConst.POS_BOTTOM) {
$pop.css('top', eleOffset.top + $ele.height() - $pop.height() + c.verticalOffset);
}
if (this.horizontalPosition == $.dpConst.POS_RIGHT) {
$pop.css('left', eleOffset.left + $ele.width() - $pop.width() + c.horizontalOffset);
}
$(document).bind('mousedown.datepicker', this._checkMouse);
}
},
setRenderCallback : function(a)
{
if (a == null) return;
if (a && typeof(a) == 'function') {
a = [a];
}
this.renderCallback = this.renderCallback.concat(a);
},
cellRender : function ($td, thisDate, month, year) {
var c = this.dpController;
var d = new Date(thisDate.getTime());
$td.bind(
'click',
function()
{
var $this = $(this);
if (!$this.is('.disabled')) {
c.setSelected(d, !$this.is('.selected') || !c.selectMultiple, false, true);
if (c.closeOnSelect) {
c._closeCalendar();
}
if (!$.browser.msie)
{
$(c.ele).trigger('focus', [$.dpConst.DP_INTERNAL_FOCUS]);
}
}
}
);
if (c.isSelected(d)) {
$td.addClass('selected');
if (c.settings.selectWeek)
{
$td.parent().addClass('selectedWeek');
}
} else  if (c.selectMultiple && c.numSelected == c.numSelectable) {
$td.addClass('unselectable');
}
},
_applyRenderCallbacks : function()
{
var c = this;
$('td', this.context).each(
function()
{
for (var i=0; i<c.renderCallback.length; i++) {
$td = $(this);
c.renderCallback[i].apply(this, [$td, Date.fromString($td.data('datePickerDate')), c.displayedMonth, c.displayedYear]);
}
}
);
return;
},
_displayNewMonth : function(ele, m, y)
{
if (!$(ele).is('.disabled')) {
this.setDisplayedMonth(this.displayedMonth + m, this.displayedYear + y, true);
}
ele.blur();
return false;
},
_rerenderCalendar : function()
{
this._clearCalendar();
this._renderCalendar();
},
_renderCalendar : function()
{
$('h2', this.context).html((new Date(this.displayedYear, this.displayedMonth, 1)).asString($.dpText.HEADER_FORMAT));
$('.dp-calendar', this.context).renderCalendar(
$.extend(
{},
this.settings,
{
month			: this.displayedMonth,
year			: this.displayedYear,
renderCallback	: this.cellRender,
dpController	: this,
hoverClass		: this.hoverClass
})
);
if (this.displayedYear == this.startDate.getFullYear() && this.displayedMonth == this.startDate.getMonth()) {
$('.dp-nav-prev-year', this.context).addClass('disabled');
$('.dp-nav-prev-month', this.context).addClass('disabled');
$('.dp-calendar td.other-month', this.context).each(
function()
{
var $this = $(this);
if (Number($this.text()) > 20) {
$this.addClass('disabled');
}
}
);
var d = this.startDate.getDate();
$('.dp-calendar td.current-month', this.context).each(
function()
{
var $this = $(this);
if (Number($this.text()) < d) {
$this.addClass('disabled');
}
}
);
} else {
$('.dp-nav-prev-year', this.context).removeClass('disabled');
$('.dp-nav-prev-month', this.context).removeClass('disabled');
var d = this.startDate.getDate();
if (d > 20) {
var st = this.startDate.getTime();
var sd = new Date(st);
sd.addMonths(1);
if (this.displayedYear == sd.getFullYear() && this.displayedMonth == sd.getMonth()) {
$('.dp-calendar td.other-month', this.context).each(
function()
{
var $this = $(this);
if (Date.fromString($this.data('datePickerDate')).getTime() < st) {
$this.addClass('disabled');
}
}
);
}
}
}
if (this.displayedYear == this.endDate.getFullYear() && this.displayedMonth == this.endDate.getMonth()) {
$('.dp-nav-next-year', this.context).addClass('disabled');
$('.dp-nav-next-month', this.context).addClass('disabled');
$('.dp-calendar td.other-month', this.context).each(
function()
{
var $this = $(this);
if (Number($this.text()) < 14) {
$this.addClass('disabled');
}
}
);
var d = this.endDate.getDate();
$('.dp-calendar td.current-month', this.context).each(
function()
{
var $this = $(this);
if (Number($this.text()) > d) {
$this.addClass('disabled');
}
}
);
} else {
$('.dp-nav-next-year', this.context).removeClass('disabled');
$('.dp-nav-next-month', this.context).removeClass('disabled');
var d = this.endDate.getDate();
if (d < 13) {
var ed = new Date(this.endDate.getTime());
ed.addMonths(-1);
if (this.displayedYear == ed.getFullYear() && this.displayedMonth == ed.getMonth()) {
$('.dp-calendar td.other-month', this.context).each(
function()
{
var $this = $(this);
var cellDay = Number($this.text());
if (cellDay < 13 && cellDay > d) {
$this.addClass('disabled');
}
}
);
}
}
}
this._applyRenderCallbacks();
},
_closeCalendar : function(programatic, ele)
{
if (!ele || ele == this.ele)
{
$(document).unbind('mousedown.datepicker');
$(document).unbind('keydown.datepicker');
this._clearCalendar();
$('#dp-popup a').unbind();
$('#dp-popup').empty().remove();
if (!programatic) {
$(this.ele).trigger('dpClosed', [this.getSelected()]);
}
}
},
_clearCalendar : function()
{
$('.dp-calendar td', this.context).unbind();
$('.dp-calendar', this.context).empty();
}
}
);
$.dpConst = {
SHOW_HEADER_NONE	:	0,
SHOW_HEADER_SHORT	:	1,
SHOW_HEADER_LONG	:	2,
POS_TOP				:	0,
POS_BOTTOM			:	1,
POS_LEFT			:	0,
POS_RIGHT			:	1,
DP_INTERNAL_FOCUS	:	'dpInternalFocusTrigger'
};
$.dpText = {
TEXT_PREV_YEAR		:	'Previous year',
TEXT_PREV_MONTH		:	'Previous month',
TEXT_NEXT_YEAR		:	'Next year',
TEXT_NEXT_MONTH		:	'Next month',
TEXT_CLOSE			:	'Close',
TEXT_CHOOSE_DATE	:	'Choose date',
HEADER_FORMAT		:	'mmmm yyyy'
};
$.dpVersion = '$Id: jquery.datePicker.js 84 2009-08-05 17:54:35Z kelvin.luck@gmail.com $';
$.fn.datePicker.defaults = {
month				: undefined,
year				: undefined,
showHeader			: $.dpConst.SHOW_HEADER_SHORT,
startDate			: undefined,
endDate				: undefined,
inline				: false,
renderCallback		: null,
createButton		: true,
showYearNavigation	: true,
closeOnSelect		: true,
displayClose		: false,
selectMultiple		: false,
numSelectable		: Number.MAX_VALUE,
clickInput			: false,
rememberViewedMonth	: true,
selectWeek			: false,
verticalPosition	: $.dpConst.POS_TOP,
horizontalPosition	: $.dpConst.POS_LEFT,
verticalOffset		: 0,
horizontalOffset	: 0,
hoverClass			: 'dp-hover'
};
function _getController(ele)
{
if (ele._dpId) return $.event._dpCache[ele._dpId];
return false;
};
if ($.fn.bgIframe == undefined) {
$.fn.bgIframe = function() {return this; };
};
$(window)
.bind('unload', function() {
var els = $.event._dpCache || [];
for (var i in els) {
$(els[i].ele)._dpDestroy();
}
});
})(jQuery);
(function($){var FE={};FE.divcounter=0;FE.tabpos=["","0001021020212212","00010203041020304041424344142434","000102030405061020304050606162636465162636465666"];FE.font={serif:"Georgia, 'Times New Roman', 'Century Schoolbook L', serif",sans_serif:"Verdana, Helvetica, Arial, 'URW Gothic L', sans-serif",monospace:"'Courier New', Courier, 'DejaVu Sans Mono', monospace",fantasy:"Impact, Papyrus, fantasy",cursive:"'Comic Sans MS' cursive"};$.fn.FontEffect=function(o){var d=$.extend({outline:false,outlineColor1:"",outlineColor2:"",outlineWeight:1,mirror:false,mirrorColor:"#000",mirrorOffset:-10,mirrorHeight:50,mirrorDetail:1,mirrorTLength:50,mirrorTStart:0.2,shadow:false,shadowColor:"#aaa",shadowOffsetTop:5,shadowOffsetLeft:5,shadowBlur:1,shadowOpacity:0.1,gradient:false,gradientColor:"",gradientFromTop:true,gradientPosition:20,gradientLength:50,gradientSteps:20,proportional:false,hideText:false,debug:false},o);this.not(".JQFE").each(function(){if(!d.outline&&!d.shadow&&!d.mirror&&!d.gradient){d.outline=true;};if(d.outline){if(d.outlineColor1==""&&d.outlineColor2==""){d.outlineColor1=pickcontrast($(this).css("color"));};if(d.outlineColor2=="")d.outlineColor2=d.outlineColor1;};if(d.gradient&&d.gradientColor==""){d.gradientColor=pickcontrast($(this).css("color"));};var userdisplay=$(this).css("display");var userposition=$(this).css("position");$(this).css({display:"inline",position:((userposition=="absolute")?"absolute":"relative")});var h=$(this).height();var w=$(this).width()*1.04;var W=w+"px";var H=h+"px";var t=$(this).html();$(this).data("options",d).addClass("JQFE").css({width:W,height:H,display:userdisplay,position:(($(this).css("position")!="absolute")?"relative":"absolute"),zoom:1});var MyContainer=$("<div></div>").css({width:W,height:H,position:"relative"});MyContainer.append($("<div class='JQFEText'>"+t+"</div>").css({display:d.hideText?"none":"inline",width:W,height:H,position:"relative",zIndex:100}));var alldivsup=$("<div></div>").css({width:W,height:H,left:"0px",position:"absolute",top:parseInt($(this).css("paddingTop"))*0+"px",zIndex:110});var alldivsdown=$(alldivsup).clone().css({zIndex:90});FE.divounter+=4;$(this).html("");if(d.mirror){for(i=0;i<h*(d.mirrorHeight/100);i++){if(d.proportional){var css_top1=(h+d.mirrorOffset+i*d.mirrorDetail).pxToEm({scope:this});var css_height=d.mirrorDetail.pxToEm({scope:this});var css_top2=((h*-1)+i*(100/d.mirrorHeight)).pxToEm({scope:this});}
else{var css_top1=(h+d.mirrorOffset+i*d.mirrorDetail)+"px";var css_height=d.mirrorDetail+"px";var css_top2=((h*-1)+i*(100/d.mirrorHeight))+"px";};var css_opacity=d.mirrorTStart-(i*(d.mirrorTStart/((d.mirrorHeight/100)*d.mirrorTLength)));var appo=$("<div class='JQFEMirror'></div>").css({position:"absolute",top:css_top1,height:css_height,width:W,overflow:"hidden"}).append($("<div>"+t+"</div>").css({position:"absolute",color:d.mirrorColor,top:css_top2,opacity:css_opacity}));FE.divounter+=i*2;if(css_opacity<0.01)break;alldivsdown.append(appo);};};if(d.outline){var totdiv=(d.outlineWeight)*8;var to=FE.tabpos[d.outlineWeight];for(i=0;i<totdiv;i++){appo=$("<div class='JQFEOutline'>"+t+"</div>").css({position:"absolute",top:(to.charAt(i*2)-d.outlineWeight)+"px",left:(to.charAt(i*2+1)-d.outlineWeight)+"px",width:W,color:((i<totdiv/2+d.outlineWeight)?d.outlineColor1:d.outlineColor2),zIndex:((i>totdiv-totdiv/3)?20:30)});FE.divounter+=i;alldivsdown.append(appo);};};if(d.shadow){var totdiv=(d.shadowBlur)*8;var to=FE.tabpos[d.shadowBlur];for(i=0;i<totdiv;i++){appo=$("<div class='JQFEShadow'>"+t+"</div>").css({opacity:d.shadowOpacity,position:"absolute",top:(to.charAt(i*2)-d.shadowBlur)+d.shadowOffsetTop+"px",left:(to.charAt(i*2+1)-d.shadowBlur)+d.shadowOffsetLeft+"px",width:W,height:H,color:d.shadowColor,zIndex:10});FE.divounter+=i;alldivsdown.append(appo);};};if(d.gradient){var step=Math.round((h*(d.gradientLength*0.01))/d.gradientSteps);var postop=h*(d.gradientPosition*0.01);var opa=(1/d.gradientSteps);var gcolor=d.gradientColor;for(i=0;i<d.gradientSteps;i++){if(d.proportional){css_top1=(((i==0)?0:postop)+i*step).pxToEm({scope:this});css_height=(((i==0)?postop:0)+step).pxToEm({scope:this});css_top2=((((i==0)?0:postop)+i*step)*-1).pxToEm({scope:this});}
else{css_top1=(((i==0)?0:postop)+i*step)+"px";css_height=(((i==0)?postop:0)+step)+"px";css_top2=((((i==0)?0:postop)+i*step)*-1)+"px";};appo=$("<div class='JQFEGradient'></div>").css({position:"absolute",top:css_top1,height:css_height,left:"0px",width:W,overflow:"hidden"}).append($("<div>"+t+"</div>").css({width:"100%",position:"absolute",top:css_top2,color:gcolor,opacity:1-opa*i}));FE.divounter+=i*2;alldivsup.append(appo);};};MyContainer.append(alldivsdown);MyContainer.append(alldivsup);$(this).append(MyContainer);});function hex2rgb(hexcolor){hexcolor=hexcolor.substring(1);if(hexcolor.length==3)hexcolor=hexcolor.charAt(0)+hexcolor.charAt(0)+hexcolor.charAt(1)+hexcolor.charAt(1)+hexcolor.charAt(2)+hexcolor.charAt(2);var rgbcolor="rgb("+parseInt(hexcolor.substring(0,2),16)+", "+parseInt(hexcolor.substring(2,4),16)+", "+parseInt(hexcolor.substring(4,6),16)+")";return(rgbcolor);};function chkColorString(col){return(/(#([0-9A-Fa-f]{3,6})\b)|(rgb\(\s*\b([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\b\s*,\s*\b([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\b\s*,\s*\b([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\b\s*\))|(rgb\(\s*(\d?\d%|100%)+\s*,\s*(\d?\d%|100%)+\s*,\s*(\d?\d%|100%)+\s*\))/.test(col));};function pickcontrast(col){if(chkColorString(col)){col=col.toUpperCase();if(col.charAt(0)=="#")col=hex2rgb(col);var appo=col.substring(4,col.length-1).split(", ");var g=255-parseInt(appo[0]);var b=255-parseInt(appo[1]);var r=255-parseInt(appo[2]);col="rgb("+r+", "+g+", "+b+")";};return(col);};return this;};$.fn.changeOptionsFE=function(newoptions){if(this){var oldoptions=$(this).data("options")||{};$.extend(oldoptions,newoptions);$(this).data("options",oldoptions);};};$.fn.redrawFE=function(newoptions){if(this){if(newoptions)$(this).changeOptionsFE(newoptions);$(this).removeFE();$(this).FontEffect($(this).data("options"));};};$.fn.removeFE=function(removeoptions){if(this&&$(this).hasClass("JQFE")){var t=$(this).find("div[class='JQFEText']").html();$(this).removeClass("JQFE");if(removeoptions)$(this).data("options",{});$(this).find("div[class^='JQFE']").remove();$(this).html(t);};};})(jQuery);Number.prototype.pxToEm=String.prototype.pxToEm=function(settings){settings=$.extend({scope:'body',reverse:false},settings);var pxVal=(this=='')?0:parseFloat(this);var scopeVal;var getWindowWidth=function(){var de=document.documentElement;return self.innerWidth||(de&&de.clientWidth)||document.body.clientWidth;};if(settings.scope=='body'&&$.browser.msie&&(parseFloat($('body').css('font-size'))/getWindowWidth()).toFixed(1)>0.0){var calcFontSize=function(){return(parseFloat($('body').css('font-size'))/getWindowWidth()).toFixed(3)*16;};scopeVal=calcFontSize();}
else{scopeVal=parseFloat($(settings.scope).css("font-size"));};var result=(settings.reverse==true)?(pxVal*scopeVal).toFixed(2)+'px':(pxVal/scopeVal).toFixed(2)+'em';return result;};
(function($){$.fn.bgIframe=$.fn.bgiframe=function(s){if($.browser.msie&&/6.0/.test(navigator.userAgent)){s=$.extend({top:'auto',left:'auto',width:'auto',height:'auto',opacity:true,src:'javascript:false;'},s||{});var prop=function(n){return n&&n.constructor==Number?n+'px':n;},html='<iframe class="bgiframe"frameborder="0"tabindex="-1"src="'+s.src+'"'+'style="display:block;position:absolute;z-index:-1;'+(s.opacity!==false?'filter:Alpha(Opacity=\'0\');':'')+'top:'+(s.top=='auto'?'expression(((parseInt(this.parentNode.currentStyle.borderTopWidth)||0)*-1)+\'px\')':prop(s.top))+';'+'left:'+(s.left=='auto'?'expression(((parseInt(this.parentNode.currentStyle.borderLeftWidth)||0)*-1)+\'px\')':prop(s.left))+';'+'width:'+(s.width=='auto'?'expression(this.parentNode.offsetWidth+\'px\')':prop(s.width))+';'+'height:'+(s.height=='auto'?'expression(this.parentNode.offsetHeight+\'px\')':prop(s.height))+';'+'"/>';return this.each(function(){if($('> iframe.bgiframe',this).length==0)this.insertBefore(document.createElement(html),this.firstChild);});}return this;};})(jQuery);
function gMap(mapObj)
{
this.mapObj     = mapObj;
this.bounds     = new GLatLngBounds;
this.points     = new Array();
this.categories = new Array();
this.addCategory   = function(category){
this.categories[category.name] = {icon:this._createMarkerIcon(category)}
}
this.addPoint = function(point){
var location    = new GLatLng(point.lat,point.long);
var icon        = this.categories[point.category].icon;
var show 		= point.always_show || 'false';
var marker      = new GMarker(location,icon);
var info		= this._createInfoWindow(point.name,point.address);
this.points.push({category:point.category,marker:marker,info:info,show:show});
}
this.showPoints = function(category)
{
category = category||"All";
this.mapObj.clearOverlays();
this.bounds = new GLatLngBounds
for(var i = 0; i < this.points.length; i++){
if(category == "All" || category == this.points[i].category || category.toString().indexOf(this.points[i].category)!=-1 || this.points[i].show == 'true'){
this.mapObj.addOverlay(this.points[i].marker);
this.bounds.extend(this.points[i].marker.getPoint());
this.points[i].marker.bindInfoWindowHtml(this.points[i].info);
}
}
this.mapObj.setZoom(this.mapObj.getBoundsZoomLevel(this.bounds));
this.mapObj.setCenter(this.bounds.getCenter());
}
this.bindTo = function(element)
{
$(element).bind("change",{gmapObj:this},function(e){
e.data.gmapObj.showPoints($(this).val());
});
}
this._createInfoWindow = function(name,address)
{
return "<div><b>"+name+"</b></div><div>"+address+"</div>";
}
this._createMarkerIcon = function(image)
{
var marker;
if(image.icon){
marker   		  = new GIcon();
marker.image      = image.icon;
marker.iconSize   = new GSize(image.icon_width,image.icon_height);
marker.iconAnchor = new GPoint(image.icon_width,image.icon_height);
marker.infoWindowAnchor = new GPoint(0,0);
}else{
marker 			  = new GIcon(G_DEFAULT_ICON)
}
return marker;
}
}
eval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('3 w={};w.1K=K(h){3 f=h.1a||A;3 b=h.1g||A;3 e=h.P||"#15";3 a=h.13||"#G";3 g=h.20||"#1W";3 d="N://z.L.Q.O/z?R=1B";3 j=d+"&U="+f+"x"+b+"&T="+g.4("#","")+","+e.4("#","")+","+a.4("#","")+"&F=.E";3 c=u 10(Y);c.X=j;c.V=u B(f,b);c.19=u B(y.1e(f*1.6),b);c.14=u H(f/2,b);c.17=u H(f/2,y.1e(b/12));c.18=j+"&J=I";c.1m=j+"&D=S,s,1h"+"&J=I";j=d+"&U="+f+"x"+b+"&T="+g.4("#","")+","+e.4("#","")+","+a.4("#","");c.1l=j+"&D=a,s,1p&F=.E";c.v=[f/2,b,(7/16)*f,(5/8)*b,(5/16)*f,(7/16)*b,(7/A)*f,(5/16)*b,(5/16)*f,(1/8)*b,(1/2)*f,0,(11/16)*f,(1/8)*b,(25/A)*f,(5/16)*b,(11/16)*f,(7/16)*b,(9/16)*f,(5/8)*b];1k(3 i=0;i<c.v.1Z;i++){c.v[i]=Z(c.v[i])}C c};w.1V=K(k){3 h=k.1a||A;3 j=k.1g||A;3 d=k.P||"#15";3 i=k.1T||"#G";3 m=w.W(k.1j)||"";3 c=k.1i||"#G";3 l=k.1S||0;3 s=k.1R||"1f";3 f=(s==="1f")?"1Q":"1d";3 t="N://z.L.Q.O/z?R="+f;3 n=t+"&U="+h+"x"+j+"&T="+d.4("#","")+","+i.4("#","")+"1P,1c"+"&1b="+m+"&1O="+c.4("#","")+","+l;3 e=u 10(Y);e.X=n+"&D=S,s,1M"+"&F=.E";e.V=u B(h,j);e.19=u B(0,0);e.14=u H(h/2,j/2);e.17=u H(h/2,j/2);e.18=n+"&J=I";e.1m=n+"&D=S,s,1h"+"&J=I";e.1l=n+"&D=a,s,1c&F=.E";e.v=[];M(f==="1d"){e.v=[0,0,h,0,h,j,0,j]}1J{3 o=8;3 r=1I/o;3 b=y.1H(h,j)/2;1k(3 a=0;a<(o+1);a++){3 g=r*a*(y.1G/1F);3 p=b+b*y.1E(g);3 q=b+b*y.1D(g);e.v.1A(Z(p),Z(q))}}C e};w.1L=K(k){3 j=k.P||"#1z";3 b=k.13||"#G";3 f=k.1N||"#1y";3 a=k.1x||"#1w";3 e=w.W(k.1j)||"";3 d=k.1i||"#G";3 i=k.1v||1u;3 c=(i)?"1t":"1s";3 h="N://z.L.Q.O/z?R=d&1U=1r&1b=";3 l=h+c+"\'i\\\\"+"\'["+e+"\'-2\'f\\\\"+"1q\'a\\\\]"+"h\\\\]o\\\\"+j.4("#","")+"\'1X\\\\"+d.4("#","")+"\'1Y\\\\"+b.4("#","")+"\'1o\\\\";M(i){l+=f.4("#","")+"\'1C\\\\"+a.4("#","")+"\'1n\\\\"}l+="22\'f\\\\";3 g=u 10(Y);g.X=l+"&F=.E";g.V=(i)?u B(23,29):u B(21,28);C g};w.W=K(a){M(a===27){C 26}a=a.4(/@/,"@@");a=a.4(/\\\\/,"@\\\\");a=a.4(/\'/,"@\'");a=a.4(/\\[/,"@[");a=a.4(/\\]/,"@]");C 24(a)};',62,134,'|||var|replace||||||||||||||||||||||||||new|imageMap|MapIconMaker||Math|chart|32|GSize|return|chf|png|ext|000000|GPoint|gif|chof|function|apis|if|http|com|primaryColor|google|cht|bg|chco|chs|iconSize|escapeUserText_|image|G_DEFAULT_ICON|parseInt|GIcon|||strokeColor|iconAnchor|ff0000||infoWindowAnchor|printImage|shadowSize|width|chl|ffffff01|itr|floor|circle|height|ECECD8|labelColor|label|for|transparent|mozPrintImage|0C|eC|ffffff11|hv|mapsapi|pin|pin_star|false|addStar|0000FF|starStrokeColor|FFFF00|DA7187|push|mm||sin|cos|180|PI|min|360|else|createMarkerIcon|createLabeledMarkerIcon|00000000|starPrimaryColor|chx|ff|it|shape|labelSize|shadowColor|chdp|createFlatIcon|ffffff|fC|tC|length|cornerColor||Lauto||encodeURIComponent||null|undefined|34|39'.split('|'),0,{}))
jQuery.fn.selectbox = function(options){
var settings = {
className: 'jquery-selectbox',
animationSpeed: "fast",
listboxMaxSize: 31,
replaceInvisible: true
};
var commonClass = 'jquery-custom-selectboxes-replaced';
var listOpen = false;
var showList = function(listObj) {
var selectbox = listObj.parents('.' + settings.className + '');
listObj.slideDown(settings.animationSpeed, function(){
listOpen = true;
});
selectbox.addClass('selecthover');
jQuery(document).bind('click', onBlurList);
return listObj;
}
var hideList = function(listObj) {
var selectbox = listObj.parents('.' + settings.className + '');
listObj.slideUp(settings.animationSpeed, function(){
listOpen = false;
jQuery(this).parents('.' + settings.className + '').removeClass('selecthover');
});
jQuery(document).unbind('click', onBlurList);
return listObj;
}
var onBlurList = function(e) {
var trgt = e.target;
var currentListElements = jQuery('.' + settings.className + '-list:visible').parent().find('*').andSelf();
if(jQuery.inArray(trgt, currentListElements)<0 && listOpen) {
hideList( jQuery('.' + commonClass + '-list') );
}
return false;
}
settings = jQuery.extend(settings, options || {});
return this.each(function() {
var _this = jQuery(this);
if(_this.filter(':visible').length == 0 && !settings.replaceInvisible)
return;
var replacement = jQuery(
'<div class="' + settings.className + ' ' + commonClass + '">' +
'<div class="' + settings.className + '-moreButton" />' +
'<div class="' + settings.className + '-list ' + commonClass + '-list" />' +
'<span class="' + settings.className + '-currentItem" />' +
'</div>'
);
jQuery('option', _this).each(function(k,v){
var v = jQuery(v);
var listElement =  jQuery('<span class="' + settings.className + '-item value-'+v.val().replace(' ', '*')+' item-'+k+'">' + v.text() + '</span>');
listElement.click(function(){
var thisListElement = jQuery(this);
var thisReplacment = thisListElement.parents('.'+settings.className);
var thisIndex = thisListElement[0].className.split(' ');
for( k1 in thisIndex ) {
if(/^item-[0-9]+$/.test(thisIndex[k1])) {
thisIndex = parseInt(thisIndex[k1].replace('item-',''), 10);
break;
}
};
var thisValue = thisListElement[0].className.split(' ');
for( k1 in thisValue ) {
if(/^value-.+$/.test(thisValue[k1])) {
thisValue = thisValue[k1].replace('value-','').replace('*',' ');
break;
}
};
thisReplacment
.find('.' + settings.className + '-currentItem')
.text(thisListElement.text());
thisReplacment
.next('select')
.val(thisValue)
.triggerHandler('change');
var thisSublist = thisReplacment.find('.' + settings.className + '-list');
if(thisSublist.filter(":visible").length > 0) {
hideList( thisSublist );
}else{
showList( thisSublist );
}
}).bind('mouseenter',function(){
jQuery(this).addClass('listelementhover');
}).bind('mouseleave',function(){
jQuery(this).removeClass('listelementhover');
});
jQuery('.' + settings.className + '-list', replacement).append(listElement);
if(v.filter(':selected').length > 0) {
jQuery('.'+settings.className + '-currentItem', replacement).text(v.text());
}
});
replacement.find('.' + settings.className + '-moreButton').click(function(){
var thisMoreButton = jQuery(this);
var otherLists = jQuery('.' + settings.className + '-list')
.not(thisMoreButton.siblings('.' + settings.className + '-list'));
hideList( otherLists );
var thisList = thisMoreButton.siblings('.' + settings.className + '-list');
if(thisList.filter(":visible").length > 0) {
hideList( thisList );
}else{
showList( thisList );
}
}).bind('mouseenter',function(){
jQuery(this).addClass('morebuttonhover');
}).bind('mouseleave',function(){
jQuery(this).removeClass('morebuttonhover');
});
_this.hide('1', function(){$('#checkAvail').css({visibility: 'visible'})}).before(replacement);
var thisListBox = replacement.find('.' + settings.className + '-list');
var thisListBoxSize = thisListBox.find('.' + settings.className + '-item').length;
if(thisListBoxSize > settings.listboxMaxSize)
thisListBoxSize = settings.listboxMaxSize;
if(thisListBoxSize == 0)
thisListBoxSize = 1;
var thisListBoxWidth = Math.round(_this.width() + 5);
var userAgent = navigator.userAgent.toLowerCase();
chr = /chrome/.test( userAgent );
if(jQuery.browser.safari && !chr)
thisListBoxWidth = thisListBoxWidth + 1;
replacement.css('width', thisListBoxWidth + 'px');
thisListBox.css({
width: Math.round(thisListBoxWidth-5) + 'px',
height: thisListBoxSize + 'em'
});
});
}
jQuery.fn.unselectbox = function(){
var commonClass = 'jquery-custom-selectboxes-replaced';
return this.each(function() {
var selectToRemove = jQuery(this).filter('.' + commonClass);
selectToRemove.replaceWith(selectToRemove.find('select').show());
});
}
$(function(){
$('.bc_inner .hot_mod.first').each(function(){
var	innerItem = $(this).find('.hm_inner'),
moreButton = $(this).find('a.more_btn'),
itemHeight = innerItem.height() + parseInt(innerItem.css('paddingBottom')),
buttonHeight = moreButton.outerHeight();
moreButton.css({'top':Math.floor((itemHeight-buttonHeight)/2) + 'px'});
});
Cufon.replace('.btm_content .cufo');
Cufon.replace('.btm_content .cufon');
Cufon.replace('.form_description h2',{'fontSize':'30px'});
Cufon.replace('.price',{fontSize:'60px'});
$('.btm_content .cufo').show();
$('.btm_content .cufon').show();
$('.form_description h2').show();
$('.price').show();
$('#global-menubar li:hover .submenu').css({display: 'none'})
$('#global-menubar li').mouseenter(function(){
$(this).children('.submenu').stop(true, true).fadeIn('fast');
$(this).addClass('on');
}).mouseleave(function(){
$(this).children('.submenu').stop(true, true).fadeOut('fast');
$(this).removeClass('on');
});
$('#global-menubar .submenu').css({
opacity: '0.9'
});
$(".mid_nav a[rel]").overlay({
'expose':'#f1f1f1',
'onLoad':function(){
initializeGoogleMap()
setTimeout(function(){$('.map-controls').slideDown();}, 1000)
}
});
if($('form[name=find_hotels]').length > 0){
$('form[name=find_hotels]').get(0).reset();
}
if($.browser.msie && Number($.browser.version) == 7) {
$('.find_hotels').animate({'width':'690px'}, 5000, function(){
$(this).find('#find_hotels').change(function() {
location.href = $(this).val();
});
});
} else {
$('.find_hotels').css('opacity', 0).animate({'opacity':1,'width':'690px'}, 5000, function(){
$(this).find('#find_hotels').change(function() {
location.href = $(this).val();
});
});
}
Date.firstDayOfWeek = 1;
Date.format = 'dd/mm/yyyy';
$('.resdatepicker').change(function(){
DateArray = ($(this).val()).split('/');
$('input[name=dateIn]').val(DateArray[1]+'/'+DateArray[0]+'/'+DateArray[2]);
}).datePicker({clickInput:true}).val(new Date().asString()).trigger('change');
$(".side_specials").scrollable({
clickable:false,
vertical: false,
size: 1,
speed:400,
loop: true,
items:".s_items"
}).navigator({
navi:'.s_navi',
activeClass:"on"
}).autoscroll({
interval:7000
});
var userAgent = navigator.userAgent.toLowerCase();
chr = /chrome/.test( userAgent );
if(!chr){$(".reservations_module select").selectbox();}
$("#reserveForm").validate();
$('.image_area .popup .close').click(function(){
if($(this).parent().hasClass('expanded')) {
$(this).parent().animate({right: '-417px'}, 500, function() {
$(this).removeClass('expanded');
});
} else {
$(this).parent().animate({right: '0px'}, 500, function() {
$(this).addClass('expanded');
});
}
})
});
$(document).ready(function(){
var onClick = new Array();
var onSubmit = new Array();
onSubmit['#reserveForm']="var s=s_gi('thaylayia'); s.linkTrackVars='prop1,eVar1,events'; s.events='event1'; s.prop1=selectedhotel() + ' Reservation Widget'; s.eVar1=selectedhotel() + ' Reservation Widget'; s.tl(this,'o', selectedhotel() + ' Reservation Widget');"
onClick['.sub_nav .Reservations a']="var s=s_gi('thaylayia'); s.linkTrackVars='prop1,eVar1,events'; s.events='event1'; s.prop1=pagename() + ' Reservation Nav'; s.eVar1=pagename() + ' Reservation Nav'; s.tl(this,'o',pagename() + ' Reservation Nav');"
onClick[".btm_content a[href^='https://reservations.ihotelier.com']"]="var s=s_gi('thaylayia'); s.linkTrackVars='prop1,eVar1,events'; s.events='event1'; s.prop1=booknow(this) + ' Reservation Text Link'; s.eVar1=booknow(this) + ' Reservation Text Link'; s.tl(this,'o',booknow(this) + ' Reservation Text Link');"
onClick['.sub_nav .Specials&Packages a']="var s=s_gi('thaylayia'); s.linkTrackVars='prop1,eVar1,events'; s.events='event2'; s.prop1=pagename() + ' Specials and Packages'; s.eVar1=pagename() + ' Specials and Packages'; s.tl(this,'o',pagename() + ' Specials and Packages');"
onSubmit['.connect_f']="var s=s_gi('thaylayia'); s.linkTrackVars='prop1,eVar2,events'; s.events='event3'; s.prop1='Email Sign Up'; s.eVar2='Email Sign Up'; s.tl(this,'o','Email Sign Up');"
onSubmit['#trash']="var s=s_gi('thaylayia'); s.linkTrackVars='prop1,eVar2,events'; s.events='event4'; s.prop1='Group RFP'; s.eVar2='Group RFP'; s.tl(this,'o','Group RFP');"
onClick['#trash']="var s=s_gi('thaylayia'); s.linkTrackVars='prop1,eVar2,events'; s.events='event6'; s.prop1='Photo Tour'; s.eVar2='Photo Tour'; s.tl(this,'o','Photo Tour');"
onClick['#trash']="var s=s_gi('thaylayia'); s.linkTrackVars='prop1,eVar2,events'; s.events='event7'; s.prop1='Virtual Tour'; s.eVar2='Virtual Tour'; s.tl(this,'o','Virtual Tour');"
onClick['a[rel=#map-content-holder]']="var s=s_gi('thaylayia'); s.linkTrackVars='prop1,eVar2,events'; s.events='event8'; s.prop1='Location and Map'; s.eVar2='Location and Map'; s.tl(this,'o','Location and Map');"
onSubmit["#form_1"]="var s=s_gi('thaylayia'); s.linkTrackVars='prop1,eVar2,events'; s.events='event9'; s.prop1='Layia Hospitality Contact Us'; s.eVar2='Layia Hospitality Contact Us'; s.tl(this,'o','Layia Hospitality Contact Us');"
onSubmit["#form_3"]="var s=s_gi('thaylayia'); s.linkTrackVars='prop1,eVar2,events'; s.events='event9'; s.prop1='Layia Oak Hotel and Suites Contact Us'; s.eVar2='Layia Oak Hotel and Suites Contact Us'; s.tl(this,'o','Layia Oak Hotel and Suites Contact Us');"
onSubmit["#form_9"]="var s=s_gi('thaylayia'); s.linkTrackVars='prop1,eVar2,events'; s.events='event9'; s.prop1='Layia Orchid Hotel Contact Us'; s.eVar2='Layia Orchid Hotel Contact Us'; s.tl(this,'o','Layia Orchid Hotel Contact Us');"
onSubmit["#form_8"]="var s=s_gi('thaylayia'); s.linkTrackVars='prop1,eVar2,events'; s.events='event9'; s.prop1='Layia Plaza Hotel Contact Us'; s.eVar2='Layia Plaza Hotel Contact Us'; s.tl(this,'o','Layia Plaza Hotel Contact Us');"
onSubmit["#form_4"]="var s=s_gi('thaylayia'); s.linkTrackVars='prop1,eVar2,events'; s.events='event9'; s.prop1='Topaz Living Courts Contact Us'; s.eVar2='Topaz Living Courts Contact Us'; s.tl(this,'o','Topaz Living Courts Contact Us');"
onSubmit["#form_5"]="var s=s_gi('thaylayia'); s.linkTrackVars='prop1,eVar2,events'; s.events='event9'; s.prop1='Opal Living Courts Contact Us'; s.eVar2='Opal Living Courts Contact Us'; s.tl(this,'o','Opal Living Courts Contact Us');"
onSubmit["#form_6"]="var s=s_gi('thaylayia'); s.linkTrackVars='prop1,eVar2,events'; s.events='event9'; s.prop1='Crystal Living Courts Contact Us'; s.eVar2='Crystal Living Courts Contact Us'; s.tl(this,'o','Crystal Living Courts Contact Us');"
onSubmit["#form_7"]="var s=s_gi('thaylayia'); s.linkTrackVars='prop1,eVar2,events'; s.events='event9'; s.prop1='Ruby Living Courts Contact Us'; s.eVar2='Ruby Living Courts Contact Us'; s.tl(this,'o','Ruby Living Courts Contact Us');"
onSubmit['#trash']="var s=s_gi('thaylayia'); s.linkTrackVars='prop1,eVar2,events'; s.events='event9'; s.prop1='Layia International Financial Hotel Contact Us'; s.eVar2='Layia International Financial Hotel Contact Us'; s.tl(this,'o','Layia International Financial Hotel Contact Us');"
var proc = new Array();
proc['onclick'] = onClick;
proc['onsubmit'] = onSubmit;
for (p in proc) {
for (i in proc[p]) {
if ($(i).length) {
$(i).each(function(){
DOM = $(this)[0];
onc = String(DOM.getAttribute(p));
if (onc.indexOf("function") == 0) onc = onc.replace(/^function\s*(onclick|onsubmit)\(\)\s*\{\s*(.*)\s*;?\}$/, '$2');
if (onc == null) {
func_text = proc[p][i];
} else {
func_text = (proc[p][i] + ";" + onc).replace(/;;/, ";");
}
eval("DOM." + p + " = function() {" + func_text + "}");
test = 0;
})
}
}
}
});
function pagename() {
return document.location.href.split('/').reverse()[0].replace(/-/g,' ');
}
function booknow(link) {
return $(link).attr('href').split('/').reverse()[1].replace(/-/g,' ');
}
function imagename(link) {
return $(link).find('img').attr('src').split('/').reverse()[0];
}
function sectionname() {
return document.location.href.split('/')[3].replace(/-/g,' ');
}
function selectedhotel() {
return $('#reserveForm .jquery-selectbox-currentItem').html();
}
