﻿/*	SWFObject v2.2 <http://code.google.com/p/swfobject/> 
	is released under the MIT License <http://www.opensource.org/licenses/mit-license.php> 
*/
var swfobject=function(){var D="undefined",r="object",S="Shockwave Flash",W="ShockwaveFlash.ShockwaveFlash",q="application/x-shockwave-flash",R="SWFObjectExprInst",x="onreadystatechange",O=window,j=document,t=navigator,T=false,U=[h],o=[],N=[],I=[],l,Q,E,B,J=false,a=false,n,G,m=true,M=function(){var aa=typeof j.getElementById!=D&&typeof j.getElementsByTagName!=D&&typeof j.createElement!=D,ah=t.userAgent.toLowerCase(),Y=t.platform.toLowerCase(),ae=Y?/win/.test(Y):/win/.test(ah),ac=Y?/mac/.test(Y):/mac/.test(ah),af=/webkit/.test(ah)?parseFloat(ah.replace(/^.*webkit\/(\d+(\.\d+)?).*$/,"$1")):false,X=!+"\v1",ag=[0,0,0],ab=null;if(typeof t.plugins!=D&&typeof t.plugins[S]==r){ab=t.plugins[S].description;if(ab&&!(typeof t.mimeTypes!=D&&t.mimeTypes[q]&&!t.mimeTypes[q].enabledPlugin)){T=true;X=false;ab=ab.replace(/^.*\s+(\S+\s+\S+$)/,"$1");ag[0]=parseInt(ab.replace(/^(.*)\..*$/,"$1"),10);ag[1]=parseInt(ab.replace(/^.*\.(.*)\s.*$/,"$1"),10);ag[2]=/[a-zA-Z]/.test(ab)?parseInt(ab.replace(/^.*[a-zA-Z]+(.*)$/,"$1"),10):0}}else{if(typeof O.ActiveXObject!=D){try{var ad=new ActiveXObject(W);if(ad){ab=ad.GetVariable("$version");if(ab){X=true;ab=ab.split(" ")[1].split(",");ag=[parseInt(ab[0],10),parseInt(ab[1],10),parseInt(ab[2],10)]}}}catch(Z){}}}return{w3:aa,pv:ag,wk:af,ie:X,win:ae,mac:ac}}(),k=function(){if(!M.w3){return}if((typeof j.readyState!=D&&j.readyState=="complete")||(typeof j.readyState==D&&(j.getElementsByTagName("body")[0]||j.body))){f()}if(!J){if(typeof j.addEventListener!=D){j.addEventListener("DOMContentLoaded",f,false)}if(M.ie&&M.win){j.attachEvent(x,function(){if(j.readyState=="complete"){j.detachEvent(x,arguments.callee);f()}});if(O==top){(function(){if(J){return}try{j.documentElement.doScroll("left")}catch(X){setTimeout(arguments.callee,0);return}f()})()}}if(M.wk){(function(){if(J){return}if(!/loaded|complete/.test(j.readyState)){setTimeout(arguments.callee,0);return}f()})()}s(f)}}();function f(){if(J){return}try{var Z=j.getElementsByTagName("body")[0].appendChild(C("span"));Z.parentNode.removeChild(Z)}catch(aa){return}J=true;var X=U.length;for(var Y=0;Y<X;Y++){U[Y]()}}function K(X){if(J){X()}else{U[U.length]=X}}function s(Y){if(typeof O.addEventListener!=D){O.addEventListener("load",Y,false)}else{if(typeof j.addEventListener!=D){j.addEventListener("load",Y,false)}else{if(typeof O.attachEvent!=D){i(O,"onload",Y)}else{if(typeof O.onload=="function"){var X=O.onload;O.onload=function(){X();Y()}}else{O.onload=Y}}}}}function h(){if(T){V()}else{H()}}function V(){var X=j.getElementsByTagName("body")[0];var aa=C(r);aa.setAttribute("type",q);var Z=X.appendChild(aa);if(Z){var Y=0;(function(){if(typeof Z.GetVariable!=D){var ab=Z.GetVariable("$version");if(ab){ab=ab.split(" ")[1].split(",");M.pv=[parseInt(ab[0],10),parseInt(ab[1],10),parseInt(ab[2],10)]}}else{if(Y<10){Y++;setTimeout(arguments.callee,10);return}}X.removeChild(aa);Z=null;H()})()}else{H()}}function H(){var ag=o.length;if(ag>0){for(var af=0;af<ag;af++){var Y=o[af].id;var ab=o[af].callbackFn;var aa={success:false,id:Y};if(M.pv[0]>0){var ae=c(Y);if(ae){if(F(o[af].swfVersion)&&!(M.wk&&M.wk<312)){w(Y,true);if(ab){aa.success=true;aa.ref=z(Y);ab(aa)}}else{if(o[af].expressInstall&&A()){var ai={};ai.data=o[af].expressInstall;ai.width=ae.getAttribute("width")||"0";ai.height=ae.getAttribute("height")||"0";if(ae.getAttribute("class")){ai.styleclass=ae.getAttribute("class")}if(ae.getAttribute("align")){ai.align=ae.getAttribute("align")}var ah={};var X=ae.getElementsByTagName("param");var ac=X.length;for(var ad=0;ad<ac;ad++){if(X[ad].getAttribute("name").toLowerCase()!="movie"){ah[X[ad].getAttribute("name")]=X[ad].getAttribute("value")}}P(ai,ah,Y,ab)}else{p(ae);if(ab){ab(aa)}}}}}else{w(Y,true);if(ab){var Z=z(Y);if(Z&&typeof Z.SetVariable!=D){aa.success=true;aa.ref=Z}ab(aa)}}}}}function z(aa){var X=null;var Y=c(aa);if(Y&&Y.nodeName=="OBJECT"){if(typeof Y.SetVariable!=D){X=Y}else{var Z=Y.getElementsByTagName(r)[0];if(Z){X=Z}}}return X}function A(){return !a&&F("6.0.65")&&(M.win||M.mac)&&!(M.wk&&M.wk<312)}function P(aa,ab,X,Z){a=true;E=Z||null;B={success:false,id:X};var ae=c(X);if(ae){if(ae.nodeName=="OBJECT"){l=g(ae);Q=null}else{l=ae;Q=X}aa.id=R;if(typeof aa.width==D||(!/%$/.test(aa.width)&&parseInt(aa.width,10)<310)){aa.width="310"}if(typeof aa.height==D||(!/%$/.test(aa.height)&&parseInt(aa.height,10)<137)){aa.height="137"}j.title=j.title.slice(0,47)+" - Flash Player Installation";var ad=M.ie&&M.win?"ActiveX":"PlugIn",ac="MMredirectURL="+O.location.toString().replace(/&/g,"%26")+"&MMplayerType="+ad+"&MMdoctitle="+j.title;if(typeof ab.flashvars!=D){ab.flashvars+="&"+ac}else{ab.flashvars=ac}if(M.ie&&M.win&&ae.readyState!=4){var Y=C("div");X+="SWFObjectNew";Y.setAttribute("id",X);ae.parentNode.insertBefore(Y,ae);ae.style.display="none";(function(){if(ae.readyState==4){ae.parentNode.removeChild(ae)}else{setTimeout(arguments.callee,10)}})()}u(aa,ab,X)}}function p(Y){if(M.ie&&M.win&&Y.readyState!=4){var X=C("div");Y.parentNode.insertBefore(X,Y);X.parentNode.replaceChild(g(Y),X);Y.style.display="none";(function(){if(Y.readyState==4){Y.parentNode.removeChild(Y)}else{setTimeout(arguments.callee,10)}})()}else{Y.parentNode.replaceChild(g(Y),Y)}}function g(ab){var aa=C("div");if(M.win&&M.ie){aa.innerHTML=ab.innerHTML}else{var Y=ab.getElementsByTagName(r)[0];if(Y){var ad=Y.childNodes;if(ad){var X=ad.length;for(var Z=0;Z<X;Z++){if(!(ad[Z].nodeType==1&&ad[Z].nodeName=="PARAM")&&!(ad[Z].nodeType==8)){aa.appendChild(ad[Z].cloneNode(true))}}}}}return aa}function u(ai,ag,Y){var X,aa=c(Y);if(M.wk&&M.wk<312){return X}if(aa){if(typeof ai.id==D){ai.id=Y}if(M.ie&&M.win){var ah="";for(var ae in ai){if(ai[ae]!=Object.prototype[ae]){if(ae.toLowerCase()=="data"){ag.movie=ai[ae]}else{if(ae.toLowerCase()=="styleclass"){ah+=' class="'+ai[ae]+'"'}else{if(ae.toLowerCase()!="classid"){ah+=" "+ae+'="'+ai[ae]+'"'}}}}}var af="";for(var ad in ag){if(ag[ad]!=Object.prototype[ad]){af+='<param name="'+ad+'" value="'+ag[ad]+'" />'}}aa.outerHTML='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"'+ah+">"+af+"</object>";N[N.length]=ai.id;X=c(ai.id)}else{var Z=C(r);Z.setAttribute("type",q);for(var ac in ai){if(ai[ac]!=Object.prototype[ac]){if(ac.toLowerCase()=="styleclass"){Z.setAttribute("class",ai[ac])}else{if(ac.toLowerCase()!="classid"){Z.setAttribute(ac,ai[ac])}}}}for(var ab in ag){if(ag[ab]!=Object.prototype[ab]&&ab.toLowerCase()!="movie"){e(Z,ab,ag[ab])}}aa.parentNode.replaceChild(Z,aa);X=Z}}return X}function e(Z,X,Y){var aa=C("param");aa.setAttribute("name",X);aa.setAttribute("value",Y);Z.appendChild(aa)}function y(Y){var X=c(Y);if(X&&X.nodeName=="OBJECT"){if(M.ie&&M.win){X.style.display="none";(function(){if(X.readyState==4){b(Y)}else{setTimeout(arguments.callee,10)}})()}else{X.parentNode.removeChild(X)}}}function b(Z){var Y=c(Z);if(Y){for(var X in Y){if(typeof Y[X]=="function"){Y[X]=null}}Y.parentNode.removeChild(Y)}}function c(Z){var X=null;try{X=j.getElementById(Z)}catch(Y){}return X}function C(X){return j.createElement(X)}function i(Z,X,Y){Z.attachEvent(X,Y);I[I.length]=[Z,X,Y]}function F(Z){var Y=M.pv,X=Z.split(".");X[0]=parseInt(X[0],10);X[1]=parseInt(X[1],10)||0;X[2]=parseInt(X[2],10)||0;return(Y[0]>X[0]||(Y[0]==X[0]&&Y[1]>X[1])||(Y[0]==X[0]&&Y[1]==X[1]&&Y[2]>=X[2]))?true:false}function v(ac,Y,ad,ab){if(M.ie&&M.mac){return}var aa=j.getElementsByTagName("head")[0];if(!aa){return}var X=(ad&&typeof ad=="string")?ad:"screen";if(ab){n=null;G=null}if(!n||G!=X){var Z=C("style");Z.setAttribute("type","text/css");Z.setAttribute("media",X);n=aa.appendChild(Z);if(M.ie&&M.win&&typeof j.styleSheets!=D&&j.styleSheets.length>0){n=j.styleSheets[j.styleSheets.length-1]}G=X}if(M.ie&&M.win){if(n&&typeof n.addRule==r){n.addRule(ac,Y)}}else{if(n&&typeof j.createTextNode!=D){n.appendChild(j.createTextNode(ac+" {"+Y+"}"))}}}function w(Z,X){if(!m){return}var Y=X?"visible":"hidden";if(J&&c(Z)){c(Z).style.visibility=Y}else{v("#"+Z,"visibility:"+Y)}}function L(Y){var Z=/[\\\"<>\.;]/;var X=Z.exec(Y)!=null;return X&&typeof encodeURIComponent!=D?encodeURIComponent(Y):Y}var d=function(){if(M.ie&&M.win){window.attachEvent("onunload",function(){var ac=I.length;for(var ab=0;ab<ac;ab++){I[ab][0].detachEvent(I[ab][1],I[ab][2])}var Z=N.length;for(var aa=0;aa<Z;aa++){y(N[aa])}for(var Y in M){M[Y]=null}M=null;for(var X in swfobject){swfobject[X]=null}swfobject=null})}}();return{registerObject:function(ab,X,aa,Z){if(M.w3&&ab&&X){var Y={};Y.id=ab;Y.swfVersion=X;Y.expressInstall=aa;Y.callbackFn=Z;o[o.length]=Y;w(ab,false)}else{if(Z){Z({success:false,id:ab})}}},getObjectById:function(X){if(M.w3){return z(X)}},embedSWF:function(ab,ah,ae,ag,Y,aa,Z,ad,af,ac){var X={success:false,id:ah};if(M.w3&&!(M.wk&&M.wk<312)&&ab&&ah&&ae&&ag&&Y){w(ah,false);K(function(){ae+="";ag+="";var aj={};if(af&&typeof af===r){for(var al in af){aj[al]=af[al]}}aj.data=ab;aj.width=ae;aj.height=ag;var am={};if(ad&&typeof ad===r){for(var ak in ad){am[ak]=ad[ak]}}if(Z&&typeof Z===r){for(var ai in Z){if(typeof am.flashvars!=D){am.flashvars+="&"+ai+"="+Z[ai]}else{am.flashvars=ai+"="+Z[ai]}}}if(F(Y)){var an=u(aj,am,ah);if(aj.id==ah){w(ah,true)}X.success=true;X.ref=an}else{if(aa&&A()){aj.data=aa;P(aj,am,ah,ac);return}else{w(ah,true)}}if(ac){ac(X)}})}else{if(ac){ac(X)}}},switchOffAutoHideShow:function(){m=false},ua:M,getFlashPlayerVersion:function(){return{major:M.pv[0],minor:M.pv[1],release:M.pv[2]}},hasFlashPlayerVersion:F,createSWF:function(Z,Y,X){if(M.w3){return u(Z,Y,X)}else{return undefined}},showExpressInstall:function(Z,aa,X,Y){if(M.w3&&A()){P(Z,aa,X,Y)}},removeSWF:function(X){if(M.w3){y(X)}},createCSS:function(aa,Z,Y,X){if(M.w3){v(aa,Z,Y,X)}},addDomLoadEvent:K,addLoadEvent:s,getQueryParamValue:function(aa){var Z=j.location.search||j.location.hash;if(Z){if(/\?/.test(Z)){Z=Z.split("?")[1]}if(aa==null){return L(Z)}var Y=Z.split("&");for(var X=0;X<Y.length;X++){if(Y[X].substring(0,Y[X].indexOf("="))==aa){return L(Y[X].substring((Y[X].indexOf("=")+1)))}}}return""},expressInstallCallback:function(){if(a){var X=c(R);if(X&&l){X.parentNode.replaceChild(l,X);if(Q){w(Q,true);if(M.ie&&M.win){l.style.display="block"}}if(E){E(B)}}a=false}}}}();

// * normalise height * //
(function($) {
    $.fn.normaliseHeight = function() {
        var obj = $(this);
        var h = [];
        var sortNumber = function(a,b){
            return a - b;
        }
        $(obj).each(function(){
            h.push($(this).height());
        });
        h.sort(sortNumber);
        h.reverse();
        $(obj).each(function(){
            $(this).height(h[0]);
        });
    };
})(jQuery);

// *** Accordion ***
// Requires a definitional list with pairs of title and data tags
(function($) {
    
    $.fn.accordion = function(options) {
        var opts = $.extend({}, $.fn.accordion.defaults, options);
        return this.each(function(){
            var dt = $('dt', this); var dd = $('dd', this);
            $(dd).hide();
            $(dt).click(function(){
                var i = $(dt).index($(this));
                if((opts.collapse)&&($(dd).eq(i).is(':visible'))){
                    $(dd).eq(i).toggle();
                    $(dt).eq(i).toggleClass(opts.selectedclass);
                }else{
                    $(dd).hide().eq(i).show();
                    $(dt).removeClass(opts.selectedclass).eq(i).addClass(opts.selectedclass);
                }
            });
        });
    };

    $.fn.accordion.defaults = {
        collapse: true,
        selectedclass: 'selected'
    };

})(jQuery);


// *** Clickable panels ***
// Allows you pass an element that contains an anchor (should be a single anchor but defaults to the first) and passes the click event to the entire element

(function($) {
    
    $.fn.clickpanel = function(options) {
        var opts = $.extend({}, $.fn.clickpanel.defaults, options);
        return this.each(function(){
            $(this).hover(function(){
                $('a', this).addClass('hover');
            },function(){
                $('a', this).removeClass('hover');
            }).click(function(){
                if($('a:eq(0)', this).attr('rel') === opts.rel){
                    window.open($('a:eq(0)', this).attr('href'));return false;
                } else {
                    location.href = $('a:eq(0)', this).attr('href');return false;
                }
            }).css('cursor', opts.cursor);
        });
    };

    $.fn.clickpanel.defaults = {
        cursor: 'pointer',
        rel: 'external'
    };

})(jQuery);


// *** Image Rollover ***
// Expects images to have _off and _on suffix for states - these strings can be altered
(function($) {
    
    $.fn.rollover = function(options) {
        var opts = $.extend({}, $.fn.rollover.defaults, options);
        return this.each(function(){
            $(this).hover(function(){$(this).attr("src", $(this).attr("src").split(opts.strOff).join(opts.strOn))}, function(){$(this).attr("src", $(this).attr("src").split(opts.strOn).join(opts.strOff))});
        });    
    };

    $.fn.rollover.defaults = {
        strOn: '_on',
        strOff: '_off'
    };

})(jQuery);



// *** Rotating content function ***
// the only variable is c a jQuery object of elements to rotate through
// i (current) and j (next) are calculated indices of the objects
// Can be used with a setInterval
function rotate(c){
    var i = $(c).index($(c+":visible")[0]);
    var j = (i+1 == $(c).size()) ? 0 : i +1;
    if ($.browser.msie && ($.browser.version == 6)) {
        $(c+":eq("+i+")").hide();$(c+":eq("+j+")").show();
    } else {
        $(c+":eq("+i+")").fadeOut(600, function(){$(c+":eq("+j+")").fadeIn();});
    }
}

// Get URL parameter
// http://www.netlobo.com/url_query_string_javascript.html
function getUrlParam(name)
{
	name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
	var regexS = "[\\?&]"+name+"=([^&#]*)";
	var regex = new RegExp( regexS );
	var results = regex.exec( window.location.href );
	if( results == null )
		return "";
	else
		return results[1];
}

// Cookie functions

function createCookie (name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)===' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) === 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function eraseCookie(name) {
	createCookie(name,"",-1);
}

$(document).ready(function() {
    $("a[href][rel='external']").attr("target","_blank");
    
    // List even & odd classes
    $('ul,ol').each(function(){
        $('li:even', this).addClass('even');
        $('li:odd', this).addClass('odd');
    });
    
    // Analytics tracker for files, media and internal layers
    $("a[href][rel='file']").attr("target","_blank").click(function(){gaEvent('file',$(this).attr('href'));});
    $("a[href][rel='media']").click(function(){gaEvent('media',$(this).attr('href'));});
    $("a[href][rel='internal']").click(function(){gaEvent('internal',$(this).attr('href'));});
        
    function gaEvent(t,l){
        try {
            pageTracker._trackPageview('/'+t+'/'+l);
        }
        catch (err){
        }
    }
});

// *** Firebug fix ***
if (!window.console || !console.firebug){
    var names = ["log", "debug", "info", "warn", "error", "assert", "dir", "dirxml","group", "groupEnd", "time", "timeEnd", "count", "trace", "profile", "profileEnd"];
    window.console = {};
    for (var i = 0; i < names.length; ++i)
        window.console[names[i]] = function() {}
}

/*
* Copyright (c) 2009 Simo Kinnunen.
* Licensed under the MIT license.
*
* @version 1.01
*/

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 }, textDecoration: function(G, F) { if (!F) { F = this.getStyle(G) } var C = { underline: null, overline: null, "line-through": null }; for (var B = G; B.parentNode && B.parentNode.nodeType == 1; ) { var E = true; for (var D in C) { if (!k(C, D) || C[D]) { continue } if (F.get("textDecoration").indexOf(D) != -1) { C[D] = F.get("color") } E = false } if (E) { break } F = this.getStyle(B = B.parentNode) } return C }, textShadow: j(function(F) { if (F == "none") { return null } var E = [], G = {}, B, C = 0; var D = /(#[a-f0-9]+|[a-z]+\(.*?\)|[a-z]+)|(-?[\d.]+[a-z%]*)|,/ig; while (B = D.exec(F)) { if (B[0] == ",") { E.push(G); G = {}; C = 0 } else { if (B[1]) { G.color = B[1] } else { G[["offX", "offY", "blur"][C++]] = B[2] } } } E.push(G); return E }), textTransform: (function() { var B = { uppercase: function(C) { return C.toUpperCase() }, lowercase: function(C) { return C.toLowerCase() }, capitalize: function(C) { return C.replace(/\b./g, function(D) { return D.toUpperCase() }) } }; return function(E, D) { var C = B[D.get("textTransform")]; return C ? C(E) : E } })(), whiteSpace: (function() { var B = { inline: 1, "inline-block": 1, "run-in": 1 }; return function(E, C, D) { if (B[C.get("display")]) { return E } if (!D.previousSibling) { E = E.replace(/^\s+/, "") } if (!D.nextSibling) { E = E.replace(/\s+$/, "") } return E } })() }; n.ready = (function() { var B = !n.recognizesMedia("all"), E = false; var D = [], H = function() { B = true; for (var K; K = D.shift(); K()) { } }; var I = g("link"), J = g("style"); function C(K) { return K.disabled || G(K.sheet, K.media || "screen") } function G(M, P) { if (!n.recognizesMedia(P || "all")) { return true } if (!M || M.disabled) { return false } try { var Q = M.cssRules, O; if (Q) { search: for (var L = 0, K = Q.length; O = Q[L], L < K; ++L) { switch (O.type) { case 2: break; case 3: if (!G(O.styleSheet, O.media.mediaText)) { return false } break; default: break search } } } } catch (N) { } return true } function F() { if (document.createStyleSheet) { return true } var L, K; for (K = 0; L = I[K]; ++K) { if (L.rel.toLowerCase() == "stylesheet" && !C(L)) { return false } } for (K = 0; L = J[K]; ++K) { if (!C(L)) { return false } } return true } x.ready(function() { if (!E) { E = n.getStyle(document.body).isUsable() } if (B || (E && F())) { H() } else { setTimeout(arguments.callee, 10) } }); return function(K) { if (B) { K() } else { D.push(K) } } })(); function s(C) { var B = this.face = C.face; this.glyphs = C.glyphs; this.w = C.w; this.baseSize = parseInt(B["units-per-em"], 10); this.family = B["font-family"].toLowerCase(); this.weight = B["font-weight"]; this.style = B["font-style"] || "normal"; this.viewBox = (function() { var E = B.bbox.split(/\s+/); var D = { minX: parseInt(E[0], 10), minY: parseInt(E[1], 10), maxX: parseInt(E[2], 10), maxY: parseInt(E[3], 10) }; D.width = D.maxX - D.minX; D.height = D.maxY - D.minY; D.toString = function() { return [this.minX, this.minY, this.width, this.height].join(" ") }; return D })(); this.ascent = -parseInt(B.ascent, 10); this.descent = -parseInt(B.descent, 10); this.height = -this.ascent + this.descent } function f() { var C = {}, B = { oblique: "italic", italic: "oblique" }; this.add = function(D) { (C[D.style] || (C[D.style] = {}))[D.weight] = D }; this.get = function(H, I) { var G = C[H] || C[B[H]] || C.normal || C.italic || C.oblique; if (!G) { return null } I = { normal: 400, bold: 700}[I] || parseInt(I, 10); if (G[I]) { return G[I] } var E = { 1: 1, 99: 0}[I % 100], K = [], F, D; if (E === undefined) { E = I > 400 } if (I == 500) { I = 400 } for (var J in G) { if (!k(G, J)) { continue } J = parseInt(J, 10); if (!F || J < F) { F = J } if (!D || J > D) { D = J } K.push(J) } if (I < F) { I = F } if (I > D) { I = D } K.sort(function(M, L) { return (E ? (M > I && L > I) ? M < L : M > L : (M < I && L < I) ? M > L : M < L) ? -1 : 1 }); return G[K[0]] } } function r() { function D(F, G) { if (F.contains) { return F.contains(G) } return F.compareDocumentPosition(G) & 16 } function B(G) { var F = G.relatedTarget; if (!F || D(this, F)) { return } C(this) } function E(F) { C(this) } function C(F) { setTimeout(function() { m.replace(F, d.get(F).options, true) }, 10) } this.attach = function(F) { if (F.onmouseenter === undefined) { q(F, "mouseover", B); q(F, "mouseout", B) } else { q(F, "mouseenter", E); q(F, "mouseleave", E) } } } function u() { var C = [], D = {}; function B(H) { var E = [], G; for (var F = 0; G = H[F]; ++F) { E[F] = C[D[G]] } return E } this.add = function(F, E) { D[F] = C.push(E) - 1 }; this.repeat = function() { var E = arguments.length ? B(arguments) : C, F; for (var G = 0; F = E[G++]; ) { m.replace(F[0], F[1], true) } } } function A() { var D = {}, B = 0; function C(E) { return E.cufid || (E.cufid = ++B) } this.get = function(E) { var F = C(E); return D[F] || (D[F] = {}) } } function a(B) { var D = {}, C = {}; this.extend = function(E) { for (var F in E) { if (k(E, F)) { D[F] = E[F] } } return this }; this.get = function(E) { return D[E] != undefined ? D[E] : B[E] }; this.getSize = function(F, E) { return C[F] || (C[F] = new n.Size(this.get(F), E)) }; this.isUsable = function() { return !!B } } function q(C, B, D) { if (C.addEventListener) { C.addEventListener(B, D, false) } else { if (C.attachEvent) { C.attachEvent("on" + B, function() { return D.call(C, window.event) }) } } } function v(C, B) { var D = d.get(C); if (D.options) { return C } if (B.hover && B.hoverables[C.nodeName.toLowerCase()]) { b.attach(C) } D.options = B; return C } function j(B) { var C = {}; return function(D) { if (!k(C, D)) { C[D] = B.apply(null, arguments) } return C[D] } } function c(F, E) { var B = n.quotedList(E.get("fontFamily").toLowerCase()), D; for (var C = 0; D = B[C]; ++C) { if (i[D]) { return i[D].get(E.get("fontStyle"), E.get("fontWeight")) } } return null } function g(B) { return document.getElementsByTagName(B) } function k(C, B) { return C.hasOwnProperty(B) } function h() { var B = {}, D, F; for (var E = 0, C = arguments.length; D = arguments[E], E < C; ++E) { for (F in D) { if (k(D, F)) { B[F] = D[F] } } } return B } function o(E, M, C, N, F, D) { var K = document.createDocumentFragment(), H; if (M === "") { return K } var L = N.separate; var I = M.split(p[L]), B = (L == "words"); if (B && t) { if (/^\s/.test(M)) { I.unshift("") } if (/\s$/.test(M)) { I.push("") } } for (var J = 0, G = I.length; J < G; ++J) { H = z[N.engine](E, B ? n.textAlign(I[J], C, J, G) : I[J], C, N, F, D, J < G - 1); if (H) { K.appendChild(H) } } return K } function l(C, J) { var B = n.getStyle(v(C, J)).extend(J); var D = c(C, B), E, H, G, F, I; for (E = C.firstChild; E; E = G) { H = E.nodeType; G = E.nextSibling; if (H == 3) { if (F) { F.appendData(E.data); C.removeChild(E) } else { F = E } if (G) { continue } } if (F) { C.replaceChild(o(D, n.whiteSpace(F.data, B, E), B, J, E, C), F); F = null } if (H == 1 && E.firstChild) { if (/cufon/.test(E.className)) { z[J.engine](D, null, B, J, E, C) } else { arguments.callee(E, J) } } } } var t = " ".split(/\s+/).length == 0; var d = new A(); var b = new r(); var y = new u(); var e = false; var z = {}, i = {}, w = { enableTextDecoration: false, engine: null, forceHitArea: false, hover: false, hoverables: { a: true }, printable: true, selector: (window.Sizzle || (window.jQuery && function(B) { return jQuery(B) }) || (window.dojo && dojo.query) || (window.$$ && function(B) { return $$(B) }) || (window.$ && function(B) { return $(B) }) || (document.querySelectorAll && function(B) { return document.querySelectorAll(B) }) || (window.Ext && Ext.query) || g), separate: "words", textShadow: "none" }; var p = { words: /[^\S\u00a0]+/, characters: "", none: /^/ }; m.now = function() { x.ready(); return m }; m.refresh = function() { y.repeat.apply(y, arguments); return m }; m.registerEngine = function(C, B) { if (!B) { return m } z[C] = B; return m.set("engine", C) }; m.registerFont = function(D) { var B = new s(D), C = B.family; if (!i[C]) { i[C] = new f() } i[C].add(B); return m.set("fontFamily", '"' + C + '"') }; m.replace = function(D, C, B) { C = h(w, C); if (!C.engine) { return m } if (!e) { n.addClass(x.root(), "cufon-active cufon-loading"); n.ready(function() { n.removeClass(x.root(), "cufon-loading") }); e = true } if (C.hover) { C.forceHitArea = true } if (typeof C.textShadow == "string") { C.textShadow = n.textShadow(C.textShadow) } if (typeof C.color == "string" && /^-/.test(C.color)) { C.textGradient = n.gradient(C.color) } if (!B) { y.add(D, arguments) } if (D.nodeType || typeof D == "string") { D = [D] } n.ready(function() { for (var F = 0, E = D.length; F < E; ++F) { var G = D[F]; if (typeof G == "string") { m.replace(C.selector(G), C, true) } else { l(G, C) } } }); return m }; m.set = function(B, C) { w[B] = C; return m }; return m })(); Cufon.registerEngine("canvas", (function() { var b = document.createElement("canvas"); if (!b || !b.getContext || !b.getContext.apply) { return } b = null; var a = Cufon.CSS.supports("display", "inline-block"); var e = !a && (document.compatMode == "BackCompat" || /frameset|transitional/i.test(document.doctype.publicId)); var f = document.createElement("style"); f.type = "text/css"; f.appendChild(document.createTextNode((".cufon-canvas{text-indent:0;}@media screen,projection{.cufon-canvas{display:inline;display:inline-block;position:relative;vertical-align:middle;" + (e ? "" : "font-size:1px;line-height:1px;") + "}.cufon-canvas .cufon-alt{display:-moz-inline-box;display:inline-block;width:0;height:0;overflow:hidden;text-indent:-10000in;}" + (a ? ".cufon-canvas canvas{position:relative;}" : ".cufon-canvas canvas{position:absolute;}") + "}@media print{.cufon-canvas{padding:0;}.cufon-canvas canvas{display:none;}.cufon-canvas .cufon-alt{display:inline;}}").replace(/;/g, "!important;"))); document.getElementsByTagName("head")[0].appendChild(f); function d(p, h) { var n = 0, m = 0; var g = [], o = /([mrvxe])([^a-z]*)/g, k; generate: for (var j = 0; k = o.exec(p); ++j) { var l = k[2].split(","); switch (k[1]) { case "v": g[j] = { m: "bezierCurveTo", a: [n + ~ ~l[0], m + ~ ~l[1], n + ~ ~l[2], m + ~ ~l[3], n += ~ ~l[4], m += ~ ~l[5]] }; break; case "r": g[j] = { m: "lineTo", a: [n += ~ ~l[0], m += ~ ~l[1]] }; break; case "m": g[j] = { m: "moveTo", a: [n = ~ ~l[0], m = ~ ~l[1]] }; break; case "x": g[j] = { m: "closePath" }; break; case "e": break generate } h[g[j].m].apply(h, g[j].a) } return g } function c(m, k) { for (var j = 0, h = m.length; j < h; ++j) { var g = m[j]; k[g.m].apply(k, g.a) } } return function(ah, H, Z, D, L, ai) { var n = (H === null); if (n) { H = L.alt } var J = ah.viewBox; var p = Z.getSize("fontSize", ah.baseSize); var X = Z.get("letterSpacing"); X = (X == "normal") ? 0 : p.convertFrom(parseInt(X, 10)); var K = 0, Y = 0, W = 0, F = 0; var I = D.textShadow, U = []; if (I) { for (var ag = I.length; ag--; ) { var O = I[ag]; var T = p.convertFrom(parseFloat(O.offX)); var R = p.convertFrom(parseFloat(O.offY)); U[ag] = [T, R]; if (R < K) { K = R } if (T > Y) { Y = T } if (R > W) { W = R } if (T < F) { F = T } } } var al = Cufon.CSS.textTransform(H, Z).split(""), B; var o = ah.glyphs, E, r, ac; var h = 0, v, N = []; for (var ag = 0, ae = 0, ab = al.length; ag < ab; ++ag) { E = o[B = al[ag]] || ah.missingGlyph; if (!E) { continue } if (r) { h -= ac = r[B] || 0; N[ae - 1] -= ac } h += v = N[ae++] = ~ ~(E.w || ah.w) + X; r = E.k } if (v === undefined) { return null } Y += J.width - v; F += J.minX; var C, q; if (n) { C = L; q = L.firstChild } else { C = document.createElement("span"); C.className = "cufon cufon-canvas"; C.alt = H; q = document.createElement("canvas"); C.appendChild(q); if (D.printable) { var ad = document.createElement("span"); ad.className = "cufon-alt"; ad.appendChild(document.createTextNode(H)); C.appendChild(ad) } } var am = C.style; var Q = q.style; var m = p.convert(J.height); var ak = Math.ceil(m); var V = ak / m; var P = V * Cufon.CSS.fontStretch(Z.get("fontStretch")); var S = h * P; var aa = Math.ceil(p.convert(S + Y - F)); var t = Math.ceil(p.convert(J.height - K + W)); q.width = aa; q.height = t; Q.width = aa + "px"; Q.height = t + "px"; K += J.minY; Q.top = Math.round(p.convert(K - ah.ascent)) + "px"; Q.left = Math.round(p.convert(F)) + "px"; var A = Math.ceil(p.convert(S)) + "px"; if (a) { am.width = A; am.height = p.convert(ah.height) + "px" } else { am.paddingLeft = A; am.paddingBottom = (p.convert(ah.height) - 1) + "px" } var aj = q.getContext("2d"), M = m / J.height; aj.scale(M, M * V); aj.translate(-F, -K); aj.lineWidth = ah.face["underline-thickness"]; aj.save(); function s(i, g) { aj.strokeStyle = g; aj.beginPath(); aj.moveTo(0, i); aj.lineTo(h, i); aj.stroke() } var u = D.enableTextDecoration ? Cufon.CSS.textDecoration(ai, Z) : {}; if (u.underline) { s(-ah.face["underline-position"], u.underline) } if (u.overline) { s(ah.ascent, u.overline) } function af() { aj.scale(P, 1); for (var x = 0, k = 0, g = al.length; x < g; ++x) { var y = o[al[x]] || ah.missingGlyph; if (!y) { continue } if (y.d) { aj.beginPath(); if (y.code) { c(y.code, aj) } else { y.code = d("m" + y.d, aj) } aj.fill() } aj.translate(N[k++], 0) } aj.restore() } if (I) { for (var ag = I.length; ag--; ) { var O = I[ag]; aj.save(); aj.fillStyle = O.color; aj.translate.apply(aj, U[ag]); af() } } var z = D.textGradient; if (z) { var G = z.stops, w = aj.createLinearGradient(0, J.minY, 0, J.maxY); for (var ag = 0, ab = G.length; ag < ab; ++ag) { w.addColorStop.apply(w, G[ag]) } aj.fillStyle = w } else { aj.fillStyle = Z.get("color") } af(); if (u["line-through"]) { s(-ah.descent, u["line-through"]) } return C } })()); Cufon.registerEngine("vml", (function() { if (!document.namespaces) { return } if (document.namespaces.cvml == null) { document.namespaces.add("cvml", "urn:schemas-microsoft-com:vml") } var b = document.createElement("cvml:shape"); b.style.behavior = "url(#default#VML)"; if (!b.coordsize) { return } b = null; var f = (document.documentMode || 0) < 8; document.write(('<style type="text/css">.cufon-vml-canvas{text-indent:0;}@media screen{cvml\\:shape,cvml\\:rect,cvml\\:fill,cvml\\:shadow{behavior:url(#default#VML);display:block;antialias:true;position:absolute;}.cufon-vml-canvas{position:absolute;text-align:left;}.cufon-vml{display:inline-block;position:relative;vertical-align:' + (f ? "middle" : "text-bottom") + ";}.cufon-vml .cufon-alt{position:absolute;left:-10000in;font-size:1px;}a .cufon-vml{cursor:pointer}}@media print{.cufon-vml *{display:none;}.cufon-vml .cufon-alt{display:inline;}}</style>").replace(/;/g, "!important;")); function c(g, h) { return a(g, /(?:em|ex|%)$|^[a-z-]+$/i.test(h) ? "1em" : h) } function a(j, k) { if (/px$/i.test(k)) { return parseFloat(k) } var i = j.style.left, h = j.runtimeStyle.left; j.runtimeStyle.left = j.currentStyle.left; j.style.left = k.replace("%", "em"); var g = j.style.pixelLeft; j.style.left = i; j.runtimeStyle.left = h; return g } var e = {}; function d(n) { var o = n.id; if (!e[o]) { var l = n.stops, m = document.createElement("cvml:fill"), g = []; m.type = "gradient"; m.angle = 180; m.focus = "0"; m.method = "sigma"; m.color = l[0][1]; for (var i = 1, h = l.length - 1; i < h; ++i) { g.push(l[i][0] * 100 + "% " + l[i][1]) } m.colors = g.join(","); m.color2 = l[h][1]; e[o] = m } return e[o] } return function(ai, J, ac, F, N, aj, aa) { var n = (J === null); if (n) { J = N.alt } var L = ai.viewBox; var p = ac.computedFontSize || (ac.computedFontSize = new Cufon.CSS.Size(c(aj, ac.get("fontSize")) + "px", ai.baseSize)); var Z = ac.computedLSpacing; if (Z == undefined) { Z = ac.get("letterSpacing"); ac.computedLSpacing = Z = (Z == "normal") ? 0 : ~ ~p.convertFrom(a(aj, Z)) } var B, q; if (n) { B = N; q = N.firstChild } else { B = document.createElement("span"); B.className = "cufon cufon-vml"; B.alt = J; q = document.createElement("span"); q.className = "cufon-vml-canvas"; B.appendChild(q); if (F.printable) { var af = document.createElement("span"); af.className = "cufon-alt"; af.appendChild(document.createTextNode(J)); B.appendChild(af) } if (!aa) { B.appendChild(document.createElement("cvml:shape")) } } var ao = B.style; var U = q.style; var h = p.convert(L.height), al = Math.ceil(h); var Y = al / h; var S = Y * Cufon.CSS.fontStretch(ac.get("fontStretch")); var X = L.minX, W = L.minY; U.height = al; U.top = Math.round(p.convert(W - ai.ascent)); U.left = Math.round(p.convert(X)); ao.height = p.convert(ai.height) + "px"; var u = F.enableTextDecoration ? Cufon.CSS.textDecoration(aj, ac) : {}; var I = ac.get("color"); var an = Cufon.CSS.textTransform(J, ac).split(""), A; var o = ai.glyphs, G, r, ae; var g = 0, O = [], V = 0, w; var y, K = F.textShadow; for (var ah = 0, ag = 0, ad = an.length; ah < ad; ++ah) { G = o[A = an[ah]] || ai.missingGlyph; if (!G) { continue } if (r) { g -= ae = r[A] || 0; O[ag - 1] -= ae } g += w = O[ag++] = ~ ~(G.w || ai.w) + Z; r = G.k } if (w === undefined) { return null } var z = -X + g + (L.width - w); var am = p.convert(z * S), ab = Math.round(am); var R = z + "," + L.height, m; var M = "r" + R + "ns"; var x = F.textGradient && d(F.textGradient); for (ah = 0, ag = 0; ah < ad; ++ah) { G = o[an[ah]] || ai.missingGlyph; if (!G) { continue } if (n) { y = q.childNodes[ag]; while (y.firstChild) { y.removeChild(y.firstChild) } } else { y = document.createElement("cvml:shape"); q.appendChild(y) } y.stroked = "f"; y.coordsize = R; y.coordorigin = m = (X - V) + "," + W; y.path = (G.d ? "m" + G.d + "xe" : "") + "m" + m + M; y.fillcolor = I; if (x) { y.appendChild(x.cloneNode(false)) } var ak = y.style; ak.width = ab; ak.height = al; if (K) { var t = K[0], s = K[1]; var E = Cufon.CSS.color(t.color), C; var Q = document.createElement("cvml:shadow"); Q.on = "t"; Q.color = E.color; Q.offset = t.offX + "," + t.offY; if (s) { C = Cufon.CSS.color(s.color); Q.type = "double"; Q.color2 = C.color; Q.offset2 = s.offX + "," + s.offY } Q.opacity = E.opacity || (C && C.opacity) || 1; y.appendChild(Q) } V += O[ag++] } var P = y.nextSibling, v, D; if (F.forceHitArea) { if (!P) { P = document.createElement("cvml:rect"); P.stroked = "f"; P.className = "cufon-vml-cover"; v = document.createElement("cvml:fill"); v.opacity = 0; P.appendChild(v); q.appendChild(P) } D = P.style; D.width = ab; D.height = al } else { if (P) { q.removeChild(P) } } ao.width = Math.max(Math.ceil(p.convert(g * S)), 0); if (f) { var T = ac.computedYAdjust; if (T === undefined) { var H = ac.get("lineHeight"); if (H == "normal") { H = "1em" } else { if (!isNaN(H)) { H += "em" } } ac.computedYAdjust = T = 0.5 * (a(aj, H) - parseFloat(ao.height)) } if (T) { ao.marginTop = Math.ceil(T) + "px"; ao.marginBottom = T + "px" } } return B } })());

