var Holder=Holder||{};(function(app,win){var preempted=false,fallback=false,canvas=document.createElement('canvas');document.getElementsByClassName||(document.getElementsByClassName=function(e){var t=document,n,r,i,s=[];if(t.querySelectorAll)return t.querySelectorAll("."+e);if(t.evaluate){r=".//*[contains(concat(' ', @class, ' '), ' "+e+" ')]",n=t.evaluate(r,t,null,0,null);while(i=n.iterateNext())s.push(i)}else{n=t.getElementsByTagName("*"),r=new RegExp("(^|\\s)"+e+"(\\s|$)");for(i=0;i=0.75){text_height=Math.floor(text_height*0.75*(width/text_width));} ctx.font="bold "+(text_height*ratio)+"px "+font;ctx.fillText(text,(width/2),(height/2),width);return canvas.toDataURL("image/png");} function render(mode,el,holder,src){var dimensions=holder.dimensions,theme=holder.theme,text=holder.text?decodeURIComponent(holder.text):holder.text;var dimensions_caption=dimensions.width+"x"+dimensions.height;theme=(text?extend(theme,{text:text}):theme);theme=(holder.font?extend(theme,{font:holder.font}):theme);if(mode=="image"){el.setAttribute("data-src",src);el.setAttribute("alt",text?text:theme.text?theme.text+" ["+dimensions_caption+"]":dimensions_caption);if(fallback||!holder.auto){el.style.width=dimensions.width+"px";el.style.height=dimensions.height+"px";} if(fallback){el.style.backgroundColor=theme.background;}else{el.setAttribute("src",draw(ctx,dimensions,theme,ratio));}}else if(mode=="background"){if(!fallback){el.style.backgroundImage="url("+draw(ctx,dimensions,theme,ratio)+")";el.style.backgroundSize=dimensions.width+"px "+dimensions.height+"px";}}else if(mode=="fluid"){el.setAttribute("data-src",src);el.setAttribute("alt",text?text:theme.text?theme.text+" ["+dimensions_caption+"]":dimensions_caption);if(dimensions.height.substr(-1)=="%"){el.style.height=dimensions.height}else{el.style.height=dimensions.height+"px"} if(dimensions.width.substr(-1)=="%"){el.style.width=dimensions.width}else{el.style.width=dimensions.width+"px"} if(el.style.display=="inline"||el.style.display==""){el.style.display="block";} if(fallback){el.style.backgroundColor=theme.background;}else{el.holderData=holder;fluid_images.push(el);fluid_update(el);}}};function fluid_update(element){var images;if(element.nodeType==null){images=fluid_images;}else{images=[element]} for(i in images){var el=images[i] if(el.holderData){var holder=el.holderData;el.setAttribute("src",draw(ctx,{height:el.clientHeight,width:el.clientWidth},holder.theme,ratio));}}} function parse_flags(flags,options){var ret={theme:settings.themes.gray},render=false;for(sl=flags.length,j=0;j=0){src=attr_src;}else if(!!attr_datasrc&&attr_datasrc.indexOf(options.domain)>=0){src=attr_datasrc;} if(src){var holder=parse_flags(src.substr(src.lastIndexOf(options.domain)+options.domain.length+1).split("/"),options);if(holder){if(holder.fluid){render("fluid",images[i],holder,src)}else{render("image",images[i],holder,src);}}}} return app;};contentLoaded(win,function(){if(window.addEventListener){window.addEventListener("resize",fluid_update,false);window.addEventListener("orientationchange",fluid_update,false);}else{window.attachEvent("onresize",fluid_update)} preempted||app.run();});if(typeof define==="function"&&define.amd){define("Holder",[],function(){return app;});}})(Holder,window);