/**
* hoverIntent r5 // 2007.03.27 // jQuery 1.1.2+
* <http://cherne.net/brian/resources/jquery.hoverIntent.html>
* 
* @param  f  onMouseOver function || An object with configuration options
* @param  g  onMouseOut function  || Nothing (use configuration options object)
* @author    Brian Cherne <brian@cherne.net>
*/
(function($){$.fn.hoverIntent=function(f,g){var cfg={sensitivity:7,interval:100,timeout:0};cfg=$.extend(cfg,g?{over:f,out:g}:f);var cX,cY,pX,pY;var track=function(ev){cX=ev.pageX;cY=ev.pageY;};var compare=function(ev,ob){ob.hoverIntent_t=clearTimeout(ob.hoverIntent_t);if((Math.abs(pX-cX)+Math.abs(pY-cY))<cfg.sensitivity){$(ob).unbind("mousemove",track);ob.hoverIntent_s=1;return cfg.over.apply(ob,[ev]);}else{pX=cX;pY=cY;ob.hoverIntent_t=setTimeout(function(){compare(ev,ob);},cfg.interval);}};var delay=function(ev,ob){ob.hoverIntent_t=clearTimeout(ob.hoverIntent_t);ob.hoverIntent_s=0;return cfg.out.apply(ob,[ev]);};var handleHover=function(e){var p=(e.type=="mouseover"?e.fromElement:e.toElement)||e.relatedTarget;while(p&&p!=this){try{p=p.parentNode;}catch(e){p=this;}}if(p==this){return false;}var ev=jQuery.extend({},e);var ob=this;if(ob.hoverIntent_t){ob.hoverIntent_t=clearTimeout(ob.hoverIntent_t);}if(e.type=="mouseover"){pX=ev.pageX;pY=ev.pageY;$(ob).bind("mousemove",track);if(ob.hoverIntent_s!=1){ob.hoverIntent_t=setTimeout(function(){compare(ev,ob);},cfg.interval);}}else{$(ob).unbind("mousemove",track);if(ob.hoverIntent_s==1){ob.hoverIntent_t=setTimeout(function(){delay(ev,ob);},cfg.timeout);}}};return this.mouseover(handleHover).mouseout(handleHover);};})(jQuery);

/* -------------------- */


/*
 * Copyright (c) 2009 Simo Kinnunen.
 * Licensed under the MIT license.
 *
 * @version 1.09i
 */
var Cufon=(function(){var m=function(){return m.replace.apply(null,arguments)};var x=m.DOM={ready:(function(){var C=false,E={loaded:1,complete:1};var B=[],D=function(){if(C){return}C=true;for(var F;F=B.shift();F()){}};if(document.addEventListener){document.addEventListener("DOMContentLoaded",D,false);window.addEventListener("pageshow",D,false)}if(!window.opera&&document.readyState){(function(){E[document.readyState]?D():setTimeout(arguments.callee,10)})()}if(document.readyState&&document.createStyleSheet){(function(){try{document.body.doScroll("left");D()}catch(F){setTimeout(arguments.callee,1)}})()}q(window,"load",D);return function(F){if(!arguments.length){D()}else{C?F():B.push(F)}}})(),root:function(){return document.documentElement||document.body}};var n=m.CSS={Size:function(C,B){this.value=parseFloat(C);this.unit=String(C).match(/[a-z%]*$/)[0]||"px";this.convert=function(D){return D/B*this.value};this.convertFrom=function(D){return D/this.value*B};this.toString=function(){return this.value+this.unit}},addClass:function(C,B){var D=C.className;C.className=D+(D&&" ")+B;return C},color:j(function(C){var B={};B.color=C.replace(/^rgba\((.*?),\s*([\d.]+)\)/,function(E,D,F){B.opacity=parseFloat(F);return"rgb("+D+")"});return B}),fontStretch:j(function(B){if(typeof B=="number"){return B}if(/%$/.test(B)){return parseFloat(B)/100}return{"ultra-condensed":0.5,"extra-condensed":0.625,condensed:0.75,"semi-condensed":0.875,"semi-expanded":1.125,expanded:1.25,"extra-expanded":1.5,"ultra-expanded":2}[B]||1}),getStyle:function(C){var B=document.defaultView;if(B&&B.getComputedStyle){return new a(B.getComputedStyle(C,null))}if(C.currentStyle){return new a(C.currentStyle)}return new a(C.style)},gradient:j(function(F){var G={id:F,type:F.match(/^-([a-z]+)-gradient\(/)[1],stops:[]},C=F.substr(F.indexOf("(")).match(/([\d.]+=)?(#[a-f0-9]+|[a-z]+\(.*?\)|[a-z]+)/ig);for(var E=0,B=C.length,D;E<B;++E){D=C[E].split("=",2).reverse();G.stops.push([D[1]||E/(B-1),D[0]])}return G}),quotedList:j(function(E){var D=[],C=/\s*((["'])([\s\S]*?[^\\])\2|[^,]+)\s*/g,B;while(B=C.exec(E)){D.push(B[3]||B[1])}return D}),recognizesMedia:j(function(G){var E=document.createElement("style"),D,C,B;E.type="text/css";E.media=G;try{E.appendChild(document.createTextNode("/**/"))}catch(F){}C=g("head")[0];C.insertBefore(E,C.firstChild);D=(E.sheet||E.styleSheet);B=D&&!D.disabled;C.removeChild(E);return B}),removeClass:function(D,C){var B=RegExp("(?:^|\\s+)"+C+"(?=\\s|$)","g");D.className=D.className.replace(B,"");return D},supports:function(D,C){var B=document.createElement("span").style;if(B[D]===undefined){return false}B[D]=C;return B[D]===C},textAlign:function(E,D,B,C){if(D.get("textAlign")=="right"){if(B>0){E=" "+E}}else{if(B<C-1){E+=" "}}return E},textShadow:j(function(F){if(F=="none"){return null}var E=[],G={},B,C=0;var D=/(#[a-f0-9]+|[a-z]+\(.*?\)|[a-z]+)|(-?[\d.]+[a-z%]*)|,/ig;while(B=D.exec(F)){if(B[0]==","){E.push(G);G={};C=0}else{if(B[1]){G.color=B[1]}else{G[["offX","offY","blur"][C++]]=B[2]}}}E.push(G);return E}),textTransform:(function(){var B={uppercase:function(C){return C.toUpperCase()},lowercase:function(C){return C.toLowerCase()},capitalize:function(C){return C.replace(/\b./g,function(D){return D.toUpperCase()})}};return function(E,D){var C=B[D.get("textTransform")];return C?C(E):E}})(),whiteSpace:(function(){var D={inline:1,"inline-block":1,"run-in":1};var C=/^\s+/,B=/\s+$/;return function(H,F,G,E){if(E){if(E.nodeName.toLowerCase()=="br"){H=H.replace(C,"")}}if(D[F.get("display")]){return H}if(!G.previousSibling){H=H.replace(C,"")}if(!G.nextSibling){H=H.replace(B,"")}return H}})()};n.ready=(function(){var B=!n.recognizesMedia("all"),E=false;var D=[],H=function(){B=true;for(var K;K=D.shift();K()){}};var I=g("link"),J=g("style");function C(K){return K.disabled||G(K.sheet,K.media||"screen")}function G(M,P){if(!n.recognizesMedia(P||"all")){return true}if(!M||M.disabled){return false}try{var Q=M.cssRules,O;if(Q){search:for(var L=0,K=Q.length;O=Q[L],L<K;++L){switch(O.type){case 2:break;case 3:if(!G(O.styleSheet,O.media.mediaText)){return false}break;default:break search}}}}catch(N){}return true}function F(){if(document.createStyleSheet){return true}var L,K;for(K=0;L=I[K];++K){if(L.rel.toLowerCase()=="stylesheet"&&!C(L)){return false}}for(K=0;L=J[K];++K){if(!C(L)){return false}}return true}x.ready(function(){if(!E){E=n.getStyle(document.body).isUsable()}if(B||(E&&F())){H()}else{setTimeout(arguments.callee,10)}});return function(K){if(B){K()}else{D.push(K)}}})();function s(D){var C=this.face=D.face,B={"\u0020":1,"\u00a0":1,"\u3000":1};this.glyphs=D.glyphs;this.w=D.w;this.baseSize=parseInt(C["units-per-em"],10);this.family=C["font-family"].toLowerCase();this.weight=C["font-weight"];this.style=C["font-style"]||"normal";this.viewBox=(function(){var F=C.bbox.split(/\s+/);var E={minX:parseInt(F[0],10),minY:parseInt(F[1],10),maxX:parseInt(F[2],10),maxY:parseInt(F[3],10)};E.width=E.maxX-E.minX;E.height=E.maxY-E.minY;E.toString=function(){return[this.minX,this.minY,this.width,this.height].join(" ")};return E})();this.ascent=-parseInt(C.ascent,10);this.descent=-parseInt(C.descent,10);this.height=-this.ascent+this.descent;this.spacing=function(L,N,E){var O=this.glyphs,M,K,G,P=[],F=0,J=-1,I=-1,H;while(H=L[++J]){M=O[H]||this.missingGlyph;if(!M){continue}if(K){F-=G=K[H]||0;P[I]-=G}F+=P[++I]=~~(M.w||this.w)+N+(B[H]?E:0);K=M.k}P.total=F;return P}}function f(){var C={},B={oblique:"italic",italic:"oblique"};this.add=function(D){(C[D.style]||(C[D.style]={}))[D.weight]=D};this.get=function(H,I){var G=C[H]||C[B[H]]||C.normal||C.italic||C.oblique;if(!G){return null}I={normal:400,bold:700}[I]||parseInt(I,10);if(G[I]){return G[I]}var E={1:1,99:0}[I%100],K=[],F,D;if(E===undefined){E=I>400}if(I==500){I=400}for(var J in G){if(!k(G,J)){continue}J=parseInt(J,10);if(!F||J<F){F=J}if(!D||J>D){D=J}K.push(J)}if(I<F){I=F}if(I>D){I=D}K.sort(function(M,L){return(E?(M>=I&&L>=I)?M<L:M>L:(M<=I&&L<=I)?M>L:M<L)?-1:1});return G[K[0]]}}function r(){function D(F,G){if(F.contains){return F.contains(G)}return F.compareDocumentPosition(G)&16}function B(G){var F=G.relatedTarget;if(!F||D(this,F)){return}C(this,G.type=="mouseover")}function E(F){C(this,F.type=="mouseenter")}function C(F,G){setTimeout(function(){var H=d.get(F).options;m.replace(F,G?h(H,H.hover):H,true)},10)}this.attach=function(F){if(F.onmouseenter===undefined){q(F,"mouseover",B);q(F,"mouseout",B)}else{q(F,"mouseenter",E);q(F,"mouseleave",E)}}}function u(){var C=[],D={};function B(H){var E=[],G;for(var F=0;G=H[F];++F){E[F]=C[D[G]]}return E}this.add=function(F,E){D[F]=C.push(E)-1};this.repeat=function(){var E=arguments.length?B(arguments):C,F;for(var G=0;F=E[G++];){m.replace(F[0],F[1],true)}}}function A(){var D={},B=0;function C(E){return E.cufid||(E.cufid=++B)}this.get=function(E){var F=C(E);return D[F]||(D[F]={})}}function a(B){var D={},C={};this.extend=function(E){for(var F in E){if(k(E,F)){D[F]=E[F]}}return this};this.get=function(E){return D[E]!=undefined?D[E]:B[E]};this.getSize=function(F,E){return C[F]||(C[F]=new n.Size(this.get(F),E))};this.isUsable=function(){return !!B}}function q(C,B,D){if(C.addEventListener){C.addEventListener(B,D,false)}else{if(C.attachEvent){C.attachEvent("on"+B,function(){return D.call(C,window.event)})}}}function v(C,B){var D=d.get(C);if(D.options){return C}if(B.hover&&B.hoverables[C.nodeName.toLowerCase()]){b.attach(C)}D.options=B;return C}function j(B){var C={};return function(D){if(!k(C,D)){C[D]=B.apply(null,arguments)}return C[D]}}function c(F,E){var B=n.quotedList(E.get("fontFamily").toLowerCase()),D;for(var C=0;D=B[C];++C){if(i[D]){return i[D].get(E.get("fontStyle"),E.get("fontWeight"))}}return null}function g(B){return document.getElementsByTagName(B)}function k(C,B){return C.hasOwnProperty(B)}function h(){var C={},B,F;for(var E=0,D=arguments.length;B=arguments[E],E<D;++E){for(F in B){if(k(B,F)){C[F]=B[F]}}}return C}function o(E,M,C,N,F,D){var K=document.createDocumentFragment(),H;if(M===""){return K}var L=N.separate;var I=M.split(p[L]),B=(L=="words");if(B&&t){if(/^\s/.test(M)){I.unshift("")}if(/\s$/.test(M)){I.push("")}}for(var J=0,G=I.length;J<G;++J){H=z[N.engine](E,B?n.textAlign(I[J],C,J,G):I[J],C,N,F,D,J<G-1);if(H){K.appendChild(H)}}return K}function l(D,M){var C=D.nodeName.toLowerCase();if(M.ignore[C]){return}var E=!M.textless[C];var B=n.getStyle(v(D,M)).extend(M);var F=c(D,B),G,K,I,H,L,J;if(!F){return}for(G=D.firstChild;G;G=I){K=G.nodeType;I=G.nextSibling;if(E&&K==3){if(H){H.appendData(G.data);D.removeChild(G)}else{H=G}if(I){continue}}if(H){D.replaceChild(o(F,n.whiteSpace(H.data,B,H,J),B,M,G,D),H);H=null}if(K==1){if(G.firstChild){if(G.nodeName.toLowerCase()=="cufon"){z[M.engine](F,null,B,M,G,D)}else{arguments.callee(G,M)}}J=G}}}var t=" ".split(/\s+/).length==0;var d=new A();var b=new r();var y=new u();var e=false;var z={},i={},w={autoDetect:false,engine:null,forceHitArea:false,hover:false,hoverables:{a:true},ignore:{applet:1,canvas:1,col:1,colgroup:1,head:1,iframe:1,map:1,optgroup:1,option:1,script:1,select:1,style:1,textarea:1,title:1,pre:1},printable:true,selector:(window.Sizzle||(window.jQuery&&function(B){return jQuery(B)})||(window.dojo&&dojo.query)||(window.Ext&&Ext.query)||(window.YAHOO&&YAHOO.util&&YAHOO.util.Selector&&YAHOO.util.Selector.query)||(window.$$&&function(B){return $$(B)})||(window.$&&function(B){return $(B)})||(document.querySelectorAll&&function(B){return document.querySelectorAll(B)})||g),separate:"words",textless:{dl:1,html:1,ol:1,table:1,tbody:1,thead:1,tfoot:1,tr:1,ul:1},textShadow:"none"};var p={words:/\s/.test("\u00a0")?/[^\S\u00a0]+/:/\s+/,characters:"",none:/^/};m.now=function(){x.ready();return m};m.refresh=function(){y.repeat.apply(y,arguments);return m};m.registerEngine=function(C,B){if(!B){return m}z[C]=B;return m.set("engine",C)};m.registerFont=function(D){if(!D){return m}var B=new s(D),C=B.family;if(!i[C]){i[C]=new f()}i[C].add(B);return m.set("fontFamily",'"'+C+'"')};m.replace=function(D,C,B){C=h(w,C);if(!C.engine){return m}if(!e){n.addClass(x.root(),"cufon-active cufon-loading");n.ready(function(){n.addClass(n.removeClass(x.root(),"cufon-loading"),"cufon-ready")});e=true}if(C.hover){C.forceHitArea=true}if(C.autoDetect){delete C.fontFamily}if(typeof C.textShadow=="string"){C.textShadow=n.textShadow(C.textShadow)}if(typeof C.color=="string"&&/^-/.test(C.color)){C.textGradient=n.gradient(C.color)}else{delete C.textGradient}if(!B){y.add(D,arguments)}if(D.nodeType||typeof D=="string"){D=[D]}n.ready(function(){for(var F=0,E=D.length;F<E;++F){var G=D[F];if(typeof G=="string"){m.replace(C.selector(G),C,true)}else{l(G,C)}}});return m};m.set=function(B,C){w[B]=C;return m};return m})();Cufon.registerEngine("vml",(function(){var e=document.namespaces;if(!e){return}e.add("cvml","urn:schemas-microsoft-com:vml");e=null;var b=document.createElement("cvml:shape");b.style.behavior="url(#default#VML)";if(!b.coordsize){return}b=null;var h=(document.documentMode||0)<8;document.write(('<style type="text/css">cufoncanvas{text-indent:0;}@media screen{cvml\\:shape,cvml\\:rect,cvml\\:fill,cvml\\:shadow{behavior:url(#default#VML);display:block;antialias:true;position:absolute;}cufoncanvas{position:absolute;text-align:left;}cufon{display:inline-block;position:relative;vertical-align:'+(h?"middle":"text-bottom")+";}cufon cufontext{position:absolute;left:-10000in;font-size:1px;}a cufon{cursor:pointer}}@media print{cufon cufoncanvas{display:none;}}</style>").replace(/;/g,"!important;"));function c(i,j){return a(i,/(?:em|ex|%)$|^[a-z-]+$/i.test(j)?"1em":j)}function a(l,m){if(m==="0"){return 0}if(/px$/i.test(m)){return parseFloat(m)}var k=l.style.left,j=l.runtimeStyle.left;l.runtimeStyle.left=l.currentStyle.left;l.style.left=m.replace("%","em");var i=l.style.pixelLeft;l.style.left=k;l.runtimeStyle.left=j;return i}function f(l,k,j,n){var i="computed"+n,m=k[i];if(isNaN(m)){m=k.get(n);k[i]=m=(m=="normal")?0:~~j.convertFrom(a(l,m))}return m}var g={};function d(p){var q=p.id;if(!g[q]){var n=p.stops,o=document.createElement("cvml:fill"),i=[];o.type="gradient";o.angle=180;o.focus="0";o.method="sigma";o.color=n[0][1];for(var m=1,l=n.length-1;m<l;++m){i.push(n[m][0]*100+"% "+n[m][1])}o.colors=i.join(",");o.color2=n[l][1];g[q]=o}return g[q]}return function(ac,G,Y,C,K,ad,W){var n=(G===null);if(n){G=K.alt}var I=ac.viewBox;var p=Y.computedFontSize||(Y.computedFontSize=new Cufon.CSS.Size(c(ad,Y.get("fontSize"))+"px",ac.baseSize));var y,q;if(n){y=K;q=K.firstChild}else{y=document.createElement("cufon");y.className="cufon cufon-vml";y.alt=G;q=document.createElement("cufoncanvas");y.appendChild(q);if(C.printable){var Z=document.createElement("cufontext");Z.appendChild(document.createTextNode(G));y.appendChild(Z)}if(!W){y.appendChild(document.createElement("cvml:shape"))}}var ai=y.style;var R=q.style;var l=p.convert(I.height),af=Math.ceil(l);var V=af/l;var P=V*Cufon.CSS.fontStretch(Y.get("fontStretch"));var U=I.minX,T=I.minY;R.height=af;R.top=Math.round(p.convert(T-ac.ascent));R.left=Math.round(p.convert(U));ai.height=p.convert(ac.height)+"px";var F=Y.get("color");var ag=Cufon.CSS.textTransform(G,Y).split("");var L=ac.spacing(ag,f(ad,Y,p,"letterSpacing"),f(ad,Y,p,"wordSpacing"));if(!L.length){return null}var k=L.total;var x=-U+k+(I.width-L[L.length-1]);var ah=p.convert(x*P),X=Math.round(ah);var O=x+","+I.height,m;var J="r"+O+"ns";var u=C.textGradient&&d(C.textGradient);var o=ac.glyphs,S=0;var H=C.textShadow;var ab=-1,aa=0,w;while(w=ag[++ab]){var D=o[ag[ab]]||ac.missingGlyph,v;if(!D){continue}if(n){v=q.childNodes[aa];while(v.firstChild){v.removeChild(v.firstChild)}}else{v=document.createElement("cvml:shape");q.appendChild(v)}v.stroked="f";v.coordsize=O;v.coordorigin=m=(U-S)+","+T;v.path=(D.d?"m"+D.d+"xe":"")+"m"+m+J;v.fillcolor=F;if(u){v.appendChild(u.cloneNode(false))}var ae=v.style;ae.width=X;ae.height=af;if(H){var s=H[0],r=H[1];var B=Cufon.CSS.color(s.color),z;var N=document.createElement("cvml:shadow");N.on="t";N.color=B.color;N.offset=s.offX+","+s.offY;if(r){z=Cufon.CSS.color(r.color);N.type="double";N.color2=z.color;N.offset2=r.offX+","+r.offY}N.opacity=B.opacity||(z&&z.opacity)||1;v.appendChild(N)}S+=L[aa++]}var M=v.nextSibling,t,A;if(C.forceHitArea){if(!M){M=document.createElement("cvml:rect");M.stroked="f";M.className="cufon-vml-cover";t=document.createElement("cvml:fill");t.opacity=0;M.appendChild(t);q.appendChild(M)}A=M.style;A.width=X;A.height=af}else{if(M){q.removeChild(M)}}ai.width=Math.max(Math.ceil(p.convert(k*P)),0);if(h){var Q=Y.computedYAdjust;if(Q===undefined){var E=Y.get("lineHeight");if(E=="normal"){E="1em"}else{if(!isNaN(E)){E+="em"}}Y.computedYAdjust=Q=0.5*(a(ad,E)-parseFloat(ai.height))}if(Q){ai.marginTop=Math.ceil(Q)+"px";ai.marginBottom=Q+"px"}}return y}})());Cufon.registerEngine("canvas",(function(){var b=document.createElement("canvas");if(!b||!b.getContext||!b.getContext.apply){return}b=null;var a=Cufon.CSS.supports("display","inline-block");var e=!a&&(document.compatMode=="BackCompat"||/frameset|transitional/i.test(document.doctype.publicId));var f=document.createElement("style");f.type="text/css";f.appendChild(document.createTextNode(("cufon{text-indent:0;}@media screen,projection{cufon{display:inline;display:inline-block;position:relative;vertical-align:middle;"+(e?"":"font-size:1px;line-height:1px;")+"}cufon cufontext{display:-moz-inline-box;display:inline-block;width:0;height:0;overflow:hidden;text-indent:-10000in;}"+(a?"cufon canvas{position:relative;}":"cufon canvas{position:absolute;}")+"}@media print{cufon{padding:0;}cufon canvas{display:none;}}").replace(/;/g,"!important;")));document.getElementsByTagName("head")[0].appendChild(f);function d(p,h){var n=0,m=0;var g=[],o=/([mrvxe])([^a-z]*)/g,k;generate:for(var j=0;k=o.exec(p);++j){var l=k[2].split(",");switch(k[1]){case"v":g[j]={m:"bezierCurveTo",a:[n+~~l[0],m+~~l[1],n+~~l[2],m+~~l[3],n+=~~l[4],m+=~~l[5]]};break;case"r":g[j]={m:"lineTo",a:[n+=~~l[0],m+=~~l[1]]};break;case"m":g[j]={m:"moveTo",a:[n=~~l[0],m=~~l[1]]};break;case"x":g[j]={m:"closePath"};break;case"e":break generate}h[g[j].m].apply(h,g[j].a)}return g}function c(m,k){for(var j=0,h=m.length;j<h;++j){var g=m[j];k[g.m].apply(k,g.a)}}return function(V,w,P,t,C,W){var k=(w===null);if(k){w=C.getAttribute("alt")}var A=V.viewBox;var m=P.getSize("fontSize",V.baseSize);var B=0,O=0,N=0,u=0;var z=t.textShadow,L=[];if(z){for(var U=z.length;U--;){var F=z[U];var K=m.convertFrom(parseFloat(F.offX));var I=m.convertFrom(parseFloat(F.offY));L[U]=[K,I];if(I<B){B=I}if(K>O){O=K}if(I>N){N=I}if(K<u){u=K}}}var Z=Cufon.CSS.textTransform(w,P).split("");var E=V.spacing(Z,~~m.convertFrom(parseFloat(P.get("letterSpacing"))||0),~~m.convertFrom(parseFloat(P.get("wordSpacing"))||0));if(!E.length){return null}var h=E.total;O+=A.width-E[E.length-1];u+=A.minX;var s,n;if(k){s=C;n=C.firstChild}else{s=document.createElement("cufon");s.className="cufon cufon-canvas";s.setAttribute("alt",w);n=document.createElement("canvas");s.appendChild(n);if(t.printable){var S=document.createElement("cufontext");S.appendChild(document.createTextNode(w));s.appendChild(S)}}var aa=s.style;var H=n.style;var j=m.convert(A.height);var Y=Math.ceil(j);var M=Y/j;var G=M*Cufon.CSS.fontStretch(P.get("fontStretch"));var J=h*G;var Q=Math.ceil(m.convert(J+O-u));var o=Math.ceil(m.convert(A.height-B+N));n.width=Q;n.height=o;H.width=Q+"px";H.height=o+"px";B+=A.minY;H.top=Math.round(m.convert(B-V.ascent))+"px";H.left=Math.round(m.convert(u))+"px";var r=Math.max(Math.ceil(m.convert(J)),0)+"px";if(a){aa.width=r;aa.height=m.convert(V.height)+"px"}else{aa.paddingLeft=r;aa.paddingBottom=(m.convert(V.height)-1)+"px"}var X=n.getContext("2d"),D=j/A.height;X.scale(D,D*M);X.translate(-u,-B);X.save();function T(){var x=V.glyphs,ab,l=-1,g=-1,y;X.scale(G,1);while(y=Z[++l]){var ab=x[Z[l]]||V.missingGlyph;if(!ab){continue}if(ab.d){X.beginPath();if(ab.code){c(ab.code,X)}else{ab.code=d("m"+ab.d,X)}X.fill()}X.translate(E[++g],0)}X.restore()}if(z){for(var U=z.length;U--;){var F=z[U];X.save();X.fillStyle=F.color;X.translate.apply(X,L[U]);T()}}var q=t.textGradient;if(q){var v=q.stops,p=X.createLinearGradient(0,A.minY,0,A.maxY);for(var U=0,R=v.length;U<R;++U){p.addColorStop.apply(p,v[U])}X.fillStyle=p}else{X.fillStyle=P.get("color")}T();return s}})());

/* -------------------- */


/*!
 * The following copyright notice may not be removed under any circumstances.
 * 
 * Copyright:
 * Copyright 1992-2003 Adobe Systems Incorporated. All Rights Reserved. U.S.
 * Patent Des. 454,582.
 * 
 * Trademark:
 * Myriad is either a registered trademark or a trademark of Adobe Systems
 * Incorporated in the United States and/or other countries.
 * 
 * Description:
 * Myriad is an Adobe Originals typeface designed by Robert Slimbach and Carol
 * Twombly in 1992. Myriad is a sans serif design that works well as a text face as
 * well as providing flexibility for filling display needs. Myriad Web has been
 * optimized for onscreen use.
 * 
 * Manufacturer:
 * Adobe Systems Incorporated
 * 
 * Designer:
 * Robert Slimbach and Carol Twombly
 * 
 * Vendor URL:
 * http://www.adobe.com/type
 * 
 * License information:
 * http://www.adobe.com/type/legal.html
 */
Cufon.registerFont({"w":191,"face":{"font-family":"myriad-pro","font-weight":400,"font-stretch":"normal","units-per-em":"360","panose-1":"2 11 5 3 3 4 3 2 2 4","ascent":"274","descent":"-86","x-height":"4","bbox":"-17 -270 311 90","underline-thickness":"18","underline-position":"-27","unicode-range":"U+0020-U+2122"},"glyphs":{" ":{"w":78},"!":{"d":"55,-71r-25,0r-6,-172r36,0xm42,-43v14,0,23,10,23,24v0,14,-10,23,-23,23v-12,0,-22,-9,-22,-23v0,-14,9,-23,22,-24","w":84},"\"":{"d":"18,-249r33,0r-6,87r-21,0xm73,-249r34,0r-7,87r-20,0","w":124},"#":{"d":"35,0r10,-70r-31,0r0,-23r34,0r7,-50r-32,0r0,-23r35,0r9,-68r23,0r-10,68r39,0r9,-68r22,0r-9,68r30,0r0,23r-33,0r-7,50r32,0r0,23r-35,0r-10,70r-22,0r9,-70r-38,0r-9,70r-23,0xm71,-93r38,0r6,-50r-38,0","w":185},"$":{"d":"164,-68v-3,33,-25,58,-59,62r0,37r-24,0r0,-36v-23,-1,-42,-6,-57,-16r9,-26v29,22,97,25,97,-18v0,-57,-107,-40,-103,-105v2,-33,25,-54,57,-59r0,-36r23,0r0,35v18,1,35,5,49,13r-9,25v-28,-18,-86,-20,-87,18v10,52,109,38,104,106"},"%":{"d":"67,-94v-35,0,-56,-32,-56,-71v0,-41,21,-72,58,-73v38,0,57,29,57,70v0,42,-22,74,-59,74xm69,-114v41,-1,42,-104,0,-104v-22,0,-32,26,-31,52v1,26,8,51,31,52xm87,4r-20,0r138,-242r21,0xm224,3v-35,0,-56,-32,-56,-71v0,-41,21,-72,58,-73v37,0,57,29,57,69v1,43,-22,75,-59,75xm226,-17v41,-1,42,-104,0,-104v-42,0,-43,104,0,104","w":293},"&":{"d":"159,-194v0,36,-26,49,-54,65r59,66v11,-16,19,-39,24,-70r31,0v-7,41,-19,71,-36,90r41,43r-40,0r-23,-23v-45,47,-151,32,-150,-41v0,-30,16,-54,49,-72v-42,-42,-16,-111,43,-111v32,-1,56,23,56,53xm102,-224v-38,2,-39,52,-13,77v23,-13,41,-19,41,-46v0,-17,-11,-31,-28,-31xm75,-118v-48,23,-37,97,19,97v20,0,36,-7,50,-21v-28,-29,-28,-30,-69,-76","w":224},"'":{"d":"18,-249r33,0r-6,87r-21,0","w":68},"(":{"d":"71,43v-64,-78,-64,-214,0,-293r26,0v-61,78,-61,213,0,293r-26,0","w":104,"k":{"Y":-18,"W":-21,"V":-21,"T":-25,"J":-9}},")":{"d":"8,43v60,-80,60,-213,0,-293r25,0v64,78,64,214,0,293r-25,0","w":104},"*":{"d":"11,-170r0,-25r54,6r-34,-45r23,-13r22,51r23,-51r22,13r-35,46r55,-7r0,25r-55,-6r35,44r-23,13r-23,-51r-23,51r-21,-13r35,-45","w":152},"+":{"d":"95,0r0,-85r-80,0r0,-23r80,0r0,-84r25,0r0,84r80,0r0,23r-80,0r0,85r-25,0","w":214},",":{"d":"29,42r-24,2v10,-27,17,-56,22,-87r37,-4v-10,37,-22,67,-35,89","w":76},".":{"d":"41,-43v15,0,23,9,23,24v-1,13,-10,23,-23,23v-12,0,-22,-9,-22,-23v0,-14,9,-23,22,-24","w":76},"\/":{"d":"25,14r-25,0r101,-261r26,0","w":126},"0":{"d":"98,-238v57,0,80,54,80,118v0,69,-23,124,-84,124v-55,0,-81,-55,-81,-120v0,-66,27,-122,85,-122xm95,-212v-67,0,-66,190,0,190v40,0,49,-46,49,-96v0,-50,-9,-94,-49,-94"},"1":{"d":"87,0r-1,-203r-41,22r-6,-26v26,-10,41,-31,81,-27r0,234r-33,0"},"2":{"d":"165,-169v-7,72,-38,79,-101,141r107,0r0,28r-154,0r0,-21v54,-49,86,-83,98,-98v27,-35,22,-93,-30,-91v-17,0,-35,6,-52,20r-11,-23v46,-44,150,-29,143,44"},"3":{"d":"167,-66v0,69,-100,88,-151,53r8,-25v37,25,108,21,108,-29v-1,-37,-37,-50,-80,-46r0,-25v36,3,72,-7,72,-38v0,-44,-62,-42,-91,-19r-9,-24v42,-32,136,-25,134,37v0,26,-14,45,-44,56v29,5,53,27,53,60"},"4":{"d":"149,0r-32,0r0,-63r-111,0r0,-22r106,-149r37,0r0,145r34,0r0,26r-34,0r0,63xm117,-89r0,-114v-25,50,-49,71,-77,113"},"5":{"d":"132,-73v0,-48,-53,-56,-102,-49r15,-112r116,0r0,28r-92,0r-9,57v59,-7,106,19,107,73v2,70,-93,101,-151,65r8,-25v39,24,108,15,108,-37"},"6":{"d":"98,4v-87,0,-105,-118,-64,-182v24,-38,67,-59,120,-60r1,28v-61,-1,-100,32,-107,82v39,-53,131,-24,131,49v0,45,-34,83,-81,83xm145,-77v0,-66,-99,-67,-99,-10v0,35,17,65,52,65v29,0,47,-25,47,-55"},"7":{"d":"21,-234r153,0r0,22r-105,212r-34,0r104,-206r-118,0r0,-28"},"8":{"d":"95,4v-44,0,-81,-24,-81,-64v0,-28,15,-49,46,-62v-68,-28,-32,-116,38,-116v71,0,97,87,32,113v26,11,46,28,47,60v1,42,-38,69,-82,69xm97,-214v-23,0,-42,15,-42,37v0,21,16,35,46,42v50,-9,47,-80,-4,-79xm90,-111v-20,7,-41,19,-41,48v0,25,21,42,47,42v26,0,48,-16,48,-40v0,-32,-28,-44,-54,-50"},"9":{"d":"98,-238v94,0,98,148,46,202v-24,25,-59,40,-108,40r0,-28v58,5,100,-30,107,-84v-37,50,-128,22,-128,-46v0,-46,37,-84,83,-84xm48,-156v0,58,92,62,96,13v3,-38,-14,-69,-49,-69v-28,-1,-47,27,-47,56"},":":{"d":"41,-169v14,0,23,10,23,24v0,13,-10,23,-23,23v-13,0,-22,-9,-22,-23v0,-14,9,-23,22,-24xm41,-43v14,0,22,10,22,24v0,14,-10,23,-22,23v-12,0,-22,-9,-22,-23v0,-14,9,-23,22,-24","w":76},";":{"d":"44,-169v14,0,22,10,22,24v1,14,-9,23,-22,23v-13,0,-22,-9,-22,-23v0,-14,9,-24,22,-24xm29,42r-23,2v10,-27,17,-56,22,-87r36,-4v-11,37,-22,67,-35,89","w":76},"<":{"d":"191,0r-168,-85r0,-21r168,-86r0,26r-140,71r140,69r0,26","w":214},"=":{"d":"14,-121r0,-23r186,0r0,23r-186,0xm14,-50r0,-22r186,0r0,22r-186,0","w":214},">":{"d":"23,0r0,-26r142,-70r-142,-70r0,-26r168,85r0,22","w":214},"?":{"d":"135,-193v0,50,-60,62,-53,123r-30,0v-12,-55,45,-75,48,-119v2,-36,-51,-36,-72,-19r-10,-23v38,-29,117,-18,117,38xm67,-43v14,0,22,10,22,24v0,14,-9,23,-22,23v-12,0,-23,-10,-23,-23v1,-14,9,-24,23,-24","w":151},"@":{"d":"37,-112v0,79,83,121,151,85r5,17v-80,40,-177,-10,-177,-100v0,-75,58,-137,134,-137v62,0,108,45,108,106v0,45,-26,84,-65,84v-18,0,-28,-12,-29,-32v-21,45,-92,42,-92,-14v0,-59,66,-105,126,-77r-14,84v0,14,6,20,15,20v24,-1,38,-33,38,-63v0,-54,-35,-90,-90,-90v-63,0,-110,52,-110,117xm97,-105v0,32,37,36,52,12v18,-18,18,-44,24,-72v-41,-14,-76,22,-76,60","w":272},"A":{"d":"158,-76r-89,0r-25,76r-35,0r85,-243r41,0r86,243r-36,0xm76,-102r75,0v-22,-61,-34,-98,-38,-112v-5,20,-18,57,-37,112","w":228,"k":{"z":-6,"y":8,"w":8,"v":13,"u":5,"t":4,"s":3,"q":4,"o":4,"g":5,"f":3,"e":4,"d":5,"c":5,"Y":33,"W":20,"V":26,"U":11,"T":30,"Q":5,"O":5,"G":5,"C":5}},"B":{"d":"187,-69v-1,68,-81,78,-159,68r0,-238v59,-13,152,-10,149,55v-1,28,-18,46,-41,54v28,7,51,29,51,61xm61,-140v42,3,79,-4,83,-40v4,-36,-46,-44,-83,-37r0,77xm152,-70v-1,-42,-44,-49,-91,-46r0,91v42,5,92,-3,91,-45","w":201,"k":{"T":4,".":6,",":6}},"C":{"d":"49,-120v0,80,80,116,150,85r6,27v-87,36,-192,-11,-192,-111v0,-96,101,-155,193,-116r-8,27v-70,-32,-149,7,-149,88","w":217,"k":{"y":7,"u":4,"o":5,"e":4,"a":3,"Q":9,"O":9,"G":9,"C":9}},"D":{"d":"237,-127v0,107,-96,142,-209,126r0,-238v106,-21,209,7,209,112xm201,-126v0,-76,-65,-105,-140,-89r0,189v77,12,140,-22,140,-100","w":249,"k":{"y":-9,"o":-2,"e":-2,"Y":9,"W":-3,".":12,",":13}},"E":{"d":"159,-140r0,27r-98,0r0,85r109,0r0,28r-142,0r0,-243r137,0r0,28r-104,0r0,75r98,0","w":183,"k":{"y":3,"w":3,"v":3,"u":2,"t":2,"g":2,"e":2,"d":2,"c":2,"W":-3,"V":-3,",":3}},"F":{"d":"28,0r0,-243r136,0r0,28r-103,0r0,79r95,0r0,27r-95,0r0,109r-33,0","w":182,"k":{"y":8,"u":13,"r":10,"o":11,"l":6,"i":10,"e":12,"a":17,"A":29,";":7,":":5,".":36,",":38}},"G":{"d":"49,-121v0,74,71,113,140,89r0,-70r-51,0r0,-26r83,0r0,116v-97,41,-208,-3,-208,-108v0,-98,106,-150,201,-114r-8,27v-72,-29,-157,5,-157,86","w":242,"k":{"o":-2,"e":-4,"a":-3}},"H":{"d":"28,-243r33,0r0,101r122,0r0,-101r33,0r0,243r-33,0r0,-113r-122,0r0,113r-33,0r0,-243","w":243},"I":{"d":"28,-243r33,0r0,243r-33,0r0,-243","w":88,"k":{"z":-4,"y":-3,"x":-2,"w":-4,"v":-4,"t":-6,"l":-4,"k":-4,"j":-3,"i":-4,"h":-4,"f":-3}},"J":{"d":"6,-29v42,15,74,-4,74,-56r0,-158r33,0v-3,111,32,286,-112,241","w":138,"k":{"}":-17,"y":-4,"]":-17,")":-17}},"K":{"d":"28,0r0,-243r34,0r0,117v6,-9,38,-48,96,-117r42,0r-91,103r98,140r-40,0r-82,-118r-24,27r0,91r-33,0","w":202,"k":{"y":9,"w":7,"v":10,"u":2,"r":-4,"n":-4,"l":-3,"i":-4,"h":-3,"a":-6,"W":-6,"Q":8,"O":8,"G":8,"C":8,"A":-4}},"L":{"d":"28,0r0,-243r33,0r0,215r107,0r0,28r-140,0","w":176,"k":{"y":10,"w":11,"u":5,"o":5,"e":5,"Y":35,"W":22,"V":26,"U":13,"T":33,"Q":14,"O":14,"G":14,"C":14}},"M":{"d":"245,0r-11,-211v-21,70,-50,141,-75,209r-25,0v-30,-86,-48,-138,-53,-154v-5,-16,-10,-34,-16,-55r-12,211r-31,0r17,-243r43,0v30,84,48,133,52,147r15,51v19,-73,47,-132,71,-198r43,0r15,243r-33,0","w":299,"k":{"y":-3,"o":-2,"n":-4,"j":-4,"i":-5,"e":-2,"d":-2,"c":-2,"a":-2}},"N":{"d":"59,0r-31,0r0,-243r37,0r80,122v18,27,33,53,45,78v-5,-45,-4,-140,-4,-200r32,0r0,243r-34,0r-79,-122v-20,-31,-36,-57,-48,-81","w":245},"O":{"d":"131,-247v68,0,115,54,115,123v0,73,-48,127,-118,128v-69,1,-115,-54,-115,-123v0,-72,49,-128,118,-128xm129,-220v-51,0,-81,47,-81,100v0,50,32,97,81,97v50,0,81,-46,81,-99v0,-51,-32,-99,-81,-98","w":258,"k":{"y":-5,"x":2,"w":-5,"v":-5,"t":-6,"q":-2,"o":-3,"j":-2,"g":-2,"f":-6,"e":-2,"d":-2,"c":-2,"Y":11,"X":12,"W":-2,"T":10,"A":7,".":10,",":12}},"P":{"d":"183,-173v0,61,-61,89,-122,76r0,97r-33,0r0,-240v68,-13,155,-5,155,67xm150,-172v0,-43,-48,-53,-89,-44r0,92v41,10,89,-4,89,-48","w":198,"k":{"u":5,"t":-2,"s":8,"r":6,"o":9,"n":6,"l":2,"i":2,"h":2,"e":9,"a":9,"A":34,";":4,".":51,",":52}},"Q":{"d":"246,-124v0,59,-30,99,-72,117v27,7,51,12,73,16r-10,27v-38,-8,-75,-22,-112,-32v-65,-2,-112,-53,-112,-122v0,-72,47,-129,118,-129v68,0,115,54,115,123xm130,-220v-51,0,-81,47,-81,100v0,51,31,97,80,97v50,1,81,-46,81,-99v0,-51,-31,-99,-80,-98","w":258,"k":{"Y":12,"X":9,"T":9,"A":4}},"R":{"d":"183,-178v-1,31,-19,53,-46,61v34,1,46,108,55,117r-35,0v-6,-5,-16,-84,-33,-94v-13,-13,-38,-10,-63,-10r0,104r-33,0r0,-239v65,-14,158,-9,155,61xm150,-175v0,-43,-50,-50,-89,-41r0,86v46,3,89,-3,89,-45","w":200,"k":{"y":-5,"t":-7,"i":-4,"h":-4,"a":-4,"Y":4,"X":-2,"W":-9,"V":-6,"T":-3,"A":-2}},"S":{"d":"168,-67v0,71,-97,87,-153,55r9,-28v35,23,110,26,110,-24v0,-65,-113,-41,-113,-116v0,-62,87,-83,137,-54r-9,27v-30,-19,-95,-18,-95,23v0,61,114,41,114,117","w":184,"k":{"y":3,"w":3,"v":4,"q":-2,"j":2,"e":-2}},"T":{"d":"76,0r0,-215r-76,0r0,-28r187,0r0,28r-77,0r0,215r-34,0","w":186,"k":{"}":-25,"z":14,"y":15,"w":14,"u":16,"s":19,"r":16,"o":24,"m":16,"i":-2,"h":3,"e":24,"a":22,"]":-29,"Y":-14,"X":-8,"W":-15,"V":-17,"T":-14,"S":2,"Q":10,"O":10,"G":10,"C":10,"A":28,";":12,":":10,".":22,",":23,")":-25}},"U":{"d":"118,4v-61,0,-90,-40,-90,-106r0,-141r33,0v7,85,-28,220,59,220v90,0,54,-135,61,-220r33,0r0,140v1,67,-34,107,-96,107","w":241,"k":{"z":2,"x":3,"t":-2,"s":3,"f":-3,"A":13}},"V":{"d":"121,0r-38,0r-82,-243r36,0r67,210v16,-62,49,-146,71,-210r35,0","w":208,"k":{"}":-23,"y":1,"u":7,"r":7,"o":14,"i":-5,"e":14,"a":13,"]":-27,"S":-2,"A":27,";":10,":":8,".":24,",":25,")":-23}},"W":{"d":"104,0r-36,0r-63,-243r36,0r48,206v10,-55,37,-146,52,-206r36,0r48,205v11,-62,36,-142,52,-205r34,0r-71,243r-35,0r-31,-126v-10,-37,-12,-65,-17,-79v-9,56,-37,146,-53,205","w":313,"k":{"}":-23,"u":6,"t":-4,"r":6,"o":13,"m":6,"e":13,"d":12,"a":12,"]":-27,"T":-13,"A":21,";":8,":":6,".":20,",":22,")":-23}},"X":{"d":"205,0r-39,0v-39,-65,-59,-99,-61,-101r-57,101r-39,0r77,-123r-74,-120r39,0v34,60,53,92,56,98v1,-2,20,-35,57,-98r39,0r-76,119","w":214,"k":{"y":7,"u":3,"i":2,"e":4,"a":2,"X":3,"W":-3,"V":-3,"T":-3,"Q":13,"O":13,"G":13,"C":13}},"Y":{"d":"118,0r-34,0r0,-103r-79,-140r38,0r60,117v4,-9,24,-49,61,-117r38,0r-84,140r0,103","w":202,"k":{"}":-23,"v":11,"u":20,"t":8,"q":27,"o":27,"l":4,"i":5,"e":27,"d":27,"a":26,"]":-27,"Y":-9,"X":-3,"W":-10,"V":-12,"T":-17,"S":5,"Q":14,"O":14,"G":14,"C":14,"A":36,";":14,":":12,".":35,",":36,")":-24}},"Z":{"d":"11,0r0,-19r139,-196r-127,0r0,-28r171,0r0,20r-138,195r140,0r0,28r-185,0","w":208,"k":{"y":4,"w":5,"u":3,"o":4,"e":3,"Q":8,"O":8,"G":8,"C":8}},"[":{"d":"97,40r-67,0r0,-287r67,0r0,21r-42,0r0,246r42,0r0,20","w":104,"k":{"Y":-22,"W":-25,"V":-25,"T":-29,"J":-9}},"\\":{"d":"127,14r-25,0r-101,-261r26,0","w":127},"]":{"d":"7,-247r68,0r0,287r-68,0r0,-20r42,0r0,-246r-42,0r0,-21","w":104},"^":{"d":"193,-68r-26,0r-60,-139r-60,139r-26,0r74,-166r24,0","w":214},"_":{"d":"0,27r180,0r0,18r-180,0r0,-18","w":180},"`":{"d":"7,-248r36,0r32,52r-24,0","w":108},"a":{"d":"26,-162v50,-32,128,-18,128,57v0,34,-2,77,3,105r-30,0r-4,-22v-25,42,-112,31,-110,-24v2,-51,49,-65,108,-65v5,-50,-58,-51,-88,-29xm77,-21v34,0,51,-27,45,-67v-44,0,-75,5,-75,38v0,18,12,29,30,29","w":179,"k":{"y":4,"w":3,"v":5}},"b":{"d":"199,-90v9,82,-100,129,-143,61r-1,29r-29,0r1,-256r34,0r0,110v38,-64,148,-24,138,56xm112,-152v-38,1,-52,34,-52,81v0,25,24,48,51,48v36,0,54,-28,54,-65v0,-36,-20,-65,-53,-64","w":212,"k":{"y":3,"v":3,".":11,",":13}},"c":{"d":"48,-87v0,55,55,79,102,55r6,26v-65,29,-142,-7,-142,-79v0,-73,77,-113,143,-83r-8,25v-45,-25,-101,3,-101,56","w":167,"k":{"y":-6,"t":-5,"o":2,"e":2,"d":2,".":3,",":5}},"d":{"d":"14,-84v0,-79,92,-126,136,-68r0,-104r34,0r1,256r-30,0r-2,-31v-11,21,-32,35,-62,35v-45,1,-77,-40,-77,-88xm101,-23v37,-1,49,-34,49,-80v0,-28,-23,-49,-48,-49v-34,-1,-55,29,-54,66v1,34,18,64,53,63","w":210,"k":{".":8,",":9}},"e":{"d":"99,-178v52,0,82,46,73,98r-126,0v-3,57,66,69,112,49r5,23v-65,31,-149,2,-149,-76v0,-52,33,-94,85,-94xm141,-104v6,-45,-49,-65,-78,-37v-9,9,-15,22,-17,37r95,0","w":186,"k":{".":5,",":7}},"f":{"d":"30,-174v-6,-61,35,-100,92,-81r-4,26v-35,-14,-60,8,-55,55r43,0r0,25r-43,0r0,149r-33,0r0,-149r-25,0r0,-25r25,0","w":109,"k":{"}":-39,"t":-4,"s":4,"o":5,"g":5,"e":5,"d":5,"c":5,"]":-39,";":-10,":":-11,".":12,",":14,")":-39,"'":-15,"\"":-15}},"g":{"d":"14,-86v-9,-78,97,-126,138,-62r2,-26r29,0r-1,148v12,96,-87,122,-153,86r8,-25v49,32,130,11,111,-66v-39,62,-143,19,-134,-55xm100,-26v36,-1,48,-33,48,-78v0,-26,-20,-49,-47,-48v-33,0,-53,29,-53,65v0,34,20,61,52,61","w":208,"k":{"p":2,"f":-2,".":8,",":9}},"h":{"d":"106,-150v-23,-1,-46,21,-46,46r0,104r-33,0r0,-256r33,0r1,109v30,-53,120,-34,120,45r0,102r-33,0v-5,-59,20,-150,-42,-150","w":206,"k":{"y":5,"v":7}},"i":{"d":"60,0r-33,0r0,-174r33,0r0,174xm44,-248v12,0,21,9,21,21v0,12,-9,21,-21,21v-12,0,-22,-9,-22,-21v0,-12,10,-21,22,-21","w":87},"j":{"d":"-17,50v45,-3,49,-27,48,-79r0,-145r34,0v-9,98,37,252,-78,250xm48,-248v12,0,21,8,21,21v0,13,-9,21,-21,21v-12,0,-21,-9,-21,-21v0,-12,9,-21,21,-21","w":91,"k":{".":3,",":5}},"k":{"d":"60,-256r1,161r68,-79r41,0r-70,71r80,103r-41,0r-62,-83r-17,18r0,65r-33,0r0,-256r33,0","w":175,"k":{"y":-7,"w":-5,"r":-6,"p":-7,"n":-7,"m":-7,"l":-7,"i":-7,"h":-7,"e":-3,"b":-7,"a":-6}},"l":{"d":"27,0r0,-256r33,0r0,256r-33,0","w":87},"m":{"d":"102,-151v-22,-1,-42,24,-42,47r0,104r-33,0r-1,-174r29,0r2,28v20,-44,95,-42,108,3v32,-61,119,-39,119,42r0,101r-32,0v-5,-58,19,-151,-39,-151v-60,0,-37,92,-41,151r-33,0v-5,-57,20,-148,-37,-151","w":309,"k":{"y":5,"v":7}},"n":{"d":"106,-150v-24,-1,-47,21,-46,46r0,104r-33,0r-1,-174r29,0r3,29v28,-55,123,-37,123,43r0,102r-33,0v-5,-59,20,-150,-42,-150","w":206,"k":{"y":5,"v":7}},"o":{"d":"104,-178v51,0,88,39,88,89v-1,56,-35,92,-90,93v-50,1,-88,-38,-88,-90v0,-54,38,-92,90,-92xm103,-153v-34,0,-55,31,-55,66v0,36,22,66,54,66v34,0,55,-31,55,-67v0,-33,-20,-65,-54,-65","w":205,"k":{"z":5,"y":3,"x":5,"w":3,"v":3,".":9,",":10}},"p":{"d":"199,-90v10,81,-95,125,-139,66r0,95r-33,0r-1,-245r29,0v2,9,0,22,3,30v39,-66,150,-27,141,54xm112,-152v-39,2,-52,35,-52,80v0,27,24,51,51,50v35,0,54,-30,54,-67v0,-34,-20,-64,-53,-63","w":212,"k":{"z":3,"y":2,".":9,",":10}},"q":{"d":"14,-84v-11,-82,96,-127,138,-64r1,-26r32,0r-1,245r-34,0r0,-99v-38,64,-145,22,-136,-56xm100,-23v40,-1,50,-34,50,-80v0,-27,-22,-49,-48,-49v-34,0,-54,28,-54,66v0,35,18,64,52,63","w":210,"k":{".":8,",":4}},"r":{"d":"116,-146v-69,-11,-56,79,-56,146r-33,0r-1,-174r29,0r2,35v8,-22,29,-43,59,-38r0,31","w":122,"k":{"z":-3,"y":-9,"x":-6,"w":-9,"v":-9,"t":-9,"q":4,"o":2,"h":-2,"g":3,"f":-11,"e":2,"d":2,"c":2,"a":2,";":-4,":":-6,".":19,",":21}},"s":{"d":"133,-49v0,53,-76,65,-118,41r8,-26v29,26,99,10,70,-30v-22,-15,-81,-30,-73,-62v-3,-49,69,-65,107,-41r-9,24v-21,-15,-64,-18,-66,13v9,39,81,28,81,81","w":147,"k":{".":3,",":5}},"t":{"d":"67,-58v-4,31,18,38,43,32r2,25v-41,14,-78,-1,-78,-55r0,-93r-28,0r0,-25r28,0r0,-33r33,-9r0,42r46,0r0,25r-46,0r0,91","w":123,"k":{"y":-3,"o":2,"g":2,"e":2,"d":2,"c":2,",":3}},"u":{"d":"59,-79v-9,76,86,65,86,10r0,-105r34,0r1,174r-30,0r-2,-30v-31,59,-122,37,-122,-43r0,-101r33,0r0,95","w":205,"k":{".":3,",":5}},"v":{"d":"5,-174r36,0r50,141r50,-141r36,0r-71,174r-33,0","w":180,"k":{"y":-4,"w":-3,"s":3,"q":4,"o":4,"e":4,"d":4,"c":4,"a":5,";":-9,":":-12,".":15,",":18}},"w":{"d":"6,-174r35,0r37,143v1,-9,17,-57,45,-143r28,0r44,143v10,-50,26,-96,39,-143r33,0r-57,174r-31,0r-43,-139v-11,47,-30,94,-45,139r-31,0","w":272,"k":{"y":-4,"v":-3,"q":3,"o":3,"e":3,"d":3,"c":3,"a":1,";":-9,":":-12,".":14,",":16}},"x":{"d":"5,-174r38,0v28,41,43,63,44,65v6,-10,20,-32,43,-65r37,0r-61,84r63,90r-38,0v-24,-34,-40,-57,-47,-69v-3,6,-17,29,-44,69r-37,0r64,-89","w":173,"k":{"y":-5,"w":-5,"v":-3,"t":-5,"s":2,"q":6,"o":6,"e":6,"d":6,"c":6}},"y":{"d":"14,51v27,-8,67,-39,56,-65r-67,-160r37,0r51,137r47,-137r36,0r-49,124v-31,73,-40,107,-103,130","w":176,"k":{"w":-3,"v":-5,"q":4,"o":4,"g":4,"e":4,"d":4,"c":4,";":-9,":":-11,".":18,",":20}},"z":{"d":"7,0r0,-19r104,-129r-97,0r0,-26r138,0r0,20r-103,127r105,0r0,27r-147,0","w":159,"k":{"y":-9,"o":3,"e":3,"d":3,"c":3}},"{":{"d":"95,40v-69,8,-55,-54,-55,-107v0,-18,-10,-27,-30,-27r0,-19v46,3,25,-53,24,-86v-1,-35,25,-50,61,-48r0,21v-74,-7,5,108,-56,122v61,8,-20,125,56,124r0,20","w":104,"k":{"Y":-18,"W":-21,"V":-21,"T":-25,"J":-9}},"|":{"d":"32,-270r25,0r0,360r-25,0r0,-360","w":88},"}":{"d":"71,-199v0,33,-22,89,23,86r0,19v-45,-1,-23,53,-23,85v1,36,-22,51,-62,49r0,-20v74,7,-5,-111,57,-124v-63,-8,21,-125,-57,-122r0,-21v37,-2,62,14,62,48","w":104},"~":{"d":"156,-73v-28,1,-77,-33,-96,-32v-14,0,-20,10,-21,30r-23,0v0,-33,15,-55,44,-56v29,-1,74,32,96,32v13,0,20,-11,20,-31r22,0v1,36,-11,55,-42,57","w":214},"\u00ae":{"d":"92,-84v-42,0,-80,-37,-80,-81v0,-43,38,-81,80,-81v42,0,80,38,80,81v0,44,-38,81,-80,81xm93,-96v34,0,64,-33,64,-69v0,-37,-30,-68,-65,-68v-35,0,-64,32,-64,68v0,37,30,69,65,69xm128,-118v-38,9,-5,-49,-51,-39r0,39r-15,0r0,-90v28,-6,65,-3,63,23v0,11,-6,19,-18,23v15,-1,16,37,21,44xm77,-198r0,30v17,1,34,-2,32,-15v1,-14,-17,-18,-32,-15","w":183},"\u00a9":{"d":"122,-11v-60,0,-109,-52,-109,-111v0,-59,49,-111,109,-111v60,0,109,52,109,111v0,59,-49,111,-109,111xm123,-26v50,0,90,-44,90,-96v0,-52,-40,-96,-90,-96v-51,0,-91,45,-91,97v0,52,41,95,91,95xm62,-120v0,-54,65,-84,109,-57r-5,14v-36,-20,-85,-3,-85,42v0,45,53,63,87,40r4,14v-43,29,-110,4,-110,-53","w":243},"\u2122":{"d":"5,-243r113,0r0,20r-45,0r0,124r-23,0r0,-124r-45,0r0,-20xm282,-99r-23,0r-7,-125r-42,122r-18,0r-41,-122r-6,125r-22,0r11,-144r31,0r38,113v12,-52,24,-70,39,-113r29,0","w":296},"-":{"d":"11,-110r90,0r0,25r-90,0r0,-25","w":111},"\u00a0":{"w":78}}});
/*!
 * The following copyright notice may not be removed under any circumstances.
 * 
 * Copyright:
 * Copyright (c) 1992, 1994 Adobe Systems Incorporated.  All Rights
 * Reserved.Myriad is a trademark of Adobe Systems Incorporated may be registered
 * in certain jurisdictions.
 */
Cufon.registerFont({"w":199,"face":{"font-family":"myriad-pro","font-weight":700,"font-stretch":"normal","units-per-em":"360","panose-1":"2 0 8 3 0 0 0 0 0 0","ascent":"288","descent":"-72","x-height":"4","bbox":"-14 -270 315 90","underline-thickness":"18","underline-position":"-36","stemh":"40","stemv":"55","unicode-range":"U+0020-U+2122"},"glyphs":{" ":{"w":72},"!":{"d":"69,-80r-41,0r-8,-163r57,0xm48,4v-19,0,-32,-14,-32,-33v0,-19,13,-33,32,-33v19,0,32,14,32,33v0,19,-13,33,-32,33","w":96},"\"":{"d":"13,-249r48,0r-8,97r-32,0xm82,-249r48,0r-8,97r-32,0","w":142},"#":{"d":"80,-98r33,0r6,-40r-33,0xm66,0r-33,0r10,-64r-30,0r0,-34r35,0r6,-40r-30,0r0,-33r35,0r9,-63r32,0r-9,63r33,0r9,-63r32,0r-9,63r29,0r0,33r-34,0r-6,40r30,0r0,34r-35,0r-9,64r-33,0r10,-64r-33,0","w":198},"$":{"d":"116,31r-35,0r0,-34v-24,-1,-47,-7,-61,-15r11,-42v20,14,94,28,94,-7v0,-14,-10,-25,-38,-31v-80,-17,-88,-116,-4,-130r0,-34r35,0r0,31v24,1,41,6,53,12r-11,41v-8,-11,-83,-24,-83,8v0,12,11,21,43,30v83,23,79,120,-4,134r0,37"},"%":{"d":"10,-165v0,-42,25,-73,66,-73v40,0,62,30,62,70v0,49,-31,74,-65,74v-36,0,-63,-27,-63,-71xm98,-166v0,-24,-6,-43,-24,-42v-16,0,-23,18,-23,42v0,24,8,43,24,43v15,0,23,-16,23,-43xm244,-141v40,0,63,29,63,69v0,49,-31,75,-65,75v-35,0,-63,-27,-63,-71v0,-42,25,-73,65,-73xm243,-111v-16,0,-23,18,-23,42v0,24,8,42,23,42v15,0,23,-15,23,-42v0,-24,-6,-42,-23,-42xm105,4r-29,0r135,-242r29,0","w":316},"&":{"d":"242,0r-64,0v-5,-5,-10,-11,-16,-17v-16,12,-37,21,-66,21v-105,0,-105,-107,-39,-140v-35,-42,-17,-111,55,-111v37,0,65,22,65,57v0,25,-16,45,-47,64v14,15,28,33,40,45v10,-15,17,-37,20,-59r49,0v-6,37,-18,68,-40,92xm82,-107v-30,16,-23,71,22,71v14,0,26,-5,33,-12v-15,-15,-35,-37,-55,-59xm110,-212v-32,0,-25,42,-5,59v18,-12,26,-21,26,-35v0,-12,-7,-24,-21,-24","w":244},"(":{"d":"63,-249r38,0v-47,59,-48,232,0,291r-38,0v-19,-28,-41,-76,-41,-145v0,-70,22,-118,41,-146","w":113},")":{"d":"51,42r-38,0v46,-58,47,-233,0,-291r38,0v19,28,41,76,41,146v0,70,-22,117,-41,145","w":113},"*":{"d":"103,-247r31,18r-39,47r58,-11r0,36v-19,-2,-41,-9,-58,-9r39,45r-32,18r-21,-55r-21,55r-31,-18v11,-15,30,-31,38,-46r-56,10r0,-36v18,2,40,10,56,10r-38,-45r32,-19v8,18,12,39,21,56","w":163},"+":{"d":"90,-192r35,0r0,79r75,0r0,33r-75,0r0,80r-35,0r0,-80r-76,0r0,-33r76,0r0,-79","w":214},",":{"d":"37,40r-37,3v12,-32,22,-69,27,-102r55,-4v-12,37,-28,75,-45,103","w":93},"-":{"d":"11,-113r94,0r0,37r-94,0r0,-37","w":115},".":{"d":"50,4v-18,0,-32,-14,-32,-33v0,-20,13,-34,32,-34v19,0,32,14,32,34v0,19,-13,33,-32,33","w":93},"\/":{"d":"42,14r-36,0r77,-261r36,0","w":119},"0":{"d":"188,-118v0,72,-29,122,-89,122v-60,0,-87,-55,-87,-121v0,-68,29,-121,89,-121v62,0,87,56,87,120xm100,-37v21,0,33,-27,33,-80v0,-52,-11,-80,-33,-80v-21,0,-34,27,-34,80v0,54,13,80,34,80"},"1":{"d":"85,0r-1,-185r-44,21r-9,-41r62,-29r45,0r0,234r-53,0"},"2":{"d":"181,0r-166,0r0,-33v38,-35,115,-99,107,-127v4,-44,-69,-38,-88,-15r-16,-39v17,-13,46,-24,77,-24v53,0,82,31,82,73v0,48,-50,88,-84,120r88,0r0,45"},"3":{"d":"14,-12r11,-42v19,16,100,25,97,-16v-2,-30,-35,-36,-69,-34r0,-39v29,1,60,0,63,-27v3,-34,-69,-26,-84,-11r-11,-39v14,-9,42,-18,73,-18v87,0,103,90,34,113v28,5,51,27,51,58v0,41,-37,71,-96,71v-30,0,-55,-8,-69,-16"},"4":{"d":"164,0r-52,0r0,-56r-104,0r0,-35r88,-143r68,0r0,137r28,0r0,41r-28,0r0,56xm59,-98v15,3,36,0,53,1r0,-95v-16,33,-34,64,-53,94"},"5":{"d":"76,-153v56,-6,106,18,105,75v0,44,-38,82,-101,82v-28,0,-52,-6,-65,-13r10,-41v26,14,101,21,100,-25v8,-33,-56,-44,-98,-37r15,-122r129,0r0,45r-90,0"},"6":{"d":"165,-237r0,42v-53,-3,-98,25,-97,56v43,-38,122,-14,122,58v0,46,-36,85,-86,85v-113,0,-113,-155,-51,-207v28,-24,65,-36,112,-34xm100,-118v-20,1,-35,12,-35,34v0,25,13,48,38,48v19,0,32,-18,32,-42v0,-22,-12,-40,-35,-40"},"7":{"d":"18,-234r165,0r0,34r-97,200r-58,0r97,-189r-107,0r0,-45"},"8":{"d":"102,-238v88,4,98,79,43,113v75,28,43,129,-47,129v-97,0,-112,-95,-45,-124v-65,-34,-28,-121,49,-118xm96,-102v-38,7,-37,68,5,68v51,-6,34,-62,-5,-68xm100,-201v-19,0,-28,13,-28,27v0,16,14,26,33,32v30,-6,35,-59,-5,-59"},"9":{"d":"32,3r0,-43v49,6,96,-19,99,-58v-40,37,-120,10,-120,-56v0,-46,37,-84,88,-84v109,0,106,160,48,208v-28,24,-66,36,-115,33xm98,-120v21,0,34,-8,34,-29v0,-25,-9,-50,-35,-49v-18,0,-32,17,-32,41v0,20,11,37,33,37"},":":{"d":"50,-112v-19,0,-32,-14,-32,-33v0,-19,13,-33,32,-33v19,0,32,13,32,33v0,19,-13,33,-32,33xm50,4v-19,0,-32,-14,-32,-33v0,-19,13,-33,32,-33v19,0,32,13,32,33v0,19,-13,33,-32,33","w":93},";":{"d":"37,40r-36,3v12,-32,21,-69,26,-102r55,-4v-12,37,-28,75,-45,103xm52,-112v-19,0,-32,-14,-32,-33v0,-19,13,-33,32,-33v19,0,32,13,32,33v0,19,-13,33,-32,33","w":93},"<":{"d":"21,-80r0,-31r173,-80r0,38r-131,58r131,57r0,38","w":214},"=":{"d":"200,-117r-186,0r0,-33r186,0r0,33xm200,-42r-186,0r0,-34r186,0r0,34","w":214},">":{"d":"194,-112r0,33r-173,79r0,-38r133,-58r-133,-57r0,-38","w":214},"?":{"d":"147,-191v1,50,-54,61,-49,112r-48,0v-13,-38,38,-72,41,-103v2,-27,-44,-24,-61,-11r-12,-39v13,-8,34,-15,60,-15v47,0,69,26,69,56xm105,-29v0,19,-13,33,-33,33v-19,0,-32,-14,-32,-33v0,-19,13,-33,32,-33v19,0,33,14,33,33","w":160},"@":{"d":"129,-86v26,0,32,-44,36,-72v-32,-7,-53,18,-54,50v0,14,6,22,18,22xm190,-30r6,21v-82,36,-179,-3,-178,-100v0,-73,54,-138,135,-138v64,0,109,44,109,104v0,53,-30,86,-69,86v-17,0,-29,-8,-31,-27v-22,39,-87,38,-87,-20v0,-60,68,-104,127,-75r-11,67v-3,21,-1,31,9,31v15,1,35,-18,35,-60v0,-47,-30,-84,-86,-84v-55,0,-103,43,-103,112v0,81,78,115,144,83","w":277},"A":{"d":"150,-62r-70,0r-17,62r-57,0r74,-243r72,0r76,243r-60,0xm88,-103r53,0r-28,-99v-6,34,-16,68,-25,99","w":236},"B":{"d":"204,-71v0,60,-45,73,-121,74v-27,0,-47,-2,-59,-4r0,-238v14,-3,43,-5,71,-5v58,-1,100,13,100,61v0,21,-12,42,-39,52v28,7,48,29,48,60xm78,-203r0,56v32,2,65,-5,62,-29v5,-26,-36,-31,-62,-27xm78,-107r0,68v31,4,68,-1,68,-34v0,-30,-33,-36,-68,-34","w":217},"C":{"d":"194,-50r8,44v-10,5,-33,10,-62,10v-84,0,-127,-53,-127,-122v0,-106,104,-151,192,-118r-12,43v-54,-23,-123,-2,-123,72v0,67,65,94,124,71","w":214},"D":{"d":"238,-127v5,116,-104,141,-214,126r0,-238v20,-4,47,-5,74,-5v91,-1,136,34,140,117xm78,-200r0,159v62,7,102,-19,102,-84v0,-61,-44,-85,-102,-75","w":250},"E":{"d":"168,-147r0,44r-89,0r0,58r100,0r0,45r-155,0r0,-243r150,0r0,45r-95,0r0,51r89,0","w":192},"F":{"d":"24,0r0,-243r148,0r0,45r-93,0r0,56r87,0r0,44r-87,0r0,98r-55,0","w":189},"G":{"d":"145,3v-83,1,-128,-44,-132,-121v-6,-107,115,-149,206,-116r-12,45v-53,-25,-137,-9,-137,68v0,60,47,89,104,76r0,-51r-38,0r0,-43r90,0r0,128v-17,6,-49,14,-81,14","w":245},"H":{"d":"24,-243r55,0r0,94r90,0r0,-94r55,0r0,243r-55,0r0,-101r-90,0r0,101r-55,0r0,-243","w":248},"I":{"d":"24,-243r55,0r0,243r-55,0r0,-243","w":102},"J":{"d":"71,-90r0,-153r55,0r0,154v2,86,-58,104,-126,87r6,-44v34,9,65,7,65,-44","w":147},"K":{"d":"24,0r0,-243r54,0r1,108r71,-108r68,0r-80,104r84,139r-64,0r-59,-105r-21,26r0,79r-54,0","w":221},"L":{"d":"24,0r0,-243r55,0r0,197r96,0r0,46r-151,0","w":183},"M":{"d":"233,0r-7,-193r-57,189r-43,0r-26,-94v-8,-29,-16,-63,-22,-95r-9,193r-51,0r16,-243r73,0r24,82v10,27,12,62,22,86v13,-58,31,-114,48,-168r72,0r13,243r-53,0","w":304},"N":{"d":"74,0r-50,0r0,-243r64,0r50,89v15,25,28,58,41,83v-6,-52,-5,-113,-5,-172r51,0r0,243r-58,0r-52,-94v-15,-25,-29,-59,-43,-85","w":248},"O":{"d":"127,4v-72,0,-114,-55,-114,-124v0,-73,47,-127,118,-127v75,0,115,56,115,123v0,80,-48,128,-119,128xm129,-40v37,0,59,-34,59,-82v0,-44,-21,-81,-59,-81v-38,0,-59,37,-59,82v0,46,22,81,59,81","w":258},"P":{"d":"198,-169v2,64,-54,89,-120,82r0,87r-54,0r0,-239v17,-3,41,-5,74,-5v62,-1,98,21,100,75xm78,-201r0,72v33,6,68,-8,66,-38v4,-30,-36,-41,-66,-34","w":209},"Q":{"d":"231,42v-41,-10,-70,-32,-112,-38v-54,-8,-106,-44,-106,-123v0,-73,45,-128,118,-128v74,0,115,57,115,123v0,57,-28,92,-57,110v18,5,39,9,58,13xm71,-121v0,46,21,81,59,81v37,0,58,-34,58,-82v0,-44,-21,-81,-58,-81v-37,0,-59,36,-59,82","w":258},"R":{"d":"97,-244v61,-1,99,17,101,70v1,32,-24,50,-43,60v35,8,40,92,52,114r-56,0v-4,-7,-10,-27,-17,-57v-8,-38,-21,-39,-56,-38r0,95r-54,0r0,-239v18,-3,43,-5,73,-5xm78,-202r0,67v35,3,65,-6,65,-35v0,-31,-37,-36,-65,-32","w":213},"S":{"d":"14,-11r12,-45v21,16,99,27,99,-12v0,-15,-12,-24,-41,-34v-40,-14,-67,-36,-67,-72v0,-41,35,-73,92,-73v28,0,48,6,62,13r-12,44v-12,-12,-86,-21,-86,11v0,15,12,25,45,35v95,30,82,151,-35,148v-28,0,-55,-7,-69,-15","w":194},"T":{"d":"71,0r0,-197r-66,0r0,-46r187,0r0,46r-66,0r0,197r-55,0","w":197},"U":{"d":"24,-243r54,0v6,70,-25,203,44,203v70,0,38,-133,45,-203r55,0r0,136v0,75,-38,111,-101,111v-61,0,-97,-34,-97,-111r0,-136","w":245},"V":{"d":"145,0r-64,0r-78,-243r60,0r30,103v10,28,12,61,23,87v14,-66,35,-127,52,-190r59,0","w":228},"W":{"d":"123,0r-60,0r-58,-243r59,0r34,185v9,-61,24,-126,36,-185r58,0r33,184r34,-184r56,0r-63,243r-59,0r-21,-104v-6,-23,-6,-50,-12,-75v-9,64,-25,119,-37,179","w":319},"X":{"d":"215,0r-63,0r-45,-87v-10,27,-27,59,-39,87r-62,0r70,-123r-68,-120r63,0r41,85v11,-31,24,-57,37,-85r62,0r-68,119","w":220},"Y":{"d":"135,0r-55,0r0,-99r-77,-144r63,0r44,105r43,-105r62,0r-80,142r0,101","w":217},"Z":{"d":"9,0r0,-30r115,-167r-105,0r0,-46r176,0r0,32r-113,166r115,0r0,45r-188,0","w":207},"[":{"d":"98,40r-74,0r0,-287r74,0r0,31r-34,0r0,226r34,0r0,30","w":113},"\\":{"d":"117,14r-36,0r-77,-261r37,0","w":123},"]":{"d":"15,-247r74,0r0,287r-74,0r0,-30r34,0r0,-226r-34,0r0,-31","w":113},"^":{"d":"199,-64r-39,0r-53,-128r-53,128r-39,0r76,-170r33,0","w":214},"_":{"d":"0,27r180,0r0,18r-180,0r0,-18","w":180},"a":{"d":"91,-180v104,-1,69,96,80,180r-49,0v-2,-6,-1,-14,-4,-18v-28,40,-108,20,-108,-32v0,-46,42,-67,104,-67v4,-35,-62,-26,-81,-12r-10,-35v12,-7,36,-16,68,-16xm64,-55v0,35,52,19,52,-9r0,-19v-29,0,-52,7,-52,28","w":190},"b":{"d":"21,0r1,-256r55,0r0,101v40,-51,126,-19,126,64v0,63,-40,95,-80,95v-22,1,-40,-9,-54,-28r-2,24r-46,0xm148,-89v0,-54,-68,-68,-71,-12v-2,34,4,61,33,62v23,0,38,-18,38,-50","w":215},"c":{"d":"148,-45r6,41v-64,24,-150,-8,-142,-82v-6,-64,69,-113,142,-87r-8,41v-32,-15,-78,0,-78,43v0,45,45,59,80,44","w":162},"d":{"d":"138,-256r55,0r1,256r-49,0v-2,-8,0,-20,-3,-26v-39,59,-130,24,-130,-60v0,-82,80,-120,126,-74r0,-96xm67,-88v0,58,71,64,71,10v0,-33,-4,-60,-33,-60v-25,0,-38,22,-38,50","w":214},"e":{"d":"177,-71r-113,0v3,40,65,39,98,26r8,37v-68,30,-158,3,-158,-78v0,-45,28,-94,89,-94v65,0,84,53,76,109xm64,-108r65,0v0,-13,-6,-36,-31,-36v-23,0,-33,22,-34,36","w":190},"f":{"d":"28,-176v-5,-57,42,-98,100,-80r-2,42v-27,-8,-48,6,-43,38r35,0r0,40r-35,0r0,136r-55,0r0,-136r-23,0r0,-40r23,0","w":122},"g":{"d":"189,-26v11,91,-86,123,-162,88r11,-42v32,22,111,20,96,-44v-41,51,-122,10,-122,-63v0,-82,87,-121,129,-68r2,-21r47,0xm67,-89v0,52,67,65,67,11v0,-32,-3,-61,-31,-61v-20,0,-36,18,-36,50","w":210},"h":{"d":"106,-136v-50,0,-22,88,-29,136r-55,0r0,-256r55,0r0,101v34,-44,112,-30,112,52r0,103r-55,0r0,-97v0,-23,-7,-39,-28,-39","w":210},"i":{"d":"77,0r-55,0r0,-176r55,0r0,176xm49,-199v-18,0,-30,-13,-30,-29v0,-17,12,-29,31,-29v19,0,30,12,30,29v0,16,-12,29,-31,29","w":98},"j":{"d":"-14,34v39,-5,42,-14,43,-69r0,-141r55,0v-6,107,35,259,-93,253xm56,-199v-18,0,-30,-13,-30,-29v0,-17,12,-29,31,-29v19,0,30,12,30,29v0,16,-12,29,-31,29","w":104},"k":{"d":"77,-256r0,154v15,-27,33,-49,49,-74r66,0r-63,71r72,105r-68,0r-43,-72r-13,17r0,55r-55,0r0,-256r55,0","w":195},"l":{"d":"22,0r0,-256r55,0r0,256r-55,0","w":98},"m":{"d":"103,-136v-50,0,-21,88,-28,136r-53,0r-1,-176r46,0v2,7,0,18,3,24v8,-12,23,-28,53,-28v23,0,41,12,49,30v32,-47,116,-42,116,46r0,104r-53,0r0,-95v7,-52,-53,-52,-53,-8r0,103r-53,0r0,-99v0,-22,-8,-37,-26,-37","w":309},"n":{"d":"107,-136v-51,0,-23,87,-30,136r-55,0r-1,-176r47,0v2,7,0,18,4,24v7,-12,24,-28,54,-28v36,0,63,24,63,76r0,104r-55,0r0,-98v0,-23,-7,-38,-27,-38","w":210},"o":{"d":"103,4v-51,0,-91,-34,-91,-91v0,-57,37,-93,94,-93v54,0,90,37,90,90v0,64,-46,94,-93,94xm104,-35v22,0,35,-21,35,-53v0,-26,-10,-53,-35,-53v-26,0,-36,27,-36,53v0,30,13,53,36,53","w":207},"p":{"d":"22,71r-1,-247r47,0r3,24v42,-55,132,-25,132,62v0,86,-81,119,-126,74r0,87r-55,0xm148,-88v0,-56,-67,-66,-71,-12v-2,33,4,62,33,62v24,0,38,-20,38,-50","w":215},"q":{"d":"138,71r-1,-93v-41,54,-125,19,-125,-64v0,-88,83,-120,128,-70r1,-20r53,0r-1,247r-55,0xm67,-88v0,57,69,65,71,12v2,-33,-3,-61,-33,-61v-25,0,-38,21,-38,49","w":214},"r":{"d":"130,-127v-29,-7,-53,7,-53,38r0,89r-55,0r-1,-176r47,0v2,10,0,24,3,33v12,-29,32,-40,59,-36r0,52","w":136},"s":{"d":"12,-9r10,-39v13,9,68,24,70,-1v0,-9,-5,-14,-25,-20v-81,-23,-59,-111,21,-111v21,0,38,5,49,10r-9,38v-11,-7,-57,-20,-59,4v0,9,6,15,28,21v75,21,60,111,-28,111v-23,0,-44,-6,-57,-13","w":156},"t":{"d":"121,-1v-46,14,-91,-2,-91,-62r0,-73r-24,0r0,-40r24,0r0,-33r53,-15r0,48r39,0r0,40r-39,0v4,39,-17,108,38,94r0,41","w":132},"u":{"d":"76,-81v-7,51,57,52,57,10r0,-105r55,0r1,176r-47,0v-2,-8,0,-19,-4,-25v-7,11,-23,29,-55,29v-36,0,-62,-23,-62,-77r0,-103r55,0r0,95","w":209},"v":{"d":"3,-176r60,0v13,40,19,88,35,125v7,-43,21,-84,32,-125r58,0r-66,176r-55,0","w":190},"w":{"d":"4,-176r56,0r25,130r31,-130r43,0r32,130v6,-45,16,-88,25,-130r54,0r-54,176r-51,0r-29,-117v-6,47,-18,77,-29,117r-52,0","w":273},"x":{"d":"3,-176r61,0v11,18,20,39,32,56r29,-56r60,0r-58,84r58,92r-62,0v-11,-19,-19,-41,-32,-58r-30,58r-60,0r60,-90","w":186},"y":{"d":"20,33v22,-5,58,-22,47,-48r-65,-161r61,0r36,119r30,-119r58,0v-41,93,-58,247,-156,255","w":188},"z":{"d":"8,0r0,-32r55,-69v10,-12,18,-21,28,-31r-77,0r0,-44r144,0r0,33r-53,67v-10,11,-19,22,-29,32r85,0r0,44r-153,0","w":168},"{":{"d":"34,-9v-2,-34,25,-76,-23,-81r0,-27v49,-4,21,-47,23,-81v2,-38,28,-52,68,-49r0,31v-63,-6,7,108,-56,113v37,2,31,51,27,87v-2,19,8,28,29,26r0,30v-40,2,-66,-8,-68,-49","w":113},"|":{"d":"32,-270r38,0r0,360r-38,0r0,-360","w":101},"}":{"d":"79,-198v2,34,-25,77,23,81r0,27v-48,5,-21,47,-23,81v-2,40,-28,51,-67,49r0,-30v62,5,-8,-109,55,-114v-37,-2,-30,-50,-27,-86v2,-18,-8,-28,-28,-26r0,-31v40,-2,65,11,67,49","w":113},"~":{"d":"151,-67v-25,0,-64,-30,-84,-32v-9,0,-16,7,-17,30r-35,0v0,-48,22,-67,51,-67v25,0,63,30,84,31v8,0,14,-7,15,-29r34,0v2,51,-21,67,-48,67","w":214},"'":{"d":"13,-249r48,0r-8,97r-32,0","w":73},"`":{"d":"1,-252r51,0r31,55r-38,0","w":108},"\u00ae":{"d":"11,-166v0,-45,36,-81,82,-81v45,0,80,36,80,81v0,45,-36,82,-81,82v-45,0,-81,-37,-81,-82xm92,-230v-34,0,-61,29,-61,65v0,36,27,65,61,65v34,0,62,-29,62,-65v0,-36,-28,-65,-62,-65xm109,-118v-5,-10,-1,-48,-31,-38r0,38r-19,0r0,-90v23,-4,68,-9,68,24v0,11,-8,18,-18,21v15,-3,16,39,20,45r-20,0xm78,-196r0,26v27,7,43,-25,11,-27v-5,0,-8,1,-11,1","w":183},"\u00a9":{"d":"12,-122v0,-61,48,-111,111,-111v61,0,109,50,109,111v0,62,-49,111,-110,111v-62,0,-110,-49,-110,-111xm122,-213v-48,0,-86,41,-86,91v0,51,38,91,86,91v48,0,87,-40,87,-91v0,-50,-39,-91,-87,-91xm171,-177r-6,19v-26,-16,-86,-6,-79,37v-3,42,51,56,81,36r5,18v-46,29,-111,3,-111,-53v0,-57,68,-82,110,-57","w":243},"\u2122":{"d":"6,-243r115,0r0,29r-41,0r0,114r-35,0r0,-114r-39,0r0,-29xm296,-100r-34,0r-5,-116v-10,41,-22,76,-34,114r-27,0r-31,-114r-4,116r-32,0r10,-143r47,0r27,97r29,-97r45,0","w":312},"\u00a0":{"w":72}}});

/* -------------------- */

/*
 *
 * jqTransform
 * by mathieu vilaplana mvilaplana@dfc-e.com
 * Designer ghyslain armand garmand@dfc-e.com
 *
 *
 * Version 1.0 25.09.08
 * Version 1.1 06.08.09
 * Add event click on Checkbox and Radio
 * Auto calculate the size of a select element
 * Can now, disabled the elements
 * Correct bug in ff if click on select (overflow=hidden)
 * No need any more preloading !!
 * 
 ******************************************** */
 
(function($){
	var defaultOptions = {preloadImg:true};
	var jqTransformImgPreloaded = false;

	var jqTransformPreloadHoverFocusImg = function(strImgUrl) {
		//guillemets to remove for ie
		strImgUrl = strImgUrl.replace(/^url\((.*)\)/,'$1').replace(/^\"(.*)\"$/,'$1');
		var imgHover = new Image();
		imgHover.src = strImgUrl.replace(/\.([a-zA-Z]*)$/,'-hover.$1');
		var imgFocus = new Image();
		imgFocus.src = strImgUrl.replace(/\.([a-zA-Z]*)$/,'-focus.$1');				
	};

	
	/***************************
	  Labels
	***************************/
	var jqTransformGetLabel = function(objfield){
		var selfForm = $(objfield.get(0).form);
		var oLabel = objfield.next();
		if(!oLabel.is('label')) {
			oLabel = objfield.prev();
			if(oLabel.is('label')){
				var inputname = objfield.attr('id');
				if(inputname){
					oLabel = selfForm.find('label[for="'+inputname+'"]');
				} 
			}
		}
		if(oLabel.is('label')){return oLabel.css('cursor','pointer');}
		return false;
	};
	
	/* Hide all open selects */
	var jqTransformHideSelect = function(oTarget){
		var ulVisible = $('.jqTransformSelectWrapper ul:visible');
		ulVisible.each(function(){
			var oSelect = $(this).parents(".jqTransformSelectWrapper:first").find("select").get(0);
			//do not hide if click on the label object associated to the select
			if( !(oTarget && oSelect.oLabel && oSelect.oLabel.get(0) == oTarget.get(0)) ){$(this).hide();}
		});
	};
	/* Check for an external click */
	var jqTransformCheckExternalClick = function(event) {
		if ($(event.target).parents('.jqTransformSelectWrapper').length === 0) { jqTransformHideSelect($(event.target)); }
	};

	/* Apply document listener */
	var jqTransformAddDocumentListener = function (){
		$(document).mousedown(jqTransformCheckExternalClick);
	};	
			
	/* Add a new handler for the reset action */
	var jqTransformReset = function(f){
		var sel;
		$('.jqTransformSelectWrapper select', f).each(function(){sel = (this.selectedIndex<0) ? 0 : this.selectedIndex; $('ul', $(this).parent()).each(function(){$('a:eq('+ sel +')', this).click();});});
		$('a.jqTransformCheckbox, a.jqTransformRadio', f).removeClass('jqTransformChecked');
		$('input:checkbox, input:radio', f).each(function(){if(this.checked){$('a', $(this).parent()).addClass('jqTransformChecked');}});
	};

	/***************************
	  Buttons
	 ***************************/
	$.fn.jqTransInputButton = function(){
		return this.each(function(){
			var newBtn = $('<button id="'+ this.id +'" name="'+ this.name +'" type="'+ this.type +'" class="'+ this.className +' jqTransformButton"><span><span>'+ $(this).attr('value') +'</span></span>')
				.hover(function(){newBtn.addClass('jqTransformButton_hover');},function(){newBtn.removeClass('jqTransformButton_hover')})
				.mousedown(function(){newBtn.addClass('jqTransformButton_click')})
				.mouseup(function(){newBtn.removeClass('jqTransformButton_click')})
			;
			$(this).replaceWith(newBtn);
		});
	};
	
	/***************************
	  Text Fields 
	 ***************************/
	$.fn.jqTransInputText = function(){
		return this.each(function(){
			var $input = $(this);
	
			if($input.hasClass('jqtranformdone') || !$input.is('input')) {return;}
			$input.addClass('jqtranformdone');
	
			var oLabel = jqTransformGetLabel($(this));
			oLabel && oLabel.bind('click',function(){$input.focus();});
	
			var inputSize=$input.width();
			if($input.attr('size')){
				inputSize = $input.attr('size')*10;
				$input.css('width',inputSize);
			}
			
			$input.addClass("jqTransformInput").wrap('<div class="jqTransformInputWrapper"><div class="jqTransformInputInner"><div></div></div></div>');
			var $wrapper = $input.parent().parent().parent();
			$wrapper.css("width", inputSize+10);
			$input
				.focus(function(){$wrapper.addClass("jqTransformInputWrapper_focus");})
				.blur(function(){$wrapper.removeClass("jqTransformInputWrapper_focus");})
				.hover(function(){$wrapper.addClass("jqTransformInputWrapper_hover");},function(){$wrapper.removeClass("jqTransformInputWrapper_hover");})
			;
	
			/* If this is safari we need to add an extra class */
			$.browser.safari && $wrapper.addClass('jqTransformSafari');
			$.browser.safari && $input.css('width',$wrapper.width()+16);
			this.wrapper = $wrapper;
			
		});
	};
	
	/***************************
	  Check Boxes 
	 ***************************/	
	$.fn.jqTransCheckBox = function(){
		return this.each(function(){
			if($(this).hasClass('jqTransformHidden')) {return;}

			var $input = $(this);
			var inputSelf = this;

			//set the click on the label
			var oLabel=jqTransformGetLabel($input);
			oLabel && oLabel.click(function(){aLink.trigger('click');});
			
			var aLink = $('<a href="#" class="jqTransformCheckbox"></a>');
			//wrap and add the link
			$input.addClass('jqTransformHidden').wrap('<span class="jqTransformCheckboxWrapper"></span>').parent().prepend(aLink);
			//on change, change the class of the link
			$input.change(function(){
				this.checked && aLink.addClass('jqTransformChecked') || aLink.removeClass('jqTransformChecked');
				return true;
			});
			// Click Handler, trigger the click and change event on the input
			aLink.click(function(){
				//do nothing if the original input is disabled
				if($input.attr('disabled')){return false;}
				//trigger the envents on the input object
				$input.trigger('click').trigger("change");	
				return false;
			});

			// set the default state
			this.checked && aLink.addClass('jqTransformChecked');		
		});
	};
	/***************************
	  Radio Buttons 
	 ***************************/	
	$.fn.jqTransRadio = function(){
		return this.each(function(){
			if($(this).hasClass('jqTransformHidden')) {return;}

			var $input = $(this);
			var inputSelf = this;
				
			oLabel = jqTransformGetLabel($input);
			oLabel && oLabel.click(function(){aLink.trigger('click');});
	
			var aLink = $('<a href="#" class="jqTransformRadio" rel="'+ this.name +'"></a>');
			$input.addClass('jqTransformHidden').wrap('<span class="jqTransformRadioWrapper"></span>').parent().prepend(aLink);
			
			$input.change(function(){
				inputSelf.checked && aLink.addClass('jqTransformChecked') || aLink.removeClass('jqTransformChecked');
				return true;
			});
			// Click Handler
			aLink.click(function(){
				if($input.attr('disabled')){return false;}
				$input.trigger('click').trigger('change');
	
				// uncheck all others of same name input radio elements
				$('input[name="'+$input.attr('name')+'"]',inputSelf.form).not($input).each(function(){
					$(this).attr('type')=='radio' && $(this).trigger('change');
				});
	
				return false;					
			});
			// set the default state
			inputSelf.checked && aLink.addClass('jqTransformChecked');
		});
	};
	
	/***************************
	  TextArea 
	 ***************************/	
	$.fn.jqTransTextarea = function(){
		return this.each(function(){
			var textarea = $(this);
	
			if(textarea.hasClass('jqtransformdone')) {return;}
			textarea.addClass('jqtransformdone');
	
			oLabel = jqTransformGetLabel(textarea);
			oLabel && oLabel.click(function(){textarea.focus();});
			
			var strTable = '<table cellspacing="0" cellpadding="0" border="0" class="jqTransformTextarea">';
			strTable +='<tr><td id="jqTransformTextarea-tl"></td><td id="jqTransformTextarea-tm"></td><td id="jqTransformTextarea-tr"></td></tr>';
			strTable +='<tr><td id="jqTransformTextarea-ml">&nbsp;</td><td id="jqTransformTextarea-mm"><div></div></td><td id="jqTransformTextarea-mr">&nbsp;</td></tr>';	
			strTable +='<tr><td id="jqTransformTextarea-bl"></td><td id="jqTransformTextarea-bm"></td><td id="jqTransformTextarea-br"></td></tr>';
			strTable +='</table>';					
			var oTable = $(strTable)
					.insertAfter(textarea)
					.hover(function(){
						!oTable.hasClass('jqTransformTextarea-focus') && oTable.addClass('jqTransformTextarea-hover');
					},function(){
						oTable.removeClass('jqTransformTextarea-hover');					
					})
				;
				
			textarea
				.focus(function(){oTable.removeClass('jqTransformTextarea-hover').addClass('jqTransformTextarea-focus');})
				.blur(function(){oTable.removeClass('jqTransformTextarea-focus');})
				.appendTo($('#jqTransformTextarea-mm div',oTable))
			;
			this.oTable = oTable;
			if($.browser.safari){
				$('#jqTransformTextarea-mm',oTable)
					.addClass('jqTransformSafariTextarea')
					.find('div')
						.css('height',textarea.height())
						.css('width',textarea.width())
				;
			}
		});
	};
	
	/***************************
	  Select 
	 ***************************/	
	$.fn.jqTransSelect = function(){
		return this.each(function(index){
			var $select = $(this);

			if($select.hasClass('jqTransformHidden')) {return;}
			if($select.attr('multiple')) {return;}

			var oLabel  =  jqTransformGetLabel($select);
			/* First thing we do is Wrap it */
			var $wrapper = $select
				.addClass('jqTransformHidden')
				.wrap('<div class="jqTransformSelectWrapper"></div>')
				.parent()
				.css({zIndex: 10-index})
			;
			
			/* Now add the html for the select */
			$wrapper.prepend('<div><span></span><a href="#" class="jqTransformSelectOpen"></a></div><ul></ul>');
			var $ul = $('ul', $wrapper).css('width',$select.width()).hide();
			/* Now we add the options */
			$('option', this).each(function(i){
				var optioncatclass = $(this).attr("class") != "undefined" ? $(this).attr("class"): "";
				var oLi = $('<li><a href="#" index="'+ i +'" class="'+ optioncatclass +'">'+ $(this).html() +'</a></li>');
				$ul.append(oLi);
			});
			
			/* Add click handler to the a */
			$ul.find('a').click(function(){
					$('a.selected', $wrapper).removeClass('selected');
					$(this).addClass('selected');	
					/* Fire the onchange event */
					if ($select[0].selectedIndex != $(this).attr('index') && $select[0].onchange) { $select[0].selectedIndex = $(this).attr('index'); $select[0].onchange(); }
					$select[0].selectedIndex = $(this).attr('index');
					$('span:eq(0)', $wrapper).html($(this).html());
					$ul.hide();
					return false;
			});
			/* Set the default */
			$('a:eq('+ this.selectedIndex +')', $ul).click();
			$('span:first', $wrapper).click(function(){$("a.jqTransformSelectOpen",$wrapper).trigger('click');});
			oLabel && oLabel.click(function(){$("a.jqTransformSelectOpen",$wrapper).trigger('click');});
			this.oLabel = oLabel;
			
			/* Apply the click handler to the Open */
			var oLinkOpen = $('a.jqTransformSelectOpen', $wrapper)
				.click(function(){
					//Check if box is already open to still allow toggle, but close all other selects
					if( $ul.css('display') == 'none' ) {jqTransformHideSelect();} 
					if($select.attr('disabled')){return false;}

					$ul.slideToggle('fast', function(){					
						var offSet = ($('a.selected', $ul).offset().top - $ul.offset().top);
						$ul.animate({scrollTop: offSet});
					});
					return false;
				})
			;

			// Set the new width
			var iSelectWidth = $select.outerWidth();
			var oSpan = $('span:first',$wrapper);
			var newWidth = (iSelectWidth > oSpan.innerWidth())?iSelectWidth+oLinkOpen.outerWidth():$wrapper.width();
			$wrapper.css('width',newWidth);
			$ul.css('width',newWidth-2);
			oSpan.css({width:iSelectWidth});
		
			// Calculate the height if necessary, less elements that the default height
			//show the ul to calculate the block, if ul is not displayed li height value is 0
			$ul.css({display:'block',visibility:'hidden'});
			var iSelectHeight = ($('li',$ul).length)*($('li:first',$ul).height());//+1 else bug ff
			(iSelectHeight < $ul.height()) && $ul.css({height:iSelectHeight,'overflow':'hidden'});//hidden else bug with ff
			$ul.css({display:'none',visibility:'visible'});
			
		});
	};
	$.fn.jqTransform = function(options){
		var opt = $.extend({},defaultOptions,options);
		
		/* each form */
		 return this.each(function(){
			var selfForm = $(this);
			if(selfForm.hasClass('jqtransformdone')) {return;}
			selfForm.addClass('jqtransformdone');
			
			$('input:submit, input:reset, input[type="button"]', this).jqTransInputButton();			
			$('input:text, input:password', this).jqTransInputText();			
			$('input:checkbox', this).jqTransCheckBox();
			$('input:radio', this).jqTransRadio();
			$('textarea', this).jqTransTextarea();
			
			if( $('select', this).jqTransSelect().length > 0 ){jqTransformAddDocumentListener();}
			selfForm.bind('reset',function(){var action = function(){jqTransformReset(this);}; window.setTimeout(action, 10);});
			
			//preloading dont needed anymore since normal, focus and hover image are the same one
			/*if(opt.preloadImg && !jqTransformImgPreloaded){
				jqTransformImgPreloaded = true;
				var oInputText = $('input:text:first', selfForm);
				if(oInputText.length > 0){
					//pour ie on eleve les ""
					var strWrapperImgUrl = oInputText.get(0).wrapper.css('background-image');
					jqTransformPreloadHoverFocusImg(strWrapperImgUrl);					
					var strInnerImgUrl = $('div.jqTransformInputInner',$(oInputText.get(0).wrapper)).css('background-image');
					jqTransformPreloadHoverFocusImg(strInnerImgUrl);
				}
				
				var oTextarea = $('textarea',selfForm);
				if(oTextarea.length > 0){
					var oTable = oTextarea.get(0).oTable;
					$('td',oTable).each(function(){
						var strImgBack = $(this).css('background-image');
						jqTransformPreloadHoverFocusImg(strImgBack);
					});
				}
			}*/
			
			
		}); /* End Form each */
				
	};/* End the Plugin */

})(jQuery);
		
/* -------------------- */		
		
// ColorBox v1.3.17.2 - a full featured, light-weight, customizable lightbox based on jQuery 1.3+
// Copyright (c) 2011 Jack Moore - jack@colorpowered.com
// Licensed under the MIT license: http://www.opensource.org/licenses/mit-license.php
(function(a,b,c){function bc(b){if(!U){P=b,_(),y=a(P),Q=0,K.rel!=="nofollow"&&(y=a("."+g).filter(function(){var b=a.data(this,e).rel||this.rel;return b===K.rel}),Q=y.index(P),Q===-1&&(y=y.add(P),Q=y.length-1));if(!S){S=T=!0,r.show();if(K.returnFocus)try{P.blur(),a(P).one(l,function(){try{this.focus()}catch(a){}})}catch(c){}q.css({opacity:+K.opacity,cursor:K.overlayClose?"pointer":"auto"}).show(),K.w=Z(K.initialWidth,"x"),K.h=Z(K.initialHeight,"y"),X.position(),o&&z.bind("resize."+p+" scroll."+p,function(){q.css({width:z.width(),height:z.height(),top:z.scrollTop(),left:z.scrollLeft()})}).trigger("resize."+p),ba(h,K.onOpen),J.add(D).hide(),I.html(K.close).show()}X.load(!0)}}function bb(){var a,b=f+"Slideshow_",c="click."+f,d,e,g;K.slideshow&&y[1]?(d=function(){F.text(K.slideshowStop).unbind(c).bind(j,function(){if(Q<y.length-1||K.loop)a=setTimeout(X.next,K.slideshowSpeed)}).bind(i,function(){clearTimeout(a)}).one(c+" "+k,e),r.removeClass(b+"off").addClass(b+"on"),a=setTimeout(X.next,K.slideshowSpeed)},e=function(){clearTimeout(a),F.text(K.slideshowStart).unbind([j,i,k,c].join(" ")).one(c,d),r.removeClass(b+"on").addClass(b+"off")},K.slideshowAuto?d():e()):r.removeClass(b+"off "+b+"on")}function ba(b,c){c&&c.call(P),a.event.trigger(b)}function _(b){K=a.extend({},a.data(P,e));for(b in K)a.isFunction(K[b])&&b.substring(0,2)!=="on"&&(K[b]=K[b].call(P));K.rel=K.rel||P.rel||"nofollow",K.href=K.href||a(P).attr("href"),K.title=K.title||P.title,typeof K.href=="string"&&(K.href=a.trim(K.href))}function $(a){return K.photo||/\.(gif|png|jpg|jpeg|bmp)(?:\?([^#]*))?(?:#(\.*))?$/i.test(a)}function Z(a,b){return Math.round((/%/.test(a)?(b==="x"?z.width():z.height())/100:1)*parseInt(a,10))}function Y(c,d,e){e=b.createElement("div"),c&&(e.id=f+c),e.style.cssText=d||"";return a(e)}var d={transition:"elastic",speed:300,width:!1,initialWidth:"600",innerWidth:!1,maxWidth:!1,height:!1,initialHeight:"450",innerHeight:!1,maxHeight:!1,scalePhotos:!0,scrolling:!0,inline:!1,html:!1,iframe:!1,fastIframe:!0,photo:!1,href:!1,title:!1,rel:!1,opacity:.9,preloading:!0,current:"image {current} of {total}",previous:"previous",next:"next",close:"close",open:!1,returnFocus:!0,loop:!0,slideshow:!1,slideshowAuto:!0,slideshowSpeed:2500,slideshowStart:"start slideshow",slideshowStop:"stop slideshow",onOpen:!1,onLoad:!1,onComplete:!1,onCleanup:!1,onClosed:!1,overlayClose:!0,escKey:!0,arrowKey:!0,top:!1,bottom:!1,left:!1,right:!1,fixed:!1,data:!1},e="colorbox",f="cbox",g=f+"Element",h=f+"_open",i=f+"_load",j=f+"_complete",k=f+"_cleanup",l=f+"_closed",m=f+"_purge",n=a.browser.msie&&!a.support.opacity,o=n&&a.browser.version<7,p=f+"_IE6",q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X;X=a.fn[e]=a[e]=function(b,c){var f=this;b=b||{};if(!f[0]){if(f.selector)return f;f=a("<a/>"),b.open=!0}c&&(b.onComplete=c),f.each(function(){a.data(this,e,a.extend({},a.data(this,e)||d,b)),a(this).addClass(g)}),(a.isFunction(b.open)&&b.open.call(f)||b.open)&&bc(f[0]);return f},X.init=function(){z=a(c),r=Y().attr({id:e,"class":n?f+(o?"IE6":"IE"):""}),q=Y("Overlay",o?"position:absolute":"").hide(),s=Y("Wrapper"),t=Y("Content").append(A=Y("LoadedContent","width:0; height:0; overflow:hidden"),C=Y("LoadingOverlay").add(Y("LoadingGraphic")),D=Y("Title"),E=Y("Current"),G=Y("Next"),H=Y("Previous"),F=Y("Slideshow").bind(h,bb),I=Y("Close")),s.append(Y().append(Y("TopLeft"),u=Y("TopCenter"),Y("TopRight")),Y(!1,"clear:left").append(v=Y("MiddleLeft"),t,w=Y("MiddleRight")),Y(!1,"clear:left").append(Y("BottomLeft"),x=Y("BottomCenter"),Y("BottomRight"))).children().children().css({"float":"left"}),B=Y(!1,"position:absolute; width:9999px; visibility:hidden; display:none"),a("body").prepend(q,r.append(s,B)),t.children().hover(function(){a(this).addClass("hover")},function(){a(this).removeClass("hover")}).addClass("hover"),L=u.height()+x.height()+t.outerHeight(!0)-t.height(),M=v.width()+w.width()+t.outerWidth(!0)-t.width(),N=A.outerHeight(!0),O=A.outerWidth(!0),r.css({"padding-bottom":L,"padding-right":M}).hide(),G.click(function(){X.next()}),H.click(function(){X.prev()}),I.click(function(){X.close()}),J=G.add(H).add(E).add(F),t.children().removeClass("hover"),q.click(function(){K.overlayClose&&X.close()}),a(b).bind("keydown."+f,function(a){var b=a.keyCode;S&&K.escKey&&b===27&&(a.preventDefault(),X.close()),S&&K.arrowKey&&y[1]&&(b===37?(a.preventDefault(),H.click()):b===39&&(a.preventDefault(),G.click()))})},X.remove=function(){r.add(q).remove(),a("."+g).removeData(e).removeClass(g)},X.position=function(a,c){function g(a){u[0].style.width=x[0].style.width=t[0].style.width=a.style.width,C[0].style.height=C[1].style.height=t[0].style.height=v[0].style.height=w[0].style.height=a.style.height}var d=0,e=0;z.unbind("resize."+f),r.hide(),K.fixed&&!o?r.css({position:"fixed"}):(d=z.scrollTop(),e=z.scrollLeft(),r.css({position:"absolute"})),K.right!==!1?e+=Math.max(z.width()-K.w-O-M-Z(K.right,"x"),0):K.left!==!1?e+=Z(K.left,"x"):e+=Math.round(Math.max(z.width()-K.w-O-M,0)/2),K.bottom!==!1?d+=Math.max(b.documentElement.clientHeight-K.h-N-L-Z(K.bottom,"y"),0):K.top!==!1?d+=Z(K.top,"y"):d+=Math.round(Math.max(b.documentElement.clientHeight-K.h-N-L,0)/2),r.show(),a=r.width()===K.w+O&&r.height()===K.h+N?0:a||0,s[0].style.width=s[0].style.height="9999px",r.dequeue().animate({width:K.w+O,height:K.h+N,top:d,left:e},{duration:a,complete:function(){g(this),T=!1,s[0].style.width=K.w+O+M+"px",s[0].style.height=K.h+N+L+"px",c&&c(),setTimeout(function(){z.bind("resize."+f,X.position)},1)},step:function(){g(this)}})},X.resize=function(a){if(S){a=a||{},a.width&&(K.w=Z(a.width,"x")-O-M),a.innerWidth&&(K.w=Z(a.innerWidth,"x")),A.css({width:K.w}),a.height&&(K.h=Z(a.height,"y")-N-L),a.innerHeight&&(K.h=Z(a.innerHeight,"y"));if(!a.innerHeight&&!a.height){var b=A.wrapInner("<div style='overflow:auto'></div>").children();K.h=b.height(),b.replaceWith(b.children())}A.css({height:K.h}),X.position(K.transition==="none"?0:K.speed)}},X.prep=function(b){function h(){K.h=K.h||A.height(),K.h=K.mh&&K.mh<K.h?K.mh:K.h;return K.h}function g(){K.w=K.w||A.width(),K.w=K.mw&&K.mw<K.w?K.mw:K.w;return K.w}if(!!S){var c,d=K.transition==="none"?0:K.speed;A.remove(),A=Y("LoadedContent").append(b),A.hide().appendTo(B.show()).css({width:g(),overflow:K.scrolling?"auto":"hidden"}).css({height:h()}).prependTo(t),B.hide(),a(R).css({"float":"none"}),o&&a("select").not(r.find("select")).filter(function(){return this.style.visibility!=="hidden"}).css({visibility:"hidden"}).one(k,function(){this.style.visibility="inherit"}),c=function(){function o(){n&&r[0].style.removeAttribute("filter")}var b,c,g,h,i=y.length,k,l;!S||(l=function(){clearTimeout(W),C.hide(),ba(j,K.onComplete)},n&&R&&A.fadeIn(100),D.html(K.title).add(A).show(),i>1?(typeof K.current=="string"&&E.html(K.current.replace("{current}",Q+1).replace("{total}",i)).show(),G[K.loop||Q<i-1?"show":"hide"]().html(K.next),H[K.loop||Q?"show":"hide"]().html(K.previous),b=Q?y[Q-1]:y[i-1],g=Q<i-1?y[Q+1]:y[0],K.slideshow&&F.show(),K.preloading&&(h=a.data(g,e).href||g.href,c=a.data(b,e).href||b.href,h=a.isFunction(h)?h.call(g):h,c=a.isFunction(c)?c.call(b):c,$(h)&&(a("<img/>")[0].src=h),$(c)&&(a("<img/>")[0].src=c))):J.hide(),K.iframe?(k=a("<iframe/>").addClass(f+"Iframe")[0],K.fastIframe?l():a(k).one("load",l),k.name=f+ +(new Date),k.src=K.href,K.scrolling||(k.scrolling="no"),n&&(k.frameBorder=0,k.allowTransparency="true"),a(k).appendTo(A).one(m,function(){k.src="//about:blank"})):l(),K.transition==="fade"?r.fadeTo(d,1,o):o())},K.transition==="fade"?r.fadeTo(d,0,function(){X.position(0,c)}):X.position(d,c)}},X.load=function(b){var c,d,e=X.prep;T=!0,R=!1,P=y[Q],b||_(),ba(m),ba(i,K.onLoad),K.h=K.height?Z(K.height,"y")-N-L:K.innerHeight&&Z(K.innerHeight,"y"),K.w=K.width?Z(K.width,"x")-O-M:K.innerWidth&&Z(K.innerWidth,"x"),K.mw=K.w,K.mh=K.h,K.maxWidth&&(K.mw=Z(K.maxWidth,"x")-O-M,K.mw=K.w&&K.w<K.mw?K.w:K.mw),K.maxHeight&&(K.mh=Z(K.maxHeight,"y")-N-L,K.mh=K.h&&K.h<K.mh?K.h:K.mh),c=K.href,W=setTimeout(function(){C.show()},100),K.inline?(Y().hide().insertBefore(a(c)[0]).one(m,function(){a(this).replaceWith(A.children())}),e(a(c))):K.iframe?e(" "):K.html?e(K.html):$(c)?(a(R=new Image).addClass(f+"Photo").error(function(){K.title=!1,e(Y("Error").text("This image could not be loaded"))}).load(function(){var a;R.onload=null,K.scalePhotos&&(d=function(){R.height-=R.height*a,R.width-=R.width*a},K.mw&&R.width>K.mw&&(a=(R.width-K.mw)/R.width,d()),K.mh&&R.height>K.mh&&(a=(R.height-K.mh)/R.height,d())),K.h&&(R.style.marginTop=Math.max(K.h-R.height,0)/2+"px"),y[1]&&(Q<y.length-1||K.loop)&&(R.style.cursor="pointer",R.onclick=function(){X.next()}),n&&(R.style.msInterpolationMode="bicubic"),setTimeout(function(){e(R)},1)}),setTimeout(function(){R.src=c},1)):c&&B.load(c,K.data,function(b,c,d){e(c==="error"?Y("Error").text("Request unsuccessful: "+d.statusText):a(this).contents())})},X.next=function(){!T&&y[1]&&(Q<y.length-1||K.loop)&&(Q=Q<y.length-1?Q+1:0,X.load())},X.prev=function(){!T&&y[1]&&(Q||K.loop)&&(Q=Q?Q-1:y.length-1,X.load())},X.close=function(){S&&!U&&(U=!0,S=!1,ba(k,K.onCleanup),z.unbind("."+f+" ."+p),q.fadeTo(200,0),r.stop().fadeTo(300,0,function(){r.add(q).css({opacity:1,cursor:"auto"}).hide(),ba(m),A.remove(),setTimeout(function(){U=!1,ba(l,K.onClosed)},1)}))},X.element=function(){return a(P)},X.settings=d,V=function(a){a.button!==0&&typeof a.button!="undefined"||a.ctrlKey||a.shiftKey||a.altKey||(a.preventDefault(),bc(this))},a.fn.delegate?a(b).delegate("."+g,"click",V):a("."+g).live("click",V),a(X.init)})(jQuery,document,this);		   


/* -------------------- */		
//jquery.cycle.js
/*!
 * jQuery Cycle Plugin (with Transition Definitions)
 * Examples and documentation at: http://jquery.malsup.com/cycle/
 * Copyright (c) 2007-2010 M. Alsup
 * Version: 2.9995 (09-AUG-2011)
 * Dual licensed under the MIT and GPL licenses.
 * http://jquery.malsup.com/license.html
 * Requires: jQuery v1.3.2 or later
 */
;(function($) {

var ver = '2.9995';

// if $.support is not defined (pre jQuery 1.3) add what I need
if ($.support == undefined) {
	$.support = {
		opacity: !($.browser.msie)
	};
}

function debug(s) {
	$.fn.cycle.debug && log(s);
}		
function log() {
	window.console && console.log && console.log('[cycle] ' + Array.prototype.join.call(arguments,' '));
}
$.expr[':'].paused = function(el) {
	return el.cyclePause;
}


// the options arg can be...
//   a number  - indicates an immediate transition should occur to the given slide index
//   a string  - 'pause', 'resume', 'toggle', 'next', 'prev', 'stop', 'destroy' or the name of a transition effect (ie, 'fade', 'zoom', etc)
//   an object - properties to control the slideshow
//
// the arg2 arg can be...
//   the name of an fx (only used in conjunction with a numeric value for 'options')
//   the value true (only used in first arg == 'resume') and indicates
//	 that the resume should occur immediately (not wait for next timeout)

$.fn.cycle = function(options, arg2) {
	var o = { s: this.selector, c: this.context };

	// in 1.3+ we can fix mistakes with the ready state
	if (this.length === 0 && options != 'stop') {
		if (!$.isReady && o.s) {
			log('DOM not ready, queuing slideshow');
			$(function() {
				$(o.s,o.c).cycle(options,arg2);
			});
			return this;
		}
		// is your DOM ready?  http://docs.jquery.com/Tutorials:Introducing_$(document).ready()
		log('terminating; zero elements found by selector' + ($.isReady ? '' : ' (DOM not ready)'));
		return this;
	}

	// iterate the matched nodeset
	return this.each(function() {
		var opts = handleArguments(this, options, arg2);
		if (opts === false)
			return;

		opts.updateActivePagerLink = opts.updateActivePagerLink || $.fn.cycle.updateActivePagerLink;
		
		// stop existing slideshow for this container (if there is one)
		if (this.cycleTimeout)
			clearTimeout(this.cycleTimeout);
		this.cycleTimeout = this.cyclePause = 0;

		var $cont = $(this);
		var $slides = opts.slideExpr ? $(opts.slideExpr, this) : $cont.children();
		var els = $slides.get();

		var opts2 = buildOptions($cont, $slides, els, opts, o);
		if (opts2 === false)
			return;

		if (els.length < 2) {
			log('terminating; too few slides: ' + els.length);
			return;
		}

		var startTime = opts2.continuous ? 10 : getTimeout(els[opts2.currSlide], els[opts2.nextSlide], opts2, !opts2.backwards);

		// if it's an auto slideshow, kick it off
		if (startTime) {
			startTime += (opts2.delay || 0);
			if (startTime < 10)
				startTime = 10;
			debug('first timeout: ' + startTime);
			this.cycleTimeout = setTimeout(function(){go(els,opts2,0,!opts.backwards)}, startTime);
		}
	});
};

function triggerPause(cont, byHover, onPager) {
	var opts = $(cont).data('cycle.opts');
	var paused = !!cont.cyclePause;
	if (paused && opts.paused)
		opts.paused(cont, opts, byHover, onPager);
	else if (!paused && opts.resumed)
		opts.resumed(cont, opts, byHover, onPager);
}

// process the args that were passed to the plugin fn
function handleArguments(cont, options, arg2) {
	if (cont.cycleStop == undefined)
		cont.cycleStop = 0;
	if (options === undefined || options === null)
		options = {};
	if (options.constructor == String) {
		switch(options) {
		case 'destroy':
		case 'stop':
			var opts = $(cont).data('cycle.opts');
			if (!opts)
				return false;
			cont.cycleStop++; // callbacks look for change
			if (cont.cycleTimeout)
				clearTimeout(cont.cycleTimeout);
			cont.cycleTimeout = 0;
			opts.elements && $(opts.elements).stop();
			$(cont).removeData('cycle.opts');
			if (options == 'destroy')
				destroy(opts);
			return false;
		case 'toggle':
			cont.cyclePause = (cont.cyclePause === 1) ? 0 : 1;
			checkInstantResume(cont.cyclePause, arg2, cont);
			triggerPause(cont);
			return false;
		case 'pause':
			cont.cyclePause = 1;
			triggerPause(cont);
			return false;
		case 'resume':
			cont.cyclePause = 0;
			checkInstantResume(false, arg2, cont);
			triggerPause(cont);
			return false;
		case 'prev':
		case 'next':
			var opts = $(cont).data('cycle.opts');
			if (!opts) {
				log('options not found, "prev/next" ignored');
				return false;
			}
			$.fn.cycle[options](opts);
			return false;
		default:
			options = { fx: options };
		};
		return options;
	}
	else if (options.constructor == Number) {
		// go to the requested slide
		var num = options;
		options = $(cont).data('cycle.opts');
		if (!options) {
			log('options not found, can not advance slide');
			return false;
		}
		if (num < 0 || num >= options.elements.length) {
			log('invalid slide index: ' + num);
			return false;
		}
		options.nextSlide = num;
		if (cont.cycleTimeout) {
			clearTimeout(cont.cycleTimeout);
			cont.cycleTimeout = 0;
		}
		if (typeof arg2 == 'string')
			options.oneTimeFx = arg2;
		go(options.elements, options, 1, num >= options.currSlide);
		return false;
	}
	return options;
	
	function checkInstantResume(isPaused, arg2, cont) {
		if (!isPaused && arg2 === true) { // resume now!
			var options = $(cont).data('cycle.opts');
			if (!options) {
				log('options not found, can not resume');
				return false;
			}
			if (cont.cycleTimeout) {
				clearTimeout(cont.cycleTimeout);
				cont.cycleTimeout = 0;
			}
			go(options.elements, options, 1, !options.backwards);
		}
	}
};

function removeFilter(el, opts) {
	if (!$.support.opacity && opts.cleartype && el.style.filter) {
		try { el.style.removeAttribute('filter'); }
		catch(smother) {} // handle old opera versions
	}
};

// unbind event handlers
function destroy(opts) {
	if (opts.next)
		$(opts.next).unbind(opts.prevNextEvent);
	if (opts.prev)
		$(opts.prev).unbind(opts.prevNextEvent);
	
	if (opts.pager || opts.pagerAnchorBuilder)
		$.each(opts.pagerAnchors || [], function() {
			this.unbind().remove();
		});
	opts.pagerAnchors = null;
	if (opts.destroy) // callback
		opts.destroy(opts);
};

// one-time initialization
function buildOptions($cont, $slides, els, options, o) {
	// support metadata plugin (v1.0 and v2.0)
	var opts = $.extend({}, $.fn.cycle.defaults, options || {}, $.metadata ? $cont.metadata() : $.meta ? $cont.data() : {});
	var meta = $.isFunction($cont.data) ? $cont.data(opts.metaAttr) : null;
	if (meta)
		opts = $.extend(opts, meta);
	if (opts.autostop)
		opts.countdown = opts.autostopCount || els.length;

	var cont = $cont[0];
	$cont.data('cycle.opts', opts);
	opts.$cont = $cont;
	opts.stopCount = cont.cycleStop;
	opts.elements = els;
	opts.before = opts.before ? [opts.before] : [];
	opts.after = opts.after ? [opts.after] : [];

	// push some after callbacks
	if (!$.support.opacity && opts.cleartype)
		opts.after.push(function() { removeFilter(this, opts); });
	if (opts.continuous)
		opts.after.push(function() { go(els,opts,0,!opts.backwards); });

	saveOriginalOpts(opts);

	// clearType corrections
	if (!$.support.opacity && opts.cleartype && !opts.cleartypeNoBg)
		clearTypeFix($slides);

	// container requires non-static position so that slides can be position within
	if ($cont.css('position') == 'static')
		$cont.css('position', 'relative');
	if (opts.width)
		$cont.width(opts.width);
	if (opts.height && opts.height != 'auto')
		$cont.height(opts.height);

	if (opts.startingSlide)
		opts.startingSlide = parseInt(opts.startingSlide,10);
	else if (opts.backwards)
		opts.startingSlide = els.length - 1;

	// if random, mix up the slide array
	if (opts.random) {
		opts.randomMap = [];
		for (var i = 0; i < els.length; i++)
			opts.randomMap.push(i);
		opts.randomMap.sort(function(a,b) {return Math.random() - 0.5;});
		opts.randomIndex = 1;
		opts.startingSlide = opts.randomMap[1];
	}
	else if (opts.startingSlide >= els.length)
		opts.startingSlide = 0; // catch bogus input
	opts.currSlide = opts.startingSlide || 0;
	var first = opts.startingSlide;

	// set position and zIndex on all the slides
	$slides.css({position: 'absolute', top:0, left:0}).hide().each(function(i) {
		var z;
		if (opts.backwards)
			z = first ? i <= first ? els.length + (i-first) : first-i : els.length-i;
		else
			z = first ? i >= first ? els.length - (i-first) : first-i : els.length-i;
		$(this).css('z-index', z)
	});

	// make sure first slide is visible
	$(els[first]).css('opacity',1).show(); // opacity bit needed to handle restart use case
	removeFilter(els[first], opts);

	// stretch slides
	if (opts.fit) {
		if (!opts.aspect) {
	        if (opts.width)
	            $slides.width(opts.width);
	        if (opts.height && opts.height != 'auto')
	            $slides.height(opts.height);
		} else {
			$slides.each(function(){
				var $slide = $(this);
				var ratio = (opts.aspect === true) ? $slide.width()/$slide.height() : opts.aspect;
				if( opts.width && $slide.width() != opts.width ) {
					$slide.width( opts.width );
					$slide.height( opts.width / ratio );
				}

				if( opts.height && $slide.height() < opts.height ) {
					$slide.height( opts.height );
					$slide.width( opts.height * ratio );
				}
			});
		}
	}

	if (opts.center && ((!opts.fit) || opts.aspect)) {
		$slides.each(function(){
			var $slide = $(this);
			$slide.css({
				"margin-left": opts.width ?
					((opts.width - $slide.width()) / 2) + "px" :
					0,
				"margin-top": opts.height ?
					((opts.height - $slide.height()) / 2) + "px" :
					0
			});
		});
	}

	if (opts.center && !opts.fit && !opts.slideResize) {
	  	$slides.each(function(){
	    	var $slide = $(this);
	    	$slide.css({
	      		"margin-left": opts.width ? ((opts.width - $slide.width()) / 2) + "px" : 0,
	      		"margin-top": opts.height ? ((opts.height - $slide.height()) / 2) + "px" : 0
	    	});
	  	});
	}
		
	// stretch container
	var reshape = opts.containerResize && !$cont.innerHeight();
	if (reshape) { // do this only if container has no size http://tinyurl.com/da2oa9
		var maxw = 0, maxh = 0;
		for(var j=0; j < els.length; j++) {
			var $e = $(els[j]), e = $e[0], w = $e.outerWidth(), h = $e.outerHeight();
			if (!w) w = e.offsetWidth || e.width || $e.attr('width');
			if (!h) h = e.offsetHeight || e.height || $e.attr('height');
			maxw = w > maxw ? w : maxw;
			maxh = h > maxh ? h : maxh;
		}
		if (maxw > 0 && maxh > 0)
			$cont.css({width:maxw+'px',height:maxh+'px'});
	}

	var pauseFlag = false;  // https://github.com/malsup/cycle/issues/44
	if (opts.pause)
		$cont.hover(
			function(){
				pauseFlag = true;
				this.cyclePause++;
				triggerPause(cont, true);
			},
			function(){
				pauseFlag && this.cyclePause--;
				triggerPause(cont, true);
			}
		);

	if (supportMultiTransitions(opts) === false)
		return false;

	// apparently a lot of people use image slideshows without height/width attributes on the images.
	// Cycle 2.50+ requires the sizing info for every slide; this block tries to deal with that.
	var requeue = false;
	options.requeueAttempts = options.requeueAttempts || 0;
	$slides.each(function() {
		// try to get height/width of each slide
		var $el = $(this);
		this.cycleH = (opts.fit && opts.height) ? opts.height : ($el.height() || this.offsetHeight || this.height || $el.attr('height') || 0);
		this.cycleW = (opts.fit && opts.width) ? opts.width : ($el.width() || this.offsetWidth || this.width || $el.attr('width') || 0);

		if ( $el.is('img') ) {
			// sigh..  sniffing, hacking, shrugging...  this crappy hack tries to account for what browsers do when
			// an image is being downloaded and the markup did not include sizing info (height/width attributes);
			// there seems to be some "default" sizes used in this situation
			var loadingIE	= ($.browser.msie  && this.cycleW == 28 && this.cycleH == 30 && !this.complete);
			var loadingFF	= ($.browser.mozilla && this.cycleW == 34 && this.cycleH == 19 && !this.complete);
			var loadingOp	= ($.browser.opera && ((this.cycleW == 42 && this.cycleH == 19) || (this.cycleW == 37 && this.cycleH == 17)) && !this.complete);
			var loadingOther = (this.cycleH == 0 && this.cycleW == 0 && !this.complete);
			// don't requeue for images that are still loading but have a valid size
			if (loadingIE || loadingFF || loadingOp || loadingOther) {
				if (o.s && opts.requeueOnImageNotLoaded && ++options.requeueAttempts < 100) { // track retry count so we don't loop forever
					log(options.requeueAttempts,' - img slide not loaded, requeuing slideshow: ', this.src, this.cycleW, this.cycleH);
					setTimeout(function() {$(o.s,o.c).cycle(options)}, opts.requeueTimeout);
					requeue = true;
					return false; // break each loop
				}
				else {
					log('could not determine size of image: '+this.src, this.cycleW, this.cycleH);
				}
			}
		}
		return true;
	});

	if (requeue)
		return false;

	opts.cssBefore = opts.cssBefore || {};
	opts.cssAfter = opts.cssAfter || {};
	opts.cssFirst = opts.cssFirst || {};
	opts.animIn = opts.animIn || {};
	opts.animOut = opts.animOut || {};

	$slides.not(':eq('+first+')').css(opts.cssBefore);
	$($slides[first]).css(opts.cssFirst);

	if (opts.timeout) {
		opts.timeout = parseInt(opts.timeout,10);
		// ensure that timeout and speed settings are sane
		if (opts.speed.constructor == String)
			opts.speed = $.fx.speeds[opts.speed] || parseInt(opts.speed,10);
		if (!opts.sync)
			opts.speed = opts.speed / 2;
		
		var buffer = opts.fx == 'none' ? 0 : opts.fx == 'shuffle' ? 500 : 250;
		while((opts.timeout - opts.speed) < buffer) // sanitize timeout
			opts.timeout += opts.speed;
	}
	if (opts.easing)
		opts.easeIn = opts.easeOut = opts.easing;
	if (!opts.speedIn)
		opts.speedIn = opts.speed;
	if (!opts.speedOut)
		opts.speedOut = opts.speed;

	opts.slideCount = els.length;
	opts.currSlide = opts.lastSlide = first;
	if (opts.random) {
		if (++opts.randomIndex == els.length)
			opts.randomIndex = 0;
		opts.nextSlide = opts.randomMap[opts.randomIndex];
	}
	else if (opts.backwards)
		opts.nextSlide = opts.startingSlide == 0 ? (els.length-1) : opts.startingSlide-1;
	else
		opts.nextSlide = opts.startingSlide >= (els.length-1) ? 0 : opts.startingSlide+1;

	// run transition init fn
	if (!opts.multiFx) {
		var init = $.fn.cycle.transitions[opts.fx];
		if ($.isFunction(init))
			init($cont, $slides, opts);
		else if (opts.fx != 'custom' && !opts.multiFx) {
			log('unknown transition: ' + opts.fx,'; slideshow terminating');
			return false;
		}
	}

	// fire artificial events
	var e0 = $slides[first];
	if (!opts.skipInitializationCallbacks) {
		if (opts.before.length)
			opts.before[0].apply(e0, [e0, e0, opts, true]);
		if (opts.after.length)
			opts.after[0].apply(e0, [e0, e0, opts, true]);
	}
	if (opts.next)
		$(opts.next).bind(opts.prevNextEvent,function(){return advance(opts,1)});
	if (opts.prev)
		$(opts.prev).bind(opts.prevNextEvent,function(){return advance(opts,0)});
	if (opts.pager || opts.pagerAnchorBuilder)
		buildPager(els,opts);

	exposeAddSlide(opts, els);

	return opts;
};

// save off original opts so we can restore after clearing state
function saveOriginalOpts(opts) {
	opts.original = { before: [], after: [] };
	opts.original.cssBefore = $.extend({}, opts.cssBefore);
	opts.original.cssAfter  = $.extend({}, opts.cssAfter);
	opts.original.animIn	= $.extend({}, opts.animIn);
	opts.original.animOut   = $.extend({}, opts.animOut);
	$.each(opts.before, function() { opts.original.before.push(this); });
	$.each(opts.after,  function() { opts.original.after.push(this); });
};

function supportMultiTransitions(opts) {
	var i, tx, txs = $.fn.cycle.transitions;
	// look for multiple effects
	if (opts.fx.indexOf(',') > 0) {
		opts.multiFx = true;
		opts.fxs = opts.fx.replace(/\s*/g,'').split(',');
		// discard any bogus effect names
		for (i=0; i < opts.fxs.length; i++) {
			var fx = opts.fxs[i];
			tx = txs[fx];
			if (!tx || !txs.hasOwnProperty(fx) || !$.isFunction(tx)) {
				log('discarding unknown transition: ',fx);
				opts.fxs.splice(i,1);
				i--;
			}
		}
		// if we have an empty list then we threw everything away!
		if (!opts.fxs.length) {
			log('No valid transitions named; slideshow terminating.');
			return false;
		}
	}
	else if (opts.fx == 'all') {  // auto-gen the list of transitions
		opts.multiFx = true;
		opts.fxs = [];
		for (p in txs) {
			tx = txs[p];
			if (txs.hasOwnProperty(p) && $.isFunction(tx))
				opts.fxs.push(p);
		}
	}
	if (opts.multiFx && opts.randomizeEffects) {
		// munge the fxs array to make effect selection random
		var r1 = Math.floor(Math.random() * 20) + 30;
		for (i = 0; i < r1; i++) {
			var r2 = Math.floor(Math.random() * opts.fxs.length);
			opts.fxs.push(opts.fxs.splice(r2,1)[0]);
		}
		debug('randomized fx sequence: ',opts.fxs);
	}
	return true;
};

// provide a mechanism for adding slides after the slideshow has started
function exposeAddSlide(opts, els) {
	opts.addSlide = function(newSlide, prepend) {
		var $s = $(newSlide), s = $s[0];
		if (!opts.autostopCount)
			opts.countdown++;
		els[prepend?'unshift':'push'](s);
		if (opts.els)
			opts.els[prepend?'unshift':'push'](s); // shuffle needs this
		opts.slideCount = els.length;

		$s.css('position','absolute');
		$s[prepend?'prependTo':'appendTo'](opts.$cont);

		if (prepend) {
			opts.currSlide++;
			opts.nextSlide++;
		}

		if (!$.support.opacity && opts.cleartype && !opts.cleartypeNoBg)
			clearTypeFix($s);

		if (opts.fit && opts.width)
			$s.width(opts.width);
		if (opts.fit && opts.height && opts.height != 'auto')
			$s.height(opts.height);
		s.cycleH = (opts.fit && opts.height) ? opts.height : $s.height();
		s.cycleW = (opts.fit && opts.width) ? opts.width : $s.width();

		$s.css(opts.cssBefore);

		if (opts.pager || opts.pagerAnchorBuilder)
			$.fn.cycle.createPagerAnchor(els.length-1, s, $(opts.pager), els, opts);

		if ($.isFunction(opts.onAddSlide))
			opts.onAddSlide($s);
		else
			$s.hide(); // default behavior
	};
}

// reset internal state; we do this on every pass in order to support multiple effects
$.fn.cycle.resetState = function(opts, fx) {
	fx = fx || opts.fx;
	opts.before = []; opts.after = [];
	opts.cssBefore = $.extend({}, opts.original.cssBefore);
	opts.cssAfter  = $.extend({}, opts.original.cssAfter);
	opts.animIn	= $.extend({}, opts.original.animIn);
	opts.animOut   = $.extend({}, opts.original.animOut);
	opts.fxFn = null;
	$.each(opts.original.before, function() { opts.before.push(this); });
	$.each(opts.original.after,  function() { opts.after.push(this); });

	// re-init
	var init = $.fn.cycle.transitions[fx];
	if ($.isFunction(init))
		init(opts.$cont, $(opts.elements), opts);
};

// this is the main engine fn, it handles the timeouts, callbacks and slide index mgmt
function go(els, opts, manual, fwd) {
	// opts.busy is true if we're in the middle of an animation
	if (manual && opts.busy && opts.manualTrump) {
		// let manual transitions requests trump active ones
		debug('manualTrump in go(), stopping active transition');
		$(els).stop(true,true);
		opts.busy = 0;
	}
	// don't begin another timeout-based transition if there is one active
	if (opts.busy) {
		debug('transition active, ignoring new tx request');
		return;
	}

	var p = opts.$cont[0], curr = els[opts.currSlide], next = els[opts.nextSlide];

	// stop cycling if we have an outstanding stop request
	if (p.cycleStop != opts.stopCount || p.cycleTimeout === 0 && !manual)
		return;

	// check to see if we should stop cycling based on autostop options
	if (!manual && !p.cyclePause && !opts.bounce &&
		((opts.autostop && (--opts.countdown <= 0)) ||
		(opts.nowrap && !opts.random && opts.nextSlide < opts.currSlide))) {
		if (opts.end)
			opts.end(opts);
		return;
	}

	// if slideshow is paused, only transition on a manual trigger
	var changed = false;
	if ((manual || !p.cyclePause) && (opts.nextSlide != opts.currSlide)) {
		changed = true;
		var fx = opts.fx;
		// keep trying to get the slide size if we don't have it yet
		curr.cycleH = curr.cycleH || $(curr).height();
		curr.cycleW = curr.cycleW || $(curr).width();
		next.cycleH = next.cycleH || $(next).height();
		next.cycleW = next.cycleW || $(next).width();

		// support multiple transition types
		if (opts.multiFx) {
			if (fwd && (opts.lastFx == undefined || ++opts.lastFx >= opts.fxs.length))
				opts.lastFx = 0;
			else if (!fwd && (opts.lastFx == undefined || --opts.lastFx < 0))
				opts.lastFx = opts.fxs.length - 1;
			fx = opts.fxs[opts.lastFx];
		}

		// one-time fx overrides apply to:  $('div').cycle(3,'zoom');
		if (opts.oneTimeFx) {
			fx = opts.oneTimeFx;
			opts.oneTimeFx = null;
		}

		$.fn.cycle.resetState(opts, fx);

		// run the before callbacks
		if (opts.before.length)
			$.each(opts.before, function(i,o) {
				if (p.cycleStop != opts.stopCount) return;
				o.apply(next, [curr, next, opts, fwd]);
			});

		// stage the after callacks
		var after = function() {
			opts.busy = 0;
			$.each(opts.after, function(i,o) {
				if (p.cycleStop != opts.stopCount) return;
				o.apply(next, [curr, next, opts, fwd]);
			});
		};

		debug('tx firing('+fx+'); currSlide: ' + opts.currSlide + '; nextSlide: ' + opts.nextSlide);
		
		// get ready to perform the transition
		opts.busy = 1;
		if (opts.fxFn) // fx function provided?
			opts.fxFn(curr, next, opts, after, fwd, manual && opts.fastOnEvent);
		else if ($.isFunction($.fn.cycle[opts.fx])) // fx plugin ?
			$.fn.cycle[opts.fx](curr, next, opts, after, fwd, manual && opts.fastOnEvent);
		else
			$.fn.cycle.custom(curr, next, opts, after, fwd, manual && opts.fastOnEvent);
	}

	if (changed || opts.nextSlide == opts.currSlide) {
		// calculate the next slide
		opts.lastSlide = opts.currSlide;
		if (opts.random) {
			opts.currSlide = opts.nextSlide;
			if (++opts.randomIndex == els.length)
				opts.randomIndex = 0;
			opts.nextSlide = opts.randomMap[opts.randomIndex];
			if (opts.nextSlide == opts.currSlide)
				opts.nextSlide = (opts.currSlide == opts.slideCount - 1) ? 0 : opts.currSlide + 1;
		}
		else if (opts.backwards) {
			var roll = (opts.nextSlide - 1) < 0;
			if (roll && opts.bounce) {
				opts.backwards = !opts.backwards;
				opts.nextSlide = 1;
				opts.currSlide = 0;
			}
			else {
				opts.nextSlide = roll ? (els.length-1) : opts.nextSlide-1;
				opts.currSlide = roll ? 0 : opts.nextSlide+1;
			}
		}
		else { // sequence
			var roll = (opts.nextSlide + 1) == els.length;
			if (roll && opts.bounce) {
				opts.backwards = !opts.backwards;
				opts.nextSlide = els.length-2;
				opts.currSlide = els.length-1;
			}
			else {
				opts.nextSlide = roll ? 0 : opts.nextSlide+1;
				opts.currSlide = roll ? els.length-1 : opts.nextSlide-1;
			}
		}
	}
	if (changed && opts.pager)
		opts.updateActivePagerLink(opts.pager, opts.currSlide, opts.activePagerClass);
	
	// stage the next transition
	var ms = 0;
	if (opts.timeout && !opts.continuous)
		ms = getTimeout(els[opts.currSlide], els[opts.nextSlide], opts, fwd);
	else if (opts.continuous && p.cyclePause) // continuous shows work off an after callback, not this timer logic
		ms = 10;
	if (ms > 0)
		p.cycleTimeout = setTimeout(function(){ go(els, opts, 0, !opts.backwards) }, ms);
};

// invoked after transition
$.fn.cycle.updateActivePagerLink = function(pager, currSlide, clsName) {
   $(pager).each(function() {
       $(this).children().removeClass(clsName).eq(currSlide).addClass(clsName);
   });
};

// calculate timeout value for current transition
function getTimeout(curr, next, opts, fwd) {
	if (opts.timeoutFn) {
		// call user provided calc fn
		var t = opts.timeoutFn.call(curr,curr,next,opts,fwd);
		while (opts.fx != 'none' && (t - opts.speed) < 250) // sanitize timeout
			t += opts.speed;
		debug('calculated timeout: ' + t + '; speed: ' + opts.speed);
		if (t !== false)
			return t;
	}
	return opts.timeout;
};

// expose next/prev function, caller must pass in state
$.fn.cycle.next = function(opts) { advance(opts,1); };
$.fn.cycle.prev = function(opts) { advance(opts,0);};

// advance slide forward or back
function advance(opts, moveForward) {
	var val = moveForward ? 1 : -1;
	var els = opts.elements;
	var p = opts.$cont[0], timeout = p.cycleTimeout;
	if (timeout) {
		clearTimeout(timeout);
		p.cycleTimeout = 0;
	}
	if (opts.random && val < 0) {
		// move back to the previously display slide
		opts.randomIndex--;
		if (--opts.randomIndex == -2)
			opts.randomIndex = els.length-2;
		else if (opts.randomIndex == -1)
			opts.randomIndex = els.length-1;
		opts.nextSlide = opts.randomMap[opts.randomIndex];
	}
	else if (opts.random) {
		opts.nextSlide = opts.randomMap[opts.randomIndex];
	}
	else {
		opts.nextSlide = opts.currSlide + val;
		if (opts.nextSlide < 0) {
			if (opts.nowrap) return false;
			opts.nextSlide = els.length - 1;
		}
		else if (opts.nextSlide >= els.length) {
			if (opts.nowrap) return false;
			opts.nextSlide = 0;
		}
	}

	var cb = opts.onPrevNextEvent || opts.prevNextClick; // prevNextClick is deprecated
	if ($.isFunction(cb))
		cb(val > 0, opts.nextSlide, els[opts.nextSlide]);
	go(els, opts, 1, moveForward);
	return false;
};

function buildPager(els, opts) {
	var $p = $(opts.pager);
	$.each(els, function(i,o) {
		$.fn.cycle.createPagerAnchor(i,o,$p,els,opts);
	});
	opts.updateActivePagerLink(opts.pager, opts.startingSlide, opts.activePagerClass);
};

$.fn.cycle.createPagerAnchor = function(i, el, $p, els, opts) {
	var a;
	if ($.isFunction(opts.pagerAnchorBuilder)) {
		a = opts.pagerAnchorBuilder(i,el);
		debug('pagerAnchorBuilder('+i+', el) returned: ' + a);
	}
	else
		a = '<a href="#">'+(i+1)+'</a>';
		
	if (!a)
		return;
	var $a = $(a);
	// don't reparent if anchor is in the dom
	if ($a.parents('body').length === 0) {
		var arr = [];
		if ($p.length > 1) {
			$p.each(function() {
				var $clone = $a.clone(true);
				$(this).append($clone);
				arr.push($clone[0]);
			});
			$a = $(arr);
		}
		else {
			$a.appendTo($p);
		}
	}

	opts.pagerAnchors =  opts.pagerAnchors || [];
	opts.pagerAnchors.push($a);
	
	var pagerFn = function(e) {
		e.preventDefault();
		opts.nextSlide = i;
		var p = opts.$cont[0], timeout = p.cycleTimeout;
		if (timeout) {
			clearTimeout(timeout);
			p.cycleTimeout = 0;
		}
		var cb = opts.onPagerEvent || opts.pagerClick; // pagerClick is deprecated
		if ($.isFunction(cb))
			cb(opts.nextSlide, els[opts.nextSlide]);
		go(els,opts,1,opts.currSlide < i); // trigger the trans
//		return false; // <== allow bubble
	}
	
	if ( /mouseenter|mouseover/i.test(opts.pagerEvent) ) {
		$a.hover(pagerFn, function(){/* no-op */} );
	}
	else {
		$a.bind(opts.pagerEvent, pagerFn);
	}
	
	if ( ! /^click/.test(opts.pagerEvent) && !opts.allowPagerClickBubble)
		$a.bind('click.cycle', function(){return false;}); // suppress click
	
	var cont = opts.$cont[0];
	var pauseFlag = false; // https://github.com/malsup/cycle/issues/44
	if (opts.pauseOnPagerHover) {
		$a.hover(
			function() { 
				pauseFlag = true;
				cont.cyclePause++; 
				triggerPause(cont,true,true);
			}, function() { 
				pauseFlag && cont.cyclePause--; 
				triggerPause(cont,true,true);
			} 
		);
	}
};

// helper fn to calculate the number of slides between the current and the next
$.fn.cycle.hopsFromLast = function(opts, fwd) {
	var hops, l = opts.lastSlide, c = opts.currSlide;
	if (fwd)
		hops = c > l ? c - l : opts.slideCount - l;
	else
		hops = c < l ? l - c : l + opts.slideCount - c;
	return hops;
};

// fix clearType problems in ie6 by setting an explicit bg color
// (otherwise text slides look horrible during a fade transition)
function clearTypeFix($slides) {
	debug('applying clearType background-color hack');
	function hex(s) {
		s = parseInt(s,10).toString(16);
		return s.length < 2 ? '0'+s : s;
	};
	function getBg(e) {
		for ( ; e && e.nodeName.toLowerCase() != 'html'; e = e.parentNode) {
			var v = $.css(e,'background-color');
			if (v && v.indexOf('rgb') >= 0 ) {
				var rgb = v.match(/\d+/g);
				return '#'+ hex(rgb[0]) + hex(rgb[1]) + hex(rgb[2]);
			}
			if (v && v != 'transparent')
				return v;
		}
		return '#ffffff';
	};
	$slides.each(function() { $(this).css('background-color', getBg(this)); });
};

// reset common props before the next transition
$.fn.cycle.commonReset = function(curr,next,opts,w,h,rev) {
	$(opts.elements).not(curr).hide();
	if (typeof opts.cssBefore.opacity == 'undefined')
		opts.cssBefore.opacity = 1;
	opts.cssBefore.display = 'block';
	if (opts.slideResize && w !== false && next.cycleW > 0)
		opts.cssBefore.width = next.cycleW;
	if (opts.slideResize && h !== false && next.cycleH > 0)
		opts.cssBefore.height = next.cycleH;
	opts.cssAfter = opts.cssAfter || {};
	opts.cssAfter.display = 'none';
	$(curr).css('zIndex',opts.slideCount + (rev === true ? 1 : 0));
	$(next).css('zIndex',opts.slideCount + (rev === true ? 0 : 1));
};

// the actual fn for effecting a transition
$.fn.cycle.custom = function(curr, next, opts, cb, fwd, speedOverride) {
	var $l = $(curr), $n = $(next);
	var speedIn = opts.speedIn, speedOut = opts.speedOut, easeIn = opts.easeIn, easeOut = opts.easeOut;
	$n.css(opts.cssBefore);
	if (speedOverride) {
		if (typeof speedOverride == 'number')
			speedIn = speedOut = speedOverride;
		else
			speedIn = speedOut = 1;
		easeIn = easeOut = null;
	}
	var fn = function() {
		$n.animate(opts.animIn, speedIn, easeIn, function() {
			cb();
		});
	};
	$l.animate(opts.animOut, speedOut, easeOut, function() {
		$l.css(opts.cssAfter);
		if (!opts.sync) 
			fn();
	});
	if (opts.sync) fn();
};

// transition definitions - only fade is defined here, transition pack defines the rest
$.fn.cycle.transitions = {
	fade: function($cont, $slides, opts) {
		$slides.not(':eq('+opts.currSlide+')').css('opacity',0);
		opts.before.push(function(curr,next,opts) {
			$.fn.cycle.commonReset(curr,next,opts);
			opts.cssBefore.opacity = 0;
		});
		opts.animIn	   = { opacity: 1 };
		opts.animOut   = { opacity: 0 };
		opts.cssBefore = { top: 0, left: 0 };
	}
};

$.fn.cycle.ver = function() { return ver; };

// override these globally if you like (they are all optional)
$.fn.cycle.defaults = {
	activePagerClass: 'activeSlide', // class name used for the active pager link
	after:		   null,  // transition callback (scope set to element that was shown):  function(currSlideElement, nextSlideElement, options, forwardFlag)
	allowPagerClickBubble: false, // allows or prevents click event on pager anchors from bubbling
	animIn:		   null,  // properties that define how the slide animates in
	animOut:	   null,  // properties that define how the slide animates out
	aspect:		   false,  // preserve aspect ratio during fit resizing, cropping if necessary (must be used with fit option)
	autostop:	   0,	  // true to end slideshow after X transitions (where X == slide count)
	autostopCount: 0,	  // number of transitions (optionally used with autostop to define X)
	backwards:     false, // true to start slideshow at last slide and move backwards through the stack
	before:		   null,  // transition callback (scope set to element to be shown):	 function(currSlideElement, nextSlideElement, options, forwardFlag)
	center: 	   null,  // set to true to have cycle add top/left margin to each slide (use with width and height options)
	cleartype:	   !$.support.opacity,  // true if clearType corrections should be applied (for IE)
	cleartypeNoBg: false, // set to true to disable extra cleartype fixing (leave false to force background color setting on slides)
	containerResize: 1,	  // resize container to fit largest slide
	continuous:	   0,	  // true to start next transition immediately after current one completes
	cssAfter:	   null,  // properties that defined the state of the slide after transitioning out
	cssBefore:	   null,  // properties that define the initial state of the slide before transitioning in
	delay:		   0,	  // additional delay (in ms) for first transition (hint: can be negative)
	easeIn:		   null,  // easing for "in" transition
	easeOut:	   null,  // easing for "out" transition
	easing:		   null,  // easing method for both in and out transitions
	end:		   null,  // callback invoked when the slideshow terminates (use with autostop or nowrap options): function(options)
	fastOnEvent:   0,	  // force fast transitions when triggered manually (via pager or prev/next); value == time in ms
	fit:		   0,	  // force slides to fit container
	fx:			  'fade', // name of transition effect (or comma separated names, ex: 'fade,scrollUp,shuffle')
	fxFn:		   null,  // function used to control the transition: function(currSlideElement, nextSlideElement, options, afterCalback, forwardFlag)
	height:		  'auto', // container height (if the 'fit' option is true, the slides will be set to this height as well)
	manualTrump:   true,  // causes manual transition to stop an active transition instead of being ignored
	metaAttr:     'cycle',// data- attribute that holds the option data for the slideshow
	next:		   null,  // element, jQuery object, or jQuery selector string for the element to use as event trigger for next slide
	nowrap:		   0,	  // true to prevent slideshow from wrapping
	onPagerEvent:  null,  // callback fn for pager events: function(zeroBasedSlideIndex, slideElement)
	onPrevNextEvent: null,// callback fn for prev/next events: function(isNext, zeroBasedSlideIndex, slideElement)
	pager:		   null,  // element, jQuery object, or jQuery selector string for the element to use as pager container
	pagerAnchorBuilder: null, // callback fn for building anchor links:  function(index, DOMelement)
	pagerEvent:	  'click.cycle', // name of event which drives the pager navigation
	pause:		   0,	  // true to enable "pause on hover"
	pauseOnPagerHover: 0, // true to pause when hovering over pager link
	prev:		   null,  // element, jQuery object, or jQuery selector string for the element to use as event trigger for previous slide
	prevNextEvent:'click.cycle',// event which drives the manual transition to the previous or next slide
	random:		   0,	  // true for random, false for sequence (not applicable to shuffle fx)
	randomizeEffects: 1,  // valid when multiple effects are used; true to make the effect sequence random
	requeueOnImageNotLoaded: true, // requeue the slideshow if any image slides are not yet loaded
	requeueTimeout: 250,  // ms delay for requeue
	rev:		   0,	  // causes animations to transition in reverse (for effects that support it such as scrollHorz/scrollVert/shuffle)
	shuffle:	   null,  // coords for shuffle animation, ex: { top:15, left: 200 }
	skipInitializationCallbacks: false, // set to true to disable the first before/after callback that occurs prior to any transition
	slideExpr:	   null,  // expression for selecting slides (if something other than all children is required)
	slideResize:   1,     // force slide width/height to fixed size before every transition
	speed:		   1000,  // speed of the transition (any valid fx speed value)
	speedIn:	   null,  // speed of the 'in' transition
	speedOut:	   null,  // speed of the 'out' transition
	startingSlide: 0,	  // zero-based index of the first slide to be displayed
	sync:		   1,	  // true if in/out transitions should occur simultaneously
	timeout:	   4000,  // milliseconds between slide transitions (0 to disable auto advance)
	timeoutFn:     null,  // callback for determining per-slide timeout value:  function(currSlideElement, nextSlideElement, options, forwardFlag)
	updateActivePagerLink: null, // callback fn invoked to update the active pager link (adds/removes activePagerClass style)
	width:         null   // container width (if the 'fit' option is true, the slides will be set to this width as well)
};

})(jQuery);


/*!
 * jQuery Cycle Plugin Transition Definitions
 * This script is a plugin for the jQuery Cycle Plugin
 * Examples and documentation at: http://malsup.com/jquery/cycle/
 * Copyright (c) 2007-2010 M. Alsup
 * Version:	 2.73
 * Dual licensed under the MIT and GPL licenses:
 * http://www.opensource.org/licenses/mit-license.php
 * http://www.gnu.org/licenses/gpl.html
 */
(function($) {

//
// These functions define slide initialization and properties for the named
// transitions. To save file size feel free to remove any of these that you
// don't need.
//
$.fn.cycle.transitions.none = function($cont, $slides, opts) {
	opts.fxFn = function(curr,next,opts,after){
		$(next).show();
		$(curr).hide();
		after();
	};
};

// not a cross-fade, fadeout only fades out the top slide
$.fn.cycle.transitions.fadeout = function($cont, $slides, opts) {
	$slides.not(':eq('+opts.currSlide+')').css({ display: 'block', 'opacity': 1 });
	opts.before.push(function(curr,next,opts,w,h,rev) {
		$(curr).css('zIndex',opts.slideCount + (!rev === true ? 1 : 0));
		$(next).css('zIndex',opts.slideCount + (!rev === true ? 0 : 1));
	});
	opts.animIn.opacity = 1;
	opts.animOut.opacity = 0;
	opts.cssBefore.opacity = 1;
	opts.cssBefore.display = 'block';
	opts.cssAfter.zIndex = 0;
};

// scrollUp/Down/Left/Right
$.fn.cycle.transitions.scrollUp = function($cont, $slides, opts) {
	$cont.css('overflow','hidden');
	opts.before.push($.fn.cycle.commonReset);
	var h = $cont.height();
	opts.cssBefore.top = h;
	opts.cssBefore.left = 0;
	opts.cssFirst.top = 0;
	opts.animIn.top = 0;
	opts.animOut.top = -h;
};
$.fn.cycle.transitions.scrollDown = function($cont, $slides, opts) {
	$cont.css('overflow','hidden');
	opts.before.push($.fn.cycle.commonReset);
	var h = $cont.height();
	opts.cssFirst.top = 0;
	opts.cssBefore.top = -h;
	opts.cssBefore.left = 0;
	opts.animIn.top = 0;
	opts.animOut.top = h;
};
$.fn.cycle.transitions.scrollLeft = function($cont, $slides, opts) {
	$cont.css('overflow','hidden');
	opts.before.push($.fn.cycle.commonReset);
	var w = $cont.width();
	opts.cssFirst.left = 0;
	opts.cssBefore.left = w;
	opts.cssBefore.top = 0;
	opts.animIn.left = 0;
	opts.animOut.left = 0-w;
};
$.fn.cycle.transitions.scrollRight = function($cont, $slides, opts) {
	$cont.css('overflow','hidden');
	opts.before.push($.fn.cycle.commonReset);
	var w = $cont.width();
	opts.cssFirst.left = 0;
	opts.cssBefore.left = -w;
	opts.cssBefore.top = 0;
	opts.animIn.left = 0;
	opts.animOut.left = w;
};
$.fn.cycle.transitions.scrollHorz = function($cont, $slides, opts) {
	$cont.css('overflow','hidden').width();
	opts.before.push(function(curr, next, opts, fwd) {
		if (opts.rev)
			fwd = !fwd;
		$.fn.cycle.commonReset(curr,next,opts);
		opts.cssBefore.left = fwd ? (next.cycleW-1) : (1-next.cycleW);
		opts.animOut.left = fwd ? -curr.cycleW : curr.cycleW;
	});
	opts.cssFirst.left = 0;
	opts.cssBefore.top = 0;
	opts.animIn.left = 0;
	opts.animOut.top = 0;
};
$.fn.cycle.transitions.scrollVert = function($cont, $slides, opts) {
	$cont.css('overflow','hidden');
	opts.before.push(function(curr, next, opts, fwd) {
		if (opts.rev)
			fwd = !fwd;
		$.fn.cycle.commonReset(curr,next,opts);
		opts.cssBefore.top = fwd ? (1-next.cycleH) : (next.cycleH-1);
		opts.animOut.top = fwd ? curr.cycleH : -curr.cycleH;
	});
	opts.cssFirst.top = 0;
	opts.cssBefore.left = 0;
	opts.animIn.top = 0;
	opts.animOut.left = 0;
};

// slideX/slideY
$.fn.cycle.transitions.slideX = function($cont, $slides, opts) {
	opts.before.push(function(curr, next, opts) {
		$(opts.elements).not(curr).hide();
		$.fn.cycle.commonReset(curr,next,opts,false,true);
		opts.animIn.width = next.cycleW;
	});
	opts.cssBefore.left = 0;
	opts.cssBefore.top = 0;
	opts.cssBefore.width = 0;
	opts.animIn.width = 'show';
	opts.animOut.width = 0;
};
$.fn.cycle.transitions.slideY = function($cont, $slides, opts) {
	opts.before.push(function(curr, next, opts) {
		$(opts.elements).not(curr).hide();
		$.fn.cycle.commonReset(curr,next,opts,true,false);
		opts.animIn.height = next.cycleH;
	});
	opts.cssBefore.left = 0;
	opts.cssBefore.top = 0;
	opts.cssBefore.height = 0;
	opts.animIn.height = 'show';
	opts.animOut.height = 0;
};

// shuffle
$.fn.cycle.transitions.shuffle = function($cont, $slides, opts) {
	var i, w = $cont.css('overflow', 'visible').width();
	$slides.css({left: 0, top: 0});
	opts.before.push(function(curr,next,opts) {
		$.fn.cycle.commonReset(curr,next,opts,true,true,true);
	});
	// only adjust speed once!
	if (!opts.speedAdjusted) {
		opts.speed = opts.speed / 2; // shuffle has 2 transitions
		opts.speedAdjusted = true;
	}
	opts.random = 0;
	opts.shuffle = opts.shuffle || {left:-w, top:15};
	opts.els = [];
	for (i=0; i < $slides.length; i++)
		opts.els.push($slides[i]);

	for (i=0; i < opts.currSlide; i++)
		opts.els.push(opts.els.shift());

	// custom transition fn (hat tip to Benjamin Sterling for this bit of sweetness!)
	opts.fxFn = function(curr, next, opts, cb, fwd) {
		if (opts.rev)
			fwd = !fwd;
		var $el = fwd ? $(curr) : $(next);
		$(next).css(opts.cssBefore);
		var count = opts.slideCount;
		$el.animate(opts.shuffle, opts.speedIn, opts.easeIn, function() {
			var hops = $.fn.cycle.hopsFromLast(opts, fwd);
			for (var k=0; k < hops; k++)
				fwd ? opts.els.push(opts.els.shift()) : opts.els.unshift(opts.els.pop());
			if (fwd) {
				for (var i=0, len=opts.els.length; i < len; i++)
					$(opts.els[i]).css('z-index', len-i+count);
			}
			else {
				var z = $(curr).css('z-index');
				$el.css('z-index', parseInt(z,10)+1+count);
			}
			$el.animate({left:0, top:0}, opts.speedOut, opts.easeOut, function() {
				$(fwd ? this : curr).hide();
				if (cb) cb();
			});
		});
	};
	$.extend(opts.cssBefore, { display: 'block', opacity: 1, top: 0, left: 0 });
};

// turnUp/Down/Left/Right
$.fn.cycle.transitions.turnUp = function($cont, $slides, opts) {
	opts.before.push(function(curr, next, opts) {
		$.fn.cycle.commonReset(curr,next,opts,true,false);
		opts.cssBefore.top = next.cycleH;
		opts.animIn.height = next.cycleH;
		opts.animOut.width = next.cycleW;
	});
	opts.cssFirst.top = 0;
	opts.cssBefore.left = 0;
	opts.cssBefore.height = 0;
	opts.animIn.top = 0;
	opts.animOut.height = 0;
};
$.fn.cycle.transitions.turnDown = function($cont, $slides, opts) {
	opts.before.push(function(curr, next, opts) {
		$.fn.cycle.commonReset(curr,next,opts,true,false);
		opts.animIn.height = next.cycleH;
		opts.animOut.top   = curr.cycleH;
	});
	opts.cssFirst.top = 0;
	opts.cssBefore.left = 0;
	opts.cssBefore.top = 0;
	opts.cssBefore.height = 0;
	opts.animOut.height = 0;
};
$.fn.cycle.transitions.turnLeft = function($cont, $slides, opts) {
	opts.before.push(function(curr, next, opts) {
		$.fn.cycle.commonReset(curr,next,opts,false,true);
		opts.cssBefore.left = next.cycleW;
		opts.animIn.width = next.cycleW;
	});
	opts.cssBefore.top = 0;
	opts.cssBefore.width = 0;
	opts.animIn.left = 0;
	opts.animOut.width = 0;
};
$.fn.cycle.transitions.turnRight = function($cont, $slides, opts) {
	opts.before.push(function(curr, next, opts) {
		$.fn.cycle.commonReset(curr,next,opts,false,true);
		opts.animIn.width = next.cycleW;
		opts.animOut.left = curr.cycleW;
	});
	$.extend(opts.cssBefore, { top: 0, left: 0, width: 0 });
	opts.animIn.left = 0;
	opts.animOut.width = 0;
};

// zoom
$.fn.cycle.transitions.zoom = function($cont, $slides, opts) {
	opts.before.push(function(curr, next, opts) {
		$.fn.cycle.commonReset(curr,next,opts,false,false,true);
		opts.cssBefore.top = next.cycleH/2;
		opts.cssBefore.left = next.cycleW/2;
		$.extend(opts.animIn, { top: 0, left: 0, width: next.cycleW, height: next.cycleH });
		$.extend(opts.animOut, { width: 0, height: 0, top: curr.cycleH/2, left: curr.cycleW/2 });
	});
	opts.cssFirst.top = 0;
	opts.cssFirst.left = 0;
	opts.cssBefore.width = 0;
	opts.cssBefore.height = 0;
};

// fadeZoom
$.fn.cycle.transitions.fadeZoom = function($cont, $slides, opts) {
	opts.before.push(function(curr, next, opts) {
		$.fn.cycle.commonReset(curr,next,opts,false,false);
		opts.cssBefore.left = next.cycleW/2;
		opts.cssBefore.top = next.cycleH/2;
		$.extend(opts.animIn, { top: 0, left: 0, width: next.cycleW, height: next.cycleH });
	});
	opts.cssBefore.width = 0;
	opts.cssBefore.height = 0;
	opts.animOut.opacity = 0;
};

// blindX
$.fn.cycle.transitions.blindX = function($cont, $slides, opts) {
	var w = $cont.css('overflow','hidden').width();
	opts.before.push(function(curr, next, opts) {
		$.fn.cycle.commonReset(curr,next,opts);
		opts.animIn.width = next.cycleW;
		opts.animOut.left   = curr.cycleW;
	});
	opts.cssBefore.left = w;
	opts.cssBefore.top = 0;
	opts.animIn.left = 0;
	opts.animOut.left = w;
};
// blindY
$.fn.cycle.transitions.blindY = function($cont, $slides, opts) {
	var h = $cont.css('overflow','hidden').height();
	opts.before.push(function(curr, next, opts) {
		$.fn.cycle.commonReset(curr,next,opts);
		opts.animIn.height = next.cycleH;
		opts.animOut.top   = curr.cycleH;
	});
	opts.cssBefore.top = h;
	opts.cssBefore.left = 0;
	opts.animIn.top = 0;
	opts.animOut.top = h;
};
// blindZ
$.fn.cycle.transitions.blindZ = function($cont, $slides, opts) {
	var h = $cont.css('overflow','hidden').height();
	var w = $cont.width();
	opts.before.push(function(curr, next, opts) {
		$.fn.cycle.commonReset(curr,next,opts);
		opts.animIn.height = next.cycleH;
		opts.animOut.top   = curr.cycleH;
	});
	opts.cssBefore.top = h;
	opts.cssBefore.left = w;
	opts.animIn.top = 0;
	opts.animIn.left = 0;
	opts.animOut.top = h;
	opts.animOut.left = w;
};

// growX - grow horizontally from centered 0 width
$.fn.cycle.transitions.growX = function($cont, $slides, opts) {
	opts.before.push(function(curr, next, opts) {
		$.fn.cycle.commonReset(curr,next,opts,false,true);
		opts.cssBefore.left = this.cycleW/2;
		opts.animIn.left = 0;
		opts.animIn.width = this.cycleW;
		opts.animOut.left = 0;
	});
	opts.cssBefore.top = 0;
	opts.cssBefore.width = 0;
};
// growY - grow vertically from centered 0 height
$.fn.cycle.transitions.growY = function($cont, $slides, opts) {
	opts.before.push(function(curr, next, opts) {
		$.fn.cycle.commonReset(curr,next,opts,true,false);
		opts.cssBefore.top = this.cycleH/2;
		opts.animIn.top = 0;
		opts.animIn.height = this.cycleH;
		opts.animOut.top = 0;
	});
	opts.cssBefore.height = 0;
	opts.cssBefore.left = 0;
};

// curtainX - squeeze in both edges horizontally
$.fn.cycle.transitions.curtainX = function($cont, $slides, opts) {
	opts.before.push(function(curr, next, opts) {
		$.fn.cycle.commonReset(curr,next,opts,false,true,true);
		opts.cssBefore.left = next.cycleW/2;
		opts.animIn.left = 0;
		opts.animIn.width = this.cycleW;
		opts.animOut.left = curr.cycleW/2;
		opts.animOut.width = 0;
	});
	opts.cssBefore.top = 0;
	opts.cssBefore.width = 0;
};
// curtainY - squeeze in both edges vertically
$.fn.cycle.transitions.curtainY = function($cont, $slides, opts) {
	opts.before.push(function(curr, next, opts) {
		$.fn.cycle.commonReset(curr,next,opts,true,false,true);
		opts.cssBefore.top = next.cycleH/2;
		opts.animIn.top = 0;
		opts.animIn.height = next.cycleH;
		opts.animOut.top = curr.cycleH/2;
		opts.animOut.height = 0;
	});
	opts.cssBefore.height = 0;
	opts.cssBefore.left = 0;
};

// cover - curr slide covered by next slide
$.fn.cycle.transitions.cover = function($cont, $slides, opts) {
	var d = opts.direction || 'left';
	var w = $cont.css('overflow','hidden').width();
	var h = $cont.height();
	opts.before.push(function(curr, next, opts) {
		$.fn.cycle.commonReset(curr,next,opts);
		if (d == 'right')
			opts.cssBefore.left = -w;
		else if (d == 'up')
			opts.cssBefore.top = h;
		else if (d == 'down')
			opts.cssBefore.top = -h;
		else
			opts.cssBefore.left = w;
	});
	opts.animIn.left = 0;
	opts.animIn.top = 0;
	opts.cssBefore.top = 0;
	opts.cssBefore.left = 0;
};

// uncover - curr slide moves off next slide
$.fn.cycle.transitions.uncover = function($cont, $slides, opts) {
	var d = opts.direction || 'left';
	var w = $cont.css('overflow','hidden').width();
	var h = $cont.height();
	opts.before.push(function(curr, next, opts) {
		$.fn.cycle.commonReset(curr,next,opts,true,true,true);
		if (d == 'right')
			opts.animOut.left = w;
		else if (d == 'up')
			opts.animOut.top = -h;
		else if (d == 'down')
			opts.animOut.top = h;
		else
			opts.animOut.left = -w;
	});
	opts.animIn.left = 0;
	opts.animIn.top = 0;
	opts.cssBefore.top = 0;
	opts.cssBefore.left = 0;
};

// toss - move top slide and fade away
$.fn.cycle.transitions.toss = function($cont, $slides, opts) {
	var w = $cont.css('overflow','visible').width();
	var h = $cont.height();
	opts.before.push(function(curr, next, opts) {
		$.fn.cycle.commonReset(curr,next,opts,true,true,true);
		// provide default toss settings if animOut not provided
		if (!opts.animOut.left && !opts.animOut.top)
			$.extend(opts.animOut, { left: w*2, top: -h/2, opacity: 0 });
		else
			opts.animOut.opacity = 0;
	});
	opts.cssBefore.left = 0;
	opts.cssBefore.top = 0;
	opts.animIn.left = 0;
};

// wipe - clip animation
$.fn.cycle.transitions.wipe = function($cont, $slides, opts) {
	var w = $cont.css('overflow','hidden').width();
	var h = $cont.height();
	opts.cssBefore = opts.cssBefore || {};
	var clip;
	if (opts.clip) {
		if (/l2r/.test(opts.clip))
			clip = 'rect(0px 0px '+h+'px 0px)';
		else if (/r2l/.test(opts.clip))
			clip = 'rect(0px '+w+'px '+h+'px '+w+'px)';
		else if (/t2b/.test(opts.clip))
			clip = 'rect(0px '+w+'px 0px 0px)';
		else if (/b2t/.test(opts.clip))
			clip = 'rect('+h+'px '+w+'px '+h+'px 0px)';
		else if (/zoom/.test(opts.clip)) {
			var top = parseInt(h/2,10);
			var left = parseInt(w/2,10);
			clip = 'rect('+top+'px '+left+'px '+top+'px '+left+'px)';
		}
	}

	opts.cssBefore.clip = opts.cssBefore.clip || clip || 'rect(0px 0px 0px 0px)';

	var d = opts.cssBefore.clip.match(/(\d+)/g);
	var t = parseInt(d[0],10), r = parseInt(d[1],10), b = parseInt(d[2],10), l = parseInt(d[3],10);

	opts.before.push(function(curr, next, opts) {
		if (curr == next) return;
		var $curr = $(curr), $next = $(next);
		$.fn.cycle.commonReset(curr,next,opts,true,true,false);
		opts.cssAfter.display = 'block';

		var step = 1, count = parseInt((opts.speedIn / 13),10) - 1;
		(function f() {
			var tt = t ? t - parseInt(step * (t/count),10) : 0;
			var ll = l ? l - parseInt(step * (l/count),10) : 0;
			var bb = b < h ? b + parseInt(step * ((h-b)/count || 1),10) : h;
			var rr = r < w ? r + parseInt(step * ((w-r)/count || 1),10) : w;
			$next.css({ clip: 'rect('+tt+'px '+rr+'px '+bb+'px '+ll+'px)' });
			(step++ <= count) ? setTimeout(f, 13) : $curr.css('display', 'none');
		})();
	});
	$.extend(opts.cssBefore, { display: 'block', opacity: 1, top: 0, left: 0 });
	opts.animIn	   = { left: 0 };
	opts.animOut   = { left: 0 };
};

})(jQuery);

/* -------------------- */
/**
 * jQuery Masonry v2.0.110901
 * A dynamic layout plugin for jQuery
 * The flip-side of CSS Floats
 * http://masonry.desandro.com
 *
 * Licensed under the MIT license.
 * Copyright 2011 David DeSandro
 */
(function(a,b,c){var d=b.event,e;d.special.smartresize={setup:function(){b(this).bind("resize",d.special.smartresize.handler)},teardown:function(){b(this).unbind("resize",d.special.smartresize.handler)},handler:function(a,b){var c=this,d=arguments;a.type="smartresize",e&&clearTimeout(e),e=setTimeout(function(){jQuery.event.handle.apply(c,d)},b==="execAsap"?0:100)}},b.fn.smartresize=function(a){return a?this.bind("smartresize",a):this.trigger("smartresize",["execAsap"])},b.Mason=function(a,c){this.element=b(c),this._create(a),this._init()};var f=["position","height"];b.Mason.settings={isResizable:!0,isAnimated:!1,animationOptions:{queue:!1,duration:500},gutterWidth:0,isRTL:!1,isFitWidth:!1},b.Mason.prototype={_filterFindBricks:function(a){var b=this.options.itemSelector;return b?a.filter(b).add(a.find(b)):a},_getBricks:function(a){var b=this._filterFindBricks(a).css({position:"absolute"}).addClass("masonry-brick");return b},_create:function(c){this.options=b.extend(!0,{},b.Mason.settings,c),this.styleQueue=[],this.reloadItems();var d=this.element[0].style;this.originalStyle={};for(var e=0,g=f.length;e<g;e++){var h=f[e];this.originalStyle[h]=d[h]||""}this.element.css({position:"relative"}),this.horizontalDirection=this.options.isRTL?"right":"left",this.offset={};var i=b(document.createElement("div"));this.element.prepend(i),this.offset.y=Math.round(i.position().top),this.options.isRTL?(i.css({"float":"right",display:"inline-block"}),this.offset.x=Math.round(this.element.outerWidth()-i.position().left)):this.offset.x=Math.round(i.position().left),i.remove();var j=this;setTimeout(function(){j.element.addClass("masonry")},0),this.options.isResizable&&b(a).bind("smartresize.masonry",function(){j.resize()})},_init:function(a){this._getColumns("masonry"),this._reLayout(a)},option:function(a,c){b.isPlainObject(a)&&(this.options=b.extend(!0,this.options,a))},layout:function(a,c){var d,e,f,g,h,i;for(var j=0,k=a.length;j<k;j++){d=b(a[j]),e=Math.ceil(d.outerWidth(!0)/this.columnWidth),e=Math.min(e,this.cols);if(e===1)this._placeBrick(d,this.colYs);else{f=this.cols+1-e,g=[];for(i=0;i<f;i++)h=this.colYs.slice(i,i+e),g[i]=Math.max.apply(Math,h);this._placeBrick(d,g)}}var l={};l.height=Math.max.apply(Math,this.colYs)-this.offset.y,this.options.isFitWidth&&(l.width=this.cols*this.columnWidth-this.options.gutterWidth),this.styleQueue.push({$el:this.element,style:l});var m=this.isLaidOut?this.options.isAnimated?"animate":"css":"css",n=this.options.animationOptions,o;for(j=0,k=this.styleQueue.length;j<k;j++)o=this.styleQueue[j],o.$el[m](o.style,n);this.styleQueue=[],c&&c.call(a),this.isLaidOut=!0},_getColumns:function(){var a=this.options.isFitWidth?this.element.parent():this.element,b=a.width();this.columnWidth=this.options.columnWidth||this.$bricks.outerWidth(!0)||b,this.columnWidth+=this.options.gutterWidth,this.cols=Math.floor((b+this.options.gutterWidth)/this.columnWidth),this.cols=Math.max(this.cols,1)},_placeBrick:function(a,b){var c=Math.min.apply(Math,b),d=0;for(var e=0,f=b.length;e<f;e++)if(b[e]===c){d=e;break}var g={top:c};g[this.horizontalDirection]=this.columnWidth*d+this.offset.x,this.styleQueue.push({$el:a,style:g});var h=c+a.outerHeight(!0),i=this.cols+1-f;for(e=0;e<i;e++)this.colYs[d+e]=h},resize:function(){var a=this.cols;this._getColumns("masonry"),this.cols!==a&&this._reLayout()},_reLayout:function(a){var b=this.cols;this.colYs=[];while(b--)this.colYs.push(this.offset.y);this.layout(this.$bricks,a)},reloadItems:function(){this.$bricks=this._getBricks(this.element.children())},reload:function(a){this.reloadItems(),this._init(a)},appended:function(a,b,c){if(b){this._filterFindBricks(a).css({top:this.element.height()});var d=this;setTimeout(function(){d._appended(a,c)},1)}else this._appended(a,c)},_appended:function(a,b){var c=this._getBricks(a);this.$bricks=this.$bricks.add(c),this.layout(c,b)},remove:function(a){this.$bricks=this.$bricks.not(a),a.remove()},destroy:function(){this.$bricks.removeClass("masonry-brick").each(function(){this.style.position="",this.style.top="",this.style.left=""});var c=this.element[0].style;for(var d=0,e=f.length;d<e;d++){var g=f[d];c[g]=this.originalStyle[g]}this.element.unbind(".masonry").removeClass("masonry").removeData("masonry"),b(a).unbind(".masonry")}},b.fn.imagesLoaded=function(a){function h(){--e<=0&&this.src!==f&&(setTimeout(g),d.unbind("load error",h))}function g(){a.call(b,d)}var b=this,d=b.find("img").add(b.filter("img")),e=d.length,f="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ywAAAAAAQABAAACAUwAOw==";e||g(),d.bind("load error",h).each(function(){if(this.complete||this.complete===c){var a=this.src;this.src=f,this.src=a}});return b};var g=function(a){this.console&&console.error(a)};b.fn.masonry=function(a){if(typeof a=="string"){var c=Array.prototype.slice.call(arguments,1);this.each(function(){var d=b.data(this,"masonry");if(!d)g("cannot call methods on masonry prior to initialization; attempted to call method '"+a+"'");else{if(!b.isFunction(d[a])||a.charAt(0)==="_"){g("no such method '"+a+"' for masonry instance");return}d[a].apply(d,c)}})}else this.each(function(){var c=b.data(this,"masonry");c?(c.option(a||{}),c._init()):b.data(this,"masonry",new b.Mason(a,this))});return this}})(window,jQuery);

