var IWAllImages={};var IWAllImageObjects={};function IWCreateImage(a){var b=IWAllImages[a];if(b==null){b=new IWImage(a)}return b}var IWNamedImages={};function IWImageNamed(b){var c=null;var a=IWNamedImages[b];if(a){c=IWCreateImage(a)}return c}function IWRegisterNamedImage(b,a){IWNamedImages[b]=a}function IWImage(a){if(IWAllImages.hasOwnProperty(a)){iWLog("warning -- use IWCreateImage rather than new IWImage and you'll get better performance")}this.mPreventUnloading=0;this.mLoading=false;this.mLoaded=false;this.mURL=a;this.mCallbacks=[];IWAllImages[a]=this}IWImage.prototype.sourceURL=function(){return this.mURL};IWImage.prototype.loaded=function(){return this.mLoaded};IWImage.prototype.load=function(c,b){if(this.mLoaded){if(c!=null){b?setTimeout(c,0):c()}}else{if(c!=null){this.mCallbacks.push(c)}if(this.mLoading==false){this.mLoading=true;var a=new Image();IWAllImageObjects[this.sourceURL()]=a;a.onload=this.p_onload.bind(this);a.src=this.mURL}}};detectBrowser();var IWImageEnableUnload=isiPhone;IWImage.prototype.unload=function(a){if((a||IWImageEnableUnload)&&this.mLoaded){if(this.mPreventUnloading<=0){this.mLoaded=false;this.mLoading=false;IWAllImageObjects[this.sourceURL()]=null}else{this.mPreventedUnload=true}}};IWImage.prototype.preventUnloading=function(){if(this.mPreventUnloading==0){this.mPreventedUnload=false}++this.mPreventUnloading};IWImage.prototype.allowUnloading=function(){--this.mPreventUnloading;if(this.mPreventUnloading<=0&&this.mPreventedUnload){this.unload()}};IWImage.prototype.naturalSize=function(){(function(){return this.mNaturalSize!==undefined}).bind(this).assert();return this.mNaturalSize};IWImage.prototype.imgObject=function(){return IWAllImageObjects[this.sourceURL()]};IWImage.prototype.p_onload=function(){this.preventUnloading();this.mLoaded=true;if(this.mNaturalSize===undefined){var a=this.imgObject();(function(){return a!==undefined}).assert();this.mNaturalSize=new IWSize(a.width,a.height)}for(var b=0;b<this.mCallbacks.length;++b){this.mCallbacks[b]()}this.mCallbacks=[];this.allowUnloading()};IWImage.prototype.toString=function(){return"IWImage("+this.mNaturalSize+", "+this.mURL+")"};function IWCreateLoadingArea(){if(IWSharedLoadingAreaManager==null){IWSharedLoadingAreaManager=new IWLoadingAreaManager()}return IWSharedLoadingAreaManager.createLoadingArea()}function IWLoadingAreaManager(){var a=document.createElement("div");a.style.visibility="hidden";a.style.position="absolute";a.style.width="0px";a.style.height="0px";a.style.overflow="hidden";document.body.appendChild(a);this.mCurrentLoadingArea=a}IWLoadingAreaManager.prototype.createLoadingArea=function(){var a=document.createElement("div");this.mCurrentLoadingArea.appendChild(a);return a};var IWSharedLoadingAreaManager=null;var IWSharedEffectRegistry=null;function IWCreateEffectRegistry(){if(IWSharedEffectRegistry==null){IWSharedEffectRegistry=new IWEffectRegistry()}return IWSharedEffectRegistry}function IWEffectRegistry(){this.mEffects=null}IWEffectRegistry.prototype.registerEffects=function(a){this.mEffects=a};IWEffectRegistry.prototype.applyEffects=function(){var a=[];a=a.concat(this.p_generateQueueForEffectType("crop"));a=a.concat(this.p_generateQueueForEffectType("stroke"));a=a.concat(this.p_generateQueueForEffectType("reflection"));a=a.concat(this.p_generateQueueForEffectType("shadow"));this.p_applyEffectsFromQueue(a)};IWEffectRegistry.prototype.p_generateQueueForEffectType=function(a){var d=[];var b=0;var c=a+"_"+b++;while(effect=this.mEffects[c]){d=d.concat(this.p_generateQueueForEffectClass(effect,c));c=a+"_"+b++}return d};IWEffectRegistry.prototype.p_generateQueueForEffectClass=function(d,e,c){var g=[];var f=c||$$("."+e);while(f&&f.length>0){var b=f.shift();var a=$(b).select("."+e);if(a.length>0){f.minusArray(a);g=g.concat(this.p_generateQueueForEffectClass(d,e,a))}g.push({element:b,effect:d})}return g};var allStyleSheetsLoaded=false;var timeStyleSheetsAppearedInDOM=undefined;IWEffectRegistry.prototype.p_allStyleSheetsLoaded=function(){if(isCamino||isFirefox){if(timeStyleSheetsAppearedInDOM!==undefined){duration=(new Date().getTime())-timeStyleSheetsAppearedInDOM;if(duration>100){allStyleSheetsLoaded=true;timeStyleSheetsAppearedInDOM=undefined}}else{if(!allStyleSheetsLoaded){for(var b=0,a=document.styleSheets.length;b<a;b++){var c=document.styleSheets[b];if(c.href&&c.href.indexOf("Moz.css")!=-1){timeStyleSheetsAppearedInDOM=new Date().getTime()}}}}}else{allStyleSheetsLoaded=true}return allStyleSheetsLoaded};IWEffectRegistry.prototype.p_applyEffectsFromQueue=function(a){var b=new Date().getTime();var d=0;var e=this.p_allStyleSheetsLoaded();while(a.length>0&&d<100&&e){var c=a.shift();if(c&&c.effect&&c.element){c.effect.applyToElement(c.element)}d=(new Date().getTime())-b}if(a.length>0){setTimeout(this.p_applyEffectsFromQueue.bind(this,a),0)}else{performPostEffectsFixups()}};function IWChildOffset(f,d,a){var b=0;var c=0;if(d){var e=f;while(e&&e!=d){if(!a||(e.style.position=="absolute")||(e.style.position=="relative")){b+=e.offsetLeft;c+=e.offsetTop}e=e.parentNode}}return new IWPoint(b,c)}function IWImageExtents(h,m,g,n,p,a){var d=new IWRect(g,n,p-g,a-n);for(var l=0;l<m.length;++l){var i=new IWRect(m[l].offsetLeft,m[l].offsetTop,m[l].offsetWidth,m[l].offsetHeight);if(h){var k=m[l].parentNode;while(k&&k!=h){if((k.style.position=="absolute")||(k.style.position=="relative")){i.origin.x+=k.offsetLeft||0;i.origin.y+=k.offsetTop||0}var b=function(e){return e=="hidden"};var f=[k.style.overflow,k.style.overflowX].any(b);var c=[k.style.overflow,k.style.overflowY].any(b);if(f||c){var j=new IWRect(f?k.offsetLeft:i.origin.x,c?k.offsetTop:i.origin.y,f?k.offsetWidth:i.size.width,c?k.offsetHeight:i.size.height);i=i.intersection(j)}k=k.parentNode}}if((i.size.width>0)&&(i.size.height>0)){if((d.size.width>0)&&(d.size.height>0)){d=d.union(i)}else{d=i.clone()}}}var o={left:d.origin.x,top:d.origin.y,right:d.origin.x+d.size.width,bottom:d.origin.y+d.size.height};return o}function IWImageChildren(c){var h=c.getElementsByTagName("img");var a=new RegExp("\\binline-block\\b");var b=new RegExp("\\bbadge-overlay\\b");var i=new Array();for(var g=0;g<h.length;++g){var f=h[g];var d=(f.className.match(b)?true:false);while(!d&&f&&f!=c){d|=(f.className.match(a)?true:false);f=f.parentNode}if(!d){i.push(h[g])}}return i}function IWClippingNode(a){if(a){if(a.style&&(a.style.overflow||a.style.overflowX||a.style.overflowY)){if([a.style.overflow,a.style.overflowX,a.style.overflowY].include("hidden")){return a}}else{return IWClippingNode(a.parentNode)}}return null}function IWShadow(a){this.mBlurRadius=a.blurRadius;this.mOffset=a.offset;this.mColor=a.color;this.mOpacity=a.opacity}IWShadow.prototype.applyToElement=function(k){var g=new IWPoint(k.offsetLeft,k.offsetTop);var x=new IWSize(k.offsetWidth,k.offsetHeight);var d=1;if(k!=null){k=$(k);d=k.getStyle("opacity");if(windowsInternetExplorer){var c=k.cloneNode(false);k.parentNode.insertBefore(c,k);var h=document.createElement("DIV");var a=k.cloneNode(true);h.appendChild(a);$A(h.getElementsByTagName("map")).each(function(j){j.parentNode.removeChild(j)});c.appendChild(h);c.appendChild(k);k.style.top=0+"px";k.style.left=0+"px";var A=this.mBlurRadius*0.5;var B=this.mOffset.x-(this.mBlurRadius*0.6);var i=this.mOffset.y-(this.mBlurRadius*0.6);h.style.position="absolute";h.style.left=(B-500)+"px";h.style.top=(i-500)+"px";h.style.width=(x.width+1000)+"px";h.style.height=(x.height+1000)+"px";a.style.position="absolute";a.style.left=500+"px";a.style.top=500+"px";a.style.padding="0px";a.style.margin="0px";h.style.filter="progid:DXImageTransform.Microsoft.MaskFilter() progid:DXImageTransform.Microsoft.MaskFilter(color="+this.mColor+") progid:DXImageTransform.Microsoft.Alpha(opacity="+this.mOpacity*d*100+") progid:DXImageTransform.Microsoft.Blur(pixelradius="+A+")";if(c.className.indexOf("inline-block")!=-1){var l=c.style.top;var f=c.style.marginTop;if(l&&!f){l=(toPixelsAtElement(c,l,true));c.style.marginTop=-l+"px"}else{if(!l&&f){f=(toPixelsAtElement(c,f,true));c.style.rootTop=-f+"px"}else{if(l&&f){l=(toPixelsAtElement(c,l,true));f=(toPixelsAtElement(c,f,true));if(l!=f){c.style.rootTop=-f+"px"}}}}}if(k.offsetTop!=0){var o=k.style.top;o=o?(toPixelsAtElement(k,o,true)):0;o-=k.offsetTop;k.style.top=o+"px"}}else{var v=IWImageChildren(k);var z=IWImageExtents(k,v,0,0,x.width,x.height);var e=undefined;if(k.sandwich&&k.sandwich.canvas){e=k.sandwich.canvas}z.left-=Math.max(this.mBlurRadius-this.mOffset.x,0);z.top-=Math.max(this.mBlurRadius-this.mOffset.y,0);z.right+=Math.max(this.mBlurRadius+this.mOffset.x,0);z.bottom+=Math.max(this.mBlurRadius+this.mOffset.y,0);z.left=Math.floor(z.left);z.top=Math.floor(z.top);z.right=Math.ceil(z.right);z.bottom=Math.ceil(z.bottom);var m=z.left;var w=z.top;z.right-=z.left;z.bottom-=z.top;z.left=0;z.top=0;var s=z.right-z.left;var r=z.bottom-z.top;if(e===undefined){e=document.createElement("canvas")}var b=e.getContext?e.getContext("2d"):null;var n=b?b.shadowColor:false;if(n){e.setAttribute("width",s);e.setAttribute("height",r);e.style.position="absolute";e.style.top=w+"px";e.style.left=m+"px";var u=undefined;if(k.sandwich&&k.sandwich.workingCanvas){u=k.sandwich.workingCanvas}if(u===undefined){u=e.cloneNode(false)}var q=this;var t=k.sandwich||{};t.loadedImgs=[];t.imgCount=v.length;t.loadedImgCount=0;t.canvas=e;t.workingCanvas=u;k.sandwich=t;t.onImageLoad=function(E,D,F){var G=IWChildOffset(D,k,true);this.loadedImgs[E]={imgObject:F.imgObject(),left:G.x-m,top:G.y-w,width:D.offsetWidth,height:D.offsetHeight};this.loadedImgCount++;if(this.loadedImgCount==this.imgCount){this.renderShadow()}};t.renderShadow=function(){if(e.parentNode===null){k.insertBefore(e,k.firstChild)}e.parentNode.insertBefore(u,e);var E=u.getContext("2d");new IWRect(0,0,s,r).clear(E);var P=k.getStyle("background-image");var O=P&&P.indexOf("url(")==0;var R=k.getStyle("background-color");var I=q.p_alphaComponent(R);IWAssert(function(){return I==0||I==1},"alpha must be 0 or 1 for background color if shadow is applied");var J=(O||I>0);var L=new IWRect(-m,-w,x.width,x.height).round();if(J){E.fillStyle="rgba(0,0,0,1)";L.fill(E)}for(var F=0;F<this.loadedImgs.length;++F){var N=this.loadedImgs[F];var Q=IWClippingNode(v[F]);if(nodeIsChildOf(Q,k)){var D=IWChildOffset(Q,k,true);E.save();E.rect(D.x-m,D.y-w,Q.offsetWidth,Q.offsetHeight);E.clip();E.drawImage(N.imgObject,N.left,N.top,N.width,N.height);E.restore()}else{E.drawImage(N.imgObject,N.left,N.top,N.width,N.height)}}E=e.getContext("2d");new IWRect(0,0,s,r).clear(E);var H=true;E.globalAlpha=d;if(E.shadowColor){var M=true;E.save();M=!(isWebKit&&isEarlyWebKitVersion);if(M){var K=q.mColor.toLowerCase().match(/#?([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})/);if(K&&K.length>=4){E.shadowColor="rgba("+parseInt(K[1],16)+", "+parseInt(K[2],16)+", "+parseInt(K[3],16)+", "+q.mOpacity+")"}else{K=q.mColor.match(/rgb\(([0-9\.]+),[ ]*([0-9\.]+),[ ]*([0-9\.]+)\)/);if(K&&K.length>=4){E.shadowColor="rgba("+K[1]+", "+K[2]+", "+K[3]+", "+q.mOpacity+")"}else{iWLog("not using shadow alpha, failed to match "+q.mColor);M=false}}}if(M==false){E.globalAlpha*=q.mOpacity;E.shadowColor=q.mColor}E.shadowBlur=q.mBlurRadius;E.shadowOffsetX=q.mOffset.x;E.shadowOffsetY=q.mOffset.y;E.drawImage(u,0,0);E.restore();if(M==false){H=q.mOpacity<1}else{H=false}}if(H){E.drawImage(u,0,0)}if(J){L.clear(E);E.save();E.globalAlpha=d;E.rect(L.origin.x,L.origin.y,L.size.width,L.size.height);E.clip();for(var F=0;F<this.loadedImgs.length;++F){var N=this.loadedImgs[F];E.drawImage(N.imgObject,N.left,N.top,N.width,N.height)}E.restore()}if(u.parentNode){u.parentNode.removeChild(u);delete this.workingCanvas;this.workingCanvas=null}for(var G=0;G<v.length;++G){v[G].style.opacity=0}};if(v.length>0){for(var y=0;y<v.length;++y){var C=v[y];var p=IWCreateImage(C.src);p.load(t.onImageLoad.bind(t,y,C,p))}}else{t.renderShadow()}u.style.visibility="hidden"}}}};IWShadow.prototype.p_alphaComponent=function(a){var b=1;if(a&&a.indexOf("rgba(")!=-1){if(a.match(/rgba\((?:\s*\S+\s*,\s*){3}(\S+)\s*\)/)){b=RegExp.$1}}return b};function IWReflection(a){this.mOpacity=a.opacity;this.mOffset=Math.max(a.offset,1);this.mFadeSustain=0.4;this.mMaxSustain=120}IWReflection.prototype.applyToElement=function(b){var a=new IWRect(b.offsetLeft,b.offsetTop,b.offsetWidth,b.offsetHeight);var o=Math.min(b.offsetHeight*this.mFadeSustain,this.mMaxSustain)*0.75;if(b!=null){var m=IWImageChildren(b);var q=IWImageExtents(b,m,0,0,a.size.width,a.size.height);var e=q.left;var n=q.top;var f=q.bottom-q.top-a.size.height;if(windowsInternetExplorer){var i=document.createElement("div");var l=b.cloneNode(true);i.appendChild(l);i.style.position="absolute";i.style.left=q.left+"px";i.style.top=a.size.height+"px";i.style.marginTop=this.mOffset+"px";i.style.width=(q.right-q.left)+"px";i.style.height=(q.bottom-q.top)+"px";i.className+=" IWReflection ";l.style.left=-q.left+"px";l.style.top=-q.top+"px";l.style.position="absolute";l.className=l.className.replace(/(shadow_\d+)/g,"");var d=o/b.offsetHeight*100;i.style.filter="flipv progid:DXImageTransform.Microsoft.Alpha(opacity="+(this.mOpacity*100)+", style=1, finishOpacity=0, startx=0, starty="+0+", finishx=0, finishy="+d+")";b.insertBefore(i,b.firstChild)}else{var i=document.createElement("canvas");q.right-=q.left;q.bottom-=q.top;q.left=0;q.top=0;i.setAttribute("width",q.right-q.left);i.setAttribute("height",o+this.mOffset/2);i.style.position="absolute";i.style.top=a.size.height+"px";i.style.marginTop=this.mOffset+"px";i.style.left=e+"px";b.insertBefore(i,b.firstChild);var c=i.getContext("2d");c.clearRect(0,0,i.width,i.height);var p={};p.loadedImgs=[];p.imgCount=m.length;var r=this;p.onImageLoad=function(v,w,s){var u=IWChildOffset(w,b,true);this.loadedImgs[v]={imgObject:s.imgObject(),left:u.x-e,top:u.y-n-f,width:w.offsetWidth,height:w.offsetHeight};var A=false;if(this.loadedImgs.length>=this.imgCount){A=true;for(var t=0;A&&t<this.loadedImgs.length;++t){if(this.loadedImgs[t]===undefined){A=false}}}if(A){c.save();c.translate(0,a.size.height-1);c.scale(1,-1);for(var t=0;t<this.loadedImgs.length;++t){var x=this.loadedImgs[t];var z=IWClippingNode(m[t]);if(nodeIsChildOf(z,b)){var B=IWChildOffset(z,b,true);c.save();c.rect(B.x-e,B.y-n-f,z.offsetWidth,z.offsetHeight);c.clip();c.drawImage(x.imgObject,x.left,x.top,x.width,x.height);c.restore()}else{c.drawImage(x.imgObject,x.left,x.top,x.width,x.height)}}c.restore();c.save();c.globalCompositeOperation="destination-out";var y=c.createLinearGradient(0,0,0,i.height);y.addColorStop(1,"rgba(255, 255, 255, 1.0)");y.addColorStop(0,"rgba(255, 255, 255, "+(1-r.mOpacity)+")");c.fillStyle=y;if(navigator.appVersion.indexOf("WebKit")!=-1){c.rect(0,0,i.width,i.height*2);c.fill()}else{c.fillRect(0,0,i.width,i.height*2)}c.restore()}};for(var h=0;h<m.length;++h){var k=m[h];var g=IWCreateImage(k.src);g.load(p.onImageLoad.bind(p,h,k,g))}}}};function IWStrokeParts(a,c,b,d){this.mStrokeParts=a;this.mMaxImageSize=c;this.mShouldClip=b;if(b){this.mStrokeWidth=d}}var kLeft=0,kTopLeft=1,kTop=2,kTopRight=3,kRight=4,kBottomRight=5,kBottom=6,kBottomLeft=7,kPartCount=8;IWStrokeParts.prototype.p_imageLayout=function(g){var b=this.mStrokeParts;var f=this.mMaxImageSize.width-g.width;var j=this.mMaxImageSize.height-g.height;var l=b[kTopLeft].rect;var d=b[kTopRight].rect.offset(-f,0);var e=b[kBottomRight].rect.offset(-f,-j);var h=b[kBottomLeft].rect.offset(0,-j);var i=b[kTop].rect;i.size.width=d.origin.x-i.origin.x;var k=b[kRight].rect.offset(-f,0);k.size.height=e.origin.y-k.origin.y;var a=b[kBottom].rect.offset(0,-j);a.size.width=e.origin.x-a.origin.x;var c=b[kLeft].rect;c.size.height=h.origin.y-c.origin.y;return[c,l,i,d,k,e,a,h]};IWStrokeParts.prototype.p_imageMarkup=function(d,f){var a="";var e=this.p_imageLayout(d);for(var b=kLeft;b<kPartCount;++b){var c=e[b].position();if(f){c+="z-index: "+f+";"}a+=imgMarkup(this.mStrokeParts[b].url,c)}return a};IWStrokeParts.prototype.markupForImageStreamEntry=function(h,c){var f=new IWRect(0,0,c.width,c.height);var b="";var g="";var j=f.clone();if(this.mShouldClip){var a=(this.mStrokeWidth/2+1);var e=(this.mStrokeWidth/2+1);var d=new IWRect(a,e,(c.width-this.mStrokeWidth-2),(c.height-this.mStrokeWidth-2));b='<div style="overflow: hidden; '+d.position()+'">';g="</div>";j.origin.x-=a;j.origin.y-=e}var i='<div class="framedImage" style="'+f.position()+'">';i+=b;i+=h.thumbnailMarkupForRect(j);i+=g;i+=this.p_imageMarkup(c,2);i+="</div>";return i};IWStrokeParts.prototype.applyToElement=function(a){if(a!=null){var j=new IWSize(a.offsetWidth,a.offsetHeight);$(a).appendChildrenFromMarkup(this.p_imageMarkup(j));if(a.className.indexOf("flowDefining")<0){if(a.style.position!="absolute"){var c=new IWRect(0,0,a.offsetWidth,a.offsetHeight);var e=IWZeroRect();var h=this.p_imageLayout(j);h.each(function(k){e=e.union(k)});var i=c.paddingToRect(e);var d=Element.getStyle(a,"marginLeft");d=d?(toPixelsAtElement(a,d,false)):0;var b=Element.getStyle(a,"marginTop");b=b?(toPixelsAtElement(a,b,true)):0;var g=Element.getStyle(a,"marginRight");g=g?(toPixelsAtElement(a,g,false)):0;var f=Element.getStyle(a,"marginBottom");f=f?(toPixelsAtElement(a,f,true)):0;detectBrowser();if(windowsInternetExplorer){a.style.marginLeft=px(Math.max(0,i.left-1)+d);a.style.marginTop=px(Math.max(0,i.top-1)+b);a.style.marginRight=px(Math.max(0,i.right-1)+g);a.style.marginBottom=px(Math.max(0,i.bottom-1)+f);if(browserVersion==7){updateListOfIE7FloatsFix(a)}}else{a.style.marginLeft=px(i.left+d);a.style.marginTop=px(i.top+b);a.style.marginRight=px(i.right+g);a.style.marginBottom=px(i.bottom+f)}}}}};IWStrokeParts.prototype.strokeExtra=function(c){if(!c){c=this.mMaxImageSize}rect=new IWRect(IWZeroPoint(),c);var b=this.p_imageLayout(rect.size);var a=IWZeroRect();b.each(function(d){a=a.union(d)});return rect.paddingToRect(a)};function IWStroke(a,c,b){this.mStrokeURL=a;this.mStrokeRect=c;this.mMaxImageSize=b}IWStroke.prototype.p_strokeRect=function(b){var a=b.width/this.mMaxImageSize.width;var d=b.height/this.mMaxImageSize.height;var c=this.mStrokeRect.scale(a,d,true);return c};IWStroke.prototype.p_imageMarkup=function(b,c){var a=this.p_strokeRect(b).position();if(c){a+="z-index: "+c+";"}return imgMarkup(this.mStrokeURL,a)};IWStroke.prototype.markupForImageStreamEntry=function(b,d){var c=new IWRect(0,0,d.width,d.height);var a='<div class="framedImage" style="'+c.position()+'">';a+=b.thumbnailMarkupForRect(c);a+=this.p_imageMarkup(d,2);a+="</div>";return a};IWStroke.prototype.applyToElement=function(h){if(h!=null){var a=new IWSize(h.offsetWidth,h.offsetHeight);$(h).appendChildrenFromMarkup(this.p_imageMarkup(a));if(h.className.indexOf("flowDefining")<0){if(h.style.position!="absolute"){var g=new IWRect(0,0,h.offsetWidth,h.offsetHeight);var e=g.paddingToRect(this.mStrokeRect);var d=Element.getStyle(h,"marginLeft");d=d?(toPixelsAtElement(h,d,false)):0;var c=Element.getStyle(h,"marginTop");c=c?(toPixelsAtElement(h,c,true)):0;var b=Element.getStyle(h,"marginRight");b=b?(toPixelsAtElement(h,b,false)):0;var f=Element.getStyle(h,"marginBottom");f=f?(toPixelsAtElement(h,f,true)):0;h.style.marginLeft=px(e.left+d);h.style.marginTop=px(e.top+c);h.style.marginRight=px(e.right+b);h.style.marginBottom=px(e.bottom+f);detectBrowser();if(windowsInternetExplorer&&browserVersion==7){updateListOfIE7FloatsFix(h)}}}}};IWStroke.prototype.strokeExtra=function(a){if(a===undefined){a=this.mMaxImageSize}var b=new IWRect(IWZeroPoint(),a);return b.paddingToRect(this.p_strokeRect(a))};function IWEmptyStroke(){}IWEmptyStroke.prototype.markupForImageStreamEntry=function(b,d){var c=new IWRect(0,0,d.width,d.height);var a='<div class="framedImage" style="'+c.position()+'">';a+=b.thumbnailMarkupForRect(c);a+="</div>";return a};IWEmptyStroke.prototype.applyToElement=function(a){};IWEmptyStroke.prototype.strokeExtra=function(){return new IWPadding(0,0,0,0)};var kSFRFrameTopLeft=0;var kSFRFrameTop=1;var kSFRFrameTopRight=2;var kSFRFrameRight=3;var kSFRFrameBottomRight=4;var kSFRFrameBottom=5;var kSFRFrameBottomLeft=6;var kSFRFrameLeft=7;var kSFRFrameClip=0;var kSFRFrameStretchEvenly=1;var kSFRFrameStretchToFit=2;function IWPhotoFrame(n,q,k,r,a,o,d,i,t,e,s,h,g,f,b,j,m,l,c,p){this.mImages=n;this.mMaskImages=q;this.mTilingMode=k;this.mLeftInset=a;this.mTopInset=o;this.mRightInset=d;this.mBottomInset=i;this.mUnscaledLeftWidth=t;this.mUnscaledTopHeight=e;this.mUnscaledRightWidth=s;this.mUnscaledBottomHeight=h;this.mLeftTileHeight=g;this.mTopTileWidth=f;this.mRightTileHeight=b;this.mBottomTileWidth=j;this.mAdornmentURL=m;this.mAdornmentPosition=l;this.mAdornmentSize=c;this.mMinimumAssetScale=p;this.setAssetScale(r)}IWPhotoFrame.prototype.setAssetScale=function(a){a=Math.min(a,1);a=Math.max(this.mMinimumAssetScale,a);this.mAssetScale=a;this.mLeftWidth=this.scaledValue(this.mUnscaledLeftWidth);this.mTopHeight=this.scaledValue(this.mUnscaledTopHeight);this.mRightWidth=this.scaledValue(this.mUnscaledRightWidth);this.mBottomHeight=this.scaledValue(this.mUnscaledBottomHeight)};IWPhotoFrame.prototype.scaledValue=function(a){return Math.ceil(a*this.mAssetScale)};IWPhotoFrame.prototype.markupForImageStreamEntry=function(e,d){var b=this.mAssetScale;var f=this.maximumAssetScaleForImageSize(d);if((f<b)&&(f>=this.mMinimumAssetScale)){this.setAssetScale(f)}var c=this.coverageRect(new IWRect(0,0,d.width,d.height));var g=new IWRect(-c.origin.x,-c.origin.y,d.width,d.height);c=c.offsetToOrigin();var a='<div class="framedImage" style="'+c.position()+'">';a+=e.thumbnailMarkupForRect(g);if(f>=this.mMinimumAssetScale){if(this.mImages!=null){a+=this.p_buildFrame(this.mImages,c.size,2)}if(this.mAdornmentURL!=null){a+=this.p_adornmentMarkupForRect(g,2)}if(this.mMaskImages){}}a+="</div>";if(b!=this.mAssetScale){this.setAssetScale(b)}return a};IWPhotoFrame.prototype.strokeExtra=function(){var a=0;if(this.mAdornmentURL){a=Math.max(0,(this.scaledValue(this.mAdornmentSize.height)-this.mTopHeight)/2-this.mAdornmentPosition.y)}return new IWPadding(this.mLeftWidth-this.scaledValue(this.mLeftInset),this.mTopHeight-this.scaledValue(this.mTopInset)+a,this.mRightWidth-this.scaledValue(this.mRightInset),this.mBottomHeight-this.scaledValue(this.mBottomInset))};IWPhotoFrame.prototype.applyToElement=function(a){if(a!=null){var j="";var c=new IWRect(0,0,a.offsetWidth,a.offsetHeight);if((c.size.width>=(this.scaledValue(this.mLeftInset)+this.scaledValue(this.mRightInset)))&&(c.size.height>=(this.scaledValue(this.mTopInset)+this.scaledValue(this.mTopInset)))){if(this.mImages!=null){var i=this.coverageRect(c);var g=new IWRect(i.origin.x,i.origin.y,0,0);j+='<div style="'+g.position()+'">';j+=this.p_buildFrame(this.mImages,i.size);j+="</div>"}if(this.mAdornmentURL!=null){j+=this.p_adornmentMarkupForRect(c)}}$(a).appendChildrenFromMarkup(j);if(a.className.indexOf("flowDefining")<0){if(a.style.position!="absolute"){var h=this.strokeExtra();var d=Element.getStyle(a,"marginLeft");d=d?(toPixelsAtElement(a,d,false)):0;var b=Element.getStyle(a,"marginTop");b=b?(toPixelsAtElement(a,b,true)):0;var f=Element.getStyle(a,"marginRight");f=f?(toPixelsAtElement(a,f,false)):0;var e=Element.getStyle(a,"marginBottom");e=e?(toPixelsAtElement(a,e,true)):0;a.style.marginLeft=px(h.left+d);a.style.marginTop=px(h.top+b);a.style.marginRight=px(h.right+f);a.style.marginBottom=px(h.bottom+e);detectBrowser();if(windowsInternetExplorer&&browserVersion==7){updateListOfIE7FloatsFix(a)}}}}};IWPhotoFrame.prototype.maximumAssetScaleForImageSize=function(e){var a=1;if((e.width>this.mLeftInset+this.mRightInset)&&(e.height>this.mTopInset+this.mBottomInset)){a=1}else{if((e.width<Math.ceil(this.mLeftInset*this.mMinimumAssetScale)+Math.ceil(this.mRightInset*this.mMinimumAssetScale))||(e.height<Math.ceil(this.mTopInset*this.mMinimumAssetScale)+Math.ceil(this.mBottomInset*this.mMinimumAssetScale))){a=0}else{var h=1;var d=1e-7;if(((this.mLeftInset+this.mRightInset)>=e.width)&&((this.mLeftInset+this.mRightInset)>0)){var b=Math.floor(this.mLeftInset/(this.mLeftInset+this.mRightInset)*e.width)/this.mLeftInset;var c=Math.floor(this.mRightInset/(this.mLeftInset+this.mRightInset)*e.width)/this.mRightInset;b-=d;c-=d;h=Math.max(b,c);if(e.width<(Math.ceil(this.mLeftInset*h)+Math.ceil(this.mRightInset*h))){h=Math.min(b,c)}if((h<this.mMinimumAssetScale)||e.width<(Math.ceil(this.mLeftInset*h)+Math.ceil(this.mRightInset*h))){h=this.mMinimumAssetScale}}var f=1;if(((this.mTopInset+this.mBottomInset)>=e.height)&&((this.mTopInset+this.mBottomInset)>0)){var i=Math.floor(this.mTopInset/(this.mTopInset+this.mBottomInset)*e.height)/this.mTopInset;var g=Math.floor(this.mBottomInset/(this.mTopInset+this.mBottomInset)*e.height)/this.mBottomInset;i-=d;g-=d;f=Math.max(i,g);if(e.height<(Math.ceil(this.mTopInset*f)+Math.ceil(this.mBottomInset*f))){f=Math.min(i,g)}if((f<this.mMinimumAssetScale)||e.height<(Math.ceil(this.mTopInset*f)+Math.ceil(this.mBottomInset*f))){f=this.mMinimumAssetScale}}a=Math.min(h,f)}}return a};IWPhotoFrame.prototype.coverageRect=function(c){var e=c.origin.x+this.scaledValue(this.mLeftInset);var d=c.origin.y+this.scaledValue(this.mTopInset);var b=c.maxX()-this.scaledValue(this.mRightInset);var a=c.maxY()-this.scaledValue(this.mBottomInset);e-=this.mLeftWidth;b+=this.mRightWidth;d-=this.mTopHeight;a+=this.mBottomHeight;return(new IWRect(e,d,b-e,a-d)).round()};IWPhotoFrame.prototype.p_buildFrame=function(g,m,h){var a=m.width;var j=m.height;var e=this.mLeftWidth;var l=a-this.mRightWidth;var d=this.mTopHeight;var i=j-this.mBottomHeight;var k="";var b=h?("z-index: "+h+";"):"";if((e<=l+1)&&(d<=i+1)){var c=new IWRect(0,0,this.mLeftWidth,this.mTopHeight);k=imgMarkup(g[kSFRFrameTopLeft].sourceURL(),c.position()+b);c=new IWRect(0,(j-this.mBottomHeight),this.mLeftWidth,this.mBottomHeight);k+=imgMarkup(g[kSFRFrameBottomLeft].sourceURL(),c.position()+b);c=new IWRect((a-this.mRightWidth),0,this.mRightWidth,this.mTopHeight);k+=imgMarkup(g[kSFRFrameTopRight].sourceURL(),c.position()+b);c=new IWRect((a-this.mRightWidth),(j-this.mBottomHeight),this.mRightWidth,this.mBottomHeight);k+=imgMarkup(g[kSFRFrameBottomRight].sourceURL(),c.position()+b);var f=new IWSize(this.mLeftWidth,this.scaledValue(this.mLeftTileHeight));c=new IWRect(0,d,f.width,f.height);k+=this.p_tiles(g[kSFRFrameLeft].sourceURL(),c,d,i,true,h);f=new IWSize(this.mRightWidth,this.scaledValue(this.mRightTileHeight));c=new IWRect(a-this.mRightWidth,d,f.width,f.height);k+=this.p_tiles(g[kSFRFrameRight].sourceURL(),c,d,i,true,h);f=new IWSize(this.scaledValue(this.mTopTileWidth),this.mTopHeight);c=new IWRect(e,0,f.width,f.height);k+=this.p_tiles(g[kSFRFrameTop].sourceURL(),c,e,l,false,h);f=new IWSize(this.scaledValue(this.mBottomTileWidth),this.mBottomHeight);c=new IWRect(e,j-this.mBottomHeight,f.width,f.height);k+=this.p_tiles(g[kSFRFrameBottom].sourceURL(),c,e,l,false,h)}return k};IWPhotoFrame.prototype.p_adornmentRectForRect=function(b){var a=new IWPoint();b=this.coverageRect(b);a.x=(b.size.width-(this.mLeftWidth+this.mRightWidth))*this.mAdornmentPosition.x;a.x+=b.origin.x+this.mLeftWidth;a.y=this.mTopHeight/2+(b.origin.y+this.mAdornmentPosition.y);var e=new IWSize(this.scaledValue(this.mAdornmentSize.width),this.scaledValue(this.mAdornmentSize.height));var c=new IWPoint(a.x-(e.width/2),a.y-(e.height/2));var d=new IWRect(c,e);return d};IWPhotoFrame.prototype.p_adornmentMarkupForRect=function(b,c){var a=c?("z-index: "+c+";"):"";return imgMarkup(this.mAdornmentURL,this.p_adornmentRectForRect(b).position()+a)};IWPhotoFrame.prototype.p_tiles=function(m,r,e,c,b,l){var o="";if(e<c){var g=l?("z-index: "+l+";"):"";var t=r.clone();var j=this.mTilingMode;if(b){t.size.height=Math.ceil(c-e);if(r.size.height==1){j=kSFRFrameStretchToFit}}else{t.size.width=Math.ceil(c-e);if(r.size.width==1){j=kSFRFrameStretchToFit}}if(j==kSFRFrameStretchToFit){o+=imgMarkup(m,t.position()+g)}else{var s=r.size;var f=(b?s.height:s.width);var a=Math.ceil((c-e)/f);if(f<5||a>20){IWAssert(function(){return true},"Please remove this assert and the surrouding block.");iWLog("Too many frame image tiles are getting generated.  Performance may be affected.")}if(j==kSFRFrameStretchEvenly){f=(c-e)/a;if(b){r.size.height=f}else{r.size.width=f}}else{if(j==kSFRFrameClip){o+='<div style="'+t.position()+'overflow: hidden; ">';r.origin.x=0;r.origin.y=0}}for(var n=0;n<a;++n){var d=Math.round(r.origin.x);var q=Math.round(r.origin.x+r.size.width);var k=Math.round(r.origin.y);var h=Math.round(r.origin.y+r.size.height);var p=new IWRect(d,k,(q-d),(h-k));o+=imgMarkup(m,p.position()+g);if(b){r=r.offset(0,f)}else{r=r.offset(f,0)}}if(j==kSFRFrameClip){o+="</div>"}}}return o};