(function($){$.fn.innerfade=function(options){return this.each(function(){$.innerfade(this,options);});};$.innerfade=function(container,options){var settings={'animationtype':'fade','speed':'normal','type':'sequence','timeout':2000,'containerheight':'auto','runningclass':'innerfade','children':null};if(options)
$.extend(settings,options);if(settings.children===null)
var elements=$(container).children();else
var elements=$(container).children(settings.children);if(elements.length>1){$(container).css('position','relative').css('height',settings.containerheight).addClass(settings.runningclass);for(var i=0;i<elements.length;i++){$(elements[i]).css('z-index',String(elements.length-i)).css('position','absolute').hide();};if(settings.type=="sequence"){setTimeout(function(){$.innerfade.next(elements,settings,1,0);},settings.timeout);$(elements[0]).show();}else if(settings.type=="random"){var last=Math.floor(Math.random()*(elements.length));setTimeout(function(){do{current=Math.floor(Math.random()*(elements.length));}while(last==current);$.innerfade.next(elements,settings,current,last);},settings.timeout);$(elements[last]).show();}else if(settings.type=='random_start'){settings.type='sequence';var current=Math.floor(Math.random()*(elements.length));setTimeout(function(){$.innerfade.next(elements,settings,(current+1)%elements.length,current);},settings.timeout);$(elements[current]).show();}else{alert('Innerfade-Type must either be \'sequence\', \'random\' or \'random_start\'');}}};$.innerfade.next=function(elements,settings,current,last){if(settings.animationtype=='slide'){$(elements[last]).slideUp(settings.speed);$(elements[current]).slideDown(settings.speed);}else if(settings.animationtype=='fade'){$(elements[last]).fadeOut(settings.speed);$(elements[current]).fadeIn(settings.speed,function(){removeFilter($(this)[0]);});}else
alert('Innerfade-animationtype must either be \'slide\' or \'fade\'');if(settings.type=="sequence"){if((current+1)<elements.length){current=current+1;last=current-1;}else{current=0;last=elements.length-1;}}else if(settings.type=="random"){last=current;while(current==last)
current=Math.floor(Math.random()*elements.length);}else
alert('Innerfade-Type must either be \'sequence\', \'random\' or \'random_start\'');setTimeout((function(){$.innerfade.next(elements,settings,current,last);}),settings.timeout);};})(jQuery);function removeFilter(element){if(element.style.removeAttribute){element.style.removeAttribute('filter');}}
    
$(document).ready(
	function(){
		$('#header-img').innerfade({
			animationtype: 'fade',
			speed: 750,
			timeout: 6000,
			type: 'sequence',
			containerheight: '1em'
		}); 
		
		$('#header-img2').innerfade({
			animationtype: 'fade',
			speed: 750,
			timeout: 5000,
			type: 'sequence',
			containerheight: '1em'
		}); 

		$('#promos').innerfade({
			animationtype: 'fade',
			speed: 750,
			timeout: 10000,
			type: 'random',
			containerheight: '1em'
		}); 		

});

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}),hasClass:function(C,B){return RegExp("(?:^|\\s)"+B+"(?=\\s|$)").test(C.className)},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},textDecoration:function(G,F){if(!F){F=this.getStyle(G)}var C={underline:null,overline:null,"line-through":null};for(var B=G;B.parentNode&&B.parentNode.nodeType==1;){var E=true;for(var D in C){if(!k(C,D)||C[D]){continue}if(F.get("textDecoration").indexOf(D)!=-1){C[D]=F.get("color")}E=false}if(E){break}F=this.getStyle(B=B.parentNode)}return C},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 B={inline:1,"inline-block":1,"run-in":1};return function(E,C,D){if(B[C.get("display")]){return E}if(!D.previousSibling){E=E.replace(/^\s+/,"")}if(!D.nextSibling){E=E.replace(/\s+$/,"")}return E}})()};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(C){var B=this.face=C.face;this.glyphs=C.glyphs;this.w=C.w;this.baseSize=parseInt(B["units-per-em"],10);this.family=B["font-family"].toLowerCase();this.weight=B["font-weight"];this.style=B["font-style"]||"normal";this.viewBox=(function(){var E=B.bbox.split(/\s+/);var D={minX:parseInt(E[0],10),minY:parseInt(E[1],10),maxX:parseInt(E[2],10),maxY:parseInt(E[3],10)};D.width=D.maxX-D.minX;D.height=D.maxY-D.minY;D.toString=function(){return[this.minX,this.minY,this.width,this.height].join(" ")};return D})();this.ascent=-parseInt(B.ascent,10);this.descent=-parseInt(B.descent,10);this.height=-this.ascent+this.descent}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)}function E(F){C(this)}function C(F){setTimeout(function(){m.replace(F,d.get(F).options,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 B={},D,F;for(var E=0,C=arguments.length;D=arguments[E],E<C;++E){for(F in D){if(k(D,F)){B[F]=D[F]}}}return B}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(C,J){var B=n.getStyle(v(C,J)).extend(J);var D=c(C,B),E,H,G,F,I;for(E=C.firstChild;E;E=G){H=E.nodeType;G=E.nextSibling;if(H==3){if(F){F.appendData(E.data);C.removeChild(E)}else{F=E}if(G){continue}}if(F){C.replaceChild(o(D,n.whiteSpace(F.data,B,F),B,J,E,C),F);F=null}if(H==1&&E.firstChild){if(n.hasClass(E,"cufon")){z[J.engine](D,null,B,J,E,C)}else{arguments.callee(E,J)}}}}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={enableTextDecoration:false,engine:null,forceHitArea:false,hover:false,hoverables:{a:true},printable:true,selector:(window.Sizzle||(window.jQuery&&function(B){return jQuery(B)})||(window.dojo&&dojo.query)||(window.Ext&&Ext.query)||(window.$$&&function(B){return $$(B)})||(window.$&&function(B){return $(B)})||(document.querySelectorAll&&function(B){return document.querySelectorAll(B)})||g),separate:"words",textShadow:"none"};var p={words:/[^\S\u00a0]+/,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){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(typeof C.textShadow=="string"){C.textShadow=n.textShadow(C.textShadow)}if(typeof C.color=="string"&&/^-/.test(C.color)){C.textGradient=n.gradient(C.color)}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-canvas{text-indent:0;}@media screen,projection{.cufon-canvas{display:inline;display:inline-block;position:relative;vertical-align:middle;"+(e?"":"font-size:1px;line-height:1px;")+"}.cufon-canvas .cufon-alt{display:-moz-inline-box;display:inline-block;width:0;height:0;overflow:hidden;text-indent:-10000in;}"+(a?".cufon-canvas canvas{position:relative;}":".cufon-canvas canvas{position:absolute;}")+"}@media print{.cufon-canvas{padding:0;}.cufon-canvas canvas{display:none;}.cufon-canvas .cufon-alt{display:inline;}}").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(ah,H,Z,D,L,ai){var n=(H===null);if(n){H=L.alt}var J=ah.viewBox;var p=Z.getSize("fontSize",ah.baseSize);var X=Z.get("letterSpacing");X=(X=="normal")?0:p.convertFrom(parseInt(X,10));var K=0,Y=0,W=0,F=0;var I=D.textShadow,U=[];if(I){for(var ag=I.length;ag--;){var O=I[ag];var T=p.convertFrom(parseFloat(O.offX));var R=p.convertFrom(parseFloat(O.offY));U[ag]=[T,R];if(R<K){K=R}if(T>Y){Y=T}if(R>W){W=R}if(T<F){F=T}}}var al=Cufon.CSS.textTransform(H,Z).split(""),B;var o=ah.glyphs,E,r,ac;var h=0,v,N=[];for(var ag=0,ae=0,ab=al.length;ag<ab;++ag){E=o[B=al[ag]]||ah.missingGlyph;if(!E){continue}if(r){h-=ac=r[B]||0;N[ae-1]-=ac}h+=v=N[ae++]=~~(E.w||ah.w)+X;r=E.k}if(v===undefined){return null}Y+=J.width-v;F+=J.minX;var C,q;if(n){C=L;q=L.firstChild}else{C=document.createElement("span");C.className="cufon cufon-canvas";C.alt=H;q=document.createElement("canvas");C.appendChild(q);if(D.printable){var ad=document.createElement("span");ad.className="cufon-alt";ad.appendChild(document.createTextNode(H));C.appendChild(ad)}}var am=C.style;var Q=q.style;var m=p.convert(J.height);var ak=Math.ceil(m);var V=ak/m;var P=V*Cufon.CSS.fontStretch(Z.get("fontStretch"));var S=h*P;var aa=Math.ceil(p.convert(S+Y-F));var t=Math.ceil(p.convert(J.height-K+W));q.width=aa;q.height=t;Q.width=aa+"px";Q.height=t+"px";K+=J.minY;Q.top=Math.round(p.convert(K-ah.ascent))+"px";Q.left=Math.round(p.convert(F))+"px";var A=Math.ceil(p.convert(S))+"px";if(a){am.width=A;am.height=p.convert(ah.height)+"px"}else{am.paddingLeft=A;am.paddingBottom=(p.convert(ah.height)-1)+"px"}var aj=q.getContext("2d"),M=m/J.height;aj.scale(M,M*V);aj.translate(-F,-K);aj.lineWidth=ah.face["underline-thickness"];aj.save();function s(i,g){aj.strokeStyle=g;aj.beginPath();aj.moveTo(0,i);aj.lineTo(h,i);aj.stroke()}var u=D.enableTextDecoration?Cufon.CSS.textDecoration(ai,Z):{};if(u.underline){s(-ah.face["underline-position"],u.underline)}if(u.overline){s(ah.ascent,u.overline)}function af(){aj.scale(P,1);for(var x=0,k=0,g=al.length;x<g;++x){var y=o[al[x]]||ah.missingGlyph;if(!y){continue}if(y.d){aj.beginPath();if(y.code){c(y.code,aj)}else{y.code=d("m"+y.d,aj)}aj.fill()}aj.translate(N[k++],0)}aj.restore()}if(I){for(var ag=I.length;ag--;){var O=I[ag];aj.save();aj.fillStyle=O.color;aj.translate.apply(aj,U[ag]);af()}}var z=D.textGradient;if(z){var G=z.stops,w=aj.createLinearGradient(0,J.minY,0,J.maxY);for(var ag=0,ab=G.length;ag<ab;++ag){w.addColorStop.apply(w,G[ag])}aj.fillStyle=w}else{aj.fillStyle=Z.get("color")}af();if(u["line-through"]){s(-ah.descent,u["line-through"])}return C}})());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 g=(document.documentMode||0)<8;document.write(('<style type="text/css">.cufon-vml-canvas{text-indent:0;}@media screen{cvml\\:shape,cvml\\:rect,cvml\\:fill,cvml\\:shadow{behavior:url(#default#VML);display:block;antialias:true;position:absolute;}.cufon-vml-canvas{position:absolute;text-align:left;}.cufon-vml{display:inline-block;position:relative;vertical-align:'+(g?"middle":"text-bottom")+";}.cufon-vml .cufon-alt{position:absolute;left:-10000in;font-size:1px;}a .cufon-vml{cursor:pointer}}@media print{.cufon-vml *{display:none;}.cufon-vml .cufon-alt{display:inline;}}</style>").replace(/;/g,"!important;"));function c(h,i){return a(h,/(?:em|ex|%)$|^[a-z-]+$/i.test(i)?"1em":i)}function a(k,l){if(/px$/i.test(l)){return parseFloat(l)}var j=k.style.left,i=k.runtimeStyle.left;k.runtimeStyle.left=k.currentStyle.left;k.style.left=l.replace("%","em");var h=k.style.pixelLeft;k.style.left=j;k.runtimeStyle.left=i;return h}var f={};function d(o){var p=o.id;if(!f[p]){var m=o.stops,n=document.createElement("cvml:fill"),h=[];n.type="gradient";n.angle=180;n.focus="0";n.method="sigma";n.color=m[0][1];for(var l=1,i=m.length-1;l<i;++l){h.push(m[l][0]*100+"% "+m[l][1])}n.colors=h.join(",");n.color2=m[i][1];f[p]=n}return f[p]}return function(aj,K,ad,G,O,ak,ab){var o=(K===null);if(o){K=O.alt}var M=aj.viewBox;var q=ad.computedFontSize||(ad.computedFontSize=new Cufon.CSS.Size(c(ak,ad.get("fontSize"))+"px",aj.baseSize));var aa=ad.computedLSpacing;if(aa==undefined){aa=ad.get("letterSpacing");ad.computedLSpacing=aa=(aa=="normal")?0:~~q.convertFrom(a(ak,aa))}var C,r;if(o){C=O;r=O.firstChild}else{C=document.createElement("span");C.className="cufon cufon-vml";C.alt=K;r=document.createElement("span");r.className="cufon-vml-canvas";C.appendChild(r);if(G.printable){var ag=document.createElement("span");ag.className="cufon-alt";ag.appendChild(document.createTextNode(K));C.appendChild(ag)}if(!ab){C.appendChild(document.createElement("cvml:shape"))}}var ap=C.style;var V=r.style;var m=q.convert(M.height),am=Math.ceil(m);var Z=am/m;var T=Z*Cufon.CSS.fontStretch(ad.get("fontStretch"));var Y=M.minX,X=M.minY;V.height=am;V.top=Math.round(q.convert(X-aj.ascent));V.left=Math.round(q.convert(Y));ap.height=q.convert(aj.height)+"px";var v=G.enableTextDecoration?Cufon.CSS.textDecoration(ak,ad):{};var J=ad.get("color");var ao=Cufon.CSS.textTransform(K,ad).split(""),B;var p=aj.glyphs,H,s,af;var h=0,P=[],W=0,x;var z,L=G.textShadow;for(var ai=0,ah=0,ae=ao.length;ai<ae;++ai){H=p[B=ao[ai]]||aj.missingGlyph;if(!H){continue}if(s){h-=af=s[B]||0;P[ah-1]-=af}h+=x=P[ah++]=~~(H.w||aj.w)+aa;s=H.k}if(x===undefined){return null}var A=-Y+h+(M.width-x);var an=q.convert(A*T),ac=Math.round(an);var S=A+","+M.height,n;var N="r"+S+"ns";var y=G.textGradient&&d(G.textGradient);for(ai=0,ah=0;ai<ae;++ai){H=p[ao[ai]]||aj.missingGlyph;if(!H){continue}if(o){z=r.childNodes[ah];while(z.firstChild){z.removeChild(z.firstChild)}}else{z=document.createElement("cvml:shape");r.appendChild(z)}z.stroked="f";z.coordsize=S;z.coordorigin=n=(Y-W)+","+X;z.path=(H.d?"m"+H.d+"xe":"")+"m"+n+N;z.fillcolor=J;if(y){z.appendChild(y.cloneNode(false))}var al=z.style;al.width=ac;al.height=am;if(L){var u=L[0],t=L[1];var F=Cufon.CSS.color(u.color),D;var R=document.createElement("cvml:shadow");R.on="t";R.color=F.color;R.offset=u.offX+","+u.offY;if(t){D=Cufon.CSS.color(t.color);R.type="double";R.color2=D.color;R.offset2=t.offX+","+t.offY}R.opacity=F.opacity||(D&&D.opacity)||1;z.appendChild(R)}W+=P[ah++]}var Q=z.nextSibling,w,E;if(G.forceHitArea){if(!Q){Q=document.createElement("cvml:rect");Q.stroked="f";Q.className="cufon-vml-cover";w=document.createElement("cvml:fill");w.opacity=0;Q.appendChild(w);r.appendChild(Q)}E=Q.style;E.width=ac;E.height=am}else{if(Q){r.removeChild(Q)}}ap.width=Math.max(Math.ceil(q.convert(h*T)),0);if(g){var U=ad.computedYAdjust;if(U===undefined){var I=ad.get("lineHeight");if(I=="normal"){I="1em"}else{if(!isNaN(I)){I+="em"}}ad.computedYAdjust=U=0.5*(a(ak,I)-parseFloat(ap.height))}if(U){ap.marginTop=Math.ceil(U)+"px";ap.marginBottom=U+"px"}}return C}})());

Cufon.registerFont({"w":240,"face":{"font-family":"Helvetica LT Std","font-weight":900,"font-stretch":"normal","units-per-em":"360","panose-1":"2 11 9 4 3 5 2 2 2 4","ascent":"258","descent":"-102","x-height":"5","bbox":"-13 -365 358 90","underline-thickness":"18","underline-position":"-18","stemh":"53","stemv":"75","unicode-range":"U+0020-U+00FF"},"glyphs":{" ":{"w":119},"!":{"d":"39,-95v-9,-52,-21,-100,-17,-164r76,0v4,64,-9,113,-18,164r-41,0xm96,0r-74,0r0,-70r74,0r0,70","w":119},"\"":{"d":"144,-162r-42,0r0,-97r42,0r0,97xm78,-162r-42,0r0,-97r42,0r0,97","w":180},"#":{"d":"198,-113r0,33r-37,0r-11,80r-32,0r11,-80r-31,0r-11,80r-32,0r11,-80r-36,0r0,-33r41,0r5,-32r-36,0r0,-34r40,0r11,-75r31,0r-10,75r31,0r10,-75r33,0r-11,75r32,0r0,34r-37,0r-4,32r32,0xm138,-145r-31,0r-4,32r31,0","w":237},"$":{"d":"103,-164r0,-47v-10,-1,-27,8,-27,22v0,17,15,20,27,25xm133,-94r0,53v44,-1,36,-49,0,-53xm103,-257r0,-23r30,0r0,23v47,3,93,22,92,77r-62,0v-1,-14,-12,-28,-30,-28r0,50v45,14,96,29,96,83v0,59,-44,78,-96,80r0,35r-30,0r0,-35v-52,-2,-94,-30,-95,-86r65,0v0,20,11,34,30,38r0,-57v-42,-13,-90,-24,-90,-78v0,-56,44,-72,90,-79"},"%":{"d":"199,-70v0,-43,37,-80,80,-80v44,0,78,37,78,80v0,44,-34,78,-78,78v-43,0,-80,-34,-80,-78xm248,-71v0,17,15,31,31,31v16,0,30,-15,30,-31v0,-16,-13,-30,-30,-30v-17,0,-31,13,-31,30xm82,-109v-44,0,-80,-35,-80,-79v0,-43,37,-79,80,-79v43,0,79,35,79,79v0,44,-35,79,-79,79xm82,-218v-16,0,-31,13,-31,30v0,17,14,31,31,31v16,0,30,-15,30,-31v0,-17,-14,-30,-30,-30xm274,-269r-153,280r-36,0r153,-280r36,0","w":360},"&":{"d":"161,-203v-10,-17,-48,-15,-48,8v0,13,10,22,22,30v17,-8,32,-17,26,-38xm214,0r-21,-22v-44,42,-177,44,-177,-43v0,-38,22,-64,55,-81v-13,-14,-23,-28,-23,-48v0,-49,47,-65,88,-65v48,0,87,26,87,68v0,31,-16,52,-42,66r22,23v7,-6,13,-14,17,-22r68,0v-12,23,-25,44,-43,63r59,61r-90,0xm150,-68r-34,-35v-29,6,-41,55,-3,55v10,0,45,-12,37,-20","w":320},"(":{"d":"119,64r-63,0v-19,-37,-39,-91,-39,-164v0,-66,22,-117,39,-159r64,0v-43,102,-45,220,-1,323","w":140},")":{"d":"21,-259r63,0v19,37,39,91,39,164v0,66,-22,117,-39,159r-64,0v43,-102,45,-220,1,-323","w":140},"*":{"d":"33,-226r48,17r0,-50r39,0r0,50r47,-19r14,38r-50,16r34,43r-33,25r-31,-45r-32,45r-33,-25r33,-42r-50,-13","w":200},"+":{"d":"98,-113r0,-69r42,0r0,69r70,0r0,42r-70,0r0,71r-42,0r0,-71r-70,0r0,-42r70,0","w":237},",":{"d":"21,63r0,-31v20,-2,33,-12,35,-32r-35,0r0,-74r76,0r0,62v0,48,-29,72,-76,75","w":119},"-":{"d":"108,-59r-96,0r0,-66r96,0r0,66","w":119},".":{"d":"98,0r-76,0r0,-74r76,0r0,74","w":119},"\/":{"d":"66,-259r46,0r-78,291r-46,0","w":100},"0":{"d":"120,-51v27,0,35,-33,35,-75v0,-27,2,-75,-35,-75v-34,0,-35,52,-35,76v0,44,7,74,35,74xm10,-129v0,-93,52,-128,110,-128v66,0,110,43,110,127v0,72,-28,135,-110,135v-82,0,-110,-61,-110,-134"},"1":{"d":"169,-257r0,257r-75,0r0,-148r-59,0r0,-51v40,-1,69,-14,77,-58r57,0"},"2":{"d":"234,-175v-1,66,-79,83,-118,114r118,0r0,61r-214,0v-9,-91,139,-118,139,-176v0,-16,-15,-25,-30,-25v-29,0,-37,24,-37,48r-67,0v1,-75,41,-104,107,-104v53,0,102,23,102,82"},"3":{"d":"83,-88v0,24,12,36,36,37v22,0,34,-14,34,-29v0,-29,-29,-28,-47,-28r0,-45v18,1,44,-2,44,-26v0,-34,-62,-27,-62,5r-67,0v-6,-110,203,-106,200,-12v0,23,-9,40,-30,50v23,9,37,27,37,52v0,59,-45,89,-113,89v-59,0,-103,-30,-102,-93r70,0"},"4":{"d":"9,-53r0,-60r118,-141r70,0r0,145r32,0r0,56r-32,0r0,53r-71,0r0,-53r-117,0xm126,-186r-60,77r60,0r0,-77"},"5":{"d":"19,-109r26,-145r162,0r0,61r-110,0r-8,39v56,-35,139,-4,139,66v0,70,-56,93,-114,93v-55,0,-92,-24,-106,-71r76,-8v6,36,74,26,69,-10v5,-36,-45,-50,-63,-23"},"6":{"d":"124,-117v-49,-1,-43,70,-2,69v22,0,34,-14,34,-36v0,-20,-13,-33,-32,-33xm224,-190r-70,4v-4,-14,-15,-20,-30,-20v-28,0,-39,25,-39,58v20,-14,36,-18,60,-18v59,0,85,46,85,82v0,62,-44,89,-101,89v-74,0,-119,-40,-119,-132v0,-78,40,-130,111,-130v48,0,92,16,103,67"},"7":{"d":"150,-193r-130,0r0,-61r204,0r0,57v-46,37,-80,111,-83,197r-78,0v8,-85,43,-147,87,-193"},"8":{"d":"130,-49v17,-3,24,-13,24,-30v0,-21,-13,-33,-33,-33v-21,0,-36,12,-36,34v0,24,24,32,45,29xm120,-152v17,0,31,-9,31,-27v0,-17,-14,-28,-31,-28v-18,0,-32,9,-32,28v0,19,15,27,32,27xm51,-133v-20,-11,-32,-22,-32,-53v0,-49,49,-71,104,-71v58,0,97,29,97,70v0,24,-9,43,-33,52v27,10,42,30,42,60v0,51,-45,80,-109,80v-59,0,-110,-24,-110,-80v0,-30,15,-46,41,-58"},"9":{"d":"116,-135v26,0,35,-16,35,-36v0,-18,-16,-33,-34,-33v-22,0,-33,13,-33,35v0,20,13,34,32,34xm15,-62r70,-4v4,14,15,20,30,20v28,0,39,-25,39,-58v-20,14,-35,18,-59,18v-59,0,-86,-46,-86,-82v0,-62,45,-89,102,-89v74,0,119,40,119,132v0,78,-40,130,-111,130v-48,0,-93,-16,-104,-67"},":":{"d":"98,0r-76,0r0,-74r76,0r0,74xm98,-114r-76,0r0,-75r76,0r0,75","w":119},";":{"d":"21,-74r76,0r0,62v0,48,-29,72,-76,75r0,-31v20,-2,33,-12,35,-32r-35,0r0,-74xm97,-114r-76,0r0,-75r76,0r0,75","w":119},"<":{"d":"210,-39r0,46r-183,-81r0,-36r183,-82r0,47r-128,54","w":237},"=":{"d":"210,-148r0,41r-182,0r0,-41r182,0xm210,-78r0,42r-182,0r0,-42r182,0","w":237},">":{"d":"27,-39r128,-52r-128,-54r0,-47r183,82r0,36r-183,81r0,-46","w":237},"?":{"d":"10,-182v2,-56,45,-84,102,-84v55,0,97,24,97,73v0,62,-77,50,-70,96r-66,0v-5,-84,61,-58,61,-94v0,-15,-13,-21,-26,-21v-17,0,-24,12,-24,30r-74,0xm69,-70r74,0r0,70r-74,0r0,-70","w":219},"@":{"d":"136,-161v-39,-2,-50,69,-8,71v41,3,53,-71,8,-71xm264,-156v2,55,-41,102,-90,105v-12,0,-22,-5,-21,-18v-34,39,-95,4,-95,-47v0,-61,76,-114,117,-61r4,-19r34,0r-18,105v-1,7,-3,13,5,13v15,0,35,-27,35,-66v0,-58,-42,-90,-97,-90v-60,0,-100,44,-100,104v0,94,111,133,175,80r36,0v-65,105,-247,52,-247,-80v0,-77,60,-136,137,-136v64,0,123,48,125,110","w":266},"A":{"d":"167,-88r-28,-93r-26,93r54,0xm87,0r-83,0r93,-259r86,0r93,259r-84,0r-11,-34r-84,0","w":280},"B":{"d":"185,-84v0,-31,-43,-23,-74,-24r0,48v31,-1,74,7,74,-24xm175,-178v0,-30,-37,-19,-64,-21r0,43v27,0,65,5,64,-22xm264,-78v3,100,-139,75,-238,78r0,-259v90,5,227,-24,229,65v0,27,-17,46,-34,56v28,7,43,32,43,60","w":280},"C":{"d":"267,-160r-80,0v-3,-27,-19,-43,-46,-43v-30,0,-48,26,-48,76v0,36,8,70,51,70v27,0,41,-18,44,-43r81,0v-8,67,-56,107,-124,107v-86,0,-137,-53,-137,-137v0,-84,57,-136,129,-136v79,0,123,39,130,106","w":280},"D":{"d":"108,-199r0,139v52,4,80,-14,80,-70v1,-61,-25,-71,-80,-69xm135,0r-112,0r0,-259r114,0v84,0,136,39,136,124v0,98,-55,135,-138,135","w":280},"E":{"d":"244,0r-217,0r0,-259r212,0r0,60r-127,0r0,37r107,0r0,61r-107,0r0,41r132,0r0,60","w":259},"F":{"d":"112,0r-85,0r0,-259r201,0r0,60r-116,0r0,47r92,0r0,61r-92,0r0,91","k":{"A":20,"\u00c6":20,"\u00c1":20,"\u00c2":20,"\u00c4":20,"\u00c0":20,"\u00c5":20,"\u00c3":20,",":46,".":46}},"G":{"d":"276,-143r0,144r-55,0r-3,-26v-14,17,-37,32,-78,32v-66,0,-126,-43,-126,-133v0,-83,52,-140,136,-140v62,0,113,32,123,96r-81,0v-6,-21,-22,-33,-44,-33v-33,0,-49,30,-49,76v0,37,11,70,54,70v17,0,40,-11,44,-29r-38,0r0,-57r117,0","w":299},"H":{"d":"110,0r-85,0r0,-259r85,0r0,87r80,0r0,-87r85,0r0,259r-85,0r0,-100r-80,0r0,100","w":299},"I":{"d":"112,0r-85,0r0,-259r85,0r0,259","w":140},"J":{"d":"10,-113r75,0v0,27,1,56,23,56v13,0,21,-10,21,-31r0,-171r85,0r0,159v0,68,-32,107,-101,107v-75,0,-110,-42,-103,-120"},"K":{"d":"27,0r0,-259r85,0r0,84r74,-84r100,0r-94,97r104,162r-102,0r-62,-103r-20,21r0,82r-85,0","w":299},"L":{"d":"229,0r-202,0r0,-259r85,0r0,199r117,0r0,60","k":{"T":33,"V":33,"W":20,"y":13,"\u00fd":13,"\u00ff":13,"Y":33,"\u00dd":33}},"M":{"d":"98,0r-76,0r0,-259r102,0r46,161r46,-161r102,0r0,259r-76,0r1,-120r4,-46r-48,166r-59,0r-47,-166v4,53,6,108,5,166","w":339},"N":{"d":"104,-259r93,141r-3,-141r81,0r0,259r-80,0r-92,-141r3,141r-81,0r0,-259r79,0","w":299},"O":{"d":"149,-203v-39,0,-50,39,-50,72v0,33,10,74,51,74v37,0,51,-31,51,-74v0,-35,-15,-72,-52,-72xm150,-266v93,0,136,67,136,135v0,88,-59,138,-136,138v-81,0,-136,-51,-136,-139v0,-81,55,-134,136,-134","w":299},"P":{"d":"105,-141v33,0,72,6,70,-30v-2,-33,-39,-28,-70,-28r0,58xm105,0r-84,0r0,-259r124,0v75,0,111,34,111,87v0,71,-63,99,-151,91r0,81","w":259,"k":{"A":27,"\u00c6":27,"\u00c1":27,"\u00c2":27,"\u00c4":27,"\u00c0":27,"\u00c5":27,"\u00c3":27,",":46,".":46}},"Q":{"d":"134,-88r36,-38r27,28v13,-45,-5,-105,-48,-105v-39,0,-50,39,-50,72v0,37,17,84,64,72xm285,-9r-36,38r-35,-35v-13,6,-34,13,-64,13v-82,0,-136,-52,-136,-139v0,-81,55,-134,136,-134v124,0,173,138,106,227","w":299},"R":{"d":"107,-199r0,52v31,0,74,4,74,-25v0,-32,-41,-27,-74,-27xm178,-45v0,-45,-26,-47,-71,-45r0,90r-85,0r0,-259r122,0v86,0,115,24,115,74v0,30,-13,55,-43,63v27,10,44,17,44,69v0,34,-1,45,9,45r0,8r-86,0v-2,-6,-5,-22,-5,-45","w":280,"k":{"T":6,"V":6,"W":6,"Y":13,"\u00dd":13}},"S":{"d":"93,-80v0,33,74,36,74,8v0,-39,-149,-12,-149,-111v0,-55,47,-83,112,-83v72,0,105,37,111,82r-81,0v3,-28,-61,-29,-61,-8v0,39,149,16,149,110v0,60,-50,89,-121,89v-68,0,-113,-40,-115,-87r81,0","w":259},"T":{"d":"11,-191r0,-68r238,0r0,68r-77,0r0,191r-85,0r0,-191r-76,0","w":259,"k":{"\u00fc":33,"\u00f2":40,"\u00f6":40,"\u00e8":40,"\u00eb":40,"\u00ea":40,"\u00e3":40,"\u00e5":40,"\u00e0":40,"\u00e4":40,"\u00e2":40,"w":33,"y":33,"\u00fd":33,"\u00ff":33,"A":27,"\u00c6":27,"\u00c1":27,"\u00c2":27,"\u00c4":27,"\u00c0":27,"\u00c5":27,"\u00c3":27,",":40,".":40,"c":40,"\u00e7":40,"e":40,"\u00e9":40,"o":40,"\u00f8":40,"\u00f3":40,"\u00f4":40,"\u00f5":40,"-":36,"a":40,"\u00e6":40,"\u00e1":40,"r":33,"s":40,"u":33,"\u00fa":33,"\u00fb":33,"\u00f9":33,":":24,";":24}},"U":{"d":"25,-113r0,-146r85,0r0,155v0,26,5,47,40,47v31,0,40,-19,40,-47r0,-155r85,0r0,146v0,83,-39,120,-125,120v-80,0,-125,-31,-125,-120","w":299},"V":{"d":"96,0r-88,-259r86,0r45,172r47,-172r86,0r-90,259r-86,0","w":280,"k":{"\u00f6":20,"\u00f4":20,"\u00ee":6,"\u00e8":20,"\u00eb":20,"\u00ea":20,"\u00e3":20,"\u00e5":20,"\u00e0":20,"\u00e4":20,"\u00e2":20,"y":6,"\u00fd":6,"\u00ff":6,"A":27,"\u00c6":27,"\u00c1":27,"\u00c2":27,"\u00c4":27,"\u00c0":27,"\u00c5":27,"\u00c3":27,",":46,".":46,"e":20,"\u00e9":20,"o":20,"\u00f8":20,"\u00f3":20,"\u00f2":20,"\u00f5":20,"-":20,"a":20,"\u00e6":20,"\u00e1":20,"r":13,"u":13,"\u00fa":13,"\u00fb":13,"\u00fc":13,"\u00f9":13,":":27,";":27,"i":6,"\u00ed":6,"\u00ef":6,"\u00ec":6}},"W":{"d":"215,-259r32,160r29,-160r82,0r-65,259r-83,0r-31,-150r-29,150r-84,0r-64,-259r82,0r30,160r31,-160r70,0","w":360,"k":{"\u00fc":6,"\u00f6":6,"\u00ea":6,"\u00e4":13,"A":13,"\u00c6":13,"\u00c1":13,"\u00c2":13,"\u00c4":13,"\u00c0":13,"\u00c5":13,"\u00c3":13,",":27,".":27,"e":6,"\u00e9":6,"\u00eb":6,"\u00e8":6,"o":6,"\u00f8":6,"\u00f3":6,"\u00f4":6,"\u00f2":6,"\u00f5":6,"a":13,"\u00e6":13,"\u00e1":13,"\u00e2":13,"\u00e0":13,"\u00e5":13,"\u00e3":13,"r":6,"u":6,"\u00fa":6,"\u00fb":6,"\u00f9":6,":":6,";":6}},"X":{"d":"140,-73r-42,73r-95,0r92,-135r-83,-124r95,0r37,66r37,-66r95,0r-87,124r88,135r-95,0","w":280},"Y":{"d":"183,-96r0,96r-85,0r0,-94r-97,-165r95,0r45,88r44,-88r94,0","w":280,"k":{"\u00fc":27,"\u00f6":33,"v":20,"A":27,"\u00c6":27,"\u00c1":27,"\u00c2":27,"\u00c4":27,"\u00c0":27,"\u00c5":27,"\u00c3":27,",":40,".":40,"e":33,"\u00e9":33,"\u00ea":33,"\u00eb":33,"\u00e8":33,"o":33,"\u00f8":33,"\u00f3":33,"\u00f4":33,"\u00f2":33,"\u00f5":33,"q":33,"-":33,"a":33,"\u00e6":33,"\u00e1":33,"\u00e2":33,"\u00e4":33,"\u00e0":33,"\u00e5":33,"\u00e3":33,"u":27,"\u00fa":27,"\u00fb":27,"\u00f9":27,":":27,";":27,"i":7,"\u00ed":7,"\u00ee":7,"\u00ef":7,"\u00ec":7,"p":27}},"Z":{"d":"247,0r-234,0r0,-62r124,-137r-119,0r0,-60r224,0r0,60r-126,139r131,0r0,60","w":259},"[":{"d":"128,64r-112,0r0,-323r112,0r0,53r-46,0r0,217r46,0r0,53","w":140},"\\":{"d":"-12,-259r46,0r78,291r-46,0","w":100},"]":{"d":"124,-259r0,323r-112,0r0,-53r46,0r0,-217r-46,0r0,-53r112,0","w":140},"^":{"d":"70,-105r-38,-17r65,-135r43,0r65,135r-37,17r-49,-100","w":237},"_":{"d":"0,27r180,0r0,18r-180,0r0,-18","w":180},"a":{"d":"228,0r-77,0r-4,-20v-40,40,-138,37,-138,-31v0,-86,134,-48,134,-83v-6,-23,-46,-21,-50,3r-72,0v0,-40,27,-63,102,-63v131,-1,86,73,95,166v-2,13,5,16,10,28xm110,-37v26,0,35,-21,33,-47v-24,12,-57,7,-57,31v0,9,9,16,24,16"},"b":{"d":"92,-259r0,89v53,-56,137,-8,137,75v0,56,-24,100,-86,100v-31,0,-49,-14,-58,-32r0,27r-68,0r0,-259r75,0xm122,-49v44,-1,44,-86,0,-87v-44,2,-43,84,0,87"},"c":{"d":"224,-73v-5,53,-48,79,-105,78v-61,0,-107,-34,-107,-98v0,-120,197,-141,210,-24r-75,0v0,-16,-12,-27,-28,-27v-48,2,-43,99,0,99v19,0,27,-13,29,-28r76,0"},"d":{"d":"223,0r-67,0r0,-25v-48,67,-144,14,-144,-66v0,-90,82,-135,136,-79r0,-89r75,0r0,259xm116,-49v46,1,47,-86,2,-87v-42,1,-44,85,-2,87"},"e":{"d":"86,-116r68,0v0,-17,-15,-32,-33,-32v-22,0,-35,12,-35,32xm229,-77r-143,0v-2,36,50,51,65,20r72,0v-32,98,-212,78,-212,-36v0,-62,47,-101,107,-101v70,0,112,49,111,117"},"f":{"d":"103,-189r31,0r0,44r-31,0r0,145r-75,0r0,-145r-25,0r0,-44r25,0v-1,-82,40,-78,106,-77r0,47v-24,0,-33,0,-31,30","w":140,"k":{"f":6,"\u00df":6}},"g":{"d":"117,-140v-23,0,-30,18,-30,42v0,19,10,37,30,37v23,0,31,-19,31,-39v0,-21,-7,-40,-31,-40xm97,10v14,23,57,16,51,-24r0,-16v-11,11,-27,21,-54,21v-52,0,-82,-41,-82,-89v0,-46,22,-96,84,-96v23,0,45,12,58,30r0,-25r66,0r0,152v0,57,-7,101,-100,101v-67,0,-94,-26,-98,-54r75,0"},"h":{"d":"17,0r0,-259r75,0r0,94v38,-54,130,-30,130,52r0,113r-74,0r0,-100v0,-19,-6,-35,-27,-35v-51,0,-22,88,-29,135r-75,0"},"i":{"d":"97,0r-75,0r0,-189r75,0r0,189xm22,-213r0,-53r75,0r0,53r-75,0","w":119},"j":{"d":"27,-189r75,0r0,171v0,47,-5,82,-75,82v-10,0,-21,0,-34,-1r0,-53v30,0,34,-2,34,-28r0,-171xm102,-213r-75,0r0,-53r75,0r0,53","w":119},"k":{"d":"108,-67r-14,14r0,53r-75,0r0,-259r75,0r0,128r48,-58r87,0r-70,73r79,116r-90,0"},"l":{"d":"97,0r-75,0r0,-259r75,0r0,259","w":119},"m":{"d":"16,0r0,-189r69,0r0,28v9,-14,33,-33,60,-33v34,0,52,15,61,35v16,-23,37,-35,65,-35v98,0,69,107,73,194r-75,0r0,-96v0,-28,-5,-39,-25,-39v-48,0,-20,89,-27,135r-74,0r0,-96v0,-28,-6,-39,-26,-39v-22,0,-26,19,-26,42r0,93r-75,0","w":360},"n":{"d":"17,0r0,-189r69,0r0,30v36,-61,136,-41,136,46r0,113r-74,0r0,-100v0,-19,-6,-35,-27,-35v-51,0,-22,88,-29,135r-75,0"},"o":{"d":"121,-144v-26,0,-34,27,-34,48v0,36,14,51,33,51v20,0,32,-15,32,-51v0,-28,-12,-48,-31,-48xm13,-92v0,-66,43,-102,107,-102v67,0,107,39,107,98v0,69,-47,101,-107,101v-60,0,-107,-33,-107,-97"},"p":{"d":"16,-189r67,0v1,9,-2,21,1,28v10,-23,37,-33,59,-33v57,0,84,46,84,98v1,97,-87,129,-136,77r0,83r-75,0r0,-253xm120,-52v20,0,32,-17,32,-43v0,-30,-12,-44,-32,-44v-18,0,-31,18,-31,43v0,26,12,44,31,44"},"q":{"d":"118,-51v41,-4,44,-85,0,-87v-45,0,-46,87,0,87xm222,-189r0,253r-75,0r0,-82v-54,53,-137,14,-137,-79v0,-50,29,-97,83,-97v29,0,50,11,61,33r0,-28r68,0"},"r":{"d":"19,0r0,-189r68,0r0,39v11,-33,33,-48,68,-43r0,75v-38,-7,-61,6,-61,53r0,65r-75,0","w":159,"k":{"v":-6,"y":-6,"\u00fd":-6,"\u00ff":-6,"f":-6,"\u00df":-6,",":33,".":33,"c":6,"\u00e7":6,"d":6,"e":6,"\u00e9":6,"\u00ea":6,"\u00eb":6,"\u00e8":6,"g":-6,"m":-6,"n":-6,"\u00f1":-6,"o":6,"\u00f8":6,"\u00f3":6,"\u00f4":6,"\u00f6":6,"\u00f2":6,"\u00f5":6,"q":6,"t":-6,"-":4}},"s":{"d":"132,-135v1,-21,-42,-25,-43,-5v0,26,119,9,119,80v0,39,-32,65,-101,65v-43,0,-91,-13,-95,-64r71,0v0,15,11,24,26,23v12,0,24,-4,24,-17v0,-30,-115,-6,-115,-79v0,-48,50,-62,89,-62v41,0,90,9,94,59r-69,0","w":219},"t":{"d":"142,-54r0,54v-98,5,-110,-2,-110,-67r0,-78r-27,0r0,-44r28,0r0,-58r74,0r0,58r36,0r0,44r-36,0r0,68v-3,22,12,24,35,23","w":159},"u":{"d":"222,-189r0,189r-69,0r0,-28v-39,57,-136,43,-136,-46r0,-115r75,0r0,102v0,26,9,34,27,34v47,-2,23,-90,29,-136r74,0"},"v":{"d":"69,0r-65,-189r74,0r34,120r32,-120r72,0r-63,189r-84,0","w":219,"k":{",":27,".":27}},"w":{"d":"203,-189r29,117r29,-117r71,0r-60,189r-73,0r-30,-111r-26,111r-73,0r-62,-189r73,0r29,117r29,-117r64,0","w":339,"k":{",":20,".":20}},"x":{"d":"10,0r67,-99r-62,-90r83,0r24,48r25,-48r82,0r-64,90r65,99r-83,0r-27,-54r-27,54r-83,0"},"y":{"d":"77,-189r34,117r32,-117r72,0r-60,176v-17,70,-48,82,-128,76r0,-53v25,3,48,2,37,-27r-62,-172r75,0","w":219,"k":{",":33,".":33}},"z":{"d":"191,0r-182,0r0,-50r86,-84r-78,0r0,-55r170,0r0,53r-83,81r87,0r0,55","w":200},"{":{"d":"76,-100v62,7,-6,144,56,164v-130,8,-96,-38,-96,-121v0,-25,-5,-37,-27,-43v42,-8,27,-70,27,-115v0,-44,14,-57,96,-50v-63,12,11,144,-56,165","w":140},"|":{"d":"28,-270r43,0r0,360r-43,0r0,-360","w":100},"}":{"d":"131,-102v-42,8,-27,70,-27,115v0,44,-14,57,-96,50v63,-12,-11,-144,56,-165v-62,-7,5,-144,-56,-164v130,-8,96,38,96,121v0,25,5,37,27,43","w":140},"~":{"d":"82,-126v22,-1,55,22,75,23v15,0,22,-15,29,-26r24,26v-12,19,-25,42,-52,42v-29,1,-51,-24,-76,-24v-17,0,-24,18,-31,30r-23,-27v11,-21,28,-44,54,-44","w":237},"\u00a1":{"d":"98,69r-76,0v-3,-64,9,-111,18,-163r40,0v8,52,22,99,18,163xm97,-119r-74,0r0,-70r74,0r0,70","w":119},"\u00a2":{"d":"96,-55r39,-87v-47,-19,-63,50,-39,87xm109,5r-20,48r-49,0r25,-58v-34,-15,-52,-51,-52,-88v1,-83,61,-108,134,-99r18,-44r48,0r-25,58v22,14,32,35,36,60r-72,0r-34,75v23,1,33,-11,36,-31r72,0v-7,58,-45,80,-117,79"},"\u00a3":{"d":"176,4v-48,-1,-95,-40,-134,-4r-29,-57v22,-15,35,-30,31,-58r-32,0r0,-32r21,0v-5,-9,-12,-26,-12,-37v0,-58,52,-78,102,-78v61,0,103,25,104,91r-68,0v-2,-21,-10,-34,-33,-34v-36,-2,-29,40,-14,58r38,0r0,32r-33,0v-2,17,-14,32,-26,42v39,-9,86,28,112,-8r29,60v-12,12,-39,25,-56,25"},"\u00a5":{"d":"121,-171r38,-88r81,0r-43,86r43,0r0,34r-62,0r-17,35r79,0r0,34r-83,0r0,70r-75,0r0,-70r-82,0r0,-34r80,0r-18,-35r-62,0r0,-34r44,0r-44,-86r83,0"},"\u00a7":{"d":"77,-112v7,25,47,27,67,40v19,0,25,-28,8,-35r-56,-24v-9,3,-19,9,-19,19xm93,-8v-5,30,54,40,54,11v0,-37,-121,-17,-121,-106v0,-26,17,-45,37,-52v-18,-14,-24,-32,-24,-50v0,-44,41,-61,82,-61v44,-1,75,25,80,69r-57,0v6,-29,-48,-38,-48,-11v0,37,117,22,117,106v0,27,-14,45,-35,54v53,38,14,110,-56,110v-45,0,-83,-20,-85,-70r56,0"},"\u00a4":{"d":"27,-49r16,-16v-18,-28,-17,-65,0,-93r-16,-16r29,-29r16,16v28,-18,66,-19,94,0r16,-16r28,29r-16,16v19,27,18,66,0,93r16,16r-28,28r-16,-16v-27,19,-66,18,-94,0r-16,16xm119,-67v25,0,44,-22,44,-45v0,-23,-19,-44,-44,-44v-25,0,-44,21,-44,44v0,23,19,45,44,45","w":237},"'":{"d":"71,-162r-43,0r0,-97r43,0r0,97","w":100},"\u00ab":{"d":"109,-23r-66,-43r0,-52r66,-43r0,47r-36,23r36,22r0,46xm197,-23r-66,-43r0,-52r66,-43r0,47r-36,23r36,22r0,46"},"\u00b7":{"d":"60,-45v-26,0,-47,-21,-47,-47v0,-26,21,-47,47,-47v26,0,47,21,47,47v0,26,-21,47,-47,47","w":119},"\u00b6":{"d":"148,-200r0,264r-59,0r0,-198v-41,0,-70,-22,-70,-61v0,-99,145,-54,236,-64r0,59r-18,0r0,264r-60,0r0,-264r-29,0","w":306},"\u00bb":{"d":"131,-161r66,42r0,53r-66,43r0,-47r36,-24r-36,-21r0,-46xm43,-161r66,42r0,53r-66,43r0,-47r37,-24r-37,-21r0,-46"},"\u00bf":{"d":"81,-91r66,0v6,84,-60,58,-61,94v0,15,13,21,26,21v17,0,24,-12,24,-30r74,0v3,109,-199,112,-199,10v0,-63,77,-49,70,-95xm150,-118r-74,0r0,-71r74,0r0,71","w":219},"`":{"d":"-13,-266r75,0r36,54r-49,0","w":119},"\u00b4":{"d":"24,-212r36,-54r75,0r-62,54r-49,0","w":119},"\u00af":{"d":"129,-223r-136,0r0,-32r136,0r0,32","w":119},"\u00a8":{"d":"72,-215r0,-46r60,0r0,46r-60,0xm50,-215r-60,0r0,-46r60,0r0,46","w":119},"\u00b8":{"d":"10,73r8,-16v14,4,32,12,45,3v12,-8,-1,-30,-26,-18r-9,-9r20,-33r21,0r-14,23v29,-7,54,7,47,32v-10,36,-60,33,-92,18","w":119},"\u00c6":{"d":"142,-199r-31,108r54,0r0,-108r-23,0xm165,0r0,-37r-70,0r-11,37r-83,0r86,-259r261,0r0,60r-105,0r0,37r87,0r0,61r-87,0r0,41r110,0r0,60r-188,0","w":360},"\u00aa":{"d":"8,-228v2,-31,28,-37,67,-38v85,0,57,41,62,100v-1,10,5,9,6,16r-50,0r-2,-12v-26,24,-90,23,-90,-19v0,-51,87,-28,87,-49v-4,-13,-31,-13,-33,2r-47,0xm49,-181v12,19,46,5,39,-19v-11,5,-39,6,-39,19","w":144},"\u00d8":{"d":"104,-91r74,-102v-8,-6,-17,-10,-29,-10v-52,3,-56,66,-45,112xm197,-164r-74,100v55,30,93,-35,74,-100xm270,-264r-24,33v23,20,40,61,40,100v0,116,-113,165,-204,123r-25,35r-27,-17r26,-36v-26,-22,-42,-55,-42,-106v0,-107,112,-165,205,-117r24,-33","w":299},"\u00ba":{"d":"72,-236v-17,0,-21,16,-21,29v0,21,9,30,21,30v13,0,21,-9,21,-30v0,-17,-8,-29,-21,-29xm2,-205v0,-39,29,-61,70,-61v44,0,70,24,70,59v0,41,-31,60,-70,60v-39,0,-70,-19,-70,-58","w":144},"\u00e6":{"d":"146,-84v-17,12,-57,3,-57,29v0,12,10,18,20,18v29,0,39,-17,37,-47xm208,-116r65,0v0,-18,-11,-32,-32,-32v-21,0,-31,14,-33,32xm339,-56v-14,44,-46,61,-103,61v-30,0,-51,-12,-62,-26v-50,40,-160,40,-160,-32v0,-56,59,-57,107,-63v12,-2,26,-6,26,-16v0,-14,-11,-16,-28,-16v-8,0,-23,1,-25,18r-71,0v4,-69,112,-81,163,-44v16,-15,39,-20,60,-20v69,0,102,58,98,117r-136,0v-10,37,54,49,63,21r68,0","w":360},"\u00f8":{"d":"91,-67r45,-72v-39,-21,-60,32,-45,72xm149,-118r-44,69v36,20,55,-28,44,-69xm199,-197r-13,21v16,10,41,33,41,80v1,86,-76,116,-152,94r-17,28r-19,-10r17,-27v-27,-15,-43,-42,-43,-81v0,-83,78,-119,153,-94r15,-23"},"\u00df":{"d":"112,-122r0,-41v18,0,28,-8,28,-26v0,-15,-7,-27,-24,-27v-24,0,-24,18,-24,37r0,179r-75,0r0,-176v0,-65,39,-90,100,-90v54,0,94,23,94,67v0,24,-10,41,-32,51v34,13,47,34,47,70v-1,65,-53,93,-115,80r0,-46v30,5,40,-9,40,-37v0,-27,-10,-42,-39,-41"},"\u00b9":{"d":"116,-266r0,154r-49,0r0,-89r-38,0r0,-30v26,0,44,-9,49,-35r38,0","w":144},"\u00ac":{"d":"168,-43r0,-64r-140,0r0,-41r182,0r0,105r-42,0","w":237},"\u00b5":{"d":"222,0r-69,0r0,-28v-19,26,-37,33,-61,32r0,60r-75,0r0,-253r75,0r0,102v0,26,9,34,27,34v47,-2,23,-90,29,-136r74,0r0,189"},"\u00d0":{"d":"108,-199r0,27r38,0r0,72r-38,0r0,40v52,4,80,-14,80,-70v1,-61,-25,-71,-80,-69xm23,-172r0,-87r114,0v84,0,136,39,136,124v0,98,-55,135,-138,135r-112,0r0,-100r-23,0r0,-72r23,0","w":280},"\u00bd":{"d":"101,-266r0,154r-48,0r0,-89r-39,0r0,-30v26,0,45,-9,50,-35r37,0xm346,-105v0,40,-52,50,-77,68r76,0r0,37r-139,0v-5,-55,91,-71,91,-105v0,-10,-10,-16,-20,-16v-19,0,-24,15,-24,30r-43,0v1,-45,26,-63,69,-63v34,0,67,13,67,49xm105,5r-36,0r146,-262r35,0","w":360},"\u00b1":{"d":"98,-159r0,-58r42,0r0,58r70,0r0,42r-70,0r0,60r-42,0r0,-60r-70,0r0,-42r70,0xm28,0r0,-42r182,0r0,42r-182,0","w":237},"\u00de":{"d":"105,-105v33,0,72,6,70,-30v-2,-33,-39,-28,-70,-28r0,58xm105,0r-84,0r0,-259r84,0r0,36v86,-7,151,20,151,87v0,71,-63,99,-151,91r0,45","w":259},"\u00bc":{"d":"203,-32r0,-36r77,-84r45,0r0,87r21,0r0,33r-21,0r0,32r-46,0r0,-32r-76,0xm279,-112r-40,47r40,0r0,-47xm101,-266r0,154r-48,0r0,-89r-39,0r0,-30v26,0,45,-9,50,-35r37,0xm119,5r-35,0r145,-262r35,0","w":360},"\u00f7":{"d":"210,-71r-182,0r0,-42r182,0r0,42xm140,-3r-42,0r0,-41r42,0r0,41xm140,-140r-42,0r0,-42r42,0r0,42","w":237},"\u00a6":{"d":"28,-243r43,0r0,126r-43,0r0,-126xm28,-63r43,0r0,126r-43,0r0,-126","w":100},"\u00b0":{"d":"126,-203v0,30,-24,54,-54,54v-30,0,-54,-24,-54,-54v0,-30,24,-54,54,-54v30,0,54,24,54,54xm98,-202v0,-14,-12,-27,-27,-27v-14,0,-25,13,-25,27v0,15,11,24,26,24v14,0,26,-9,26,-24","w":144},"\u00fe":{"d":"16,-266r67,0r1,105v10,-23,37,-33,59,-33v57,0,84,46,84,98v1,97,-87,129,-136,77r0,83r-75,0r0,-330xm120,-52v20,0,32,-17,32,-43v0,-30,-12,-44,-32,-44v-18,0,-31,18,-31,43v0,26,12,44,31,44"},"\u00be":{"d":"203,-32r0,-36r77,-84r45,0r0,87r21,0r0,33r-21,0r0,32r-46,0r0,-32r-76,0xm279,-112r-40,47r40,0r0,-47xm134,5r-36,0r145,-262r36,0xm60,-156v0,14,8,23,24,22v14,0,21,-8,21,-17v0,-17,-18,-17,-30,-17r0,-26v12,1,29,-2,29,-16v0,-21,-41,-17,-40,3r-44,0v1,-35,31,-50,66,-50v57,0,86,47,45,72v15,5,23,17,23,32v0,35,-29,53,-73,53v-39,0,-67,-18,-67,-56r46,0","w":360},"\u00b2":{"d":"142,-217v0,40,-53,50,-77,69r76,0r0,36r-138,0v-6,-55,91,-71,90,-105v-10,-29,-49,-12,-44,14r-43,0v1,-45,27,-63,70,-63v34,0,66,13,66,49","w":144},"\u00ae":{"d":"144,7v-76,0,-136,-62,-136,-137v0,-75,60,-136,136,-136v75,0,136,61,136,136v0,75,-61,137,-136,137xm144,-26v58,0,100,-43,100,-104v0,-61,-42,-104,-100,-104v-59,0,-100,43,-100,104v0,61,41,104,100,104xm176,-118r36,63r-36,0r-33,-63r-24,0r0,63r-31,0r0,-148v54,3,128,-16,128,45v0,27,-14,38,-40,40xm119,-140v29,-2,71,10,69,-22v-2,-30,-41,-14,-69,-18r0,40","w":288},"\u00f0":{"d":"121,-144v-26,0,-34,27,-34,48v0,36,14,51,33,51v20,0,32,-15,32,-51v0,-28,-12,-48,-31,-48xm132,-213r-26,11r-16,-20r26,-11v-6,-6,-13,-10,-19,-14r44,-19v6,4,12,9,18,15r25,-10r17,19r-24,10v27,33,50,81,50,136v0,69,-47,101,-107,101v-60,0,-107,-33,-107,-97v-1,-78,68,-122,132,-87v-3,-14,-8,-25,-13,-34"},"\u00d7":{"d":"119,-62r-61,61r-30,-29r62,-61r-62,-61r30,-30r61,61r61,-61r29,30r-61,61r61,61r-29,29","w":237},"\u00b3":{"d":"48,-165v0,15,8,23,24,23v14,0,21,-9,21,-18v0,-17,-18,-17,-30,-17r0,-26v12,1,29,-2,29,-16v0,-20,-41,-17,-41,3r-43,0v1,-35,31,-50,66,-50v58,0,86,48,44,73v15,5,24,16,24,31v0,35,-29,54,-73,54v-39,0,-67,-19,-67,-57r46,0","w":144},"\u00a9":{"d":"144,7v-76,0,-136,-61,-136,-137v0,-76,60,-136,136,-136v76,0,136,60,136,136v0,76,-60,137,-136,137xm144,-26v58,0,100,-43,100,-104v0,-61,-42,-104,-100,-104v-59,0,-100,43,-100,104v0,61,41,104,100,104xm213,-158r-30,0v-19,-49,-75,-19,-75,27v0,26,16,53,42,53v16,0,32,-10,33,-27r30,0v-4,33,-31,53,-63,53v-46,0,-76,-35,-76,-79v0,-85,126,-110,139,-27","w":288},"\u00c1":{"d":"167,-88r-28,-93r-26,93r54,0xm87,0r-83,0r93,-259r86,0r93,259r-84,0r-11,-34r-84,0xm104,-283r36,-53r75,0r-62,53r-49,0","w":280},"\u00c2":{"d":"167,-88r-28,-93r-26,93r54,0xm87,0r-83,0r93,-259r86,0r93,259r-84,0r-11,-34r-84,0xm68,-283r44,-53r59,0r44,53r-54,0r-20,-27r-20,27r-53,0","w":280},"\u00c4":{"d":"167,-88r-28,-93r-26,93r54,0xm87,0r-83,0r93,-259r86,0r93,259r-84,0r-11,-34r-84,0xm152,-285r0,-47r61,0r0,47r-61,0xm131,-285r-61,0r0,-47r61,0r0,47","w":280},"\u00c0":{"d":"167,-88r-28,-93r-26,93r54,0xm87,0r-83,0r93,-259r86,0r93,259r-84,0r-11,-34r-84,0xm67,-336r75,0r36,53r-49,0","w":280},"\u00c5":{"d":"167,-88r-28,-93r-26,93r54,0xm87,0r-83,0r93,-259r86,0r93,259r-84,0r-11,-34r-84,0xm140,-284v-22,0,-40,-18,-40,-40v0,-22,18,-41,40,-41v22,0,41,19,41,41v0,22,-19,40,-41,40xm140,-343v-10,0,-19,9,-19,19v0,10,9,18,19,18v10,0,19,-8,19,-18v0,-10,-9,-19,-19,-19","w":280},"\u00c3":{"d":"167,-88r-28,-93r-26,93r54,0xm87,0r-83,0r93,-259r86,0r93,259r-84,0r-11,-34r-84,0xm115,-334v22,-1,60,28,68,1r29,0v-1,41,-42,58,-80,39v-25,-13,-29,0,-33,11r-28,0v3,-24,17,-51,44,-51","w":280},"\u00c7":{"d":"267,-160r-80,0v-3,-27,-19,-43,-46,-43v-30,0,-48,26,-48,76v0,36,8,70,51,70v27,0,41,-18,44,-43r81,0v-8,67,-56,107,-124,107r-10,16v29,-7,54,8,48,32v-10,37,-60,33,-93,18r8,-16v14,4,32,12,45,3v12,-9,0,-30,-25,-18r-9,-9r16,-28v-73,-7,-117,-58,-117,-135v0,-84,57,-136,129,-136v79,0,123,39,130,106","w":280},"\u00c9":{"d":"244,0r-217,0r0,-259r212,0r0,60r-127,0r0,37r107,0r0,61r-107,0r0,41r132,0r0,60xm94,-283r36,-53r75,0r-62,53r-49,0","w":259},"\u00ca":{"d":"244,0r-217,0r0,-259r212,0r0,60r-127,0r0,37r107,0r0,61r-107,0r0,41r132,0r0,60xm58,-283r44,-53r59,0r43,53r-53,0r-20,-27r-20,27r-53,0","w":259},"\u00cb":{"d":"244,0r-217,0r0,-259r212,0r0,60r-127,0r0,37r107,0r0,61r-107,0r0,41r132,0r0,60xm142,-285r0,-47r61,0r0,47r-61,0xm121,-285r-61,0r0,-47r61,0r0,47","w":259},"\u00c8":{"d":"244,0r-217,0r0,-259r212,0r0,60r-127,0r0,37r107,0r0,61r-107,0r0,41r132,0r0,60xm57,-336r75,0r36,53r-49,0","w":259},"\u00cd":{"d":"112,0r-85,0r0,-259r85,0r0,259xm34,-283r36,-53r75,0r-62,53r-49,0","w":140},"\u00ce":{"d":"112,0r-85,0r0,-259r85,0r0,259xm-2,-283r43,-53r59,0r44,53r-53,0r-20,-27r-20,27r-53,0","w":140},"\u00cf":{"d":"112,0r-85,0r0,-259r85,0r0,259xm82,-285r0,-47r61,0r0,47r-61,0xm60,-285r-60,0r0,-47r60,0r0,47","w":140},"\u00cc":{"d":"112,0r-85,0r0,-259r85,0r0,259xm-3,-336r75,0r36,53r-49,0","w":140},"\u00d1":{"d":"104,-259r93,141r-3,-141r81,0r0,259r-80,0r-92,-141r3,141r-81,0r0,-259r79,0xm125,-334v22,-1,60,28,68,1r28,0v-1,41,-42,58,-80,39v-25,-13,-28,0,-32,11r-29,0v3,-24,18,-51,45,-51","w":299},"\u00d3":{"d":"149,-203v-39,0,-50,39,-50,72v0,33,10,74,51,74v37,0,51,-31,51,-74v0,-35,-15,-72,-52,-72xm150,-266v93,0,136,67,136,135v0,88,-59,138,-136,138v-81,0,-136,-51,-136,-139v0,-81,55,-134,136,-134xm114,-283r36,-53r75,0r-62,53r-49,0","w":299},"\u00d4":{"d":"149,-203v-39,0,-50,39,-50,72v0,33,10,74,51,74v37,0,51,-31,51,-74v0,-35,-15,-72,-52,-72xm150,-266v93,0,136,67,136,135v0,88,-59,138,-136,138v-81,0,-136,-51,-136,-139v0,-81,55,-134,136,-134xm78,-283r43,-53r59,0r44,53r-53,0r-20,-27r-20,27r-53,0","w":299},"\u00d6":{"d":"149,-203v-39,0,-50,39,-50,72v0,33,10,74,51,74v37,0,51,-31,51,-74v0,-35,-15,-72,-52,-72xm150,-266v93,0,136,67,136,135v0,88,-59,138,-136,138v-81,0,-136,-51,-136,-139v0,-81,55,-134,136,-134xm162,-285r0,-47r60,0r0,47r-60,0xm140,-285r-60,0r0,-47r60,0r0,47","w":299},"\u00d2":{"d":"149,-203v-39,0,-50,39,-50,72v0,33,10,74,51,74v37,0,51,-31,51,-74v0,-35,-15,-72,-52,-72xm150,-266v93,0,136,67,136,135v0,88,-59,138,-136,138v-81,0,-136,-51,-136,-139v0,-81,55,-134,136,-134xm77,-336r75,0r36,53r-49,0","w":299},"\u00d5":{"d":"149,-203v-39,0,-50,39,-50,72v0,33,10,74,51,74v37,0,51,-31,51,-74v0,-35,-15,-72,-52,-72xm150,-266v93,0,136,67,136,135v0,88,-59,138,-136,138v-81,0,-136,-51,-136,-139v0,-81,55,-134,136,-134xm125,-334v22,-1,60,28,68,1r28,0v-1,41,-42,58,-80,39v-25,-13,-28,0,-32,11r-29,0v3,-24,18,-51,45,-51","w":299},"\u00da":{"d":"25,-113r0,-146r85,0r0,155v0,26,5,47,40,47v31,0,40,-19,40,-47r0,-155r85,0r0,146v0,83,-39,120,-125,120v-80,0,-125,-31,-125,-120xm114,-283r36,-53r75,0r-62,53r-49,0","w":299},"\u00db":{"d":"25,-113r0,-146r85,0r0,155v0,26,5,47,40,47v31,0,40,-19,40,-47r0,-155r85,0r0,146v0,83,-39,120,-125,120v-80,0,-125,-31,-125,-120xm78,-283r43,-53r59,0r44,53r-53,0r-20,-27r-20,27r-53,0","w":299},"\u00dc":{"d":"25,-113r0,-146r85,0r0,155v0,26,5,47,40,47v31,0,40,-19,40,-47r0,-155r85,0r0,146v0,83,-39,120,-125,120v-80,0,-125,-31,-125,-120xm162,-285r0,-47r60,0r0,47r-60,0xm140,-285r-60,0r0,-47r60,0r0,47","w":299},"\u00d9":{"d":"25,-113r0,-146r85,0r0,155v0,26,5,47,40,47v31,0,40,-19,40,-47r0,-155r85,0r0,146v0,83,-39,120,-125,120v-80,0,-125,-31,-125,-120xm77,-336r75,0r36,53r-49,0","w":299},"\u00dd":{"d":"183,-96r0,96r-85,0r0,-94r-97,-165r95,0r45,88r44,-88r94,0xm104,-283r36,-53r75,0r-62,53r-49,0","w":280,"k":{"v":20,"A":27,"\u00c6":27,"\u00c1":27,"\u00c2":27,"\u00c4":27,"\u00c0":27,"\u00c5":27,"\u00c3":27,",":40,".":40,"e":33,"\u00e9":33,"\u00ea":33,"\u00eb":33,"\u00e8":33,"o":33,"\u00f8":33,"\u00f3":33,"\u00f4":33,"\u00f6":33,"\u00f2":33,"\u00f5":33,"q":33,"-":33,"a":33,"\u00e6":33,"\u00e1":33,"\u00e2":33,"\u00e4":33,"\u00e0":33,"\u00e5":33,"\u00e3":33,"u":27,"\u00fa":27,"\u00fb":27,"\u00fc":27,"\u00f9":27,":":27,";":27,"i":7,"\u00ed":7,"\u00ee":7,"\u00ef":7,"\u00ec":7,"p":27}},"\u00e1":{"d":"228,0r-77,0r-4,-20v-40,40,-138,37,-138,-31v0,-86,134,-48,134,-83v-6,-23,-46,-21,-50,3r-72,0v0,-40,27,-63,102,-63v131,-1,86,73,95,166v-2,13,5,16,10,28xm110,-37v26,0,35,-21,33,-47v-24,12,-57,7,-57,31v0,9,9,16,24,16xm84,-212r36,-54r75,0r-62,54r-49,0"},"\u00e2":{"d":"228,0r-77,0r-4,-20v-40,40,-138,37,-138,-31v0,-86,134,-48,134,-83v-6,-23,-46,-21,-50,3r-72,0v0,-40,27,-63,102,-63v131,-1,86,73,95,166v-2,13,5,16,10,28xm110,-37v26,0,35,-21,33,-47v-24,12,-57,7,-57,31v0,9,9,16,24,16xm48,-212r43,-54r59,0r44,54r-53,0r-20,-28r-20,28r-53,0"},"\u00e4":{"d":"228,0r-77,0r-4,-20v-40,40,-138,37,-138,-31v0,-86,134,-48,134,-83v-6,-23,-46,-21,-50,3r-72,0v0,-40,27,-63,102,-63v131,-1,86,73,95,166v-2,13,5,16,10,28xm110,-37v26,0,35,-21,33,-47v-24,12,-57,7,-57,31v0,9,9,16,24,16xm132,-215r0,-46r61,0r0,46r-61,0xm111,-215r-61,0r0,-46r61,0r0,46"},"\u00e0":{"d":"228,0r-77,0r-4,-20v-40,40,-138,37,-138,-31v0,-86,134,-48,134,-83v-6,-23,-46,-21,-50,3r-72,0v0,-40,27,-63,102,-63v131,-1,86,73,95,166v-2,13,5,16,10,28xm110,-37v26,0,35,-21,33,-47v-24,12,-57,7,-57,31v0,9,9,16,24,16xm47,-266r75,0r36,54r-49,0"},"\u00e5":{"d":"228,0r-77,0r-4,-20v-40,40,-138,37,-138,-31v0,-86,134,-48,134,-83v-6,-23,-46,-21,-50,3r-72,0v0,-40,27,-63,102,-63v131,-1,86,73,95,166v-2,13,5,16,10,28xm110,-37v26,0,35,-21,33,-47v-24,12,-57,7,-57,31v0,9,9,16,24,16xm120,-213v-22,0,-40,-19,-40,-41v0,-22,18,-40,40,-40v22,0,41,18,41,40v0,22,-19,41,-41,41xm120,-273v-10,0,-19,9,-19,19v0,10,9,19,19,19v10,0,19,-9,19,-19v0,-10,-9,-19,-19,-19"},"\u00e3":{"d":"228,0r-77,0r-4,-20v-40,40,-138,37,-138,-31v0,-86,134,-48,134,-83v-6,-23,-46,-21,-50,3r-72,0v0,-40,27,-63,102,-63v131,-1,86,73,95,166v-2,13,5,16,10,28xm110,-37v26,0,35,-21,33,-47v-24,12,-57,7,-57,31v0,9,9,16,24,16xm95,-263v22,0,60,27,68,1r29,0v-1,41,-42,57,-80,39v-25,-12,-29,0,-33,11r-29,0v3,-24,18,-51,45,-51"},"\u00e7":{"d":"147,-117v0,-16,-12,-27,-28,-27v-48,2,-43,99,0,99v19,0,27,-13,29,-28r76,0v-6,55,-49,76,-98,78r-11,18v29,-7,54,7,47,32v-10,36,-60,33,-92,18r8,-16v14,4,32,12,45,3v12,-8,0,-30,-25,-18r-9,-9r17,-29v-54,-4,-94,-38,-94,-97v0,-120,197,-141,210,-24r-75,0"},"\u00e9":{"d":"86,-116r68,0v0,-17,-15,-32,-33,-32v-22,0,-35,12,-35,32xm229,-77r-143,0v-2,36,50,51,65,20r72,0v-32,98,-212,78,-212,-36v0,-62,47,-101,107,-101v70,0,112,49,111,117xm84,-212r36,-54r75,0r-62,54r-49,0"},"\u00ea":{"d":"86,-116r68,0v0,-17,-15,-32,-33,-32v-22,0,-35,12,-35,32xm229,-77r-143,0v-2,36,50,51,65,20r72,0v-32,98,-212,78,-212,-36v0,-62,47,-101,107,-101v70,0,112,49,111,117xm48,-212r43,-54r59,0r44,54r-53,0r-20,-28r-20,28r-53,0"},"\u00eb":{"d":"86,-116r68,0v0,-17,-15,-32,-33,-32v-22,0,-35,12,-35,32xm229,-77r-143,0v-2,36,50,51,65,20r72,0v-32,98,-212,78,-212,-36v0,-62,47,-101,107,-101v70,0,112,49,111,117xm132,-215r0,-46r61,0r0,46r-61,0xm111,-215r-61,0r0,-46r61,0r0,46"},"\u00e8":{"d":"86,-116r68,0v0,-17,-15,-32,-33,-32v-22,0,-35,12,-35,32xm229,-77r-143,0v-2,36,50,51,65,20r72,0v-32,98,-212,78,-212,-36v0,-62,47,-101,107,-101v70,0,112,49,111,117xm47,-266r75,0r36,54r-49,0"},"\u00ed":{"d":"97,0r-75,0r0,-189r75,0r0,189xm24,-212r36,-54r75,0r-62,54r-49,0","w":119},"\u00ee":{"d":"97,0r-75,0r0,-189r75,0r0,189xm-12,-212r43,-54r59,0r44,54r-53,0r-20,-28r-20,28r-53,0","w":119},"\u00ef":{"d":"97,0r-75,0r0,-189r75,0r0,189xm72,-215r0,-46r60,0r0,46r-60,0xm50,-215r-60,0r0,-46r60,0r0,46","w":119},"\u00ec":{"d":"97,0r-75,0r0,-189r75,0r0,189xm-13,-266r75,0r36,54r-49,0","w":119},"\u00f1":{"d":"17,0r0,-189r69,0r0,30v36,-61,136,-41,136,46r0,113r-74,0r0,-100v0,-19,-6,-35,-27,-35v-51,0,-22,88,-29,135r-75,0xm95,-263v22,0,60,27,68,1r29,0v-1,41,-42,57,-80,39v-25,-12,-29,0,-33,11r-29,0v3,-24,18,-51,45,-51"},"\u00f3":{"d":"121,-144v-26,0,-34,27,-34,48v0,36,14,51,33,51v20,0,32,-15,32,-51v0,-28,-12,-48,-31,-48xm13,-92v0,-66,43,-102,107,-102v67,0,107,39,107,98v0,69,-47,101,-107,101v-60,0,-107,-33,-107,-97xm84,-212r36,-54r75,0r-62,54r-49,0"},"\u00f4":{"d":"121,-144v-26,0,-34,27,-34,48v0,36,14,51,33,51v20,0,32,-15,32,-51v0,-28,-12,-48,-31,-48xm13,-92v0,-66,43,-102,107,-102v67,0,107,39,107,98v0,69,-47,101,-107,101v-60,0,-107,-33,-107,-97xm48,-212r43,-54r59,0r44,54r-53,0r-20,-28r-20,28r-53,0"},"\u00f6":{"d":"121,-144v-26,0,-34,27,-34,48v0,36,14,51,33,51v20,0,32,-15,32,-51v0,-28,-12,-48,-31,-48xm13,-92v0,-66,43,-102,107,-102v67,0,107,39,107,98v0,69,-47,101,-107,101v-60,0,-107,-33,-107,-97xm132,-215r0,-46r61,0r0,46r-61,0xm111,-215r-61,0r0,-46r61,0r0,46"},"\u00f2":{"d":"121,-144v-26,0,-34,27,-34,48v0,36,14,51,33,51v20,0,32,-15,32,-51v0,-28,-12,-48,-31,-48xm13,-92v0,-66,43,-102,107,-102v67,0,107,39,107,98v0,69,-47,101,-107,101v-60,0,-107,-33,-107,-97xm47,-266r75,0r36,54r-49,0"},"\u00f5":{"d":"121,-144v-26,0,-34,27,-34,48v0,36,14,51,33,51v20,0,32,-15,32,-51v0,-28,-12,-48,-31,-48xm13,-92v0,-66,43,-102,107,-102v67,0,107,39,107,98v0,69,-47,101,-107,101v-60,0,-107,-33,-107,-97xm95,-263v22,0,60,27,68,1r29,0v-1,41,-42,57,-80,39v-25,-12,-29,0,-33,11r-29,0v3,-24,18,-51,45,-51"},"\u00fa":{"d":"222,-189r0,189r-69,0r0,-28v-39,57,-136,43,-136,-46r0,-115r75,0r0,102v0,26,9,34,27,34v47,-2,23,-90,29,-136r74,0xm84,-212r36,-54r75,0r-62,54r-49,0"},"\u00fb":{"d":"222,-189r0,189r-69,0r0,-28v-39,57,-136,43,-136,-46r0,-115r75,0r0,102v0,26,9,34,27,34v47,-2,23,-90,29,-136r74,0xm48,-212r43,-54r59,0r44,54r-53,0r-20,-28r-20,28r-53,0"},"\u00fc":{"d":"222,-189r0,189r-69,0r0,-28v-39,57,-136,43,-136,-46r0,-115r75,0r0,102v0,26,9,34,27,34v47,-2,23,-90,29,-136r74,0xm132,-215r0,-46r61,0r0,46r-61,0xm111,-215r-61,0r0,-46r61,0r0,46"},"\u00f9":{"d":"222,-189r0,189r-69,0r0,-28v-39,57,-136,43,-136,-46r0,-115r75,0r0,102v0,26,9,34,27,34v47,-2,23,-90,29,-136r74,0xm47,-266r75,0r36,54r-49,0"},"\u00fd":{"d":"77,-189r34,117r32,-117r72,0r-60,176v-17,70,-48,82,-128,76r0,-53v25,3,48,2,37,-27r-62,-172r75,0xm74,-212r36,-54r75,0r-62,54r-49,0","w":219,"k":{",":33,".":33}},"\u00ff":{"d":"77,-189r34,117r32,-117r72,0r-60,176v-17,70,-48,82,-128,76r0,-53v25,3,48,2,37,-27r-62,-172r75,0xm122,-215r0,-46r61,0r0,46r-61,0xm100,-215r-60,0r0,-46r60,0r0,46","w":219,"k":{",":33,".":33}},"\u00a0":{"w":119},"\u00ad":{"d":"108,-59r-96,0r0,-66r96,0r0,66","w":119}}});

if (!window.XMLHttpRequest) {}
else Cufon.replace('.listing-top-title, .listing-top-title-big',{hover: true, fontFamily: 'Helvetica LT Std'});

function recordOutboundLink(link, category, action, title) 
{
    _gat._getTrackerByName()._trackEvent(category, action, title);
    setTimeout('document.location = "' + link.href + '"', 100);
}

jQuery.autocomplete = function(input, options) {
	// Create a link to self
	var me = this;

	// Create jQuery object for input element
	var $input = $(input).attr("autocomplete", "off");

	// Apply inputClass if necessary
	if (options.inputClass) $input.addClass(options.inputClass);

	// Create results
	var results = document.createElement("div");
	// Create jQuery object for results
	var $results = $(results);
	$results.hide().addClass(options.resultsClass).css("position", "absolute");
	if( options.width > 0 ) $results.css("width", options.width);

	// Add to body element
	$("body").append(results);

	input.autocompleter = me;

	var timeout = null;
	var prev = "";
	var active = -1;
	var cache = {};
	var keyb = false;
	var hasFocus = false;
	var lastKeyPressCode = null;

	// flush cache
	function flushCache(){
		cache = {};
		cache.data = {};
		cache.length = 0;
	};

	// flush cache
	flushCache();

	// if there is a data array supplied
	if( options.data != null ){
		var sFirstChar = "", stMatchSets = {}, row = [];

		// no url was specified, we need to adjust the cache length to make sure it fits the local data store
		if( typeof options.url != "string" ) options.cacheLength = 1;

		// loop through the array and create a lookup structure
		for( var i=0; i < options.data.length; i++ ){
			// if row is a string, make an array otherwise just reference the array
			row = ((typeof options.data[i] == "string") ? [options.data[i]] : options.data[i]);

			// if the length is zero, don't add to list
			if( row[0].length > 0 ){
				// get the first character
				sFirstChar = row[0].substring(0, 1).toLowerCase();
				// if no lookup array for this character exists, look it up now
				if( !stMatchSets[sFirstChar] ) stMatchSets[sFirstChar] = [];
				// if the match is a string
				stMatchSets[sFirstChar].push(row);
			}
		}

		// add the data items to the cache
		for( var k in stMatchSets ){
			// increase the cache size
			options.cacheLength++;
			// add to the cache
			addToCache(k, stMatchSets[k]);
		}
	}

	$input
	.keydown(function(e) {
		// track last key pressed
		lastKeyPressCode = e.keyCode;
		switch(e.keyCode) {
			case 38: // up
				e.preventDefault();
				moveSelect(-1);
				break;
			case 40: // down
				e.preventDefault();
				moveSelect(1);
				break;
			case 9:  // tab
			case 13: // return
				if( selectCurrent() ){
					// make sure to blur off the current field
					$input.get(0).blur();
					e.preventDefault();
				}
				break;
			default:
				active = -1;
				if (timeout) clearTimeout(timeout);
				timeout = setTimeout(function(){onChange();}, options.delay);
				break;
		}
	})
	.focus(function(){
		// track whether the field has focus, we shouldn't process any results if the field no longer has focus
		hasFocus = true;
	})
	.blur(function() {
		// track whether the field has focus
		hasFocus = false;
		hideResults();
	});

	hideResultsNow();

	function onChange() {
		// ignore if the following keys are pressed: [del] [shift] [capslock]
		if( lastKeyPressCode == 46 || (lastKeyPressCode > 8 && lastKeyPressCode < 32) ) return $results.hide();
		var v = $input.val();
		if (v == prev) return;
		prev = v;
		if (v.length >= options.minChars) {
			$input.addClass(options.loadingClass);
			requestData(v);
		} else {
			$input.removeClass(options.loadingClass);
			$results.hide();
		}
	};

 	function moveSelect(step) {

		var lis = $("li", results);
		if (!lis) return;

		active += step;

		if (active < 0) {
			active = 0;
		} else if (active >= lis.size()) {
			active = lis.size() - 1;
		}

		lis.removeClass("ac_over");

		$(lis[active]).addClass("ac_over");

		// Weird behaviour in IE
		// if (lis[active] && lis[active].scrollIntoView) {
		// 	lis[active].scrollIntoView(false);
		// }

	};

	function selectCurrent() {
		var li = $("li.ac_over", results)[0];
		if (!li) {
			var $li = $("li", results);
			if (options.selectOnly) {
				if ($li.length == 1) li = $li[0];
			} else if (options.selectFirst) {
				li = $li[0];
			}
		}
		if (li) {
			selectItem(li);
			return true;
		} else {
			return false;
		}
	};

	function selectItem(li) {
		if (!li) {
			li = document.createElement("li");
			li.extra = [];
			li.selectValue = "";
		}
		var v = $.trim(li.selectValue ? li.selectValue : li.innerHTML);
		input.lastSelected = v;
		prev = v;
		$results.html("");
		$input.val(v);
		hideResultsNow();
		if (options.onItemSelect) setTimeout(function() { options.onItemSelect(li) }, 1);
	};

	// selects a portion of the input string
	function createSelection(start, end){
		// get a reference to the input element
		var field = $input.get(0);
		if( field.createTextRange ){
			var selRange = field.createTextRange();
			selRange.collapse(true);
			selRange.moveStart("character", start);
			selRange.moveEnd("character", end);
			selRange.select();
		} else if( field.setSelectionRange ){
			field.setSelectionRange(start, end);
		} else {
			if( field.selectionStart ){
				field.selectionStart = start;
				field.selectionEnd = end;
			}
		}
		field.focus();
	};

	// fills in the input box w/the first match (assumed to be the best match)
	function autoFill(sValue){
		// if the last user key pressed was backspace, don't autofill
		if( lastKeyPressCode != 8 ){
			// fill in the value (keep the case the user has typed)
			$input.val($input.val() + sValue.substring(prev.length));
			// select the portion of the value not typed by the user (so the next character will erase)
			createSelection(prev.length, sValue.length);
		}
	};

	function showResults() {
		// get the position of the input field right now (in case the DOM is shifted)
		var pos = findPos(input);
		// either use the specified width, or autocalculate based on form element
		var iWidth = (options.width > 0) ? options.width : $input.width();
		// reposition
		$results.css({
			width: parseInt(iWidth) + "px",
			top: (pos.y + input.offsetHeight) + "px",
			left: pos.x + "px"
		}).show();
	};

	function hideResults() {
		if (timeout) clearTimeout(timeout);
		timeout = setTimeout(hideResultsNow, 200);
	};

	function hideResultsNow() {
		if (timeout) clearTimeout(timeout);
		$input.removeClass(options.loadingClass);
		if ($results.is(":visible")) {
			$results.hide();
		}
		if (options.mustMatch) {
			var v = $input.val();
			if (v != input.lastSelected) {
				selectItem(null);
			}
		}
	};

	function receiveData(q, data) {
		if (data) {
			$input.removeClass(options.loadingClass);
			results.innerHTML = "";

			// if the field no longer has focus or if there are no matches, do not display the drop down
			if( !hasFocus || data.length == 0 ) return hideResultsNow();

			if ($.browser.msie) {
				// we put a styled iframe behind the calendar so HTML SELECT elements don't show through
				$results.append(document.createElement('iframe'));
			}
			results.appendChild(dataToDom(data));
			// autofill in the complete box w/the first match as long as the user hasn't entered in more data
			if( options.autoFill && ($input.val().toLowerCase() == q.toLowerCase()) ) autoFill(data[0][0]);
			showResults();
		} else {
			hideResultsNow();
		}
	};

	function parseData(data) {
		if (!data) return null;
		var parsed = [];
		var rows = data.split(options.lineSeparator);
		for (var i=0; i < rows.length; i++) {
			var row = $.trim(rows[i]);
			if (row) {
				parsed[parsed.length] = row.split(options.cellSeparator);
			}
		}
		return parsed;
	};

	function dataToDom(data) {
		var ul = document.createElement("ul");
		var num = data.length;

		// limited results to a max number
		if( (options.maxItemsToShow > 0) && (options.maxItemsToShow < num) ) num = options.maxItemsToShow;

		for (var i=0; i < num; i++) {
			var row = data[i];
			if (!row) continue;
			var li = document.createElement("li");
			if (options.formatItem) {
				li.innerHTML = options.formatItem(row, i, num);
				li.selectValue = row[0];
			} else {
				li.innerHTML = row[0];
				li.selectValue = row[0];
			}
			var extra = null;
			if (row.length > 1) {
				extra = [];
				for (var j=1; j < row.length; j++) {
					extra[extra.length] = row[j];
				}
			}
			li.extra = extra;
			ul.appendChild(li);
			$(li).hover(
				function() { $("li", ul).removeClass("ac_over"); $(this).addClass("ac_over"); active = $("li", ul).indexOf($(this).get(0)); },
				function() { $(this).removeClass("ac_over"); }
			).click(function(e) { e.preventDefault(); e.stopPropagation(); selectItem(this) });
		}
		return ul;
	};

	function requestData(q) {
		if (!options.matchCase) q = q.toLowerCase();
		var data = options.cacheLength ? loadFromCache(q) : null;
		// recieve the cached data
		if (data) {
			receiveData(q, data);
		// if an AJAX url has been supplied, try loading the data now
		} else if( (typeof options.url == "string") && (options.url.length > 0) ){
			$.get(makeUrl(q), function(data) {
				data = parseData(data);
				addToCache(q, data);
				receiveData(q, data);
			});
		// if there's been no data found, remove the loading class
		} else {
			$input.removeClass(options.loadingClass);
		}
	};

	function makeUrl(q) {
		var url = options.url + "?q=" + encodeURI(q);
		for (var i in options.extraParams) {
			url += "&" + i + "=" + encodeURI(options.extraParams[i]);
		}
		return url;
	};

	function loadFromCache(q) {
		if (!q) return null;
		if (cache.data[q]) return cache.data[q];
		if (options.matchSubset) {
			for (var i = q.length - 1; i >= options.minChars; i--) {
				var qs = q.substr(0, i);
				var c = cache.data[qs];
				if (c) {
					var csub = [];
					for (var j = 0; j < c.length; j++) {
						var x = c[j];
						var x0 = x[0];
						if (matchSubset(x0, q)) {
							csub[csub.length] = x;
						}
					}
					return csub;
				}
			}
		}
		return null;
	};

	function matchSubset(s, sub) {
		if (!options.matchCase) s = s.toLowerCase();
		var i = s.indexOf(sub);
		if (i == -1) return false;
		return i == 0 || options.matchContains;
	};

	this.flushCache = function() {
		flushCache();
	};

	this.setExtraParams = function(p) {
		options.extraParams = p;
	};

	this.findValue = function(){
		var q = $input.val();

		if (!options.matchCase) q = q.toLowerCase();
		var data = options.cacheLength ? loadFromCache(q) : null;
		if (data) {
			findValueCallback(q, data);
		} else if( (typeof options.url == "string") && (options.url.length > 0) ){
			$.get(makeUrl(q), function(data) {
				data = parseData(data)
				addToCache(q, data);
				findValueCallback(q, data);
			});
		} else {
			// no matches
			findValueCallback(q, null);
		}
	}

	function findValueCallback(q, data){
		if (data) $input.removeClass(options.loadingClass);

		var num = (data) ? data.length : 0;
		var li = null;

		for (var i=0; i < num; i++) {
			var row = data[i];

			if( row[0].toLowerCase() == q.toLowerCase() ){
				li = document.createElement("li");
				if (options.formatItem) {
					li.innerHTML = options.formatItem(row, i, num);
					li.selectValue = row[0];
				} else {
					li.innerHTML = row[0];
					li.selectValue = row[0];
				}
				var extra = null;
				if( row.length > 1 ){
					extra = [];
					for (var j=1; j < row.length; j++) {
						extra[extra.length] = row[j];
					}
				}
				li.extra = extra;
			}
		}

		if( options.onFindValue ) setTimeout(function() { options.onFindValue(li) }, 1);
	}

	function addToCache(q, data) {
		if (!data || !q || !options.cacheLength) return;
		if (!cache.length || cache.length > options.cacheLength) {
			flushCache();
			cache.length++;
		} else if (!cache[q]) {
			cache.length++;
		}
		cache.data[q] = data;
	};

	function findPos(obj) {
		var curleft = obj.offsetLeft || 0;
		var curtop = obj.offsetTop || 0;
		while (obj = obj.offsetParent) {
			curleft += obj.offsetLeft
			curtop += obj.offsetTop
		}
		return {x:curleft,y:curtop};
	}
}

jQuery.fn.autocomplete = function(url, options, data) {
	// Make sure options exists
	options = options || {};
	// Set url as option
	options.url = url;
	// set some bulk local data
	options.data = ((typeof data == "object") && (data.constructor == Array)) ? data : null;

	// Set default values for required options
	options.inputClass = options.inputClass || "ac_input";
	options.resultsClass = options.resultsClass || "ac_results";
	options.lineSeparator = options.lineSeparator || "\n";
	options.cellSeparator = options.cellSeparator || "|";
	options.minChars = options.minChars || 1;
	options.delay = options.delay || 400;
	options.matchCase = options.matchCase || 0;
	options.matchSubset = options.matchSubset || 1;
	options.matchContains = options.matchContains || 0;
	options.cacheLength = options.cacheLength || 1;
	options.mustMatch = options.mustMatch || 0;
	options.extraParams = options.extraParams || {};
	options.loadingClass = options.loadingClass || "ac_loading";
	options.selectFirst = options.selectFirst || false;
	options.selectOnly = options.selectOnly || false;
	options.maxItemsToShow = options.maxItemsToShow || -1;
	options.autoFill = options.autoFill || false;
	options.width = parseInt(options.width, 10) || 0;

	this.each(function() {
		var input = this;
		new jQuery.autocomplete(input, options);
	});

	// Don't break the chain
	return this;
}

jQuery.fn.autocompleteArray = function(data, options) {
	return this.autocomplete(null, options, data);
}

jQuery.fn.indexOf = function(e){
	for( var i=0; i<this.length; i++ ){
		if( this[i] == e ) return i;
	}
	return -1;
};

/* map hilight */
(function(f){var b,c,j,m,l,i,g,e,h,a,k;b=document.namespaces;has_canvas=!!document.createElement("canvas").getContext;if(!(has_canvas||b)){f.fn.maphilight=function(){return this};return}if(has_canvas){g=function(p,o,n){if(o<=1){p.style.opacity=o;window.setTimeout(g,10,p,o+0.1,10)}};e=function(n){return Math.max(0,Math.min(parseInt(n,16),255))};h=function(n,o){return"rgba("+e(n.substr(0,2))+","+e(n.substr(2,2))+","+e(n.substr(4,2))+","+o+")"};c=function(n){var o=f('<canvas style="width:'+n.width+"px;height:"+n.height+'px;"></canvas>').get(0);o.getContext("2d").clearRect(0,0,o.width,o.height);return o};j=function(q,n,t,p,o){var s,r=q.getContext("2d");r.beginPath();if(n=="rect"){r.rect(t[0],t[1],t[2]-t[0],t[3]-t[1])}else{if(n=="poly"){r.moveTo(t[0],t[1]);for(s=2;s<t.length;s+=2){r.lineTo(t[s],t[s+1])}}else{if(n=="circ"){r.arc(t[0],t[1],t[2],0,Math.PI*2,false)}}}r.closePath();if(p.fill){r.fillStyle=h(p.fillColor,p.fillOpacity);r.fill()}if(p.stroke){r.strokeStyle=h(p.strokeColor,p.strokeOpacity);r.lineWidth=p.strokeWidth;r.stroke()}if(p.fade){g(q,0)}};m=function(n){n.getContext("2d").clearRect(0,0,n.width,n.height)}}else{c=function(n){return f('<var style="zoom:1;overflow:hidden;display:block;width:'+n.width+"px;height:"+n.height+'px;"></var>').get(0)};j=function(o,r,s,v,n){var t,u,p,q;t='<v:fill color="#'+v.fillColor+'" opacity="'+(v.fill?v.fillOpacity:0)+'" />';u=(v.stroke?'strokeweight="'+v.strokeWidth+'" stroked="t" strokecolor="#'+v.strokeColor+'"':'stroked="f"');p='<v:stroke opacity="'+v.strokeOpacity+'"/>';if(r=="rect"){q=f('<v:rect name="'+n+'" filled="t" '+u+' style="zoom:1;margin:0;padding:0;display:block;position:absolute;left:'+s[0]+"px;top:"+s[1]+"px;width:"+(s[2]-s[0])+"px;height:"+(s[3]-s[1])+'px;"></v:rect>')}else{if(r=="poly"){q=f('<v:shape name="'+n+'" filled="t" '+u+' coordorigin="0,0" coordsize="'+o.width+","+o.height+'" path="m '+s[0]+","+s[1]+" l "+s.join(",")+' x e" style="zoom:1;margin:0;padding:0;display:block;position:absolute;top:0px;left:0px;width:'+o.width+"px;height:"+o.height+'px;"></v:shape>')}else{if(r=="circ"){q=f('<v:oval name="'+n+'" filled="t" '+u+' style="zoom:1;margin:0;padding:0;display:block;position:absolute;left:'+(s[0]-s[2])+"px;top:"+(s[1]-s[2])+"px;width:"+(s[2]*2)+"px;height:"+(s[2]*2)+'px;"></v:oval>')}}}q.get(0).innerHTML=t+p;f(o).append(q)};m=function(n){f(n).find("[name=highlighted]").remove()}}l=function(o){var n,p=o.getAttribute("coords").split(",");for(n=0;n<p.length;n++){p[n]=parseFloat(p[n])}return[o.getAttribute("shape").toLowerCase().substr(0,4),p]};k=function(p,o){var n=f(p);return f.extend({},o,f.metadata?n.metadata():false,n.data("maphilight"))};a=function(n){if(!n.complete){return false}if(typeof n.naturalWidth!="undefined"&&n.naturalWidth==0){return false}return true};i={position:"absolute",left:0,top:0,padding:0,border:0};var d=false;f.fn.maphilight=function(p){p=f.extend({},f.fn.maphilight.defaults,p);if(f.browser.msie&&!d){document.namespaces.add("v","urn:schemas-microsoft-com:vml");var o=document.createStyleSheet();var n=["shape","rect","oval","circ","fill","stroke","imagedata","group","textbox"];f.each(n,function(){o.addRule("v\\:"+this,"behavior: url(#default#VML); antialias:true")});d=true}return this.each(function(){var v,s,z,r,u,w,y,t,x;v=f(this);if(!a(this)){return window.setTimeout(function(){v.maphilight(p)},200)}z=f.extend({},p,f.metadata?v.metadata():false,v.data("maphilight"));x=v.get(0).getAttribute("usemap");r=f('map[name="'+x.substr(1)+'"]');if(!(v.is("img")&&x&&r.size()>0)){return}if(v.hasClass("maphilighted")){var q=v.parent();v.insertBefore(q);q.remove();f(r).unbind(".maphilight").find("area[coords]").unbind(".maphilight")}s=f("<div></div>").css({display:"block",background:"url("+this.src+")",position:"relative",padding:0,width:this.width,height:this.height});if(z.wrapClass){if(z.wrapClass===true){s.addClass(f(this).attr("class"))}else{s.addClass(z.wrapClass)}}v.before(s).css("opacity",0).css(i).remove();if(f.browser.msie){v.css("filter","Alpha(opacity=0)")}s.append(v);u=c(this);f(u).css(i);u.height=this.height;u.width=this.width;y=function(C){var A,B;B=k(this,z);if(!B.neverOn&&!B.alwaysOn){A=l(this);j(u,A[0],A[1],B,"highlighted");if(B.groupBy&&f(this).attr(B.groupBy)){var D=this;r.find("area["+B.groupBy+"="+f(this).attr(B.groupBy)+"]").each(function(){if(this!=D){var F=k(this,z);if(!F.neverOn&&!F.alwaysOn){var E=l(this);j(u,E[0],E[1],F,"highlighted")}}})}}};f(r).bind("alwaysOn.maphilight",function(){if(w){m(w)}if(!has_canvas){f(u).empty()}f(r).find("area[coords]").each(function(){var A,B;B=k(this,z);if(B.alwaysOn){if(!w&&has_canvas){w=c(v.get());f(w).css(i);w.width=v.width();w.height=v.height();v.before(w)}A=l(this);if(has_canvas){j(w,A[0],A[1],B,"")}else{j(u,A[0],A[1],B,"")}}})});if(z.alwaysOn){f(r).find("area[coords]").each(y)}else{f(r).find("area[coords]").trigger("alwaysOn.maphilight").bind("mouseover.maphilight",y).bind("mouseout.maphilight",function(A){m(u)})}v.before(u);v.addClass("maphilighted")})};f.fn.maphilight.defaults={fill:true,fillColor:"000000",fillOpacity:0.2,stroke:true,strokeColor:"ff0000",strokeOpacity:1,strokeWidth:1,fade:true,alwaysOn:false,neverOn:false,groupBy:false,wrapClass:true}})(jQuery);

/* cufon */
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}),hasClass:function(C,B){return RegExp("(?:^|\\s)"+B+"(?=\\s|$)").test(C.className)},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},textDecoration:function(G,F){if(!F){F=this.getStyle(G)}var C={underline:null,overline:null,"line-through":null};for(var B=G;B.parentNode&&B.parentNode.nodeType==1;){var E=true;for(var D in C){if(!k(C,D)||C[D]){continue}if(F.get("textDecoration").indexOf(D)!=-1){C[D]=F.get("color")}E=false}if(E){break}F=this.getStyle(B=B.parentNode)}return C},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 B={inline:1,"inline-block":1,"run-in":1};return function(E,C,D){if(B[C.get("display")]){return E}if(!D.previousSibling){E=E.replace(/^\s+/,"")}if(!D.nextSibling){E=E.replace(/\s+$/,"")}return E}})()};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(C){var B=this.face=C.face;this.glyphs=C.glyphs;this.w=C.w;this.baseSize=parseInt(B["units-per-em"],10);this.family=B["font-family"].toLowerCase();this.weight=B["font-weight"];this.style=B["font-style"]||"normal";this.viewBox=(function(){var E=B.bbox.split(/\s+/);var D={minX:parseInt(E[0],10),minY:parseInt(E[1],10),maxX:parseInt(E[2],10),maxY:parseInt(E[3],10)};D.width=D.maxX-D.minX;D.height=D.maxY-D.minY;D.toString=function(){return[this.minX,this.minY,this.width,this.height].join(" ")};return D})();this.ascent=-parseInt(B.ascent,10);this.descent=-parseInt(B.descent,10);this.height=-this.ascent+this.descent}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)}function E(F){C(this)}function C(F){setTimeout(function(){m.replace(F,d.get(F).options,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 B={},D,F;for(var E=0,C=arguments.length;D=arguments[E],E<C;++E){for(F in D){if(k(D,F)){B[F]=D[F]}}}return B}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(C,J){var B=n.getStyle(v(C,J)).extend(J);var D=c(C,B),E,H,G,F,I;for(E=C.firstChild;E;E=G){H=E.nodeType;G=E.nextSibling;if(H==3){if(F){F.appendData(E.data);C.removeChild(E)}else{F=E}if(G){continue}}if(F){C.replaceChild(o(D,n.whiteSpace(F.data,B,F),B,J,E,C),F);F=null}if(H==1&&E.firstChild){if(n.hasClass(E,"cufon")){z[J.engine](D,null,B,J,E,C)}else{arguments.callee(E,J)}}}}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={enableTextDecoration:false,engine:null,forceHitArea:false,hover:false,hoverables:{a:true},printable:true,selector:(window.Sizzle||(window.jQuery&&function(B){return jQuery(B)})||(window.dojo&&dojo.query)||(window.Ext&&Ext.query)||(window.$$&&function(B){return $$(B)})||(window.$&&function(B){return $(B)})||(document.querySelectorAll&&function(B){return document.querySelectorAll(B)})||g),separate:"words",textShadow:"none"};var p={words:/[^\S\u00a0]+/,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){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(typeof C.textShadow=="string"){C.textShadow=n.textShadow(C.textShadow)}if(typeof C.color=="string"&&/^-/.test(C.color)){C.textGradient=n.gradient(C.color)}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-canvas{text-indent:0;}@media screen,projection{.cufon-canvas{display:inline;display:inline-block;position:relative;vertical-align:middle;"+(e?"":"font-size:1px;line-height:1px;")+"}.cufon-canvas .cufon-alt{display:-moz-inline-box;display:inline-block;width:0;height:0;overflow:hidden;text-indent:-10000in;}"+(a?".cufon-canvas canvas{position:relative;}":".cufon-canvas canvas{position:absolute;}")+"}@media print{.cufon-canvas{padding:0;}.cufon-canvas canvas{display:none;}.cufon-canvas .cufon-alt{display:inline;}}").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(ah,H,Z,D,L,ai){var n=(H===null);if(n){H=L.alt}var J=ah.viewBox;var p=Z.getSize("fontSize",ah.baseSize);var X=Z.get("letterSpacing");X=(X=="normal")?0:p.convertFrom(parseInt(X,10));var K=0,Y=0,W=0,F=0;var I=D.textShadow,U=[];if(I){for(var ag=I.length;ag--;){var O=I[ag];var T=p.convertFrom(parseFloat(O.offX));var R=p.convertFrom(parseFloat(O.offY));U[ag]=[T,R];if(R<K){K=R}if(T>Y){Y=T}if(R>W){W=R}if(T<F){F=T}}}var al=Cufon.CSS.textTransform(H,Z).split(""),B;var o=ah.glyphs,E,r,ac;var h=0,v,N=[];for(var ag=0,ae=0,ab=al.length;ag<ab;++ag){E=o[B=al[ag]]||ah.missingGlyph;if(!E){continue}if(r){h-=ac=r[B]||0;N[ae-1]-=ac}h+=v=N[ae++]=~~(E.w||ah.w)+X;r=E.k}if(v===undefined){return null}Y+=J.width-v;F+=J.minX;var C,q;if(n){C=L;q=L.firstChild}else{C=document.createElement("span");C.className="cufon cufon-canvas";C.alt=H;q=document.createElement("canvas");C.appendChild(q);if(D.printable){var ad=document.createElement("span");ad.className="cufon-alt";ad.appendChild(document.createTextNode(H));C.appendChild(ad)}}var am=C.style;var Q=q.style;var m=p.convert(J.height);var ak=Math.ceil(m);var V=ak/m;var P=V*Cufon.CSS.fontStretch(Z.get("fontStretch"));var S=h*P;var aa=Math.ceil(p.convert(S+Y-F));var t=Math.ceil(p.convert(J.height-K+W));q.width=aa;q.height=t;Q.width=aa+"px";Q.height=t+"px";K+=J.minY;Q.top=Math.round(p.convert(K-ah.ascent))+"px";Q.left=Math.round(p.convert(F))+"px";var A=Math.ceil(p.convert(S))+"px";if(a){am.width=A;am.height=p.convert(ah.height)+"px"}else{am.paddingLeft=A;am.paddingBottom=(p.convert(ah.height)-1)+"px"}var aj=q.getContext("2d"),M=m/J.height;aj.scale(M,M*V);aj.translate(-F,-K);aj.lineWidth=ah.face["underline-thickness"];aj.save();function s(i,g){aj.strokeStyle=g;aj.beginPath();aj.moveTo(0,i);aj.lineTo(h,i);aj.stroke()}var u=D.enableTextDecoration?Cufon.CSS.textDecoration(ai,Z):{};if(u.underline){s(-ah.face["underline-position"],u.underline)}if(u.overline){s(ah.ascent,u.overline)}function af(){aj.scale(P,1);for(var x=0,k=0,g=al.length;x<g;++x){var y=o[al[x]]||ah.missingGlyph;if(!y){continue}if(y.d){aj.beginPath();if(y.code){c(y.code,aj)}else{y.code=d("m"+y.d,aj)}aj.fill()}aj.translate(N[k++],0)}aj.restore()}if(I){for(var ag=I.length;ag--;){var O=I[ag];aj.save();aj.fillStyle=O.color;aj.translate.apply(aj,U[ag]);af()}}var z=D.textGradient;if(z){var G=z.stops,w=aj.createLinearGradient(0,J.minY,0,J.maxY);for(var ag=0,ab=G.length;ag<ab;++ag){w.addColorStop.apply(w,G[ag])}aj.fillStyle=w}else{aj.fillStyle=Z.get("color")}af();if(u["line-through"]){s(-ah.descent,u["line-through"])}return C}})());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 g=(document.documentMode||0)<8;document.write(('<style type="text/css">.cufon-vml-canvas{text-indent:0;}@media screen{cvml\\:shape,cvml\\:rect,cvml\\:fill,cvml\\:shadow{behavior:url(#default#VML);display:block;antialias:true;position:absolute;}.cufon-vml-canvas{position:absolute;text-align:left;}.cufon-vml{display:inline-block;position:relative;vertical-align:'+(g?"middle":"text-bottom")+";}.cufon-vml .cufon-alt{position:absolute;left:-10000in;font-size:1px;}a .cufon-vml{cursor:pointer}}@media print{.cufon-vml *{display:none;}.cufon-vml .cufon-alt{display:inline;}}</style>").replace(/;/g,"!important;"));function c(h,i){return a(h,/(?:em|ex|%)$|^[a-z-]+$/i.test(i)?"1em":i)}function a(k,l){if(/px$/i.test(l)){return parseFloat(l)}var j=k.style.left,i=k.runtimeStyle.left;k.runtimeStyle.left=k.currentStyle.left;k.style.left=l.replace("%","em");var h=k.style.pixelLeft;k.style.left=j;k.runtimeStyle.left=i;return h}var f={};function d(o){var p=o.id;if(!f[p]){var m=o.stops,n=document.createElement("cvml:fill"),h=[];n.type="gradient";n.angle=180;n.focus="0";n.method="sigma";n.color=m[0][1];for(var l=1,i=m.length-1;l<i;++l){h.push(m[l][0]*100+"% "+m[l][1])}n.colors=h.join(",");n.color2=m[i][1];f[p]=n}return f[p]}return function(aj,K,ad,G,O,ak,ab){var o=(K===null);if(o){K=O.alt}var M=aj.viewBox;var q=ad.computedFontSize||(ad.computedFontSize=new Cufon.CSS.Size(c(ak,ad.get("fontSize"))+"px",aj.baseSize));var aa=ad.computedLSpacing;if(aa==undefined){aa=ad.get("letterSpacing");ad.computedLSpacing=aa=(aa=="normal")?0:~~q.convertFrom(a(ak,aa))}var C,r;if(o){C=O;r=O.firstChild}else{C=document.createElement("span");C.className="cufon cufon-vml";C.alt=K;r=document.createElement("span");r.className="cufon-vml-canvas";C.appendChild(r);if(G.printable){var ag=document.createElement("span");ag.className="cufon-alt";ag.appendChild(document.createTextNode(K));C.appendChild(ag)}if(!ab){C.appendChild(document.createElement("cvml:shape"))}}var ap=C.style;var V=r.style;var m=q.convert(M.height),am=Math.ceil(m);var Z=am/m;var T=Z*Cufon.CSS.fontStretch(ad.get("fontStretch"));var Y=M.minX,X=M.minY;V.height=am;V.top=Math.round(q.convert(X-aj.ascent));V.left=Math.round(q.convert(Y));ap.height=q.convert(aj.height)+"px";var v=G.enableTextDecoration?Cufon.CSS.textDecoration(ak,ad):{};var J=ad.get("color");var ao=Cufon.CSS.textTransform(K,ad).split(""),B;var p=aj.glyphs,H,s,af;var h=0,P=[],W=0,x;var z,L=G.textShadow;for(var ai=0,ah=0,ae=ao.length;ai<ae;++ai){H=p[B=ao[ai]]||aj.missingGlyph;if(!H){continue}if(s){h-=af=s[B]||0;P[ah-1]-=af}h+=x=P[ah++]=~~(H.w||aj.w)+aa;s=H.k}if(x===undefined){return null}var A=-Y+h+(M.width-x);var an=q.convert(A*T),ac=Math.round(an);var S=A+","+M.height,n;var N="r"+S+"ns";var y=G.textGradient&&d(G.textGradient);for(ai=0,ah=0;ai<ae;++ai){H=p[ao[ai]]||aj.missingGlyph;if(!H){continue}if(o){z=r.childNodes[ah];while(z.firstChild){z.removeChild(z.firstChild)}}else{z=document.createElement("cvml:shape");r.appendChild(z)}z.stroked="f";z.coordsize=S;z.coordorigin=n=(Y-W)+","+X;z.path=(H.d?"m"+H.d+"xe":"")+"m"+n+N;z.fillcolor=J;if(y){z.appendChild(y.cloneNode(false))}var al=z.style;al.width=ac;al.height=am;if(L){var u=L[0],t=L[1];var F=Cufon.CSS.color(u.color),D;var R=document.createElement("cvml:shadow");R.on="t";R.color=F.color;R.offset=u.offX+","+u.offY;if(t){D=Cufon.CSS.color(t.color);R.type="double";R.color2=D.color;R.offset2=t.offX+","+t.offY}R.opacity=F.opacity||(D&&D.opacity)||1;z.appendChild(R)}W+=P[ah++]}var Q=z.nextSibling,w,E;if(G.forceHitArea){if(!Q){Q=document.createElement("cvml:rect");Q.stroked="f";Q.className="cufon-vml-cover";w=document.createElement("cvml:fill");w.opacity=0;Q.appendChild(w);r.appendChild(Q)}E=Q.style;E.width=ac;E.height=am}else{if(Q){r.removeChild(Q)}}ap.width=Math.max(Math.ceil(q.convert(h*T)),0);if(g){var U=ad.computedYAdjust;if(U===undefined){var I=ad.get("lineHeight");if(I=="normal"){I="1em"}else{if(!isNaN(I)){I+="em"}}ad.computedYAdjust=U=0.5*(a(ak,I)-parseFloat(ap.height))}if(U){ap.marginTop=Math.ceil(U)+"px";ap.marginBottom=U+"px"}}return C}})());

/* fonts */
Cufon.registerFont({"w":180,"face":{"font-family":"Bell Gothic Std","font-weight":700,"font-stretch":"normal","units-per-em":"360","panose-1":"2 11 6 6 2 2 3 2 2 4","ascent":"269","descent":"-91","x-height":"4","bbox":"-8 -333 340 90","underline-thickness":"18","underline-position":"-18","stemh":"24","stemv":"32","unicode-range":"U+0020-U+00FC"},"glyphs":{" ":{"w":99,"k":{"T":36,"V":36,"W":29,"Y":36,"A":22,"\u00c2":22,"\u00c4":22,"\u00c0":22}},"!":{"d":"51,-266r37,0r-7,177r-23,0xm71,2v-16,0,-26,-12,-26,-25v0,-14,12,-25,25,-25v13,0,25,11,25,25v0,13,-10,25,-24,25","w":140},"\"":{"d":"71,-167r0,-97r29,0r0,97r-29,0xm20,-167r0,-97r29,0r0,97r-29,0","w":119},"#":{"d":"186,-100r0,23r-36,0r-11,77r-26,0r11,-77r-43,0r-10,77r-26,0r10,-77r-35,0r-1,-23r40,0r7,-52r-36,0r0,-23r39,0r11,-77r26,0r-11,77r43,0r10,-77r27,0r-11,77r32,0r1,23r-36,0r-8,52r33,0xm135,-152r-43,0r-7,52r42,0","w":216},"$":{"d":"92,-125v-54,-15,-107,-69,-52,-123v17,-16,39,-16,52,-17r0,-31r20,0r0,31v40,4,63,20,68,26r-20,28v-19,-20,-34,-24,-48,-27r0,84v47,19,69,30,73,79v3,40,-33,74,-73,73r0,48r-20,0r0,-47v-30,-3,-47,-6,-79,-32r17,-29v19,17,37,32,62,33r0,-96xm92,-162r0,-76v-21,0,-42,8,-42,32v0,24,20,38,42,44xm112,-117r0,89v40,1,59,-53,26,-75v-6,-5,-19,-12,-26,-14","w":200},"%":{"d":"274,-131v34,0,66,29,66,65v0,37,-30,66,-66,66v-36,0,-67,-27,-67,-65v0,-38,31,-66,67,-66xm236,-66v0,24,18,39,38,39v22,0,38,-20,38,-39v0,-22,-19,-37,-38,-37v-22,0,-38,17,-38,37xm89,-264v30,0,64,25,64,63v0,37,-30,68,-66,68v-36,0,-67,-28,-67,-65v0,-34,26,-66,69,-66xm124,-199v0,-18,-15,-37,-38,-37v-20,0,-37,14,-37,37v0,23,17,37,37,37v21,0,38,-16,38,-37xm254,-270r24,0r-173,277r-23,0","w":360},"&":{"d":"62,-213v0,-24,30,-61,59,-55v26,0,55,18,55,51v0,36,-35,53,-57,64v16,28,34,53,54,78v14,-18,24,-41,30,-56r35,12v-14,30,-26,46,-44,69v14,19,31,28,52,17r0,33v-28,16,-64,-5,-76,-24v-23,19,-39,32,-71,32v-56,0,-80,-45,-80,-81v0,-50,42,-75,58,-84v-7,-14,-15,-32,-15,-56xm51,-82v0,45,66,82,100,35v-24,-29,-37,-46,-63,-90v-15,10,-37,25,-37,55xm152,-219v0,-21,-17,-30,-30,-30v-47,0,-34,48,-13,77v23,-11,43,-21,43,-47","w":259},"(":{"d":"80,6v-26,-34,-52,-76,-52,-132v0,-50,12,-87,52,-143r33,0v-36,53,-55,57,-55,138v0,61,33,106,56,137r-34,0","w":140},")":{"d":"111,-130v0,70,-33,113,-51,136r-33,0v25,-25,62,-111,55,-136v9,-13,-23,-105,-56,-139r33,0v27,39,52,77,52,139","w":140},"*":{"d":"31,-207r8,-31r55,26r-9,-56r31,0r-8,56r53,-25r8,30r-59,6r43,45r-26,18r-27,-54r-27,54r-26,-18r43,-43","w":200},"+":{"d":"93,-106r0,-76r30,0r0,76r76,0r0,30r-76,0r0,76r-30,0r0,-76r-76,0r0,-30r76,0","w":216},",":{"d":"43,-48r29,0r-42,114r-30,0","w":100,"k":{" ":22}},"-":{"d":"13,-78r0,-30r94,0r0,30r-94,0","w":119},".":{"d":"51,-46v32,1,37,47,0,49v-14,0,-25,-10,-25,-24v0,-14,12,-25,25,-25","w":100,"k":{" ":14}},"\/":{"d":"108,-268r-86,276r-30,0r85,-276r31,0","w":100},"0":{"d":"104,-270v98,2,97,163,60,238v-17,35,-47,37,-65,37v-13,0,-44,-5,-63,-38v-19,-32,-21,-77,-21,-94v0,-105,40,-143,89,-143xm102,-240v-44,0,-52,71,-52,113v0,27,5,101,53,101v40,0,47,-61,47,-112v0,-77,-16,-102,-48,-102","w":200},"1":{"d":"27,0r0,-29r57,0r0,-205r-61,0r0,-30r98,0r0,235r51,0r0,29r-145,0","w":200},"2":{"d":"13,-211v10,-32,50,-58,85,-58v22,0,81,12,81,75v0,76,-109,92,-123,162r124,0r0,32r-164,0v2,-62,25,-88,75,-125v25,-19,53,-40,53,-70v0,-18,-11,-43,-44,-43v-19,0,-45,9,-59,45","w":200},"3":{"d":"31,-201r-19,-25v13,-13,41,-40,89,-40v36,0,66,17,66,55v0,36,-37,54,-51,60v13,1,35,0,49,18v35,46,18,85,-31,118v-41,28,-95,24,-126,24r0,-31v37,2,64,5,107,-20v28,-16,30,-39,30,-49v-3,-43,-46,-46,-83,-28r-10,-24v34,-14,49,-21,68,-39v22,-12,12,-56,-23,-56v-27,0,-44,17,-66,37","w":200},"4":{"d":"37,-103r82,0r0,-142r-3,0xm96,-264r58,0r0,160r29,0r0,31r-29,0r0,73r-34,0r0,-73r-109,0r0,-40","w":200},"5":{"d":"57,-167v65,-25,125,13,123,77v0,40,-26,98,-118,98v-17,0,-23,-2,-50,-7r5,-33v48,21,127,5,127,-58v0,-65,-68,-66,-94,-37r-26,0r14,-137r126,0r0,32r-100,0","w":200},"6":{"d":"11,-87v0,-100,39,-136,67,-181r47,0v-33,36,-62,70,-73,126v9,-7,23,-18,50,-18v56,0,83,40,83,81v0,42,-22,87,-89,87v-44,0,-85,-29,-85,-95xm48,-76v0,35,22,55,50,55v28,0,50,-18,50,-54v0,-24,-15,-56,-50,-56v-22,0,-50,16,-50,55","w":200},"7":{"d":"13,-231r0,-33r169,0v-35,84,-71,160,-93,264r-42,0v22,-77,52,-157,88,-231r-122,0","w":200},"8":{"d":"99,-130v-25,0,-49,26,-49,57v0,18,11,51,50,51v22,0,50,-14,50,-56v0,-15,-9,-52,-51,-52xm99,-156v62,0,58,-87,0,-87v-24,0,-45,19,-45,44v0,24,20,43,45,43xm14,-70v0,-45,35,-66,48,-74v-11,-3,-43,-18,-43,-59v0,-38,31,-67,77,-67v62,0,84,36,84,68v0,20,-18,51,-42,59v27,10,48,31,48,72v0,63,-88,105,-148,57v-20,-17,-24,-43,-24,-56","w":200},"9":{"d":"185,-175v0,71,-42,151,-67,180r-47,0v26,-27,67,-76,73,-125v-8,6,-23,17,-50,17v-110,-3,-115,-165,4,-168v58,-2,87,48,87,96xm98,-242v-28,0,-50,27,-50,55v0,30,19,55,49,55v21,0,51,-13,51,-54v0,-33,-21,-56,-50,-56","w":200},":":{"d":"83,-21v0,10,-8,24,-25,24v-13,0,-25,-10,-25,-25v0,-35,49,-31,50,1xm60,-144v-41,0,-30,-51,-2,-49v12,0,25,10,25,24v0,14,-11,25,-23,25","w":119,"k":{" ":14}},";":{"d":"86,-170v0,12,-10,25,-26,25v-14,0,-24,-10,-24,-24v0,-35,50,-29,50,-1xm47,-47r30,0r-43,113r-31,0","w":119,"k":{" ":22}},"<":{"d":"199,-27r0,30r-182,-81r0,-26r182,-81r0,29r-145,65","w":216},"=":{"d":"199,-143r0,29r-182,0r0,-29r182,0xm199,-68r0,29r-182,0r0,-29r182,0","w":216},">":{"d":"17,-27r145,-64r-145,-65r0,-29r182,81r0,26r-182,81r0,-30","w":216},"?":{"d":"152,-213v0,57,-66,67,-54,125r-30,0v-9,-63,49,-83,49,-127v0,-16,-11,-29,-30,-29v-25,0,-33,22,-36,32r-33,-12v6,-16,28,-46,70,-46v17,0,64,8,64,57xm57,-21v2,-37,51,-31,51,-1v0,12,-9,25,-25,25v-15,0,-26,-11,-26,-24"},"@":{"d":"234,-55r14,14v-21,26,-55,45,-96,45v-74,0,-134,-56,-134,-130v0,-73,60,-130,131,-130v64,0,121,43,121,102v0,63,-52,98,-84,98v-13,1,-20,-9,-23,-21v-26,37,-91,20,-91,-31v0,-62,79,-129,118,-65r5,-19r25,0r-24,87v-3,12,-4,25,5,25v23,0,45,-33,45,-64v0,-56,-44,-90,-97,-90v-61,0,-105,49,-105,109v0,99,133,142,190,70xm151,-174v-30,0,-50,36,-50,59v0,19,12,33,29,33v28,0,49,-36,49,-59v0,-17,-13,-33,-28,-33","w":288},"A":{"d":"77,-86r84,0r-43,-136v-17,42,-26,92,-41,136xm190,0r-18,-55r-105,0r-16,55r-39,0r86,-264r41,0r89,264r-38,0","w":240,"k":{"v":14,"w":22,"T":22,"U":7,"\u00db":7,"\u00dc":7,"\u00d9":7,"V":22,"W":22,"y":14,"Y":29}},"B":{"d":"216,-70v0,93,-96,65,-177,70r0,-264v52,3,96,-12,137,12v51,29,17,103,-22,104v-4,0,-5,1,-5,4v0,6,16,7,21,10v25,8,46,32,46,64xm73,-128r0,97v51,-5,104,22,104,-45v0,-28,-15,-45,-43,-50v-1,0,-21,-3,-61,-2xm73,-156v47,-1,92,7,92,-43v0,-46,-53,-35,-92,-37r0,80","w":240},"C":{"d":"113,-24v38,0,40,-30,44,-56r36,7v-1,21,-9,43,-25,59v-23,23,-49,23,-59,23v-22,0,-86,-12,-86,-139v0,-61,15,-137,90,-137v17,0,39,4,55,21v18,18,21,39,23,52r-34,6v-3,-26,-15,-48,-44,-48v-48,0,-54,74,-54,98v0,58,10,114,54,114","w":219},"D":{"d":"179,-132v0,-58,-27,-111,-105,-99r0,198v78,10,105,-39,105,-99xm217,-129v0,66,-15,131,-122,129r-58,0r0,-264r58,0v87,0,122,50,122,135","w":240,"k":{"Y":14,",":14,".":14}},"E":{"d":"43,0r0,-264r164,0r0,32r-126,0r0,77r93,0r0,33r-92,0r0,89r132,0r0,33r-171,0","w":240},"F":{"d":"38,0r0,-264r163,0r0,33r-125,0r0,80r90,0r0,34r-90,0r0,117r-38,0","w":219,"k":{"\u00eb":22,"\u00e0":22,"\u00e4":22,",":50,".":50,"e":22,"\u00e9":22,"\u00ea":22,"\u00e8":22,"i":14,"\u00ee":14,"o":22,"\u00f4":22,"\u00f6":22,"\u00f2":22,"a":22,"\u00e2":22,"A":22,"\u00c2":22,"\u00c4":22,"\u00c0":22,"r":22}},"G":{"d":"174,-21v-27,22,-81,56,-120,2v-44,-61,-45,-142,-10,-207v42,-78,135,-42,149,20r-34,8v-4,-12,-13,-40,-43,-40v-9,0,-39,3,-49,47v-15,62,-14,92,7,137v30,63,100,17,94,-34r-51,0r0,-34r86,0r0,127r-13,0v-4,-7,-10,-24,-16,-26","w":240},"H":{"d":"46,0r0,-264r37,0r0,111r94,0r0,-111r37,0r0,264r-37,0r0,-122r-94,0r0,122r-37,0","w":259},"I":{"d":"28,0r0,-23r23,0r0,-217r-23,0r0,-24r84,0r0,24r-24,0r0,217r24,0r0,23r-84,0","w":140},"J":{"d":"109,-79r0,-185r38,0r0,174v0,52,-13,98,-75,98v-39,0,-71,-42,-70,-74r38,-14v-1,32,6,54,35,54v33,0,34,-40,34,-53","k":{"u":7,"\u00fb":7,"\u00fc":7,"\u00f9":7}},"K":{"d":"86,-141r106,-123r41,0r0,5r-103,116r105,139r0,4r-45,0xm41,0r0,-264r36,0r0,264r-36,0","w":240,"k":{"y":7,"e":14,"\u00e9":14,"\u00ea":14,"\u00eb":14,"\u00e8":14,"o":7,"\u00f4":7,"\u00f6":7,"\u00f2":7,"u":14,"\u00fb":14,"\u00fc":14,"\u00f9":14}},"L":{"d":"43,0r0,-264r37,0r0,231r122,0r0,33r-159,0","w":219,"k":{"T":43,"V":36,"W":36,"y":22,"Y":43}},"M":{"d":"175,0r-30,0r-64,-241v-1,-3,-6,-3,-6,1r0,240r-30,0r0,-264r55,0r57,205v1,4,6,4,7,0r55,-205r56,0r0,264r-30,0r0,-238v-1,-4,-4,-6,-6,-1","w":320},"N":{"d":"42,0r0,-264r47,0r87,196v4,5,7,29,13,30r-1,-226r31,0r0,264r-47,0r-77,-172v-12,-23,-16,-51,-23,-57v-6,6,2,49,0,53r0,176r-30,0","w":259},"O":{"d":"111,-237v-44,0,-51,53,-52,108v0,33,4,104,50,104v37,0,52,-38,52,-105v0,-35,-3,-107,-50,-107xm110,-268v70,0,88,72,89,137v0,63,-18,139,-89,139v-99,0,-108,-166,-68,-237v20,-36,49,-39,68,-39","w":219,"k":{",":7}},"P":{"d":"175,-184v-5,-58,-56,-48,-94,-49r0,96v47,3,98,0,94,-47xm215,-184v0,77,-65,80,-134,79r0,105r-37,0r0,-264v85,-6,171,3,171,80","w":240,"k":{",":72,".":90,"e":14,"\u00e9":14,"\u00ea":14,"\u00eb":14,"\u00e8":14,"o":14,"\u00f4":14,"\u00f6":14,"\u00f2":14,"A":29,"\u00c2":29,"\u00c4":29,"\u00c0":29}},"Q":{"d":"110,-268v70,0,88,72,89,137v0,41,-7,88,-33,116v12,18,23,20,40,20r0,37v-18,0,-44,-1,-63,-41v-117,47,-152,-139,-101,-230v20,-36,49,-39,68,-39xm111,-237v-44,0,-51,53,-52,108v-1,37,10,121,67,101r-24,-39r18,-13r25,35v12,-17,17,-46,17,-85v0,-35,-3,-107,-51,-107","w":219,"k":{",":-7}},"R":{"d":"43,0r0,-264r82,0v74,0,89,44,89,71v0,50,-32,63,-56,71r69,122r-43,0r-63,-117r-41,0r0,117r-37,0xm80,-146v50,-2,91,9,97,-43v5,-43,-48,-46,-97,-44r0,87","w":240},"S":{"d":"197,-71v4,71,-87,106,-144,58v-17,-14,-24,-27,-30,-40r32,-20v8,21,25,47,61,47v43,1,70,-56,14,-82v-43,-20,-98,-27,-98,-94v0,-40,34,-68,75,-68v40,0,69,21,85,57r-31,18v-12,-24,-23,-43,-54,-43v-16,0,-40,9,-40,35v18,78,124,29,130,132","w":219},"T":{"d":"14,-264r192,0r0,33r-77,0r0,231r-38,0r0,-231r-77,0r0,-33","w":219,"k":{"\u00fc":43,"\u00f2":43,"\u00f6":43,"\u00ee":14,"\u00e8":43,"\u00eb":43,"\u00ea":43,"\u00e0":36,"\u00e4":36,"\u00e2":36,"w":43,"y":36,",":36,".":43,"e":43,"\u00e9":43,"i":14,"o":43,"\u00f4":43,"a":36,"A":14,"\u00c2":14,"\u00c4":14,"\u00c0":14,"r":47,"u":43,"\u00fb":43,"\u00f9":43,"-":22,":":29,";":29}},"U":{"d":"46,-264r37,0r0,176v0,28,6,62,49,62v12,0,32,-5,41,-22v18,-61,4,-143,8,-216r33,0v-7,87,21,196,-24,248v-20,23,-47,24,-66,24v-13,0,-43,-4,-61,-31v-15,-22,-17,-43,-17,-67r0,-174","w":259,"k":{",":22,".":14,"H":14,"M":14,"N":14,"R":14}},"V":{"d":"190,-264r35,0r-84,264r-40,0r-86,-264r39,0r68,211v1,0,3,-1,3,-2","w":240,"k":{"\u00f6":22,"\u00f4":22,"\u00ee":14,"\u00e8":22,"\u00eb":22,"\u00ea":22,"\u00e0":22,"\u00e4":22,"\u00e2":22,",":36,".":36,"e":22,"\u00e9":22,"i":14,"o":22,"\u00f2":22,"a":22,"A":22,"\u00c2":22,"\u00c4":22,"\u00c0":22,"u":14,"\u00fb":14,"\u00fc":14,"\u00f9":14,"-":14}},"W":{"d":"104,-40v13,-28,17,-76,25,-110r28,-114r30,0r28,110v10,30,11,68,26,114v5,-1,4,-7,5,-12v11,-62,12,-68,21,-108r25,-104r32,0r-66,264r-38,0r-50,-215v-11,32,-14,75,-23,113r-25,102r-38,0r-68,-264r35,0r29,115r20,105v0,2,3,4,4,4","w":339,"k":{"\u00fc":14,"\u00f6":22,"\u00ea":22,"\u00e4":14,",":22,".":22,"e":22,"\u00e9":22,"\u00eb":22,"\u00e8":22,"i":7,"\u00ee":7,"o":22,"\u00f4":22,"\u00f2":22,"a":14,"\u00e2":14,"\u00e0":14,"A":22,"\u00c2":22,"\u00c4":22,"\u00c0":22,"u":14,"\u00fb":14,"\u00f9":14,"-":7}},"X":{"d":"177,-264r40,0r-79,126r91,138r-45,0r-67,-110v-23,31,-45,76,-67,110r-39,0r85,-136r-84,-128r43,0v22,33,38,71,63,101","w":240},"Y":{"d":"228,-264r-87,160r0,104r-39,0r0,-102r-90,-162r43,0r67,129v8,0,10,-20,14,-23r54,-106r38,0","w":240,"k":{"\u00fc":22,"\u00f6":43,",":50,".":50,"e":43,"\u00e9":43,"\u00ea":43,"\u00eb":43,"\u00e8":43,"i":14,"\u00ee":14,"o":43,"\u00f4":43,"\u00f2":43,"a":29,"\u00e2":29,"\u00e4":29,"\u00e0":29,"A":29,"\u00c2":29,"\u00c4":29,"\u00c0":29,"u":22,"\u00fb":22,"\u00f9":22,"-":29,":":14,";":14}},"Z":{"d":"68,-34v30,4,89,-1,132,1r0,33r-179,0r0,-27r124,-202v-26,-8,-81,1,-120,-2r0,-33r169,0r0,22r-119,192v-7,11,-6,11,-7,16","w":219},"[":{"d":"125,0r-104,3r0,-268r104,3r0,14r-74,-1r0,236r74,-1r0,14","w":140},"\\":{"d":"78,8r-86,-276r31,0r85,276r-30,0","w":100},"]":{"d":"119,3r-104,-3r0,-14r74,1r0,-236r-74,1r0,-14r104,-3r0,268","w":140},"^":{"d":"94,-252r27,0r81,163r-30,0r-64,-132r-64,132r-30,0","w":216},"_":{"d":"180,45r-180,0r0,-18r180,0r0,18"},"a":{"d":"19,-171v42,-32,131,-33,131,34r0,95v0,10,0,21,16,20r0,26v-25,0,-41,-9,-47,-32v-29,40,-108,48,-110,-14v-2,-54,53,-76,108,-75v-3,-28,12,-50,-30,-50v-19,0,-38,10,-54,20xm117,-46r0,-52v-40,0,-76,16,-76,49v0,16,11,30,28,30v21,0,38,-17,48,-27"},"b":{"d":"104,4v-33,0,-41,-29,-51,-42v-5,11,-1,30,-3,44r-28,-12r0,-251r31,-12v2,36,-4,78,2,110v39,-63,113,-33,110,66v0,27,-8,97,-61,97xm97,-22v36,0,35,-59,35,-71v0,-24,-3,-74,-37,-74v-13,0,-42,13,-42,74v0,36,17,71,44,71","k":{"v":4,",":7,".":7}},"c":{"d":"44,-104v1,38,4,80,42,80v20,0,29,-17,32,-36r29,13v-6,31,-29,51,-61,51v-72,0,-73,-85,-73,-95v0,-18,0,-48,19,-74v17,-23,37,-27,50,-27v13,-5,58,19,61,42r-27,14v-3,-8,-10,-30,-32,-30v-22,0,-40,23,-40,62","w":159},"d":{"d":"74,-193v27,0,36,17,48,34v8,-25,0,-67,3,-98r32,-12r0,262r-28,12v-2,-14,1,-33,-4,-44v-9,10,-21,43,-50,43v-40,0,-62,-42,-62,-102v0,-40,16,-95,61,-95xm46,-91v0,17,1,68,36,68v60,-1,54,-144,1,-144v-28,0,-37,32,-37,76","k":{"y":-7}},"e":{"d":"89,-193v51,0,72,48,71,102r-112,0v0,42,13,70,46,70v22,0,32,-10,38,-15r18,17v-12,11,-27,24,-61,24v-44,0,-74,-35,-74,-94v0,-96,57,-104,74,-104xm49,-113r78,0v7,-55,-52,-75,-71,-32v-6,14,-7,26,-7,32","k":{"v":9,"w":7,",":7,".":7,"x":7}},"f":{"d":"120,-263r0,27v-5,-3,-12,-6,-22,-6v-38,0,-18,39,-23,69r33,0r0,21r-33,0r0,152r-34,0r0,-152r-26,0r0,-20r26,0v-10,-67,18,-113,79,-91","w":119,"k":{",":22,".":14,"e":4,"\u00e9":4,"\u00ea":4,"\u00eb":4,"\u00e8":4,"i":14,"\u00ee":14,"o":14,"\u00f4":14,"\u00f6":14,"\u00f2":14}},"g":{"d":"72,-193v34,0,42,21,54,37v6,-5,2,-22,3,-33r26,0v-2,66,5,142,-4,201v-4,25,-63,59,-118,37r0,-33v24,-3,15,15,45,14v51,-2,46,-39,44,-79v-10,9,-15,29,-49,30v-45,1,-60,-51,-60,-95v0,-45,26,-79,59,-79xm82,-45v12,0,43,-9,43,-61v0,-44,-20,-62,-43,-62v-37,0,-37,50,-37,67v0,12,3,56,37,56"},"h":{"d":"103,-169v-23,0,-35,26,-46,41r0,128r-33,0r0,-257r33,-13v2,37,-4,81,2,114v12,-16,37,-43,57,-37v27,0,37,19,37,46r0,147r-32,0r0,-146v0,-14,-4,-23,-18,-23"},"i":{"d":"29,-223r0,-34r42,0r0,34r-42,0xm34,0r0,-188r33,0r0,188r-33,0","w":100},"j":{"d":"4,53r0,-33v14,9,36,8,36,-11r0,-197r32,0r0,199v4,28,-28,53,-68,42xm36,-222r0,-35r40,0r0,35r-40,0","w":100},"k":{"d":"130,-188r36,0r-68,90v23,34,52,62,72,98r-38,0r-70,-95xm24,0r0,-257v11,-3,19,-10,32,-11r0,268r-32,0","k":{"y":-7}},"l":{"d":"34,0r0,-257v11,-3,19,-10,32,-11r0,268r-32,0","w":100,"k":{"w":7}},"m":{"d":"109,-167v-22,7,-29,15,-51,45r0,122r-31,0r0,-183r28,-10v2,15,-4,37,3,46v29,-24,23,-42,63,-45v32,-3,30,27,37,42v21,-25,46,-47,64,-43v19,3,33,12,33,56r0,137r-31,0r0,-134v0,-15,0,-33,-19,-33v-14,0,-27,15,-48,42r0,125r-31,0r0,-140v0,-26,-9,-27,-17,-27","w":280,"k":{"y":-7,"a":-7,"\u00e2":-7,"\u00e4":-7,"\u00e0":-7,"u":-7,"\u00fb":-7,"\u00fc":-7,"\u00f9":-7}},"n":{"d":"104,-168v-27,1,-41,35,-46,41r0,127r-32,0r0,-181r29,-12v1,12,-6,50,9,35v17,-36,91,-59,91,14r0,144r-32,0r0,-143v0,-5,0,-25,-19,-25","k":{"y":-7,"e":-7,"\u00e9":-7,"\u00ea":-7,"\u00eb":-7,"\u00e8":-7,"a":-7,"\u00e2":-7,"\u00e4":-7,"\u00e0":-7}},"o":{"d":"88,-193v61,1,77,50,77,100v0,57,-30,97,-76,97v-33,0,-46,-17,-53,-26v-14,-18,-21,-44,-21,-76v0,-66,34,-95,73,-95xm130,-95v0,-33,-7,-71,-41,-71v-36,0,-42,45,-42,74v0,14,6,68,43,68v35,0,40,-44,40,-71","k":{"v":11,"w":11,",":7,"x":7}},"p":{"d":"132,-99v0,-20,-2,-69,-36,-69v-28,0,-43,39,-43,71v0,56,25,72,45,72v16,0,34,-15,34,-74xm165,-97v2,103,-71,126,-110,66v-3,28,0,64,-1,94r-32,0r0,-247r28,-13v1,14,-3,36,3,45v9,-3,11,-42,51,-43v46,0,61,54,61,98","k":{",":7}},"q":{"d":"45,-98v2,34,1,73,37,73v32,0,43,-40,43,-70v0,-49,-23,-73,-43,-73v-34,0,-37,54,-37,70xm72,-195v35,0,40,28,53,43v5,-10,0,-31,2,-45r29,13r0,247r-32,0v-1,-31,3,-67,-2,-94v-15,14,-28,34,-49,34v-32,0,-60,-32,-60,-96v0,-72,29,-102,59,-102"},"r":{"d":"25,0r0,-181r30,-12v1,21,-3,47,2,64v9,1,11,-15,15,-18v24,-36,47,-45,52,-46r0,53v-31,-5,-50,11,-66,32r0,108r-33,0","w":140,"k":{"y":-11,",":43,".":43,"l":7,"t":-7,"-":14}},"s":{"d":"120,-176r-9,25v-17,-21,-71,-25,-71,8v13,49,88,24,88,91v0,33,-26,57,-62,57v-27,0,-45,-11,-56,-18r13,-24v26,28,76,25,76,-11v0,-15,-7,-20,-38,-35v-35,-17,-48,-31,-48,-56v0,-54,59,-67,107,-37","w":140},"t":{"d":"4,-153r0,-20r27,0r0,-43v12,-9,19,-23,34,-29r0,72r30,0r0,20r-32,0r0,112v-3,23,35,17,48,7r0,28v-32,13,-80,25,-80,-31r0,-116r-27,0","w":119,"k":{"a":-11,"\u00e2":-11,"\u00e4":-11,"\u00e0":-11}},"u":{"d":"122,-35v-15,13,-30,39,-58,39v-21,0,-38,-12,-38,-47r0,-145r32,0r0,135v0,9,1,34,20,34v16,0,27,-17,45,-43r0,-126r31,0r0,182r-29,11v-1,-13,3,-32,-3,-40","k":{"b":-7}},"v":{"d":"118,-188r31,0r-48,188r-39,0r-52,-188r34,0r36,152v10,-2,7,-19,10,-30","w":159,"k":{",":22,".":22,"e":4,"\u00e9":4,"\u00ea":4,"\u00eb":4,"\u00e8":4,"a":-7,"\u00e2":-7,"\u00e4":-7,"\u00e0":-7}},"w":{"d":"14,-188r32,0v13,50,18,108,34,155v16,-44,21,-105,36,-155r34,0r34,154v14,-47,20,-104,33,-154r29,0r-48,188r-34,0r-19,-87v-5,-22,-4,-50,-13,-68v-15,47,-19,106,-34,155r-34,0","w":259,"k":{",":22,".":22,"e":7,"\u00e9":7,"\u00ea":7,"\u00eb":7,"\u00e8":7}},"x":{"d":"90,-72r-3,0r-37,72r-36,0r57,-95r-57,-93r39,0v13,22,22,48,37,68v14,-21,24,-46,37,-68r36,0r-55,91r58,97r-37,0","k":{"e":7,"\u00e9":7,"\u00ea":7,"\u00eb":7,"\u00e8":7}},"y":{"d":"9,60r0,-36v12,-1,8,10,25,10v17,0,21,-13,33,-48r-61,-174r35,0r40,128v16,-41,24,-85,39,-128r32,0r-59,185v-22,64,-35,71,-84,63","w":159,"k":{",":29,".":29,"e":4,"\u00e9":4,"\u00ea":4,"\u00eb":4,"\u00e8":4,"t":-11}},"z":{"d":"17,0r0,-24r59,-95v9,-16,22,-27,28,-42v-23,-2,-56,1,-84,0r0,-27r121,0r0,25r-85,134v17,5,59,-1,86,1r0,28r-125,0","w":159},"{":{"d":"112,-269r0,22v-43,-9,-36,33,-36,72v0,35,-24,45,-31,49v8,2,31,12,31,49v0,32,-6,69,36,61r0,22v-51,9,-65,-21,-65,-78v0,-26,-15,-43,-30,-43r0,-24v28,1,30,-46,30,-83v0,-43,26,-50,65,-47","w":119},"|":{"d":"25,90r0,-360r30,0r0,360r-30,0","w":79},"}":{"d":"8,-247r0,-22v55,-11,65,29,65,88v0,25,15,42,30,42r0,24v-25,-2,-30,39,-30,74v0,43,-26,50,-65,47r0,-22v39,8,37,-25,36,-61v-1,-38,24,-45,31,-50v-8,-1,-31,-14,-31,-48v0,-34,11,-81,-36,-72","w":119},"~":{"d":"147,-64v-38,-3,-87,-50,-109,-1r-17,-19v12,-18,26,-32,48,-32v43,2,85,49,110,1r16,19v-12,18,-26,34,-48,32","w":216},"'":{"d":"25,-167r0,-97r30,0r0,97r-30,0","w":79},"`":{"d":"40,-257r32,50r-24,0r-48,-50r40,0","w":100},"\u00c2":{"d":"77,-86r84,0r-43,-136v-17,42,-26,92,-41,136xm190,0r-18,-55r-105,0r-16,55r-39,0r86,-264r41,0r89,264r-38,0xm104,-333r33,0r36,50r-29,0r-24,-33r-24,33r-28,0","w":240,"k":{"v":14,"w":22,"T":22,"U":7,"\u00db":7,"\u00dc":7,"\u00d9":7,"V":22,"W":22,"y":14,"Y":29}},"\u00c4":{"d":"77,-86r84,0r-43,-136v-17,42,-26,92,-41,136xm190,0r-18,-55r-105,0r-16,55r-39,0r86,-264r41,0r89,264r-38,0xm75,-287r0,-37r33,0r0,37r-33,0xm133,-287r0,-37r33,0r0,37r-33,0","w":240,"k":{"v":14,"w":22,"T":22,"U":7,"\u00db":7,"\u00dc":7,"\u00d9":7,"V":22,"W":22,"y":14,"Y":29}},"\u00c0":{"d":"77,-86r84,0r-43,-136v-17,42,-26,92,-41,136xm190,0r-18,-55r-105,0r-16,55r-39,0r86,-264r41,0r89,264r-38,0xm110,-333r32,50r-24,0r-47,-50r39,0","w":240,"k":{"v":14,"w":22,"T":22,"U":7,"\u00db":7,"\u00dc":7,"\u00d9":7,"V":22,"W":22,"y":14,"Y":29}},"\u00c7":{"d":"113,-24v38,0,40,-30,44,-56r36,7v4,38,-43,84,-75,81r-10,14v24,-6,44,11,41,26v3,34,-52,39,-77,25r6,-14v18,6,40,12,44,-10v-5,-17,-15,-16,-31,-11v-13,-9,6,-20,11,-30v-26,-3,-79,-24,-79,-138v0,-61,15,-137,90,-137v17,0,39,4,55,21v18,18,21,39,23,52r-34,6v-10,-42,-10,-42,-44,-48v-48,-8,-54,74,-54,98v0,58,10,114,54,114","w":219},"\u00c9":{"d":"43,0r0,-264r164,0r0,32r-126,0r0,77r93,0r0,33r-92,0r0,89r132,0r0,33r-171,0xm126,-333r40,0r-48,50r-24,0","w":240},"\u00ca":{"d":"43,0r0,-264r164,0r0,32r-126,0r0,77r93,0r0,33r-92,0r0,89r132,0r0,33r-171,0xm104,-333r33,0r36,50r-29,0r-24,-33r-24,33r-28,0","w":240},"\u00cb":{"d":"43,0r0,-264r164,0r0,32r-126,0r0,77r93,0r0,33r-92,0r0,89r132,0r0,33r-171,0xm75,-287r0,-37r33,0r0,37r-33,0xm133,-287r0,-37r33,0r0,37r-33,0","w":240},"\u00c8":{"d":"43,0r0,-264r164,0r0,32r-126,0r0,77r93,0r0,33r-92,0r0,89r132,0r0,33r-171,0xm110,-333r32,50r-24,0r-47,-50r39,0","w":240},"\u00ce":{"d":"28,0r0,-23r23,0r0,-217r-23,0r0,-24r84,0r0,24r-24,0r0,217r24,0r0,23r-84,0xm54,-333r33,0r36,50r-29,0r-24,-33r-24,33r-28,0","w":140},"\u00cf":{"d":"28,0r0,-23r23,0r0,-217r-23,0r0,-24r84,0r0,24r-24,0r0,217r24,0r0,23r-84,0xm25,-287r0,-37r33,0r0,37r-33,0xm83,-287r0,-37r33,0r0,37r-33,0","w":140},"\u00d4":{"d":"111,-237v-44,0,-51,53,-52,108v0,33,4,104,50,104v37,0,52,-38,52,-105v0,-35,-3,-107,-50,-107xm110,-268v70,0,88,72,89,137v0,63,-18,139,-89,139v-99,0,-108,-166,-68,-237v20,-36,49,-39,68,-39xm94,-333r33,0r36,50r-29,0r-24,-33r-24,33r-28,0","w":219,"k":{",":7}},"\u00d6":{"d":"111,-237v-44,0,-51,53,-52,108v0,33,4,104,50,104v37,0,52,-38,52,-105v0,-35,-3,-107,-50,-107xm110,-268v70,0,88,72,89,137v0,63,-18,139,-89,139v-99,0,-108,-166,-68,-237v20,-36,49,-39,68,-39xm65,-287r0,-37r33,0r0,37r-33,0xm123,-287r0,-37r33,0r0,37r-33,0","w":219,"k":{",":7}},"\u00d2":{"d":"111,-237v-44,0,-51,53,-52,108v0,33,4,104,50,104v37,0,52,-38,52,-105v0,-35,-3,-107,-50,-107xm110,-268v70,0,88,72,89,137v0,63,-18,139,-89,139v-99,0,-108,-166,-68,-237v20,-36,49,-39,68,-39xm100,-333r32,50r-24,0r-48,-50r40,0","w":219,"k":{",":7}},"\u00db":{"d":"46,-264r37,0r0,176v0,28,6,62,49,62v12,0,32,-5,41,-22v18,-61,4,-143,8,-216r33,0v-7,87,21,196,-24,248v-20,23,-47,24,-66,24v-13,0,-43,-4,-61,-31v-15,-22,-17,-43,-17,-67r0,-174xm113,-333r34,0r36,50r-29,0r-24,-33r-24,33r-29,0","w":259,"k":{",":22,".":14,"H":14,"M":14,"N":14,"R":14}},"\u00dc":{"d":"46,-264r37,0r0,176v0,28,6,62,49,62v12,0,32,-5,41,-22v18,-61,4,-143,8,-216r33,0v-7,87,21,196,-24,248v-20,23,-47,24,-66,24v-13,0,-43,-4,-61,-31v-15,-22,-17,-43,-17,-67r0,-174xm85,-287r0,-37r33,0r0,37r-33,0xm143,-287r0,-37r32,0r0,37r-32,0","w":259,"k":{",":22,".":14,"H":14,"M":14,"N":14,"R":14}},"\u00d9":{"d":"46,-264r37,0r0,176v0,28,6,62,49,62v12,0,32,-5,41,-22v18,-61,4,-143,8,-216r33,0v-7,87,21,196,-24,248v-20,23,-47,24,-66,24v-13,0,-43,-4,-61,-31v-15,-22,-17,-43,-17,-67r0,-174xm120,-333r32,50r-25,0r-47,-50r40,0","w":259,"k":{",":22,".":14,"H":14,"M":14,"N":14,"R":14}},"\u00e2":{"d":"19,-171v42,-32,131,-33,131,34r0,95v0,10,0,21,16,20r0,26v-25,0,-41,-9,-47,-32v-29,40,-108,48,-110,-14v-2,-54,53,-76,108,-75v-3,-28,12,-50,-30,-50v-19,0,-38,10,-54,20xm117,-46r0,-52v-40,0,-76,16,-76,49v0,16,11,30,28,30v21,0,38,-17,48,-27xm73,-257r34,0r36,50r-29,0r-24,-33r-24,33r-29,0"},"\u00e4":{"d":"19,-171v42,-32,131,-33,131,34r0,95v0,10,0,21,16,20r0,26v-25,0,-41,-9,-47,-32v-29,40,-108,48,-110,-14v-2,-54,53,-76,108,-75v-3,-28,12,-50,-30,-50v-19,0,-38,10,-54,20xm117,-46r0,-52v-40,0,-76,16,-76,49v0,16,11,30,28,30v21,0,38,-17,48,-27xm45,-211r0,-37r33,0r0,37r-33,0xm103,-211r0,-37r32,0r0,37r-32,0"},"\u00e0":{"d":"19,-171v42,-32,131,-33,131,34r0,95v0,10,0,21,16,20r0,26v-25,0,-41,-9,-47,-32v-29,40,-108,48,-110,-14v-2,-54,53,-76,108,-75v-3,-28,12,-50,-30,-50v-19,0,-38,10,-54,20xm117,-46r0,-52v-40,0,-76,16,-76,49v0,16,11,30,28,30v21,0,38,-17,48,-27xm80,-257r32,50r-25,0r-47,-50r40,0"},"\u00e7":{"d":"147,-47v0,27,-35,52,-60,51r-13,18v24,-6,44,11,41,26v3,34,-52,39,-77,25r6,-14v18,7,40,11,44,-10v-5,-17,-15,-16,-31,-11r-7,-7r21,-28v-57,-11,-58,-84,-58,-94v0,-18,0,-48,19,-74v17,-23,37,-27,50,-27v13,-5,58,19,61,42r-27,14v-3,-8,-10,-30,-32,-30v-22,0,-40,23,-40,62v1,38,4,80,42,80v20,0,29,-17,32,-36","w":159},"\u00e9":{"d":"89,-193v51,0,72,48,71,102r-112,0v0,42,13,70,46,70v22,0,32,-10,38,-15r18,17v-12,11,-27,24,-61,24v-44,0,-74,-35,-74,-94v0,-96,57,-104,74,-104xm49,-113r78,0v7,-55,-52,-75,-71,-32v-6,14,-7,26,-7,32xm96,-257r39,0r-47,50r-24,0","k":{"v":9,"w":7,",":7,".":7,"x":7}},"\u00ea":{"d":"89,-193v51,0,72,48,71,102r-112,0v0,42,13,70,46,70v22,0,32,-10,38,-15r18,17v-12,11,-27,24,-61,24v-44,0,-74,-35,-74,-94v0,-96,57,-104,74,-104xm49,-113r78,0v7,-55,-52,-75,-71,-32v-6,14,-7,26,-7,32xm73,-257r34,0r36,50r-29,0r-24,-33r-24,33r-29,0","k":{"v":9,"w":7,",":7,".":7,"x":7}},"\u00eb":{"d":"89,-193v51,0,72,48,71,102r-112,0v0,42,13,70,46,70v22,0,32,-10,38,-15r18,17v-12,11,-27,24,-61,24v-44,0,-74,-35,-74,-94v0,-96,57,-104,74,-104xm49,-113r78,0v7,-55,-52,-75,-71,-32v-6,14,-7,26,-7,32xm45,-211r0,-37r33,0r0,37r-33,0xm103,-211r0,-37r32,0r0,37r-32,0","k":{"v":9,"w":7,",":7,".":7,"x":7}},"\u00e8":{"d":"89,-193v51,0,72,48,71,102r-112,0v0,42,13,70,46,70v22,0,32,-10,38,-15r18,17v-12,11,-27,24,-61,24v-44,0,-74,-35,-74,-94v0,-96,57,-104,74,-104xm49,-113r78,0v7,-55,-52,-75,-71,-32v-6,14,-7,26,-7,32xm80,-257r32,50r-25,0r-47,-50r40,0","k":{"v":9,"w":7,",":7,".":7,"x":7}},"\u00ee":{"d":"34,0r0,-188r32,0r0,188r-32,0xm33,-257r34,0r36,50r-29,0r-24,-33r-24,33r-29,0","w":100},"\u00f4":{"d":"88,-193v61,1,77,50,77,100v0,57,-30,97,-76,97v-33,0,-46,-17,-53,-26v-14,-18,-21,-44,-21,-76v0,-66,34,-95,73,-95xm130,-95v0,-33,-7,-71,-41,-71v-36,0,-42,45,-42,74v0,14,6,68,43,68v35,0,40,-44,40,-71xm73,-257r34,0r36,50r-29,0r-24,-33r-24,33r-29,0","k":{"v":11,"w":11,",":7,"x":7}},"\u00f6":{"d":"88,-193v61,1,77,50,77,100v0,57,-30,97,-76,97v-33,0,-46,-17,-53,-26v-14,-18,-21,-44,-21,-76v0,-66,34,-95,73,-95xm130,-95v0,-33,-7,-71,-41,-71v-36,0,-42,45,-42,74v0,14,6,68,43,68v35,0,40,-44,40,-71xm45,-211r0,-37r33,0r0,37r-33,0xm103,-211r0,-37r32,0r0,37r-32,0","k":{"v":11,"w":11,",":7,"x":7}},"\u00f2":{"d":"88,-193v61,1,77,50,77,100v0,57,-30,97,-76,97v-33,0,-46,-17,-53,-26v-14,-18,-21,-44,-21,-76v0,-66,34,-95,73,-95xm130,-95v0,-33,-7,-71,-41,-71v-36,0,-42,45,-42,74v0,14,6,68,43,68v35,0,40,-44,40,-71xm80,-257r32,50r-25,0r-47,-50r40,0","k":{"v":11,"w":11,",":7,"x":7}},"\u00fb":{"d":"122,-35v-15,13,-30,39,-58,39v-21,0,-38,-12,-38,-47r0,-145r32,0r0,135v0,9,1,34,20,34v16,0,27,-17,45,-43r0,-126r31,0r0,182r-29,11v-1,-13,3,-32,-3,-40xm73,-257r34,0r36,50r-29,0r-24,-33r-24,33r-29,0","k":{"b":-7}},"\u00fc":{"d":"122,-35v-15,13,-30,39,-58,39v-21,0,-38,-12,-38,-47r0,-145r32,0r0,135v0,9,1,34,20,34v16,0,27,-17,45,-43r0,-126r31,0r0,182r-29,11v-1,-13,3,-32,-3,-40xm45,-211r0,-37r33,0r0,37r-33,0xm103,-211r0,-37r32,0r0,37r-32,0","k":{"b":-7}},"\u00f9":{"d":"122,-35v-15,13,-30,39,-58,39v-21,0,-38,-12,-38,-47r0,-145r32,0r0,135v0,9,1,34,20,34v16,0,27,-17,45,-43r0,-126r31,0r0,182r-29,11v-1,-13,3,-32,-3,-40xm80,-257r32,50r-25,0r-47,-50r40,0","k":{"b":-7}},"\u00a0":{"w":99,"k":{"T":36,"V":36,"W":29,"Y":36,"A":22,"\u00c2":22,"\u00c4":22,"\u00c0":22}}}});

Cufon.replace('#HMenu li a',{hover:true, fontFamily:'Bell Gothic Std'});
Cufon.replace('.bellgo',{hover:true, fontFamily:'Bell Gothic Std'});

$(document).ready(function(){

$("map > area").tooltip({
     track: false,
     delay: 0,
     showURL: false,
     opacity: 0.8,
     fixPNG: true,
     fade: 150,
     left: 20,
     top: -10
     });

});

/*
 * Metadata - jQuery plugin for parsing metadata from elements
 *
 * Copyright (c) 2006 John Resig, Yehuda Katz, J?ÃÂÃÂ¶rn Zaefferer, Paul McLanahan
 *
 * Dual licensed under the MIT and GPL licenses:
 *   http://www.opensource.org/licenses/mit-license.php
 *   http://www.gnu.org/licenses/gpl.html
 *
 * Revision: $Id: jquery.metadata.js 3640 2007-10-11 18:34:38Z pmclanahan $
 *
 */

/**
 * Sets the type of metadata to use. Metadata is encoded in JSON, and each property
 * in the JSON will become a property of the element itself.
 *
 * There are four supported types of metadata storage:
 *
 *   attr:  Inside an attribute. The name parameter indicates *which* attribute.
 *
 *   class: Inside the class attribute, wrapped in curly braces: { }
 *
 *   elem:  Inside a child element (e.g. a script tag). The
 *          name parameter indicates *which* element.
 *   html5: Values are stored in data-* attributes.
 *
 * The metadata for an element is loaded the first time the element is accessed via jQuery.
 *
 * As a result, you can define the metadata type, use $(expr) to load the metadata into the elements
 * matched by expr, then redefine the metadata type and run another $(expr) for other elements.
 *
 * @name $.metadata.setType
 *
 * @example <p id="one" class="some_class {item_id: 1, item_label: 'Label'}">This is a p</p>
 * @before $.metadata.setType("class")
 * @after $("#one").metadata().item_id == 1; $("#one").metadata().item_label == "Label"
 * @desc Reads metadata from the class attribute
 *
 * @example <p id="one" class="some_class" data="{item_id: 1, item_label: 'Label'}">This is a p</p>
 * @before $.metadata.setType("attr", "data")
 * @after $("#one").metadata().item_id == 1; $("#one").metadata().item_label == "Label"
 * @desc Reads metadata from a "data" attribute
 *
 * @example <p id="one" class="some_class"><script>{item_id: 1, item_label: 'Label'}</script>This is a p</p>
 * @before $.metadata.setType("elem", "script")
 * @after $("#one").metadata().item_id == 1; $("#one").metadata().item_label == "Label"
 * @desc Reads metadata from a nested script element
 *
 * @example <p id="one" class="some_class" data-item_id="1" data-item_label="Label">This is a p</p>
 * @before $.metadata.setType("html5")
 * @after $("#one").metadata().item_id == 1; $("#one").metadata().item_label == "Label"
 * @desc Reads metadata from a series of data-* attributes
 *
 * @param String type The encoding type
 * @param String name The name of the attribute to be used to get metadata (optional)
 * @cat Plugins/Metadata
 * @descr Sets the type of encoding to be used when loading metadata for the first time
 * @type undefined
 * @see metadata()
 */

(function($) {

$.extend({
  metadata : {
    defaults : {
      type: 'class',
      name: 'metadata',
      cre: /({.*})/,
      single: 'metadata'
    },
    setType: function( type, name ){
      this.defaults.type = type;
      this.defaults.name = name;
    },
    get: function( elem, opts ){
      var settings = $.extend({},this.defaults,opts);
      // check for empty string in single property
      if ( !settings.single.length ) settings.single = 'metadata';

      var data = $.data(elem, settings.single);
      // returned cached data if it already exists
      if ( data ) return data;

      data = "{}";

      var getData = function(data) {
        if(typeof data != "string") return data;

        if( data.indexOf('{') < 0 ) {
          data = eval("(" + data + ")");
        }
      }

      var getObject = function(data) {
        if(typeof data != "string") return data;

        data = eval("(" + data + ")");
        return data;
      }

      if ( settings.type == "html5" ) {
        var object = {};
        $( elem.attributes ).each(function() {
          var name = this.nodeName;
          if(name.match(/^data-/)) name = name.replace(/^data-/, '');
          else return true;
          object[name] = getObject(this.nodeValue);
        });
      } else {
        if ( settings.type == "class" ) {
          var m = settings.cre.exec( elem.className );
          if ( m )
            data = m[1];
        } else if ( settings.type == "elem" ) {
          if( !elem.getElementsByTagName ) return;
          var e = elem.getElementsByTagName(settings.name);
          if ( e.length )
            data = $.trim(e[0].innerHTML);
        } else if ( elem.getAttribute != undefined ) {
          var attr = elem.getAttribute( settings.name );
          if ( attr )
            data = attr;
        }
        object = getObject(data.indexOf("{") < 0 ? "{" + data + "}" : data);
      }

      $.data( elem, settings.single, object );
      return object;
    }
  }
});

/**
 * Returns the metadata object for the first member of the jQuery object.
 *
 * @name metadata
 * @descr Returns element's metadata object
 * @param Object opts An object contianing settings to override the defaults
 * @type jQuery
 * @cat Plugins/Metadata
 */
$.fn.metadata = function( opts ){
  return $.metadata.get( this[0], opts );
};

})(jQuery);

/*
 * jQuery Tooltip plugin 1.3
 *
 * http://bassistance.de/jquery-plugins/jquery-plugin-tooltip/
 * http://docs.jquery.com/Plugins/Tooltip
 *
 * Copyright (c) 2006 - 2008 JÃÂÃÂÃÂÃÂ¶rn Zaefferer
 *
 * $Id: jquery.tooltip.js 5741 2008-06-21 15:22:16Z joern.zaefferer $
 *
 * Dual licensed under the MIT and GPL licenses:
 *   http://www.opensource.org/licenses/mit-license.php
 *   http://www.gnu.org/licenses/gpl.html
 */

;(function($) {

		// the tooltip element
	var helper = {},
		// the current tooltipped element
		current,
		// the title of the current element, used for restoring
		title,
		// timeout id for delayed tooltips
		tID,
		// IE 5.5 or 6
		IE = $.browser.msie && /MSIE\s(5\.5|6\.)/.test(navigator.userAgent),
		// flag for mouse tracking
		track = false;

	$.tooltip = {
		blocked: false,
		defaults: {
			delay: 200,
			fade: false,
			showURL: true,
			extraClass: "",
			top: 15,
			left: 15,
			id: "tooltip"
		},
		block: function() {
			$.tooltip.blocked = !$.tooltip.blocked;
		}
	};

	$.fn.extend({
		tooltip: function(settings) {
			settings = $.extend({}, $.tooltip.defaults, settings);
			createHelper(settings);
			return this.each(function() {
					$.data(this, "tooltip", settings);
					this.tOpacity = helper.parent.css("opacity");
					// copy tooltip into its own expando and remove the title
					this.tooltipText = this.title;
					$(this).removeAttr("title");
					// also remove alt attribute to prevent default tooltip in IE
					this.alt = "";
				})
				.mouseover(save)
				.mouseout(hide)
				.click(hide);
		},
		fixPNG: IE ? function() {
			return this.each(function () {
				var image = $(this).css('backgroundImage');
				if (image.match(/^url\(["']?(.*\.png)["']?\)$/i)) {
					image = RegExp.$1;
					$(this).css({
						'backgroundImage': 'none',
						'filter': "progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=crop, src='" + image + "')"
					}).each(function () {
						var position = $(this).css('position');
						if (position != 'absolute' && position != 'relative')
							$(this).css('position', 'relative');
					});
				}
			});
		} : function() { return this; },
		unfixPNG: IE ? function() {
			return this.each(function () {
				$(this).css({'filter': '', backgroundImage: ''});
			});
		} : function() { return this; },
		hideWhenEmpty: function() {
			return this.each(function() {
				$(this)[ $(this).html() ? "show" : "hide" ]();
			});
		},
		url: function() {
			return this.attr('href') || this.attr('src');
		}
	});

	function createHelper(settings) {
		// there can be only one tooltip helper
		if( helper.parent )
			return;
		// create the helper, h3 for title, div for url
		helper.parent = $('<div id="' + settings.id + '"><h3></h3><div class="body"></div><div class="url"></div></div>')
			// add to document
			.appendTo(document.body)
			// hide it at first
			.hide();

		// apply bgiframe if available
		if ( $.fn.bgiframe )
			helper.parent.bgiframe();

		// save references to title and url elements
		helper.title = $('h3', helper.parent);
		helper.body = $('div.body', helper.parent);
		helper.url = $('div.url', helper.parent);
	}

	function settings(element) {
		return $.data(element, "tooltip");
	}

	// main event handler to start showing tooltips
	function handle(event) {
		// show helper, either with timeout or on instant
		if( settings(this).delay )
			tID = setTimeout(show, settings(this).delay);
		else
			show();

		// if selected, update the helper position when the mouse moves
		track = !!settings(this).track;
		$(document.body).bind('mousemove', update);

		// update at least once
		update(event);
	}

	// save elements title before the tooltip is displayed
	function save() {
		// if this is the current source, or it has no title (occurs with click event), stop
		if ( $.tooltip.blocked || this == current || (!this.tooltipText && !settings(this).bodyHandler) )
			return;

		// save current
		current = this;
		title = this.tooltipText;

		if ( settings(this).bodyHandler ) {
			helper.title.hide();
			var bodyContent = settings(this).bodyHandler.call(this);
			if (bodyContent.nodeType || bodyContent.jquery) {
				helper.body.empty().append(bodyContent)
			} else {
				helper.body.html( bodyContent );
			}
			helper.body.show();
		} else if ( settings(this).showBody ) {
			var parts = title.split(settings(this).showBody);
			helper.title.html(parts.shift()).show();
			helper.body.empty();
			for(var i = 0, part; (part = parts[i]); i++) {
				if(i > 0)
					helper.body.append("<br/>");
				helper.body.append(part);
			}
			helper.body.hideWhenEmpty();
		} else {
			helper.title.html(title).show();
			helper.body.hide();
		}

		// if element has href or src, add and show it, otherwise hide it
		if( settings(this).showURL && $(this).url() )
			helper.url.html( $(this).url().replace('http://', '') ).show();
		else
			helper.url.hide();

		// add an optional class for this tip
		helper.parent.addClass(settings(this).extraClass);

		// fix PNG background for IE
		if (settings(this).fixPNG )
			helper.parent.fixPNG();

		handle.apply(this, arguments);
	}

	// delete timeout and show helper
	function show() {
		tID = null;
		if ((!IE || !$.fn.bgiframe) && settings(current).fade) {
			if (helper.parent.is(":animated"))
				helper.parent.stop().show().fadeTo(settings(current).fade, current.tOpacity);
			else
				helper.parent.is(':visible') ? helper.parent.fadeTo(settings(current).fade, current.tOpacity) : helper.parent.fadeIn(settings(current).fade);
		} else {
			helper.parent.show();
		}
		update();
	}

	/**
	 * callback for mousemove
	 * updates the helper position
	 * removes itself when no current element
	 */
	function update(event)	{
		if($.tooltip.blocked)
			return;

		if (event && event.target.tagName == "OPTION") {
			return;
		}

		// stop updating when tracking is disabled and the tooltip is visible
		if ( !track && helper.parent.is(":visible")) {
			$(document.body).unbind('mousemove', update)
		}

		// if no current element is available, remove this listener
		if( current == null ) {
			$(document.body).unbind('mousemove', update);
			return;
		}

		// remove position helper classes
		helper.parent.removeClass("viewport-right").removeClass("viewport-bottom");

		var left = helper.parent[0].offsetLeft;
		var top = helper.parent[0].offsetTop;
		if (event) {
			// position the helper 15 pixel to bottom right, starting from mouse position
			left = event.pageX + settings(current).left;
			top = event.pageY + settings(current).top;
			var right='auto';
			if (settings(current).positionLeft) {
				right = $(window).width() - left;
				left = 'auto';
			}
			helper.parent.css({
				left: left,
				right: right,
				top: top
			});
		}

		var v = viewport(),
			h = helper.parent[0];
		// check horizontal position
		if (v.x + v.cx < h.offsetLeft + h.offsetWidth) {
			left -= h.offsetWidth + 20 + settings(current).left;
			helper.parent.css({left: left + 'px'}).addClass("viewport-right");
		}
		// check vertical position
		if (v.y + v.cy < h.offsetTop + h.offsetHeight) {
			top -= h.offsetHeight + 20 + settings(current).top;
			helper.parent.css({top: top + 'px'}).addClass("viewport-bottom");
		}
	}

	function viewport() {
		return {
			x: $(window).scrollLeft(),
			y: $(window).scrollTop(),
			cx: $(window).width(),
			cy: $(window).height()
		};
	}

	// hide helper and restore added classes and the title
	function hide(event) {
		if($.tooltip.blocked)
			return;
		// clear timeout if possible
		if(tID)
			clearTimeout(tID);
		// no more current element
		current = null;

		var tsettings = settings(this);
		function complete() {
			helper.parent.removeClass( tsettings.extraClass ).hide().css("opacity", "");
		}
		if ((!IE || !$.fn.bgiframe) && tsettings.fade) {
			if (helper.parent.is(':animated'))
				helper.parent.stop().fadeTo(tsettings.fade, 0, complete);
			else
				helper.parent.stop().fadeOut(tsettings.fade, complete);
		} else
			complete();

		if( settings(this).fixPNG )
			helper.parent.unfixPNG();
	}

})(jQuery);



/* Copyright (c) 2007 Paul Bakaus (paul.bakaus@googlemail.com) and Brandon Aaron (brandon.aaron@gmail.com || http://brandonaaron.net)
 * Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php)
 * and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses.
 *
 * $LastChangedDate: 2007-06-22 04:38:37 +0200 (Fr, 22 Jun 2007) $
 * $Rev: 2141 $
 *
 * Version: 1.0b2
 */

(function($){

// store a copy of the core height and width methods
var height = $.fn.height,
    width  = $.fn.width;

$.fn.extend({
	/**
	 * If used on document, returns the document's height (innerHeight)
	 * If used on window, returns the viewport's (window) height
	 * See core docs on height() to see what happens when used on an element.
	 *
	 * @example $("#testdiv").height()
	 * @result 200
	 *
	 * @example $(document).height()
	 * @result 800
	 *
	 * @example $(window).height()
	 * @result 400
	 *
	 * @name height
	 * @type Object
	 * @cat Plugins/Dimensions
	 */
	height: function() {
		if ( this[0] == window )
			return self.innerHeight ||
				$.boxModel && document.documentElement.clientHeight ||
				document.body.clientHeight;

		if ( this[0] == document )
			return Math.max( document.body.scrollHeight, document.body.offsetHeight );

		return height.apply(this, arguments);
	},

	/**
	 * If used on document, returns the document's width (innerWidth)
	 * If used on window, returns the viewport's (window) width
	 * See core docs on height() to see what happens when used on an element.
	 *
	 * @example $("#testdiv").width()
	 * @result 200
	 *
	 * @example $(document).width()
	 * @result 800
	 *
	 * @example $(window).width()
	 * @result 400
	 *
	 * @name width
	 * @type Object
	 * @cat Plugins/Dimensions
	 */
	width: function() {
		if ( this[0] == window )
			return self.innerWidth ||
				$.boxModel && document.documentElement.clientWidth ||
				document.body.clientWidth;

		if ( this[0] == document )
			return Math.max( document.body.scrollWidth, document.body.offsetWidth );

		return width.apply(this, arguments);
	},

	/**
	 * Returns the inner height value (without border) for the first matched element.
	 * If used on document, returns the document's height (innerHeight)
	 * If used on window, returns the viewport's (window) height
	 *
	 * @example $("#testdiv").innerHeight()
	 * @result 800
	 *
	 * @name innerHeight
	 * @type Number
	 * @cat Plugins/Dimensions
	 */
	innerHeight: function() {
		return this[0] == window || this[0] == document ?
			this.height() :
			this.is(':visible') ?
				this[0].offsetHeight - num(this, 'borderTopWidth') - num(this, 'borderBottomWidth') :
				this.height() + num(this, 'paddingTop') + num(this, 'paddingBottom');
	},

	/**
	 * Returns the inner width value (without border) for the first matched element.
	 * If used on document, returns the document's Width (innerWidth)
	 * If used on window, returns the viewport's (window) width
	 *
	 * @example $("#testdiv").innerWidth()
	 * @result 1000
	 *
	 * @name innerWidth
	 * @type Number
	 * @cat Plugins/Dimensions
	 */
	innerWidth: function() {
		return this[0] == window || this[0] == document ?
			this.width() :
			this.is(':visible') ?
				this[0].offsetWidth - num(this, 'borderLeftWidth') - num(this, 'borderRightWidth') :
				this.width() + num(this, 'paddingLeft') + num(this, 'paddingRight');
	},

	/**
	 * Returns the outer height value (including border) for the first matched element.
	 * Cannot be used on document or window.
	 *
	 * @example $("#testdiv").outerHeight()
	 * @result 1000
	 *
	 * @name outerHeight
	 * @type Number
	 * @cat Plugins/Dimensions
	 */
	outerHeight: function() {
		return this[0] == window || this[0] == document ?
			this.height() :
			this.is(':visible') ?
				this[0].offsetHeight :
				this.height() + num(this,'borderTopWidth') + num(this, 'borderBottomWidth') + num(this, 'paddingTop') + num(this, 'paddingBottom');
	},

	/**
	 * Returns the outer width value (including border) for the first matched element.
	 * Cannot be used on document or window.
	 *
	 * @example $("#testdiv").outerHeight()
	 * @result 1000
	 *
	 * @name outerHeight
	 * @type Number
	 * @cat Plugins/Dimensions
	 */
	outerWidth: function() {
		return this[0] == window || this[0] == document ?
			this.width() :
			this.is(':visible') ?
				this[0].offsetWidth :
				this.width() + num(this, 'borderLeftWidth') + num(this, 'borderRightWidth') + num(this, 'paddingLeft') + num(this, 'paddingRight');
	},

	/**
	 * Returns how many pixels the user has scrolled to the right (scrollLeft).
	 * Works on containers with overflow: auto and window/document.
	 *
	 * @example $("#testdiv").scrollLeft()
	 * @result 100
	 *
	 * @name scrollLeft
	 * @type Number
	 * @cat Plugins/Dimensions
	 */
	/**
	 * Sets the scrollLeft property and continues the chain.
	 * Works on containers with overflow: auto and window/document.
	 *
	 * @example $("#testdiv").scrollLeft(10).scrollLeft()
	 * @result 10
	 *
	 * @name scrollLeft
	 * @param Number value A positive number representing the desired scrollLeft.
	 * @type jQuery
	 * @cat Plugins/Dimensions
	 */
	scrollLeft: function(val) {
		if ( val != undefined )
			// set the scroll left
			return this.each(function() {
				if (this == window || this == document)
					window.scrollTo( val, $(window).scrollTop() );
				else
					this.scrollLeft = val;
			});

		// return the scroll left offest in pixels
		if ( this[0] == window || this[0] == document )
			return self.pageXOffset ||
				$.boxModel && document.documentElement.scrollLeft ||
				document.body.scrollLeft;

		return this[0].scrollLeft;
	},

	/**
	 * Returns how many pixels the user has scrolled to the bottom (scrollTop).
	 * Works on containers with overflow: auto and window/document.
	 *
	 * @example $("#testdiv").scrollTop()
	 * @result 100
	 *
	 * @name scrollTop
	 * @type Number
	 * @cat Plugins/Dimensions
	 */
	/**
	 * Sets the scrollTop property and continues the chain.
	 * Works on containers with overflow: auto and window/document.
	 *
	 * @example $("#testdiv").scrollTop(10).scrollTop()
	 * @result 10
	 *
	 * @name scrollTop
	 * @param Number value A positive number representing the desired scrollTop.
	 * @type jQuery
	 * @cat Plugins/Dimensions
	 */
	scrollTop: function(val) {
		if ( val != undefined )
			// set the scroll top
			return this.each(function() {
				if (this == window || this == document)
					window.scrollTo( $(window).scrollLeft(), val );
				else
					this.scrollTop = val;
			});

		// return the scroll top offset in pixels
		if ( this[0] == window || this[0] == document )
			return self.pageYOffset ||
				$.boxModel && document.documentElement.scrollTop ||
				document.body.scrollTop;

		return this[0].scrollTop;
	},

	/**
	 * Returns the top and left positioned offset in pixels.
	 * The positioned offset is the offset between a positioned
	 * parent and the element itself.
	 *
	 * @example $("#testdiv").position()
	 * @result { top: 100, left: 100 }
	 *
	 * @name position
	 * @param Map options Optional settings to configure the way the offset is calculated.
	 * @option Boolean margin Should the margin of the element be included in the calculations? False by default.
	 * @option Boolean border Should the border of the element be included in the calculations? False by default.
	 * @option Boolean padding Should the padding of the element be included in the calculations? False by default.
	 * @param Object returnObject An object to store the return value in, so as not to break the chain. If passed in the
	 *                            chain will not be broken and the result will be assigned to this object.
	 * @type Object
	 * @cat Plugins/Dimensions
	 */
	position: function(options, returnObject) {
		var elem = this[0], parent = elem.parentNode, op = elem.offsetParent,
		    options = $.extend({ margin: false, border: false, padding: false, scroll: false }, options || {}),
			x = elem.offsetLeft,
			y = elem.offsetTop,
			sl = elem.scrollLeft,
			st = elem.scrollTop;

		// Mozilla and IE do not add the border
		if ($.browser.mozilla || $.browser.msie) {
			// add borders to offset
			x += num(elem, 'borderLeftWidth');
			y += num(elem, 'borderTopWidth');
		}

		if ($.browser.mozilla) {
			do {
				// Mozilla does not add the border for a parent that has overflow set to anything but visible
				if ($.browser.mozilla && parent != elem && $.css(parent, 'overflow') != 'visible') {
					x += num(parent, 'borderLeftWidth');
					y += num(parent, 'borderTopWidth');
				}

				if (parent == op) break; // break if we are already at the offestParent
			} while ((parent = parent.parentNode) && (parent.tagName.toLowerCase() != 'body' || parent.tagName.toLowerCase() != 'html'));
		}

		var returnValue = handleOffsetReturn(elem, options, x, y, sl, st);

		if (returnObject) { $.extend(returnObject, returnValue); return this; }
		else              { return returnValue; }
	},

	/**
	 * Returns the location of the element in pixels from the top left corner of the viewport.
	 *
	 * For accurate readings make sure to use pixel values for margins, borders and padding.
	 *
	 * Known issues:
	 *  - Issue: A div positioned relative or static without any content before it and its parent will report an offsetTop of 0 in Safari
	 *    Workaround: Place content before the relative div ... and set height and width to 0 and overflow to hidden
	 *
	 * @example $("#testdiv").offset()
	 * @result { top: 100, left: 100, scrollTop: 10, scrollLeft: 10 }
	 *
	 * @example $("#testdiv").offset({ scroll: false })
	 * @result { top: 90, left: 90 }
	 *
	 * @example var offset = {}
	 * $("#testdiv").offset({ scroll: false }, offset)
	 * @result offset = { top: 90, left: 90 }
	 *
	 * @name offset
	 * @param Map options Optional settings to configure the way the offset is calculated.
	 * @option Boolean margin Should the margin of the element be included in the calculations? True by default.
	 * @option Boolean border Should the border of the element be included in the calculations? False by default.
	 * @option Boolean padding Should the padding of the element be included in the calculations? False by default.
	 * @option Boolean scroll Should the scroll offsets of the parent elements be included in the calculations? True by default.
	 *                        When true it adds the totla scroll offets of all parents to the total offset and also adds two properties
	 *                        to the returned object, scrollTop and scrollLeft.
	 * @options Boolean lite Will use offsetLite instead of offset when set to true. False by default.
	 * @param Object returnObject An object to store the return value in, so as not to break the chain. If passed in the
	 *                            chain will not be broken and the result will be assigned to this object.
	 * @type Object
	 * @cat Plugins/Dimensions
	 */
	offset: function(options, returnObject) {
		var x = 0, y = 0, sl = 0, st = 0,
		    elem = this[0], parent = this[0], op, parPos, elemPos = $.css(elem, 'position'),
		    mo = $.browser.mozilla, ie = $.browser.msie, sf = $.browser.safari, oa = $.browser.opera,
		    absparent = false, relparent = false,
		    options = $.extend({ margin: true, border: false, padding: false, scroll: true, lite: false }, options || {});

		// Use offsetLite if lite option is true
		if (options.lite) return this.offsetLite(options, returnObject);

		if (elem.tagName.toLowerCase() == 'body') {
			// Safari is the only one to get offsetLeft and offsetTop properties of the body "correct"
			// Except they all mess up when the body is positioned absolute or relative
			x = elem.offsetLeft;
			y = elem.offsetTop;
			// Mozilla ignores margin and subtracts border from body element
			if (mo) {
				x += num(elem, 'marginLeft') + (num(elem, 'borderLeftWidth')*2);
				y += num(elem, 'marginTop')  + (num(elem, 'borderTopWidth') *2);
			} else
			// Opera ignores margin
			if (oa) {
				x += num(elem, 'marginLeft');
				y += num(elem, 'marginTop');
			} else
			// IE does not add the border in Standards Mode
			if (ie && jQuery.boxModel) {
				x += num(elem, 'borderLeftWidth');
				y += num(elem, 'borderTopWidth');
			}
		} else {
			do {
				parPos = $.css(parent, 'position');

				x += parent.offsetLeft;
				y += parent.offsetTop;

				// Mozilla and IE do not add the border
				if (mo || ie) {
					// add borders to offset
					x += num(parent, 'borderLeftWidth');
					y += num(parent, 'borderTopWidth');

					// Mozilla does not include the border on body if an element isn't positioned absolute and is without an absolute parent
					if (mo && parPos == 'absolute') absparent = true;
					// IE does not include the border on the body if an element is position static and without an absolute or relative parent
					if (ie && parPos == 'relative') relparent = true;
				}

				op = parent.offsetParent;
				if (options.scroll || mo) {
					do {
						if (options.scroll) {
							// get scroll offsets
							sl += parent.scrollLeft;
							st += parent.scrollTop;
						}

						// Mozilla does not add the border for a parent that has overflow set to anything but visible
						if (mo && parent != elem && $.css(parent, 'overflow') != 'visible') {
							x += num(parent, 'borderLeftWidth');
							y += num(parent, 'borderTopWidth');
						}

						parent = parent.parentNode;
					} while (parent != op);
				}
				parent = op;

				if (parent.tagName.toLowerCase() == 'body' || parent.tagName.toLowerCase() == 'html') {
					// Safari and IE Standards Mode doesn't add the body margin for elments positioned with static or relative
					if ((sf || (ie && $.boxModel)) && elemPos != 'absolute' && elemPos != 'fixed') {
						x += num(parent, 'marginLeft');
						y += num(parent, 'marginTop');
					}
					// Mozilla does not include the border on body if an element isn't positioned absolute and is without an absolute parent
					// IE does not include the border on the body if an element is positioned static and without an absolute or relative parent
					if ( (mo && !absparent && elemPos != 'fixed') ||
					     (ie && elemPos == 'static' && !relparent) ) {
						x += num(parent, 'borderLeftWidth');
						y += num(parent, 'borderTopWidth');
					}
					break; // Exit the loop
				}
			} while (parent);
		}

		var returnValue = handleOffsetReturn(elem, options, x, y, sl, st);

		if (returnObject) { $.extend(returnObject, returnValue); return this; }
		else              { return returnValue; }
	},

	/**
	 * Returns the location of the element in pixels from the top left corner of the viewport.
	 * This method is much faster than offset but not as accurate. This method can be invoked
	 * by setting the lite option to true in the offset method.
	 *
	 * @name offsetLite
	 * @param Map options Optional settings to configure the way the offset is calculated.
	 * @option Boolean margin Should the margin of the element be included in the calculations? True by default.
	 * @option Boolean border Should the border of the element be included in the calculations? False by default.
	 * @option Boolean padding Should the padding of the element be included in the calculations? False by default.
	 * @option Boolean scroll Should the scroll offsets of the parent elements be included in the calculations? True by default.
	 *                        When true it adds the totla scroll offets of all parents to the total offset and also adds two properties
	 *                        to the returned object, scrollTop and scrollLeft.
	 * @param Object returnObject An object to store the return value in, so as not to break the chain. If passed in the
	 *                            chain will not be broken and the result will be assigned to this object.
	 * @type Object
	 * @cat Plugins/Dimensions
	 */
	offsetLite: function(options, returnObject) {
		var x = 0, y = 0, sl = 0, st = 0, parent = this[0], op,
		    options = $.extend({ margin: true, border: false, padding: false, scroll: true }, options || {});

		do {
			x += parent.offsetLeft;
			y += parent.offsetTop;

			op = parent.offsetParent;
			if (options.scroll) {
				// get scroll offsets
				do {
					sl += parent.scrollLeft;
					st += parent.scrollTop;
					parent = parent.parentNode;
				} while(parent != op);
			}
			parent = op;
		} while (parent && parent.tagName.toLowerCase() != 'body' && parent.tagName.toLowerCase() != 'html');

		var returnValue = handleOffsetReturn(this[0], options, x, y, sl, st);

		if (returnObject) { $.extend(returnObject, returnValue); return this; }
		else              { return returnValue; }
	}
});

/**
 * Handles converting a CSS Style into an Integer.
 * @private
 */
var num = function(el, prop) {
	return parseInt($.css(el.jquery?el[0]:el,prop))||0;
};

/**
 * Handles the return value of the offset and offsetLite methods.
 * @private
 */
var handleOffsetReturn = function(elem, options, x, y, sl, st) {
	if ( !options.margin ) {
		x -= num(elem, 'marginLeft');
		y -= num(elem, 'marginTop');
	}

	// Safari and Opera do not add the border for the element
	if ( options.border && ($.browser.safari || $.browser.opera) ) {
		x += num(elem, 'borderLeftWidth');
		y += num(elem, 'borderTopWidth');
	} else if ( !options.border && !($.browser.safari || $.browser.opera) ) {
		x -= num(elem, 'borderLeftWidth');
		y -= num(elem, 'borderTopWidth');
	}

	if ( options.padding ) {
		x += num(elem, 'paddingLeft');
		y += num(elem, 'paddingTop');
	}

	// do not include scroll offset on the element
	if ( options.scroll ) {
		sl -= elem.scrollLeft;
		st -= elem.scrollTop;
	}

	return options.scroll ? { top: y - st, left: x - sl, scrollTop:  st, scrollLeft: sl }
	                      : { top: y, left: x };
};

})(jQuery);

/* fixes */
function roundNumber(rnum, rlength)
{
     var newnumber = Math.round(rnum*Math.pow(10,rlength))/Math.pow(10,rlength);
     return newnumber;
}

function recalculate()
{
     var xtotal = 1000.00;
     var tps = 0.00;
     var tvq = 0.00;
     var xtotalntps = 0.00;
     var xtotalbig = 0.00;

     if(document.getElementById('strMeta6').checked == true)
      xtotal = xtotal + 20;

     if(document.getElementById('strMeta7').checked == true)
      xtotal = xtotal + 100;

     if(document.getElementById('strMeta8').checked == true)
      xtotal = xtotal + 100;

     xtotal = (xtotal).toFixed(2);

     tps = xtotal * 0.05;
     tps = (tps).toFixed(2);

     xtotalntps = parseFloat(xtotal) + parseFloat(tps);
     xtotalntps = (xtotalntps).toFixed(2);

     tvq = xtotalntps * 0.075;
     tvq = (tvq).toFixed(2);

     xtotalbig = parseFloat(xtotal) + parseFloat(tps) + parseFloat(tvq);
     xtotalbig = (xtotalbig).toFixed(2);

     document.getElementById('sum1').innerHTML = xtotal;
     document.getElementById('sum2').innerHTML = tps;
     document.getElementById('sum3').innerHTML = tvq;
     document.getElementById('sum4').innerHTML = xtotalbig;
}

     function externalLinks() {
        if (!document.getElementsByTagName) return;
            var anchors = document.getElementsByTagName("a");
            for (var i=0; i<anchors.length; i++) {
            var anchor = anchors[i];
                if (anchor.getAttribute("href") &&
                anchor.getAttribute("rel") == "external")
                anchor.target = "_blank";
                }
            }
        window.onload = externalLinks;


var strMem, strNum;

function vS()
{
    usersBusiness = document.getElementById('usersBusiness');
    usersNom = document.getElementById('usersNom');
    usersEmail = document.getElementById('usersEmail');
    usersPassword = document.getElementById('usersPassword');
    
    document.getElementById('usersBusinessError').innerHTML = '';
    document.getElementById('usersNomError').innerHTML = '';
    document.getElementById('usersEmailError').innerHTML = '';
    document.getElementById('usersPasswordError').innerHTML = '';
    
    usersBusiness.style.borderColor = '#ccc';
    usersNom.style.borderColor = '#ccc';
    usersEmail.style.borderColor = '#ccc';
    usersPassword.style.borderColor = '#ccc';

    if(usersBusiness.value=='')
    {
        usersBusiness.style.borderColor='#e91717';
        document.getElementById('usersBusinessError').style.color='#e91717';
        $("#usersBusinessError").fadeOut("100000000");
        document.getElementById('usersBusinessError').innerHTML='(requis)';        
        $("#usersBusinessError").fadeIn("slow");        
        document.getElementById('usersBusiness').focus();
        return false;
    }
        
    if(usersNom.value=='')
    {
        usersNom.style.borderColor='#e91717';
        document.getElementById('usersNomError').style.color='#e91717';
        $("#usersNomError").fadeOut("100000000");
        document.getElementById('usersNomError').innerHTML='(requis)';        
        $("#usersNomError").fadeIn("slow");        
        document.getElementById('usersNom').focus();
        return false;
    }
    
    if(usersEmail.value=='')
    {
        usersEmail.style.borderColor='#e91717';
        document.getElementById('usersEmailError').style.color='#e91717';
        $("#usersEmailError").fadeOut("100000000");
        document.getElementById('usersEmailError').innerHTML='(requis)';        
        $("#usersEmailError").fadeIn("slow");        
        document.getElementById('usersEmail').focus();
        return false;
    }
    
    if(usersPassword.value=='')
    {
        usersPassword.style.borderColor='#e91717';
        document.getElementById('usersPasswordError').style.color='#e91717';
        $("#usersPasswordError").fadeOut("100000000");
        document.getElementById('usersPasswordError').innerHTML='(requis)';        
        $("#usersPasswordError").fadeIn("slow");        
        document.getElementById('usersPassword').focus();
        return false;
    }        
              
    return true;    
}

function vBusinessPage1()
{
    contentTitle1FR = document.getElementById('contentTitle1FR');
    contentTitle1FR.style.borderColor = '#ccc';
    
    if(strNum == 1)
    {
     document.getElementById('contentTitle1FRError').innerHTML = strMem;
     document.getElementById('contentTitle1FRError').style.color='#888';
    }
    
    if(contentTitle1FR.value=='')
    {
        strMem = document.getElementById('contentTitle1FRError').innerHTML;
        strNum = 1;
        contentTitle1FR.style.borderColor='#e91717';
        document.getElementById('contentTitle1FRError').style.color='#e91717';
        $("#contentTitle1FRError").fadeOut("100000000");
        document.getElementById('contentTitle1FRError').innerHTML='(requis) : Il vous faut absolument un nom d\'entreprise ! C\'est correct d\'utiliser votre nom personnel tant que vous offrez un produit ou un service. Il sera toujours possible de modifier votre nom plus tard.';        
        $("#contentTitle1FRError").fadeIn("slow");        
        document.getElementById('contentTitle1FR').focus();
        return false;
    }
              
    return true;    
}

function vBusinessPage2() { return true; }

function vBusinessPage3()
{
    contentMeta2 = document.getElementById('contentMeta2');
    
    if(strNum == 2)     
    {
     document.getElementById('contentMeta2Error').innerHTML = strMem;
     document.getElementById('contentMeta2Error').style.color='#888';
    }

    contentMeta2.style.borderColor = '#ccc';
    
    if(contentMeta2.selectedIndex == '0')
    {
        strMem = document.getElementById('contentMeta2Error').innerHTML;
        strNum = 2;
        contentMeta2.style.borderColor='#e91717';
        document.getElementById('contentMeta2Error').style.color='#e91717';
        $("#contentMeta2Error").fadeOut("100000000");        
        document.getElementById('contentMeta2Error').innerHTML='(requis) : Il vous faut absolument sélectionner une municipalité locale afin de permettre à votre page d\'entreprise de s\'afficher au bon endroit dans le portefeuille médiatique de 411Gatineau.com.';
        $("#contentMeta2Error").fadeIn("slow");
        document.getElementById('contentMeta2').focus();
        return false;
    }

    return true;    
}

function vBusinessPage4()
{
    contentMeta9 = document.getElementById('contentMeta9');
    
    if(strNum == 3)     
    {
     document.getElementById('contentMeta9Error').innerHTML = strMem;
     document.getElementById('contentMeta9Error').style.color='#888';
    }
    
    contentMeta9.style.borderColor = '#ccc';
    
    if(contentMeta9.value=='' && document.getElementById('emailOverride').value != '1')
    {
        strMem = document.getElementById('contentMeta9Error').innerHTML;
        strNum = 3;
        contentMeta9.style.borderColor='#e91717';
        document.getElementById('contentMeta9Error').style.color='#e91717';
        $("#contentMeta9Error").fadeOut("100000000");
        document.getElementById('contentMeta9Error').innerHTML='(requis) Un courriel est requis afin de pouvoir communiquer avec vous et valider votre inscription.';
        $("#contentMeta9Error").fadeIn("slow");
        document.getElementById('contentMeta9').focus();
        return false;
    }
    
    if(!isValidEmail(contentMeta9.value) && document.getElementById('emailOverride').value != '1')
    {
        strMem = document.getElementById('contentMeta9Error').innerHTML;
        strNum = 3;
        contentMeta9.style.borderColor='#e91717';
        document.getElementById('contentMeta9Error').style.color='#e91717';
        $("#contentMeta9Error").fadeOut("100000000");
        document.getElementById('contentMeta9Error').innerHTML='(requis) Le courriel inscrit n\'est pas valide. Un courriel est requis afin de pouvoir communiquer avec vous et valider votre inscription.';
        $("#contentMeta9Error").fadeIn("slow");
        document.getElementById('contentMeta9').focus();
        return false;
    }

    return true;    
}

function vBusinessPage()
{
    contentTitle1FR = document.getElementById('contentTitle1FR');
    contentMeta2 = document.getElementById('contentMeta2');
    contentMeta9 = document.getElementById('contentMeta9');
    
    if(strNum == 1)
    {
     document.getElementById('contentTitle1FRError').innerHTML = strMem;
     document.getElementById('contentTitle1FRError').style.color='#888';
    }
    if(strNum == 2)     
    {
     document.getElementById('contentMeta2Error').innerHTML = strMem;
     document.getElementById('contentMeta2Error').style.color='#888';
    }
    if(strNum == 3)     
    {
     document.getElementById('contentMeta9Error').innerHTML = strMem;
     document.getElementById('contentMeta9Error').style.color='#888';
    }
    
    contentTitle1FR.style.borderColor = '#ccc';
    contentMeta2.style.borderColor = '#ccc';
    contentMeta9.style.borderColor = '#ccc';
    
    if(contentTitle1FR.value=='')
    {
        strMem = document.getElementById('contentTitle1FRError').innerHTML;
        strNum = 1;
        contentTitle1FR.style.borderColor='#e91717';
        document.getElementById('contentTitle1FRError').style.color='#e91717';
        $("#contentTitle1FRError").fadeOut("100000000");
        document.getElementById('contentTitle1FRError').innerHTML='(requis) : Il vous faut absolument un nom d\'entreprise ! C\'est correct d\'utiliser votre nom personnel tant que vous offrez un produit ou un service. Il sera toujours possible de modifier votre nom plus tard.';        
        $("#contentTitle1FRError").fadeIn("slow");        
        document.getElementById('contentTitle1FR').focus();
        return false;
    }
              
    if(contentMeta2.selectedIndex == '0')
    {
        strMem = document.getElementById('contentMeta2Error').innerHTML;
        strNum = 2;
        contentMeta2.style.borderColor='#e91717';
        document.getElementById('contentMeta2Error').style.color='#e91717';
        $("#contentMeta2Error").fadeOut("100000000");        
        document.getElementById('contentMeta2Error').innerHTML='(requis) : Il vous faut absolument sélectionner une municipalité locale afin de permettre à votre page d\'entreprise de s\'afficher au bon endroit dans le portefeuille médiatique de 411Gatineau.com.';
        $("#contentMeta2Error").fadeIn("slow");
        document.getElementById('contentMeta2').focus();
        return false;
    }

    if(contentMeta9.value=='' && document.getElementById('emailOverride').value != '1')
    {
        strMem = document.getElementById('contentMeta9Error').innerHTML;
        strNum = 3;
        contentMeta9.style.borderColor='#e91717';
        document.getElementById('contentMeta9Error').style.color='#e91717';
        $("#contentMeta9Error").fadeOut("100000000");
        document.getElementById('contentMeta9Error').innerHTML='(requis) Un courriel est requis afin de pouvoir communiquer avec vous et valider votre inscription.';
        $("#contentMeta9Error").fadeIn("slow");
        document.getElementById('contentMeta9').focus();
        return false;
    }
    
    if(!isValidEmail(contentMeta9.value) && document.getElementById('emailOverride').value != '1')
    {
        strMem = document.getElementById('contentMeta9Error').innerHTML;
        strNum = 3;
        contentMeta9.style.borderColor='#e91717';
        document.getElementById('contentMeta9Error').style.color='#e91717';
        $("#contentMeta9Error").fadeOut("100000000");
        document.getElementById('contentMeta9Error').innerHTML='(requis) Le courriel inscrit n\'est pas valide. Un courriel est requis afin de pouvoir communiquer avec vous et valider votre inscription.';
        $("#contentMeta9Error").fadeIn("slow");
        document.getElementById('contentMeta9').focus();
        return false;
    }

    return true;    
}

function vUsersPage()
{
    usersNom = document.getElementById('usersNom');
    usersEmail = document.getElementById('usersEmail');
    
    if(strNum == 1)
    {
     document.getElementById('usersNomError').innerHTML = strMem;
     document.getElementById('usersNomError').style.color='#888';
    }
    if(strNum == 2)     
    {
     document.getElementById('usersEmailError').innerHTML = strMem;
     document.getElementById('usersEmailError').style.color='#888';
    }

    usersNom.style.borderColor = '#ccc';
    usersEmail.style.borderColor = '#ccc';
    
    if(usersNom.value=='')
    {
        strMem = document.getElementById('usersNomError').innerHTML;
        strNum = 1;
        usersNom.style.borderColor='#e91717';
        document.getElementById('usersNomError').style.color='#e91717';
        $("#usersNomError").fadeOut("100000000");
        document.getElementById('usersNomError').innerHTML='(requis) : Il vous faut absolument inscrire votre nom. À la limite, utilisez un pseudonyme. On aimerait juste avoir un nom pour vous saluer lorsqu\'on communique avec vous !';        
        $("#usersNomError").fadeIn("slow");        
        document.getElementById('usersNom').focus();
        return false;
    }
              
    if(usersEmail.value == '')
    {
        strMem = document.getElementById('usersEmailError').innerHTML;
        strNum = 2;
        usersEmail.style.borderColor='#e91717';
        document.getElementById('usersEmailError').style.color='#e91717';
        $("#usersEmailError").fadeOut("100000000");        
        document.getElementById('usersEmailError').innerHTML='(requis) : Il vous faut absolument inscrire une adresse courriel. Cela nous permet de communiquer avec vous (pour les bonnes raisons !) et cela sert surtout de nom d\'utilisateur pour vous brancher à 411Gatineau.com.';
        $("#usersEmailError").fadeIn("slow");
        document.getElementById('usersEmail').focus();
        return false;
    }

    if(!isValidEmail(usersEmail.value))
    {
        strMem = document.getElementById('usersEmailError').innerHTML;
        strNum = 2;
        usersEmail.style.borderColor='#e91717';
        document.getElementById('usersEmailError').style.color='#e91717';
        $("#usersEmailError").fadeOut("100000000");        
        document.getElementById('usersEmailError').innerHTML='(oops!) : L\'adresse courriel inscrite semble incorrecte. Veuilez vérifier celle-ci. L\'adresse courriel nous permet de communiquer avec vous (pour les bonnes raisons !) et cela sert surtout de nom d\'utilisateur pour vous brancher à 411Gatineau.com.';
        $("#usersEmailError").fadeIn("slow");
        document.getElementById('usersEmail').focus();
        return false;
    }
    
    return true;    
}

function encode_utf8( s )
{
  return unescape( encodeURIComponent( s ) );
}

function vPromotionPage()
{
    contentTitle1FR = document.getElementById('contentTitle1FR');
    contentText2FR = document.getElementById('contentText2FR');
    contentMeta1 = document.getElementById('contentMeta1');
    
    contentDate1Day = document.getElementById('contentDate1Day');
    contentDate1Month = document.getElementById('contentDate1Month');
    contentDate1Year = document.getElementById('contentDate1Year');
    contentDate2Day = document.getElementById('contentDate2Day');
    contentDate2Month = document.getElementById('contentDate2Month');
    contentDate2Year = document.getElementById('contentDate2Year');

    contentDate1 = new Date(contentDate1Year.options[contentDate1Year.selectedIndex].value, contentDate1Month.options[contentDate1Month.selectedIndex].value, contentDate1Day.options[contentDate1Day.selectedIndex].value);
    contentDate2 = new Date(contentDate2Year.options[contentDate2Year.selectedIndex].value, contentDate2Month.options[contentDate2Month.selectedIndex].value, contentDate2Day.options[contentDate2Day.selectedIndex].value);
    
    var contentDate1Mili = contentDate1.getTime();
    var contentDate2Mili = contentDate2.getTime();
    var diff = contentDate2Mili - contentDate1Mili;
    
    if(strNum == 1)
    {
     document.getElementById('contentTitle1FRError').innerHTML = strMem;
     document.getElementById('contentTitle1FRError').style.color='#888';
    }
    if(strNum == 2)     
    {
     document.getElementById('contentMeta2Error').innerHTML = strMem;
     document.getElementById('contentMeta2Error').style.color='#888';
    }
    if(strNum == 3)     
    {
     document.getElementById('contentDate1Error').innerHTML = strMem;
     document.getElementById('contentDate1Error').style.color='#888';
    }    
    if(strNum == 4)     
    {
     document.getElementById('contentText2FRError').innerHTML = strMem;
     document.getElementById('contentText2FRError').style.color='#888';
    }        
    if(strNum == 5)     
    {
     document.getElementById('contentMeta1Error').innerHTML = strMem;
     document.getElementById('contentMeta1Error').style.color='#888';
    }            

    contentMeta1.style.borderColor = '#ccc';
    contentTitle1FR.style.borderColor = '#ccc';
    contentDate2Year.style.borderColor = '#ccc';    
    contentDate2Month.style.borderColor = '#ccc';    
    contentDate2Day.style.borderColor = '#ccc';    
    contentText2FR.style.borderColor = '#ccc';
        
    if(diff < 0)
    {
        strMem = document.getElementById('contentDate1Error').innerHTML;
        strNum = 3;
        contentDate2Year.style.borderColor='#e91717';
        contentDate2Month.style.borderColor='#e91717';
        contentDate2Day.style.borderColor='#e91717';
        document.getElementById('contentDate1Error').style.color='#e91717';
        $("#contentDate1Error").fadeOut("100000000");        
        document.getElementById('contentDate1Error').innerHTML='(oops!) : La date de fin de la promotion est avant la date de début. Vérifiez bien la date de début et la date de fin.';
        $("#contentDate1Error").fadeIn("slow");
        document.getElementById('contentDate1Error').focus();
        return false;
    }
    
    if(contentTitle1FR.value=='')
    {
        strMem = document.getElementById('contentTitle1FRError').innerHTML;
        strNum = 1;
        contentTitle1FR.style.borderColor='#e91717';
        document.getElementById('contentTitle1FRError').style.color='#e91717';
        $("#contentTitle1FRError").fadeOut("100000000");
        document.getElementById('contentTitle1FRError').innerHTML='(requis) : Il vous faut absolument inscrire un titre pour votre promotion. C\'est le bon endroit pour communiquer clairement votre offre.<br/>Ex. : 35% de rabais sur tous nos produits en magasin !';        
        $("#contentTitle1FRError").fadeIn("slow");        
        document.getElementById('contentTitle1FR').focus();
        return false;
    }
                      
    if(contentText2FR.value=='')
    {
        strMem = document.getElementById('contentText2FRError').innerHTML;
        strNum = 4;
        contentText2FR.style.borderColor='#e91717';
        document.getElementById('contentText2FRError').style.color='#e91717';
        $("#contentText2FRError").fadeOut("100000000");
        document.getElementById('contentText2FRError').innerHTML='(requis) : Il vous faut absolument inscrire une courte description. Il serait important d\'avertir de la date d\'expiration, de la limite de coupon par personne et d\'insérer un petit texte accrocheur.';        
        $("#contentText2FRError").fadeIn("slow");        
        document.getElementById('contentText2FR').focus();
        return false;
    }
    
    if(contentMeta1.value=='')
    {
        strMem = document.getElementById('contentMeta1Error').innerHTML;
        strNum = 5;
        contentText2FR.style.borderColor='#e91717';
        document.getElementById('contentMeta1Error').style.color='#e91717';
        $("#contentMeta1Error").fadeOut("100000000");
        document.getElementById('contentMeta1Error').innerHTML='(requis) : Il vous faut absolument inscrire un code promotionnel. Chaque personne recevra par courriel un code promotionnel unique construit à partir du code fourni. Cela vous permet de suivre les coupons et de limiter leurs encaissements si cela est souhaité.';        
        $("#contentMeta1Error").fadeIn("slow");        
        document.getElementById('contentMeta1').focus();
        return false;
    }    
        
    return true;    
}


        function validateForm001()
{strNom=document.getElementById('strNom');strCourriel=document.getElementById('strCourriel');document.getElementById('strNomError').style.display='none';document.getElementById('strCourrielError').style.display='none';strNom.style.borderColor='#C3BA9B';strCourriel.style.borderColor='#C3BA9B';if(strNom.value=='')
{strNom.style.borderColor='#7d0210';$("#strNomError").fadeOut("100000000");document.getElementById('strNomError').innerHTML='(Requis)';$("#strNomError").fadeIn("slow");document.getElementById('strNom').focus();return false;}
if(strCourriel.value=='')
{strCourriel.style.borderColor='#7d0210';$("#strCourrielError").fadeOut("100000000");document.getElementById('strCourrielError').innerHTML='(Requis)';$("#strCourrielError").fadeIn("slow");document.getElementById('strCourriel').focus();return false;}
if(!isValidEmail(strCourriel.value))
{strCourriel.style.borderColor='#7d0210';$("#strCourrielError").fadeOut("100000000");document.getElementById('strCourrielError').innerHTML='(Courriel invalide)';$("#strCourrielError").fadeIn("slow");document.getElementById('strCourriel').focus();return false;}
return true;}
function validateForm001en()
{strNom=document.getElementById('strNom');strCourriel=document.getElementById('strCourriel');document.getElementById('strNomError').style.display='none';document.getElementById('strCourrielError').style.display='none';strNom.style.borderColor='#C3BA9B';strCourriel.style.borderColor='#C3BA9B';if(strNom.value=='')
{strNom.style.borderColor='#7d0210';$("#strNomError").fadeOut("100000000");document.getElementById('strNomError').innerHTML='(Required)';$("#strNomError").fadeIn("slow");document.getElementById('strNom').focus();return false;}
if(strCourriel.value=='')
{strCourriel.style.borderColor='#7d0210';$("#strCourrielError").fadeOut("100000000");document.getElementById('strCourrielError').innerHTML='(Required)';$("#strCourrielError").fadeIn("slow");document.getElementById('strCourriel').focus();return false;}
if(!isValidEmail(strCourriel.value))
{strCourriel.style.borderColor='#7d0210';$("#strCourrielError").fadeOut("100000000");document.getElementById('strCourrielError').innerHTML='(Invalid Email)';$("#strCourrielError").fadeIn("slow");document.getElementById('strCourriel').focus();return false;}
return true;}
function validateForm002fr()
{strCourrielNews=document.getElementById('strCourrielNews');document.getElementById('strCourrielNewsError').style.display='none';strCourrielNews.style.borderColor='#C3BA9B';if(strCourrielNews.value=='' || strCourrielNews.value=='Inscrivez votre courriel')
{strCourrielNews.style.borderColor='#7d0210';$("#strCourrielNewsError").fadeOut("100000000");document.getElementById('strCourrielNewsError').innerHTML='Une adresse courriel est requise.';$("#strCourrielNewsError").fadeIn("slow");document.getElementById('strCourrielNews').focus();return false;}
if(!isValidEmail(strCourrielNews.value))
{strCourrielNews.style.borderColor='#7d0210';$("#strCourrielNewsError").fadeOut("100000000");document.getElementById('strCourrielNewsError').innerHTML='Ce courriel n\'est pas valide.';$("#strCourrielNewsError").fadeIn("slow");document.getElementById('strCourrielNews').focus();return false;}
return true;}
function validateForm002en()
{strCourrielNews=document.getElementById('strCourrielNews');document.getElementById('strCourrielNewsError').style.display='none';strCourrielNews.style.borderColor='#C3BA9B';if(strCourrielNews.value=='')
{strCourrielNews.style.borderColor='#7d0210';$("#strCourrielNewsError").fadeOut("100000000");document.getElementById('strCourrielNewsError').innerHTML='(Required)';$("#strCourrielNewsError").fadeIn("slow");document.getElementById('strCourrielNews').focus();return false;}
if(!isValidEmail(strCourrielNews.value))
{strCourrielNews.style.borderColor='#7d0210';$("#strCourrielNewsError").fadeOut("100000000");document.getElementById('strCourrielNewsError').innerHTML='This email is not valid.';$("#strCourrielNewsError").fadeIn("slow");document.getElementById('strCourrielNews').focus();return false;}
return true;}
function isValidEmail(str)
{return(str.lastIndexOf(".")>2)&&(str.indexOf("@")>0)&&(str.lastIndexOf(".")>(str.indexOf("@")+1))&&(str.indexOf("@")==str.lastIndexOf("@"));}


function validateForm800fr()
{
    strCourrielNews=document.getElementById('strCourrielNews');
    strTerms=document.getElementById('strTerms');
    document.getElementById('strCourrielNewsError').style.display='none';
    document.getElementById('strTermsError').style.display='none';
    strCourrielNews.style.borderColor='#C3BA9B';
    strTerms.style.borderColor='#C3BA9B';
    
    if(strCourrielNews.value=='' || strCourrielNews.value=='Inscrivez votre courriel')
    { 
        strCourrielNews.style.borderColor='#A83E3E';
        $("#strCourrielNewsError").fadeOut("100000000");
        document.getElementById('strCourrielNewsError').innerHTML='Une adresse courriel est requise.';
        $("#strCourrielNewsError").fadeIn("slow");document.getElementById('strCourrielNews').focus();
        return false;
    }    
    
    if(!isValidEmail(strCourrielNews.value))
    {        
        strCourrielNews.style.borderColor='#A83E3E';
        $("#strCourrielNewsError").fadeOut("100000000");
        document.getElementById('strCourrielNewsError').innerHTML='Ce courriel n\'est pas valide.';
        $("#strCourrielNewsError").fadeIn("slow");
        document.getElementById('strCourrielNews').focus();
        return false;
    }
    
    if(strTerms.checked == '0')
    { 
        strTerms.style.borderColor='#A83E3E';
        $("#strTermsError").fadeOut("100000000");
        document.getElementById('strTermsError').innerHTML='Vous devez cochez cette case (et votre chat ne peut cocher pour vous).';
        $("#strTermsError").fadeIn("slow");document.getElementById('strTerms').focus();
        return false;
    }    

    return true;
}


   	function validateForm010()
   	{
   		strNom = document.getElementById('strNom');
   		strCourriel = document.getElementById('strCourriel');
   		strTelephone = document.getElementById('strTelephone');

        document.getElementById('strNomError').style.display = 'none';
   		document.getElementById('strCourrielError').style.display = 'none';
   		document.getElementById('strTelephoneError').style.display = 'none';

   		strNom.style.borderColor = '#C9C9C9';
   		strCourriel.style.borderColor = '#C9C9C9';
   		strTelephone.style.borderColor = '#C9C9C9';

   		if(strNom.value == '')
   		{
   		    strNom.style.borderColor = '#9F3B27';
   		    $("#strNomError").fadeOut("100000000");
   		    document.getElementById('strNomError').innerHTML = '(Requis)';
   		    $("#strNomError").fadeIn("slow");
   		    window.location.hash = "#step11";
   		    document.getElementById('strNom').focus();
   		    return false;
   		}

  		if(strCourriel.value == '')
   		{
   		    strCourriel.style.borderColor = '#9F3B27';
   		    $("#strCourrielError").fadeOut("100000000");
   		    document.getElementById('strCourrielError').innerHTML = '(Requis)';
   		    $("#strCourrielError").fadeIn("slow");
   		    window.location.hash = "#step11";
   		    document.getElementById('strCourriel').focus();
   		    return false;
   		}

   		if(!isValidEmail(strCourriel.value))
   		{
   		    strCourriel.style.borderColor = '#9F3B27';
   		    $("#strCourrielError").fadeOut("100000000");
   		    document.getElementById('strCourrielError').innerHTML = '(Courriel invalide)';
   		    $("#strCourrielError").fadeIn("slow");
   		    window.location.hash = "#step11";
   		    document.getElementById('strCourriel').focus();
   		    return false;
   		}

   		if(strTelephone.value == '')
   		{
   		    strTelephone.style.borderColor = '#9F3B27';
   		    $("#strTelephoneError").fadeOut("100000000");
   		    document.getElementById('strTelephoneError').innerHTML = '(Requis)';
   		    $("#strTelephoneError").fadeIn("slow");
   		    window.location.hash = "#step11";
   		    document.getElementById('strTelephone').focus();
   		    return false;
   		}
   		
   		return true;
   	}
   	
   	
   	function bizcardhi(contentId, boolHi)
   	{
   	    return;
   	    
   	    bb = 'businesscardlink'+contentId;
   	    cc = 'businessname'+contentId;   	    
   	    
   	    if(boolHi == '1')
   	    {
   	        document.getElementById(cc).style.textDecoration = 'underline';    	    
   	        document.getElementById(bb).style.textDecoration = 'underline';
   	        aa = document.getElementById('businesslogo'+contentId);
   	        $(aa).addClass('opaque');
   	    }
   	    else if(boolHi == '2')
   	    {
   	        document.getElementById(cc).style.textDecoration = 'none';
   	        document.getElementById(bb).style.textDecoration = 'none';   
   	        aa = document.getElementById('businesslogo'+contentId);
   	        $(aa).removeClass("opaque");
   	    }
   	}
   	
   	function submitsform() 
   	{
     return function() { document.getElementById('searchF').submit(); }
    };



/**
 * Twitter - http://twitter.com
 * Copyright (C) 2010 Twitter
 * Author: Dustin Diaz (dustin@twitter.com)
 *
 * V 2.2.5 Twitter search/profile/faves/list widget
 * http://twitter.com/widgets
 * For full documented source see http://twitter.com/javascripts/widgets/widget.js
 * Hosting and modifications of the original source IS allowed.
 *
 * Example usage:
   <script src="path/to/widget.js"></script>
   <script>
     new TWTR.Widget({
       type: 'search',
       search: "your search query", // includes all advanced search queries.
       width: 250,
       height: 350,
       interval: 6000,
       subject: "What's being said about...",
       title: "San Francisco",
       rpp: 30,
       footer: "Follow me",
       theme: {
         shell: {
           background: '#1deb25',
           color: '#ffffff'
         },
         tweets: {
           background: 'silver',
           color: 'blue',
           links: 'black'
         }
       },

       features: {
         avatars: true, // defaults to false for profile widget, but true for search & faves widget
         hashtags: true,
         timestamp: true,
         fullscreen: false, // ignores width and height and just goes full screen
         scrollbar: false,
         live: true,
         loop: true,
         behavior: 'default',
         dateformat: 'absolute', // defaults to relative (eg: 3 minutes ago)
         toptweets: true // only for search widget
       }
     }).render().start();
   </script>
 *
 */

/**
  * @namespace TWTR public namespace for Twitter widget
  */
TWTR = window.TWTR || {};

/**
  * add core functionality to JS
  * Sugar Arrays http://www.dustindiaz.com/basement/sugar-arrays.html
  */
if (!Array.forEach) {

  Array.prototype.filter = function(fn, thisObj) {
    var scope = thisObj || window;
    var a = [];
    for (var i=0, j=this.length; i < j; ++i) {
      if (!fn.call(scope, this[i], i, this)) {
        continue;
      }
      a.push(this[i]);
    }
    return a;
  };

  // sorta like inArray if used clever-like
  Array.prototype.indexOf = function(el, start) {
    var start = start || 0;

    for (var i=0; i < this.length; ++i) {
      if (this[i] === el) {
        return i;
      }
    }

    return -1;
  };
}

/* first, a few dependencies */
(function() {
  if (TWTR && TWTR.Widget) {
    // this is most likely to happen when people try to embed multiple
    // widgets on the same page and include this script again
    return;
  }

  /**
    * Basic Array methods
    */
  function each(a, fn, opt_scope) {
    for (var i=0, j=a.length; i < j; ++i) {
      fn.call(opt_scope || window, a[i], i, a);
    }
  }

  /**
    * Generic Animation utility to tween dom elements
    *
    * Copyright (c) 2009 Dustin Diaz & Twitter (http://www.dustindiaz.com)
    * MIT License
    */

  /**
    * @constructor Animate
    * @param {HTMLElement} el the element we want to animate
    * @param {String} prop the CSS property we will be animating
    * @param {Object} opts a configuration object
    * object properties include
    * from {Int}
    * to {Int}
    * time {Int} time in milliseconds
    * callback {Function}
    */
  function Animate(el, prop, opts) {
    this.el = el;
    this.prop = prop;
    this.from = opts.from;
    this.to = opts.to;
    this.time = opts.time;
    this.callback = opts.callback;
    this.animDiff = this.to - this.from;
  };

  /**
    * @static
    * @boolean
    * allows us to check if native CSS transitions are possible
    */
  Animate.canTransition = function() {
    var el = document.createElement('twitter');
    el.style.cssText = '-webkit-transition: all .5s linear;';
    return !!el.style.webkitTransitionProperty;
  }();

  /**
    * @private
    * @param {String} val the CSS value we will set on the property
    */
  Animate.prototype._setStyle = function(val) {
    switch (this.prop) {
      case 'opacity':
        this.el.style[this.prop] = val;
        this.el.style.filter = 'alpha(opacity=' + val * 100 + ')';
        break;

      default:
        this.el.style[this.prop] = val + 'px';
        break;
    };
  };

  /**
    * @private
    * this is the tweening function
    */
  Animate.prototype._animate = function() {
    var that = this;
    this.now = new Date();
    this.diff = this.now - this.startTime;

    if (this.diff > this.time) {
      this._setStyle(this.to);

      if (this.callback) {
        this.callback.call(this);
      }
      clearInterval(this.timer);
      return;
    }

    this.percentage = (Math.floor((this.diff / this.time) * 100) / 100);
    this.val = (this.animDiff * this.percentage) + this.from;
    this._setStyle(this.val);
  };

  /**
    * @public
    * begins the animation
    */
  Animate.prototype.start = function() {
    var that = this;
    this.startTime = new Date();

    this.timer = setInterval(function() {
      that._animate.call(that);
    }, 15);
  };


  /**
    * @constructor
    * Widget Base for new instances of the Twitter search widget
    * @param {Object} opts the configuration options for the widget
    */
  TWTR.Widget = function(opts) {
    this.init(opts);
  };

  (function() {


    // Internal Namespace.
    var twttr = {};

    var isHttps = location.protocol.match(/https/);
    var httpsImageRegex = /^.+\/profile_images/;
    var httpsImageReplace = 'https://s3.amazonaws.com/twitter_production/profile_images';

    var matchUrlScheme = function(url) {
      return isHttps ? url.replace(httpsImageRegex, httpsImageReplace) : url;
    }

    // cache object for searching duplicates
    var reClassNameCache = {};

    // reusable regex for searching classnames
    var getClassRegEx = function(c) {

      // check to see if regular expression already exists
      var re = reClassNameCache[c];

      if (!re) {
        re = new RegExp('(?:^|\\s+)' + c + '(?:\\s+|$)');
        reClassNameCache[c] = re;
      }

      return re;
    };

    var getByClass = function(c, tag, root, apply) {
      var tag = tag || '*';
      var root = root || document;

      var nodes = [],
          elements = root.getElementsByTagName(tag),
          re = getClassRegEx(c);

      for (var i = 0, len = elements.length; i < len; ++i) {
        if (re.test(elements[i].className)) {
          nodes[nodes.length] = elements[i];

          if (apply) {
            apply.call(elements[i], elements[i]);
          }

        }
      }

      return nodes;
    };

    var browser = function() {
      var ua = navigator.userAgent;
      return {
        ie: ua.match(/MSIE\s([^;]*)/)
      };
    }();

    var byId = function(id) {
      if (typeof id == 'string') {
        return document.getElementById(id);
      }
      return id;
    };

    var trim = function(str) {
      return str.replace(/^\s+|\s+$/g, '')
    };

    var getViewportHeight = function() {
      var height = self.innerHeight; // Safari, Opera
      var mode = document.compatMode;
      if ((mode || browser.ie)) { // IE, Gecko
        height = (mode == 'CSS1Compat') ?
          document.documentElement.clientHeight : // Standards
          document.body.clientHeight; // Quirks
      }
      return height;
    };

    var getTarget = function(e, resolveTextNode) {
      var target = e.target || e.srcElement;
      return resolveTextNode(target);
    };

    var resolveTextNode = function(el) {
      try {
        if (el && 3 == el.nodeType) {
          return el.parentNode;
        } else {
          return el;
        }
      } catch (ex) { }
    };

    var getRelatedTarget = function(e) {
      var target = e.relatedTarget;
      if (!target) {
        if (e.type == 'mouseout') {
          target = e.toElement;
        }
        else if (e.type == 'mouseover') {
          target = e.fromElement;
        }
      }
      return resolveTextNode(target);
    };

    var insertAfter = function(el, reference) {
      reference.parentNode.insertBefore(el, reference.nextSibling);
    };

    var removeElement = function(el) {
      try {
        el.parentNode.removeChild(el);
      }
      catch (ex) { }
    };

    var getFirst = function(el) {
      return el.firstChild;
    };

    var withinElement = function(e) {
      var parent = getRelatedTarget(e);
      while (parent && parent != this) {
        try {
          parent = parent.parentNode;
        }
        catch(ex) {
          parent = this;
        }
      }
      if (parent != this) {
        return true;
      }
      return false;
    };

    var getStyle = function() {
      if (document.defaultView && document.defaultView.getComputedStyle) {
        return function(el, property) {
          var value = null;
          var computed = document.defaultView.getComputedStyle(el, '');
          if (computed) {
            value = computed[property];
          }
          var ret = el.style[property] || value;
          return ret;
        };
      }
      else if (document.documentElement.currentStyle && browser.ie) { // IE method
        return function(el, property) {
          var value = el.currentStyle ? el.currentStyle[property] : null;
          return (el.style[property] || value);
        };
      }
    }();

    /**
      * classes object
      * - has - add - remove
      */
    var classes = {
      has: function(el, c) {
        return new RegExp("(^|\\s)" + c + "(\\s|$)").test(byId(el).className);
      },

      add: function(el, c) {
        if (!this.has(el, c)) {
          byId(el).className = trim(byId(el).className) + ' ' + c;
        }
      },

      remove: function(el, c) {
        if (this.has(el, c)) {
          byId(el).className = byId(el).className.replace(new RegExp("(^|\\s)" + c + "(\\s|$)", "g"), "");
        }
      }
    };

    /**
      * basic x-browser event listener util
      * eg: events.add(element, 'click', fn);
      */
    var events = {
      add: function(el, type, fn) {
        if (el.addEventListener) {
          el.addEventListener(type, fn, false);
        }
        else {
          el.attachEvent('on' + type, function() {
            fn.call(el, window.event);
          });
        }
      },
      remove: function(el, type, fn) {
        if (el.removeEventListener) {
          el.removeEventListener(type, fn, false);
        }
        else {
          el.detachEvent('on' + type, fn);
        }
      }
    };

    var hex_rgb = function() {

      function HexToR(h) {
        return parseInt((h).substring(0,2),16);
      }
      function HexToG(h) {
        return parseInt((h).substring(2,4),16);
      }
      function HexToB(h) {
        return parseInt((h).substring(4,6),16);
      }

      return function(hex) {
        return [HexToR(hex), HexToG(hex), HexToB(hex)];
      };

    }();

    /**
      * core type detection on javascript objects
      */
    var is = {
      bool: function(b) {
        return typeof b === 'boolean';
      },

      def: function(o) {
        return !(typeof o === 'undefined');
      },

      number: function(n) {
        return typeof n === 'number' && isFinite(n);
      },
      string: function(s) {
        return typeof s === 'string';
      },

      fn: function(f) {
        return typeof f === 'function';
      },

      array: function(a) {
        if (a) {
          return is.number(a.length) && is.fn(a.splice);
        }
        return false;
      }
    };

    var months = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];

    var absoluteTime = function(s) {
      var d = new Date(s);
      if (browser.ie) {
        d = Date.parse(s.replace(/( \+)/, ' UTC$1'));
      }
      var ampm = '';
      var hour = function() {
        var h = d.getHours();
        if (h > 0 && h < 13) {
          ampm = 'am';
          return h;
        }
        else if (h < 1) {
          ampm = 'am';
          return 12;
        }
        else {
          ampm = 'pm';
          return h - 12;
        }
      }();
      var minutes = d.getMinutes();
      var seconds = d.getSeconds();
      function getRest() {
        var today = new Date();
        if (today.getDate() != d.getDate() || today.getYear() != d.getYear() || today.getMonth() != d.getMonth()) {
          return ' - ' + months[d.getMonth()] + ' ' + d.getDate() + ', ' + d.getFullYear();
        }
        else {
          return '';
        }
      }
      return hour + ':' + minutes + ampm + getRest();
    };

    /**
      * relative time calculator
      * @param {string} twitter date string returned from Twitter API
      * @return {string} relative time like "2 minutes ago"
      */
    var timeAgo = function(dateString) {
      var rightNow = new Date();
      var then = new Date(dateString);

      if (browser.ie) {
        // IE can't parse these crazy Ruby dates
        then = Date.parse(dateString.replace(/( \+)/, ' UTC$1'));
      }

      var diff = rightNow - then;

      var second = 1000,
          minute = second * 60,
          hour = minute * 60,
          day = hour * 24,
          week = day * 7;

      if (isNaN(diff) || diff < 0) {
        return ""; // return blank string if unknown
      }

      if (diff < second * 2) {
        // within 2 seconds
        return "right now";
      }

      if (diff < minute) {
        return Math.floor(diff / second) + " seconds ago";
      }

      if (diff < minute * 2) {
        return "about 1 minute ago";
      }

      if (diff < hour) {
        return Math.floor(diff / minute) + " minutes ago";
      }

      if (diff < hour * 2) {
        return "about 1 hour ago";
      }

      if (diff < day) {
        return  Math.floor(diff / hour) + " hours ago";
      }

      if (diff > day && diff < day * 2) {
        return "yesterday";
      }

      if (diff < day * 365) {
        return Math.floor(diff / day) + " days ago";
      }

      else {
        return "over a year ago";
      }

    };

    /**
      * The Twitalinkahashifyer!
      * http://www.dustindiaz.com/basement/ify.html
      * Eg:
      * ify.clean('your tweet text');
      */


    var ify = {
      link: function(tweet) {
        return tweet.replace(/\b(((https*\:\/\/)|www\.)[^\"\']+?)(([!?,.\)]+)?(\s|$))/g, function(link, m1, m2, m3, m4) {
          var http = m2.match(/w/) ? 'http://' : '';
          return '<a class="twtr-hyperlink" target="_blank" href="' + http + m1 + '">' + ((m1.length > 25) ? m1.substr(0, 24) + '...' : m1) + '</a>' + m4;
        });
      },

      at: function(tweet) {
        return tweet.replace(/\B[@@]([a-zA-Z0-9_]{1,20})/g, function(m, username) {
          return '@<a target="_blank" class="twtr-atreply" href="http://twitter.com/' + username + '">' + username + '</a>';
        });
      },

      list: function(tweet) {
        return tweet.replace(/\B[@@]([a-zA-Z0-9_]{1,20}\/\w+)/g, function(m, userlist) {
          return '@<a target="_blank" class="twtr-atreply" href="http://twitter.com/' + userlist + '">' + userlist + '</a>';
        });
      },

      hash: function(tweet) {
        return tweet.replace(/(^|\s+)#(\w+)/gi, function(m, before, hash) {
          return before + '<a target="_blank" class="twtr-hashtag" href="http://twitter.com/search?q=%23' + hash + '">#' + hash + '</a>';
        });
      },

      clean: function(tweet) {
        return this.hash(this.at(this.list(this.link(tweet))));
      }
    };


    /**
      * @constructor the classic twitter occasional job
      * @param {Function} job The job to execute upon each request
      * @param {Function} decay The deciding boolean method on whether to decay
      * @param {Int} interval The number in milliseconds to wait before executing
      */
    function Occasionally(job, decayFn, interval) {
      this.job = job;
      this.decayFn = decayFn;
      this.interval = interval;
      this.decayRate = 1;
      this.decayMultiplier = 1.25;
      this.maxDecayTime = 3 * 60 * 1000; // 3 minutes
    }

    Occasionally.prototype = {

      /**
        * @public
        * @return self
        * starts our occasional job
        */
      start: function() {
        this.stop().run();
        return this;
      },

      /**
        * @public
        * @return self
        * stops the occasional job
        */
      stop: function() {
        if (this.worker) {
          window.clearTimeout(this.worker);
        }
        return this;
      },

      /**
        * @private
        */
      run: function() {
        var that = this;
        this.job(function() {
          // running our decayer callback
          that.decayRate = that.decayFn() ? Math.max(1, that.decayRate / that.decayMultiplier)
                                          : that.decayRate * that.decayMultiplier;

          var expire = that.interval * that.decayRate;
          expire = (expire >= that.maxDecayTime) ? that.maxDecayTime : expire;
          expire = Math.floor(expire);

          that.worker = window.setTimeout(
            function () {
              that.run.call(that);
            },
            expire
          );

        });
      },

      /**
        * @public
        * @return self
        * stops occasional job and resets object
        */
      destroy: function() {
        this.stop();
        this.decayRate = 1;
        return this;
      }
    };

    /**
      * @Constructor runs a timer on an array passing back
      *              the next needle on each interval
      * @param haystack {Array}
      * @param time {Int} time in ms
      * @param loop {Bool} does this continue forever?
      * @param callback {Function} method that is passed back a needle for each interval
      */
    function IntervalJob(time, loop, callback) {
      this.time = time || 6000;
      this.loop = loop || false;
      this.repeated = 0;
      this.callback = callback;
      this.haystack = [];
    };

    IntervalJob.prototype = {

      set: function(haystack) {
        this.haystack = haystack;
      },

      add: function(needle) {
        this.haystack.unshift(needle);
      },

      /**
        * @public
        * @return self
        * begins the interval job
        */
      start: function() {
        if (this.timer) {
          return this;
        }
        this._job();
        var that = this;
        this.timer = setInterval(
          function() {
            that._job.call(that);
          }, this.time
        );

        return this;
      },

      /**
        * @public
        * @return self
        * stops the interval
        */
      stop: function() {
        if (this.timer) {
          window.clearInterval(this.timer);
          this.timer = null;
        }

        return this;
      },

      /**
        * @private
        */
      _next: function() {
        var old = this.haystack.shift();
        if (old && this.loop) {
          this.haystack.push(old);
        }
        return old || null;
      },

      /**
        * @private
        */
      _job: function() {
        var next = this._next();
        if (next) {
          this.callback(next);
        }

        return this;
      }

    };

    function Tweet(tweet) {
      function showPopular() {
        if (tweet.needle.metadata && tweet.needle.metadata.result_type && tweet.needle.metadata.result_type == 'popular') {
          return '<span class="twtr-popular">' + tweet.needle.metadata.recent_retweets + '+ recent retweets</span>';
        } else {
          return '';
        }
      }

      var html = '<div class="twtr-tweet-wrap"> \
        <div style="float:left; margin-left:-11px;"><img src="/images/talk-rail-tweet-background-top.jpg" alt="Top Quote"/></div> \
        <div class="twtr-avatar"> \
          <div class="twtr-img"><a target="_blank" href="http://twitter.com/' + tweet.user + '"><img alt="' + tweet.user + ' profile" src="' + matchUrlScheme(tweet.avatar) + '"></a></div> \
        </div> \
        <div class="twtr-tweet-text"> \
          <p> \
            <a target="_blank" href="http://twitter.com/' + tweet.user + '" class="twtr-user">' + tweet.user + '</a> ' + tweet.tweet + ' \
            <em>\
            <a target="_blank" class="twtr-timestamp" time="' + tweet.timestamp + '" href="http://twitter.com/' + tweet.user + '/status/' + tweet.id + '">' + tweet.created_at + '</a> &middot;\
            <a target="_blank" class="twtr-reply" href="http://twitter.com/?status=@' + tweet.user + '%20&in_reply_to_status_id=' + tweet.id + '&in_reply_to=' + tweet.user + '">reply</a> \
            </em> ' + showPopular() + ' \
          </p> \
        </div> \
        <div style="float:left; margin-left:-12px;"><img src="/images/talk-rail-tweet-background-bottom.jpg" alt="Bottom Quote"/></div> \
      </div>';

      var div = document.createElement('div');

      div.id = 'tweet-id-' + ++Tweet._tweetCount;
      div.className = 'twtr-tweet';
      div.innerHTML = html;
      this.element = div;
    };

    // static count so all tweets (even on multiple inst widgets) will have unique ids
    Tweet._tweetCount = 0;

      twttr.loadStyleSheet = function(url, widgetEl) {
        if (!TWTR.Widget.loadingStyleSheet) {
          TWTR.Widget.loadingStyleSheet = true;
          var linkElement = document.createElement('link');
          linkElement.href = url;
          linkElement.rel = 'stylesheet';
          linkElement.type = 'text/css';
          document.getElementsByTagName('head')[0].appendChild(linkElement);
          var timer = setInterval(function() {
            var style = getStyle(widgetEl, 'position');
            if (style == 'relative') {
              clearInterval(timer);
              timer = null;
              TWTR.Widget.hasLoadedStyleSheet = true;
            }
          }, 50);
        }
      };

    (function() {

      var isLoaded = false;
      twttr.css = function(rules) {
        var styleElement = document.createElement('style');
        styleElement.type = 'text/css';
        if (browser.ie) {
          styleElement.styleSheet.cssText = rules;
        }
        else {
          var frag = document.createDocumentFragment();
          frag.appendChild(document.createTextNode(rules));
          styleElement.appendChild(frag);
        }
        function append() {
          document.getElementsByTagName('head')[0].appendChild(styleElement);
        }

        // oh IE we love you.
        // this is needed because you can't modify document body when page is loading
        if (!browser.ie || isLoaded) {
          append();
        }
        else {
          window.attachEvent('onload', function() {
            isLoaded = true;
            append();
          });
        }
      };
    })();


    TWTR.Widget.isLoaded = false;
    TWTR.Widget.loadingStyleSheet = false;
    TWTR.Widget.hasLoadedStyleSheet = false;
    TWTR.Widget.WIDGET_NUMBER = 0;
    TWTR.Widget.matches = {
      mentions: /^@[a-zA-Z0-9_]{1,20}\b/,
      any_mentions: /\b@[a-zA-Z0-9_]{1,20}\b/
    };

    TWTR.Widget.jsonP = function(url, callback) {
      var script = document.createElement('script');
      var head = document.getElementsByTagName('head')[0];
      script.type = 'text/javascript';
      script.src = url;
      head.insertBefore(script, head.firstChild)
      callback(script);
      return script;
    };

    TWTR.Widget.prototype = function() {

      var http = isHttps ? 'https://' : 'http://';
      var domain = window.location.hostname.match(/twitter\.com/) ?
          (window.location.hostname + ":" + window.location.port) : 'twitter.com';
      var base = http + 'search.' + domain + '/search.';

      var profileBase = http + 'api.' + domain + '/1/statuses/user_timeline.';
      var favBase = http + domain + '/favorites/';
      var listBase = http + domain + '/';
      var occasionalInterval = 25000; // 25 seconds
      var defaultAvatar = isHttps ? 'https://twitter-widgets.s3.amazonaws.com/j/1/default.gif' : 'http://widgets.twimg.com/j/1/default.gif';

      return {
        init: function(opts) {
          var that = this;
          // first, define public callback for this widget
          this._widgetNumber = ++TWTR.Widget.WIDGET_NUMBER;
          TWTR.Widget['receiveCallback_' + this._widgetNumber] = function(resp) {
            that._prePlay.call(that, resp);
          };
          this._cb = 'TWTR.Widget.receiveCallback_' + this._widgetNumber;
          this.opts = opts;
          this._base = base;
          this._isRunning = false;
          this._hasOfficiallyStarted = false;
          this._hasNewSearchResults = false;
          this._rendered = false;
          this._profileImage = false;
          this._isCreator = !!opts.creator;

          this._setWidgetType(opts.type);

          this.timesRequested = 0;
          this.runOnce = false;
          this.newResults = false;
          this.results = [];
          this.jsonMaxRequestTimeOut = 19000;
          this.showedResults = [];
          this.sinceId = 1;
          this.source = 'TWITTERINC_WIDGET';
          this.id = opts.id || 'twtr-widget-' + this._widgetNumber;

          this.tweets = 0;
          this.setDimensions(opts.width, opts.height);
          this.interval = opts.interval || 6000;
          this.format = 'json';
          this.rpp = opts.rpp || 50;
          this.subject = opts.subject || '';
          this.title = opts.title || '';
          this.setFooterText(opts.footer);

          this.setSearch(opts.search);
          this._setUrl();
          this.theme = opts.theme ? opts.theme : this._getDefaultTheme();

          if (!opts.id) {
            document.write('<div class="twtr-widget" id="' + this.id + '"></div>');
          }
          this.widgetEl = byId(this.id);
          if (opts.id) {
            classes.add(this.widgetEl, 'twtr-widget');
          }

          if (opts.version >= 2 && !TWTR.Widget.hasLoadedStyleSheet) {
            if (isHttps) {
              twttr.loadStyleSheet('https://twitter-widgets.s3.amazonaws.com/j/2/widget.css', this.widgetEl);
            } else if (opts.creator) {
              twttr.loadStyleSheet('/stylesheets/widgets/widget.css', this.widgetEl);
            } else {
              // twttr.loadStyleSheet('http://localhost.twitter.com:3000/stylesheets/widgets/widget.css', this.widgetEl);
              twttr.loadStyleSheet('http://widgets.twimg.com/j/2/widget.css', this.widgetEl);
            }
          }

          this.occasionalJob = new Occasionally(
            function(decay) {
              that.decay = decay;
              that._getResults.call(that);
            },

            function() {
              return that._decayDecider.call(that);
            },

            occasionalInterval
          );

          this._ready = is.fn(opts.ready) ? opts.ready : function() { };

          // preset features
          this._isRelativeTime = true;
          this._tweetFilter = false;
          this._avatars = true;
          this._isFullScreen = false;
          this._isLive = true;
          this._isScroll = false;
          this._loop = true;
          this._showTopTweets = (this._isSearchWidget) ? true : false;
          this._behavior = 'default';
          this.setFeatures(this.opts.features);

          this.intervalJob = new IntervalJob(this.interval, this._loop, function(tweet) {
            that._normalizeTweet(tweet);
          });

          return this;
        },

        /**
          * @public
          * @param {Int} w - width for widget
          * @param {Int} h - height for widget
          * @return self
          */
        setDimensions: function(w, h) {
          this.wh = (w && h) ? [w, h] : [250, 300]; // default w/h if none provided
          if (w == 'auto' || w == '100%') {
            this.wh[0] = '100%';
          } else {
            this.wh[0] = ((this.wh[0] < 150) ? 150 : this.wh[0]) + 'px'; // min width is 150
          }
          this.wh[1] = ((this.wh[1] < 100) ? 100 : this.wh[1]) + 'px'; // min height is 100
          return this;
        },

        setRpp: function(rpp) {
          var rpp = parseInt(rpp);
          this.rpp = (is.number(rpp) && (rpp > 0 && rpp <= 100)) ? rpp : 30;
          return this;
        },

        /**
          * @private
          * @param {String} type the kind of widget you're instantiating
          * @return self
          */
        _setWidgetType: function(type) {
          this._isSearchWidget = false,
          this._isProfileWidget = false,
          this._isFavsWidget = false,
          this._isListWidget = false;
          switch(type) {
            case 'profile':
              this._isProfileWidget = true;
              break;
            case 'search':
              this._isSearchWidget = true,
              this.search = this.opts.search;
              break;
            case 'faves':
            case 'favs':
              this._isFavsWidget = true;
              break;
            case 'list':
            case 'lists':
              this._isListWidget = true;
              break;
          };
          return this;
        },

        /**
          * @public
          * @param {object}
          * @return self
          * allows implementer to set features which include:
          * - avatars {bool}
          * - timestamp {bool}
          * - hashtags {bool}
          * setting any of the previous properties will appropriately hide/show that feature
          * @example
          * WidgetInstance.setFeatures({ fullscreen: true, avatars: true, timestamp: false, hashtags: false }).render().start();
          * @return self
          */
        setFeatures: function(features) {

          if (features) {
            if (is.def(features.filters)) {
              this._tweetFilter = features.filters;
            }
            if (is.def(features.dateformat)) {
              this._isRelativeTime = !!(features.dateformat !== 'absolute')
            }

            if (is.def(features.fullscreen) && is.bool(features.fullscreen)) {
              if (features.fullscreen) {
                this._isFullScreen = true;
                this.wh[0] = '100%';
                this.wh[1] = (getViewportHeight() - 90) + 'px';
                var that = this;
                events.add(window, 'resize', function(e) {
                  that.wh[1] = getViewportHeight();
                  that._fullScreenResize();
                });
              }
            }

            if (is.def(features.loop) && is.bool(features.loop)) {
              this._loop = features.loop;
            }

            if (is.def(features.behavior) && is.string(features.behavior)) {
              switch (features.behavior) {
                case 'all':
                  this._behavior = 'all';
                  break;
                case 'preloaded':
                  this._behavior = 'preloaded';
                  break;
                default:
                  this._behavior = 'default';
                  break;
              };
            }

            if (is.def(features.toptweets) && is.bool(features.toptweets)) {
              this._showTopTweets = features.toptweets;
              var showTopTweet = (this._showTopTweets) ? 'inline-block' : 'none';
              twttr.css('#' + this.id + ' .twtr-popular { display: ' + showTopTweet + '; }');
            }

            if (!is.def(features.toptweets)) {
              this._showTopTweets = true;
              var showTopTweet = (this._showTopTweets) ? 'inline-block' : 'none';
              twttr.css('#' + this.id + ' .twtr-popular { display: ' + showTopTweet + '; }');
            }

            if (is.def(features.avatars) && is.bool(features.avatars)) {

              if (!features.avatars) {
                twttr.css('#' + this.id + ' .twtr-avatar, #' + this.id + ' .twtr-user { display: none; } ' +
                '#' + this.id + ' .twtr-tweet-text { margin-left: 0; }');
                this._avatars = false;
              } else {
                var margin = (this._isFullScreen) ? '90px' : '40px';
                twttr.css('#' + this.id + ' .twtr-avatar { display: block; } #' + this.id + ' .twtr-user { display: inline; } ' +
                '#' + this.id + ' .twtr-tweet-text { margin-left: ' + margin + '; }');
                this._avatars = true;
              }

            }
            else {
              if (this._isProfileWidget) {
                this.setFeatures({ avatars: false });
                this._avatars = false;
              }
              else {
                this.setFeatures({ avatars: true });
                this._avatars = true;
              }
            }

            if (is.def(features.hashtags) && is.bool(features.hashtags)) {
              (!features.hashtags) ?
                  twttr.css('#' + this.id + ' a.twtr-hashtag { display: none; }') : '';
            }

            if (is.def(features.timestamp) && is.bool(features.timestamp)) {
              var display = features.timestamp ? 'block' : 'none';
              twttr.css('#' + this.id + ' em { display: ' + display + '; }');
            }

            if (is.def(features.live) && is.bool(features.live)) {
              this._isLive = features.live;
            }
            if (is.def(features.scrollbar) && is.bool(features.scrollbar)) {
              this._isScroll = features.scrollbar;
            }

          }

          else {

            if (this._isProfileWidget) {
              this.setFeatures({ avatars: false });
              this._avatars = false;
            }
            if (this._isProfileWidget || this._isFavsWidget) {
              this.setFeatures({ behavior: 'all' });
            }

          }
          return this;
        },

        /**
          * @private
          * @param e Event listener for window resizing
          */
        _fullScreenResize: function() {
          var timeline = getByClass('twtr-timeline', 'div', document.body, function(el) {
            el.style.height = (getViewportHeight() - 90) + 'px';
          });
        },

        /**
          * @public facade
          * @param {int} in seconds
          * convenience method for setting time between each tweet render
          * @return self
          */
        setTweetInterval: function(interval) {
          this.interval = interval;
          return this;
        },

        /**
          * @public
          * @param {string} url
          * sets a url base for the JSONP call
          * useful for future API implementations or moderation platforms
          * @return self
          */
        setBase: function(b) {
          this._base = b;
          return this;
        },

        /**
          * @public
          * @param {string} username
          * used to distinguish a "favs" widget
          * @return self
          */
        setUser: function(username, opt_realname) {
          this.username = username;
          this.realname = opt_realname || ' ';
          if (this._isFavsWidget) {
            this.setBase(favBase + username + '.');
          }
          else if (this._isProfileWidget) {
            this.setBase(profileBase + this.format + '?screen_name=' + username);
          }
          this.setSearch(' ');
          return this;
        },

        /**
          * @public
          * @param {string} username - the owner of the list
          * @param {string} listName - the name of the list
          * return self
          */
        setList: function(username, listname) {
          this.listslug = listname.replace(/ /g, '-').toLowerCase();
          this.username = username;
          this.setBase(listBase + username + '/lists/' + this.listslug + '/statuses.');
          this.setSearch(' ');
          return this;
        },

        /**
          * @public
          * @param {string}
          * sets the profile image source to display in the widget
          * @return self
          */
        setProfileImage: function(url) {
          this._profileImage = url;
          this.byClass('twtr-profile-img', 'img').src = matchUrlScheme(url);
          this.byClass('twtr-profile-img-anchor', 'a').href = 'http://twitter.com/' + this.username;
          return this;
        },

        /**
          * @public
          * @param {string}
          * sets the main title to display at top of widget
          * @return self
          */
        setTitle: function(title) {
          this.title = title;
          this.widgetEl.getElementsByTagName('h3')[0].innerHTML = this.title;
          return this;
        },

        /**
          * @public
          * @param {string}
          * sets the main caption to display at top of widget (below title)
          * @return self
          */
        setCaption: function(subject) {
          this.subject = subject;
          this.widgetEl.getElementsByTagName('h4')[0].innerHTML = this.subject;
          return this;
        },

        /**
          * @public
          * @param {string}
          * sets the footer text
          * @return self
          */
        setFooterText: function(s) {
          this.footerText = (is.def(s) && is.string(s)) ? s : 'Join the conversation';
          if (this._rendered) {
            this.byClass('twtr-join-conv', 'a').innerHTML = this.footerText;
          }
          return this;
        },

        /**
          * @public
          * @param {string}
          * @return self
          * does double time. sets the search terms, and sets the appropriate
          * hyper reference on bottom anchor if widget has been rendered
          */
        setSearch: function(s) {
          this.searchString = s || '';
          this.search = encodeURIComponent(this.searchString);
          this._setUrl();
          if (this._rendered) {
            var anchor = this.byClass('twtr-join-conv', 'a');
            anchor.href = 'http://twitter.com/' + this._getWidgetPath();
          }

          return this;
        },

        _getWidgetPath: function() {
          if (this._isProfileWidget) {
            return this.username;
          }
          else if (this._isFavsWidget) {
            return this.username + '/favorites';
          }
          else if (this._isListWidget) {
            return this.username + '/lists/' + this.listslug;
          }
          else {
            return '#search?q=' + this.search;
          }
        },

        /**
          * @private
          * @return self
          * creates the proper URL to request data via JSONP
          */
        _setUrl: function() {
          var that = this;

          function cacheBust() {
            // chrome i hate your caching
            return '&' + (+new Date) + '=cachebust';
          }

          function showSince() {
            return (that.sinceId == 1) ? '' : '&since_id=' + that.sinceId + '&refresh=true';
          }

          if (this._isProfileWidget) {
            this.url = this._base + '&callback=' + this._cb +
                       '&include_rts=true' +
                       '&count=' + this.rpp + showSince() + '&clientsource=' + this.source;
          }

          else if (this._isFavsWidget || this._isListWidget) {
            this.url = this._base + this.format + '?callback=' + this._cb + showSince() +
                       '&include_rts=true' +
                       '&clientsource=' + this.source;
          }

          else {
            this.url = this._base + this.format + '?q=' + this.search +
                       '&include_rts=true' +
                       '&callback=' + this._cb +
                       '&rpp=' + this.rpp + showSince() + '&clientsource=' + this.source;
            if (!this.runOnce) {
              this.url += '&result_type=mixed';
            }
          }
          this.url += cacheBust();
          return this;
        },

        /**
          * @private
          */
        _getRGB: function(hex) {
          return hex_rgb(hex.substring(1, 7));
        },

        /**
          * @public
          * @param {object}
          * @param {boolean} important whether to be important style
          * @return self
          * allows implementer to set their own theme.
          * theme object can be passed into contructor, or set here.
          * defaults to default theme properties when not set
          */
        setTheme: function(o, important) {
          var that = this;
          var imp = ' !important';

          var onCreator = ((window.location.hostname.match(/twitter\.com/)) && (window.location.pathname.match(/goodies/)));
          if (important || onCreator) {
            imp = '';
          }
          this.theme = {
            shell: {
              background: function() {
                return o.shell.background || that._getDefaultTheme().shell.background;
              }(),

              color: function() {
                return o.shell.color || that._getDefaultTheme().shell.color;
              }()
            },

            tweets: {
              background: function() {
                return o.tweets.background || that._getDefaultTheme().tweets.background;
              }(),

              color: function() {
                return o.tweets.color || that._getDefaultTheme().tweets.color;
              }(),

              links: function() {
                return o.tweets.links || that._getDefaultTheme().tweets.links;
              }()
            }
          };

          var style = '#' + this.id + ' .twtr-doc, \
                     #' + this.id + ' .twtr-hd a, \
                     #' + this.id + ' h3, \
                     #' + this.id + ' h4, \
                     #' + this.id + ' .twtr-popular {\
            background-color: ' + this.theme.shell.background + imp + ';\
            color: ' + this.theme.shell.color + imp + ';\
          }\
          #' + this.id + ' .twtr-popular {\
            color: ' + this.theme.tweets.color + imp + ';\
            background-color: rgba(' + this._getRGB(this.theme.shell.background) + ', .3)' + imp + ';\
          }\
          #' + this.id + ' .twtr-tweet a {\
            color: ' + this.theme.tweets.links + imp + ';\
          }\
          #' + this.id + ' .twtr-bd, #' + this.id + ' .twtr-timeline i a, \
          #' + this.id + ' .twtr-bd p {\
            color: ' + this.theme.tweets.color + imp + ';\
          }\
          #' + this.id + ' .twtr-new-results, \
          #' + this.id + ' .twtr-results-inner, \
          #' + this.id + ' .twtr-timeline {\
            background: ' + this.theme.tweets.background + imp + ';\
          }';

          if (browser.ie) {
            style += '#' + this.id + ' .twtr-tweet { background: ' + this.theme.tweets.background + imp + '; }';
          }

          twttr.css(style);
          return this;
        },

        /**
          * @public
          * @param {string} classname
          * @param {string} tagname
          * @param optional {bool} whether to return collection or defaults to first match
          * @return HTML Element || Array HTML Elements
          * helper to get elements by classname based on the widget being the context
          */
        byClass: function(c, tag, opt_all) {
          var collection = getByClass(c, tag, byId(this.id));
          return (opt_all) ? collection : collection[0];
        },

        /**
          * @public
          * @return self
          * renders the widget onto an HTML page
          */
        render: function() {
          var that = this;

          if (!TWTR.Widget.hasLoadedStyleSheet) {
            window.setTimeout(function() {
              that.render.call(that);
            }, 50);
            return this;
          }

          this.setTheme(this.theme, this._isCreator);

          if (this._isProfileWidget) {
            classes.add(this.widgetEl, 'twtr-widget-profile');
          }

          if (this._isScroll) {
            classes.add(this.widgetEl, 'twtr-scroll')
          }
          if (!this._isLive && !this._isScroll) {
            this.wh[1] = 'auto';
          }
          if (this._isSearchWidget && this._isFullScreen) {
            document.title = 'Twitter search: ' + escape(this.searchString);
          }
          this.widgetEl.innerHTML = this._getWidgetHtml();
          var timeline = this.byClass('twtr-timeline', 'div');
          if (this._isLive && !this._isFullScreen) {
            var over = function(e) {
              if (that._behavior === 'all') {
                return;
              }
              if (withinElement.call(this, e)) {
                that.pause.call(that);
              }
            };
            var out = function(e) {
              if (that._behavior === 'all') {
                return;
              }
              if (withinElement.call(this, e)) {
                that.resume.call(that);
              }
            };

            this.removeEvents = function() {
              events.remove(timeline, 'mouseover', over);
              events.remove(timeline, 'mouseout', out);
            };
            events.add(timeline, 'mouseover', over);
            events.add(timeline, 'mouseout', out);
          }
          this._rendered = true;
          // call the ready handler
          this._ready();
          return this;
        },

        /**
          * empty placeholder for removing events
          * on live widgets
          */
        removeEvents: function() { },

        /**
          * @private
          * @return {object} theme
          */
        _getDefaultTheme: function() {
          return {
            shell: {
              background: '#8ec1da',
              color: '#ffffff'
            },

            tweets: {
              background: '#ffffff',
              color: '#444444',
              links: '#1985b5'
            }

          };
        },

        /**
          * @private
          * @return {string}
          * builds an HTML string that represents the widget chrome
          */
        _getWidgetHtml: function() {
          var that = this;

          function getHeader() {
            if (that._isProfileWidget) {
              return '<a target="_blank" href="http://twitter.com/" class="twtr-profile-img-anchor"><img alt="profile" class="twtr-profile-img" src="' + defaultAvatar + '"></a>\
                      <h3></h3>\
                      <h4></h4>';
            }
            else {
              return '<h3>' + that.title + '</h3><h4>' + that.subject + '</h4>';
            }
          }

          function isFull() {
            return that._isFullScreen ? ' twtr-fullscreen' : '';
          }

          var logo = isHttps ? 'https://twitter-widgets.s3.amazonaws.com/i/widget-logo.png' : 'http://widgets.twimg.com/i/widget-logo.png';

          if (this._isFullScreen) {
            logo = 'https://twitter-widgets.s3.amazonaws.com/i/widget-logo-fullscreen.png';
          }

          var html = '<div class="twtr-doc' + isFull() + '" style="width: ' + this.wh[0] + ';">\
            <div class="twtr-bd">\
              <div class="twtr-timeline" style="height: ' + this.wh[1] + ';">\
                <div class="twtr-tweets">\
                  <div class="twtr-reference-tweet"></div>\
                  <!-- tweets show here -->\
                </div>\
              </div>\
            </div>\
          </div>';

          return html;
        },

        /**
          * @private
          * @return self
          * puts the tweet in the dom
          */
        _appendTweet: function(el) {
          this._insertNewResultsNumber();
          insertAfter(el, this.byClass('twtr-reference-tweet', 'div'));
          return this;
        },

        /**
          * @private
          * @return self
          * slides in a rendered tweet
          */
        _slide: function(el) {
          var that = this;
          var height = getFirst(el).offsetHeight;
          if (this.runOnce) {
            new Animate(el, 'height', {
              from: 0,
              to: height,
              time: 500,
              callback: function() {
                that._fade.call(that, el);
              }
            }).start();
          }
          return this;
        },

        /**
          * @private
          * @return self
          * fades in a rendered tweet
          */
        _fade: function(el) {
          var that = this;

          if (Animate.canTransition) {
            el.style.webkitTransition = 'opacity 0.5s ease-out';
            el.style.opacity = 1;
            return this;
          }
          new Animate(el, 'opacity', {
            from: 0,
            to: 1,
            time: 500
          }).start();
          return this;
        },

        /**
          * @private
          * @return self
          * removes the last tweet if it is offscreen
          */
        _chop: function() {
          if (this._isScroll) {
            return this;
          }
          var tweets = this.byClass('twtr-tweet', 'div', true);
          var resultUpdates = this.byClass('twtr-new-results', 'div', true);
          if (tweets.length) {
            for (var i=tweets.length - 1; i >=0; i--) {
              var tweet = tweets[i];
              var top = parseInt(tweet.offsetTop);
              if (top > parseInt(this.wh[1])) {
                removeElement(tweet);
              } else {
                break;
              }
            }


            if (resultUpdates.length > 0) {
              var result = resultUpdates[resultUpdates.length - 1];
              var resultTop = parseInt(result.offsetTop);
              if (resultTop > parseInt(this.wh[1])) {
                removeElement(result);
              }
            }
          }

          return this;
        },

        /**
          * @private
          * @return self
          * Big Facade for chop, append, slide, and fade
          */
        _appendSlideFade: function(opt_element) {
          var el = opt_element || this.tweet.element;
          this
            ._chop()
            ._appendTweet(el)
            ._slide(el);
          return this;
        },

        /**
          * @private
          * @return self
          * generates the HTML for a single tweet item
          */
        _createTweet: function(o) {
          o.timestamp = o.created_at;
          o.created_at = this._isRelativeTime ? timeAgo(o.created_at) : absoluteTime(o.created_at);
          this.tweet = new Tweet(o);
          if (this._isLive && this.runOnce) {
            this.tweet.element.style.opacity = 0;
            this.tweet.element.style.filter = 'alpha(opacity:0)';
            this.tweet.element.style.height = '0';
          }
          return this;
        },

        /**
          * @private
          * @param {Function} callback function that receives the results
          * makes a jsonP call to twitter.com
          */
        _getResults: function() {
          var that = this;

          this.timesRequested++;
          this.jsonRequestRunning = true;

          this.jsonRequestTimer = window.setTimeout(function() {

            if (that.jsonRequestRunning) {
              clearTimeout(that.jsonRequestTimer);
              that.jsonRequestTimer = null;
            }

            that.jsonRequestRunning = false;
            removeElement(that.scriptElement);
            that.newResults = false;
            that.decay();
          }, this.jsonMaxRequestTimeOut);
          TWTR.Widget.jsonP(that.url, function(script) {
            that.scriptElement = script;
          });

        },

        /**
          * @public
          * @return self
          * clears out the tweet space. used internally,
          * but free to use publicly
          */
        clear: function() {
          var tweets = this.byClass('twtr-tweet', 'div', true);
          var results = this.byClass('twtr-new-results', 'div', true);
          tweets = tweets.concat(results);
          each(tweets, function(el) {
            removeElement(el);
          });

          return this;
        },

        _sortByMagic: function(results) {
          var that = this;
          if (this._tweetFilter) {
            if (this._tweetFilter.negatives) {
              results = results.filter(function(el) {
                if (!that._tweetFilter.negatives.test(el.text)) {
                  return el;
                }
              });
            }
            if (this._tweetFilter.positives) {
              results = results.filter(function(el) {
                if (that._tweetFilter.positives.test(el.text)) {
                  return el;
                }
              });
            }
          }
          switch (this._behavior) {
            case 'all':
              this._sortByLatest(results);
              break;
            case 'preloaded':
            default:
              this._sortByDefault(results);
              break;
          };

          if (this._isLive && this._behavior !== 'all') {
            this.intervalJob.set(this.results);
            this.intervalJob.start();
          }

          return this;
        },

        /**
          * @private
          * @return results
          * puts the toptweets for search widget at the top
          */
        _loadTopTweetsAtTop: function(results) {
          var regular = [],
              popular = [],
              arr = [];
          // top tweets
          each(results, function(el) {
            if (el.metadata && el.metadata.result_type && el.metadata.result_type == 'popular') {
              popular.push(el);
            } else {
              regular.push(el);
            }
          });
          var result = popular.concat(regular);
          return result;
        },

        _sortByLatest: function(results) {
          this.results = results;
          this.results = this.results.slice(0, this.rpp);
          this.results = this._loadTopTweetsAtTop(this.results);
          this.results.reverse();
          return this;
        },

        /**
          * @private
          * @return self
          * default sorting method which tracks views and loops
          */
        _sortByDefault: function(results) {
          var that = this;

          var getDater = function(dateString) {
            return new Date(dateString).getTime();
          };

          // merge new results with old
          this.results.unshift.apply(this.results, results);

          each(this.results, function(el) {
            if (!el.views) {
              el.views = 0;
            }
          });

          // sort by date
          this.results.sort(function(a, b) {
            if (getDater(a.created_at) > getDater(b.created_at)) {
              return -1;
            }
            else if (getDater(a.created_at) < getDater(b.created_at)) {
              return 1;
            }
            else {
              return 0;
            }
          });

          // now cut off the oldest
          this.results = this.results.slice(0, this.rpp);

          this.results = this._loadTopTweetsAtTop(this.results);
          var foo = this.results;

          // now sort by views
          this.results = this.results.sort(function(a, b) {
            if (a.views < b.views) {
              return -1;
            }
            else if (a.views > b.views) {
              return 1;
            }
            return 0;
          });

          if (!this._isLive) {
            this.results.reverse();
          }

        },

        /**
          * @private
          * @method prePlay does a pre-check against last result.
          * @param resp the JSON response from twitter JsonP API
          */
        _prePlay: function(resp) {
          if (this.jsonRequestTimer) {
            clearTimeout(this.jsonRequestTimer);
            this.jsonRequestTimer = null;
          }

          if (!browser.ie) {
            removeElement(this.scriptElement);
          }

          if (resp.error) {
            this.newResults = false;
          }

          else if (resp.results && resp.results.length > 0) {
            this.response = resp;

            this.newResults = true;
            this.sinceId = resp.max_id_str;

            this._sortByMagic(resp.results);
            if (this.isRunning()) {
              this._play();
            }

          }

          else if ((this._isProfileWidget || this._isFavsWidget || this._isListWidget) && is.array(resp) && resp.length) {

            this.newResults = true;

            if (!this._profileImage && this._isProfileWidget) {
              var name = resp[0].user.screen_name;
              this.setProfileImage(resp[0].user.profile_image_url);
              this.setTitle(resp[0].user.name);
              this.setCaption('<a target="_blank" href="http://twitter.com/' + name + '">' + name + '</a>');
            }

            this.sinceId = resp[0].id_str;

            this._sortByMagic(resp);

            if (this.isRunning()) {
              this._play();
            }

          }

          else {
            this.newResults = false;
          }

          this._setUrl();
          if (this._isLive) {
            this.decay();
          }

        },

        /**
          * @private
          * gets the ball rolling with a new widget
          * and resets the interval job
          */
        _play: function() {
          var that = this;
          if (this.runOnce) {
            this._hasNewSearchResults = true;
          }

          if (this._avatars) {
            this._preloadImages(this.results);
          }
          if (this._isRelativeTime && (this._behavior == 'all' || this._behavior == 'preloaded')) {
            each(this.byClass('twtr-timestamp', 'a', true), function(el) {
              el.innerHTML = timeAgo(el.getAttribute('time'));
            });
          }
          if (!this._isLive || this._behavior == 'all' || this._behavior == 'preloaded') {
            each(this.results, function(needle) {
              if (needle.retweeted_status) {
                needle = needle.retweeted_status;
              }

              if (that._isProfileWidget) {
                needle.from_user = needle.user.screen_name;
                needle.profile_image_url = needle.user.profile_image_url;
              }

              if (that._isFavsWidget || that._isListWidget) {
                needle.from_user = needle.user.screen_name;
                needle.profile_image_url = needle.user.profile_image_url;
              }

              needle.id = needle.id_str;

              that._createTweet({
                id: needle.id,
                user: needle.from_user,
                tweet: ify.clean(needle.text),
                avatar: needle.profile_image_url,
                created_at: needle.created_at,
                needle: needle
              });
              var el = that.tweet.element;
              (that._behavior == 'all') ? that._appendSlideFade(el) : that._appendTweet(el);
            });

            if (this._behavior != 'preloaded') {
              return this;
            }

          }

          return this;
        },

        _normalizeTweet: function(needle) {
          var that = this;
          needle.views++;

          if (this._isProfileWidget) {
            needle.from_user = that.username;
            needle.profile_image_url = needle.user.profile_image_url;
          }

          if (this._isFavsWidget || this._isListWidget) {
            needle.from_user = needle.user.screen_name;
            needle.profile_image_url = needle.user.profile_image_url;
          }

          if (this._isFullScreen) {
            needle.profile_image_url = needle.profile_image_url.replace(/_normal\./, '_bigger.');
          }

          this._createTweet({
            id: needle.id,
            user: needle.from_user,
            tweet: ify.clean(needle.text),
            avatar: needle.profile_image_url,
            created_at: needle.created_at,
            needle: needle
          })._appendSlideFade();

        },

        _insertNewResultsNumber: function() {
          if (!this._hasNewSearchResults) {
            this._hasNewSearchResults = false;
            return;
          }

          if (this.runOnce && this._isSearchWidget) {
            var newResultsTotal = this.response.total > this.rpp ? this.response.total : this.response.results.length;
            var plural = newResultsTotal > 1 ? 's' : '';
            var moreThan = (this.response.warning && this.response.warning.match(/adjusted since_id/)) ? 'more than' : '';
            var el = document.createElement('div');
            classes.add(el, 'twtr-new-results');
            el.innerHTML = '<div class="twtr-results-inner"> &nbsp; </div>' +
                           '<div class="twtr-results-hr"> &nbsp; </div><span>' + moreThan + ' <strong>' + newResultsTotal + '</strong> new tweet' + plural + '</span>';
            insertAfter(el, this.byClass('twtr-reference-tweet', 'div'));
            this._hasNewSearchResults = false;
          }
        },

        /**
          * @private
          * helps transitions to be smooth
          */
        _preloadImages: function(results) {
          if (this._isProfileWidget || this._isFavsWidget || this._isListWidget) {
            each(results, function(el) {
              var img = new Image();
              img.src = matchUrlScheme(el.user.profile_image_url);
            });
          }

          else {
            each(results, function(el) {
              (new Image()).src = matchUrlScheme(el.profile_image_url);
            });
          }

        },

        // FIXME: This seems like a bug in Occasionally.
        /**
          * @private
          * @return bool
          * tells the job whether to decay
          */
        _decayDecider: function() {
          var r = false;

          if (!this.runOnce) {
            this.runOnce = true;
            r = true;
          }

          else if (this.newResults) {
            r = true;
          }

          return r;
        },

        /**
          * @public
          * @return self
          * starts the cycle
          */
        start: function() {
          var that = this;
          if (!this._rendered) {
            setTimeout(function() {
              that.start.call(that);
            }, 50);
            return this;
          }
          if (!this._isLive) {
            this._getResults();
          }
          else {
            this.occasionalJob.start();
          }
          this._isRunning = true;
          this._hasOfficiallyStarted = true;
          return this;
        },

        /**
          * @public
          * @return self
          * stops the cycle
          */
        stop: function() {
          this.occasionalJob.stop();

          if (this.intervalJob) {
            this.intervalJob.stop();
          }

          this._isRunning = false;
          return this;
        },

        /**
          * @public
          * @return self
          * will pause the scrolling, but not stop polling for new results
          * useful for 'hover' interactions
          */
        pause: function() {
          if (this.isRunning() && this.intervalJob) {
            this.intervalJob.stop();
            classes.add(this.widgetEl, 'twtr-paused');
            this._isRunning = false;
          }

          if (this._resumeTimer) {
            clearTimeout(this._resumeTimer);
            this._resumeTimer = null;
          }

          return this;
        },

        /**
          * @public
          * @return self
          * it's like unpausing
          */
        resume: function() {
          var that = this;

          if (!this.isRunning() && this._hasOfficiallyStarted && this.intervalJob) {
            this._resumeTimer = window.setTimeout(function() {
              that.intervalJob.start();
              that._isRunning = true;
              classes.remove(that.widgetEl, 'twtr-paused');
            }, 2000);
          }

          return this;
        },

        /**
          * @public
          * @return bool
          * whether the widget is running
          */
        isRunning: function() {
          return this._isRunning;
        },

        /**
          * @public facade
          * @return self
          * convenience method to stop the cycle, then clear it out
          * widget can be reused if destroyed
          */
        destroy: function() {
          this.stop();
          this.clear();
          this.runOnce = false;
          this._hasOfficiallyStarted = false;
          this._profileImage = false;
          this._isLive = true;
          this._tweetFilter = false;
          this._isScroll = false;
          this.newResults = false;
          this._isRunning = false;
          this.sinceId = 1;
          this.results = [];
          this.showedResults = [];
          this.occasionalJob.destroy();

          if (this.jsonRequestRunning) {
            clearTimeout(this.jsonRequestTimer);
          }

          classes.remove(this.widgetEl, 'twtr-scroll');
          this.removeEvents();
          return this;
        }
      };
    }();
  })();
})(); // #end application closure

function selectAll2(formObj, isInverse, v)
{
   var w;
   w = v.toLowerCase()+'selectall';

   for (var i=0;i < formObj.length;i++)
   {
      fldObj = formObj.elements[i];

      if (fldObj.type == 'checkbox')
      {
         if(fldObj.name == v+'DeleteMatrix[]')
         {
          	 if(document.getElementById(w).checked == true)
          	  fldObj.checked = true;
         	 else
          	  fldObj.checked = false;
         }
       }
   }
}

function contentAdd(divName)
{
     if (divName == null)
      divName = 'contentNewForm';

     contentnewform = document.getElementById(divName);
     contentnewform.style.display = 'block';
}

function confirmDelete(str)
{
     var agree = confirm(str);

	if (agree) { return true; }
	else { return false; }
}

   	function submitFilters()
   	{
   	    document.getElementById('request').value = 'cmsMediaList';
   	    document.getElementById('contentFilters').submit();
   	}
   	
function addfavorites(contentId, boolBig)
{
    ids = 's'+contentId;
    idp = '#p'+contentId;
    document.getElementById(ids).style.fontColor = 'red';
    $(idp).fadeOut("slow");
    if(boolBig)
     document.getElementById(ids).style.backgroundImage = "url('/images/411-gatineau-listing-top-title-background-big-fav.png')";
    else
     document.getElementById(ids).style.backgroundImage = "url('/images/411-gatineau-listing-top-title-background-fav.png')";
}
