(function(b){var a={config:{url:"",nocache:false,debug:false},itemId:0,items:[],domain:function(){var d="";var c;if(null!=(c=/^(.+):\/\/\/?(www\/)?([^\/]+)/.exec(location.href.toLowerCase()))){if(c[1]=="http"){d=c[3]}else{d=c[1]}}return d},render:function(c){a.items[a.itemId]={element:b(c),text:"",options:{debug:0,offset:0,hover:""},image:new Image(),base:{url:"",style:{},stat:{}},hover:{image:null,url:"",style:{},stat:{}}};var d=a.items[a.itemId];d.text=new String(a.unescapeHTML(d.element.html()));d.text=d.text.substr(0,512);if(d.text.length==0){return}d.base.style=a.resolveStyle(d.element);d.base.style.tx=d.text;d.options.hover=d.base.style.hv;d.options.offset=d.base.style.os;d.options.debug=d.base.style.dg;if(d.text.indexOf(String.fromCharCode(13),0)==-1){d.base.style.ta="left";d.base.style.lh=parseInt(d.base.style.sz)+1;d.base.style.lh=d.base.style.lh.toString()}d.base.url=a.config.url+a.obj2query(d.base.style);this.debug(d.base.url,d.options.debug);b(d.image).load(function(){d.element.html("");d.element.append(this);if(d.options.offset=="center"){b(d.image).css("position","relative").css("top",Math.round(d.image.height/2)+"px")}if(d.options.hover!=""){var f=b('<span class="'+d.options.hover+'"></span>');d.element.append(f);d.hover.style=a.resolveStyle(f);d.hover.style.tx=d.text;f.remove();d.hover.url=a.config.url+a.obj2query(d.hover.style);if(d.hover.url!=d.base.url){d.hover.image=new Image();b(d.hover.image).load(function(){d.element.mouseover(function(){d.image.src=d.hover.url});d.element.mouseout(function(){d.image.src=d.base.url})}).error(function(){a.debug("Failed to load hover renderedFont for "+d.text,d.options.debug)}).attr("src",d.hover.url)}}}).error(function(){a.debug("Failed to load renderedFont for "+d.text,d.options.debug)}).attr("border","0").attr("src",d.base.url);if((d.options.offset=="baseline")&&(d.text.indexOf(String.fromCharCode(13),0)==-1)){var e="rfStat"+d.base.style.ff+d.base.style.st+d.base.style.wt+d.base.style.sz;e=e.replace(/\s/ig,"");window[e]=function(f){b(d.image).css("position","relative").css("top",f.descent+"px");window[e]=undefined;try{delete window[e]}catch(g){}};b.getScript(a.config.url+a.obj2stat(d.base.style))}a.itemId++},getProps:function(f){var d={descent:"0",height:"0",width:"0"};var e;var c;for(key in d){rx=new RegExp(key+"=(\\d+)");if(null!=(c=rx.exec(f.getResponseHeader("Rendered-Font")))){d[key]=c[1]}}return d},resolveStyle:function(h){var f={ff:"font-family",sz:"font-size",wt:"font-weight",st:"font-style",td:"text-decoration",cl:"color",op:"opacity",bg:"background-color",rt:"0",tx:"",hv:"",os:"none",dg:this.config.debug,nc:this.config.nocache,lh:"line-height",ta:"text-align"};var d;var n;var e;for(key in f){switch(key){case"rt":case"hv":case"tx":case"os":case"dg":case"nc":break;default:d=f[key];f[key]=[h.css(d)];f[key]=f[key].concat(h.parents().map(function(){return b(this).css(d)}).get());var g=0;n="";var l=f[key];while(g<f[key].length&&(n==""||n=="inherit"||n=="transparent"||/rgba\(.+,\s*0\s*\)/i.test(n))){n=f[key][g];g++}var j=n;switch(key){case"cl":case"bg":n=this.normaliseColor(n);break;case"lh":if(n=="normal"){n=parseInt(f.sz)+1;break}case"sz":n=parseInt(n);break;case"ff":var c=n.split(",",1);n=c[0];if(null!=(e=/['"](.+)['"]/.exec(n))){n=e[1]}if(null!=(e=/(.+){(.+)}/.exec(n))){n=jQuery.trim(e[1]);this.procExpression(f,e[2])}break;case"wt":if(null==/\d+/.exec(n)){n=="normal"?n=400:(n=="bold"?n=700:n=400)}break;case"ta":switch(n){case"right":case"center":break;case"end":n="right";break;default:n="left"}break}f[key]=n.toString().toLowerCase();this.debug("Style["+key+"] = "+l+" => "+j+" => "+n);break}}return f},urlPathEncode:function(d){var c=encodeURIComponent(d);c=c.replace(/%20/gi,"+");c=c.replace(/%2F/gi,"$");c=c.replace(/\*/gi,"%2A");c=c.replace(/%/gi,"=");return c},obj2query:function(f){var c=[f.st,f.wt,f.sz];var d=[f.td,f.cl,f.bg,f.rt,f.ta,f.lh];var e=(f.nc?"/nc":"")+"/"+a.urlPathEncode(f.ff)+"/";e+=c.join(".")+"/";e+=d.join(".")+"/";e+=a.urlPathEncode(f.tx)+".png";a.debug("Image URL:"+e);return e},obj2stat:function(e){var c=[e.st,e.wt,e.sz];var d="/"+a.urlPathEncode(e.ff)+"/";d+=c.join(".")+"/stat.js";a.debug("Stat URL: "+d);return d},procExpression:function(d,e){var c;if(null!=(c=/\s*hover\s*:\s*([^\s;]+)/i.exec(e))){d.hv=c[1]}if(null!=(c=/\s*rotation\s*:\s*(\d+)/i.exec(e))){d.rt=c[1]}if(null!=(c=/\s*offset\s*:\s*(baseline|center|none)/i.exec(e))){d.os=c[1]}if(null!=(c=/\s*debug\s*:\s*(1|true)/i.exec(e))){d.dg=c[1]}if(null!=(c=/\s*nocache\s*:\s*(1|true)/i.exec(e))){d.nc=true}return 1},normaliseColor:function(g){g=new String(g);g=g.toLowerCase();var e={maroon:"800000",red:"ff0000",orange:"ffa500",yellow:"ffff00",olive:"808000",purple:"800080",fuchsia:"ff00ff",white:"ffffff",lime:"00ff00",green:"008000",navy:"000080",blue:"0000ff",aqua:"00ffff",teal:"008080",black:"000000",silver:"c0c0c0",grey:"808080"};var d;if(/rgba\(.+,\s*0\s*\)/i.test(g)){g="transparent"}switch(true){case (typeof(e[g])!="undefined"):g=e[g];break;case (null!=(d=/#([0-9a-f]{6})/.exec(g))):g=d[1];break;case (null!=(d=/#([0-9a-f])([0-9a-f])([0-9a-f])/.exec(g))):g=d[1]+d[1]+d[2]+d[2]+d[3]+d[3];break;case (null!=(d=/rgba?\(\s*(\d+%?)[, ]+(\d+%?)[, ]+(\d+%?)/.exec(g))):g=this.asHex(d[1])+this.asHex(d[2])+this.asHex(d[3]);break;case (null!=(d=/hsl\(\s*(\d+)[, ]+(\d+)[, ]+(\d+)/.exec(g))):var f={h:(parseInt(d[1])/360),s:(parseInt(d[2])/100),l:(parseInt(d[3])/100)};for(k in f){document.write(k+"="+f[k]+"<br />")}var i=(f.l<0.5?f.l*(1+f.s):f.l+f.s-(f.l*f.s));var j=(2*f.l)-i;var h={r:f.h+1/3,g:f.h,b:f.h-1/3};g="";for(var l in h){if(h[l]<0){h[l]=h[l]+1}else{if(h[l]>1){h[l]=h[l]-1}}if(h[l]<1/6){g+=this.asJex((j+((i-j)*6*h[l]))*100)}else{if(h[l]<1/2){g+=this.asHex(i*100)}else{if(h[l]<2/3){g+=this.asHex((j+((i-j)*6*(2/3-h[l])))*100)}else{g+=this.asHex(j*100)}}}}break;default:g="ffffff";break}return g},asHex:function(d){var c;if(null!=(c=/(.+)%$/.exec(d))){d=255*parseInt(c[1])/100}else{d=parseInt(d,10)}if(d>255){d=255}d=d.toString(16);if(d.length<2){d="0"+d}return d.toUpperCase()},unescapeHTML:function(e){e=e.replace(/<br\s*\/?>/gi,"%%BR%%");e=e.replace(/\s+/g," ");e=e.replace(/<\/?[^>]+>/g,"");var d=document.createElement("div");d.innerHTML=e;var c=d.childNodes[0].nodeValue;d.removeChild(d.firstChild);c=c.replace(/%%BR%%/g,String.fromCharCode(13));c=c.replace(/\x0D\s+/g,String.fromCharCode(13));c=c.replace(/^\s+/,"");c=c.replace(/\s+$/,"");return c},debug:function(d,c){if(typeof(c)=="undefined"){c=a.config.debug}if(c){if(typeof(console)=="object"){console.debug(d)}else{alert(d)}}}};b.ajaxSetup({cache:true});b.fn.renderedFont=function(c){this.each(function(){b.extend(a.config,c);if(b(this).html()){a.render(this)}});return this}})(jQuery);jQuery(document).ready(function(c){var b="";var a=false;c("script").each(function(){if(null!=(m=/renderedfont-([\d\.min]+)\.js#(\w+)(\$)?$/.exec(c(this).attr("src")))){b="http://cdn.renderedfont.com/cache/"+m[2];if(m[3]){a=true}return false}});if(b.length){c(".renderedFont").renderedFont({url:b,debug:a})}else{alert("RenderedFont Error: No AccountID provided.\n\n")}});
