var IWAllImages={};var IWAllImageObjects={};function IWCreateImage(a){return IWAllImages[a]||new IWImage(a)}var IWNamedImages={};function IWImageNamed(b){var a=IWNamedImages[b];return a?IWCreateImage(a):null}function IWRegisterNamedImage(b,a){IWNamedImages[b]=a}var IWImageEnableUnload=isiPhone;var IWImage=Class.create({initialize:function(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},sourceURL:function(){return this.mURL},loaded:function(){return this.mLoaded},load:function(c,b){if(this.mLoaded&&(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}}},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}}},preventUnloading:function(){if(this.mPreventUnloading==0){this.mPreventedUnload=false}++this.mPreventUnloading},allowUnloading:function(){--this.mPreventUnloading;if(this.mPreventUnloading<=0&&this.mPreventedUnload){this.unload()}},naturalSize:function(){(function(){return this.mNaturalSize!==undefined}).bind(this).assert();return this.mNaturalSize},imgObject:function(){return IWAllImageObjects[this.sourceURL()]},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()},toString:function(){return"IWImage("+this.mNaturalSize+", "+this.mURL+")"}});function IWCreateLoadingArea(){if(IWSharedLoadingAreaManager==null){IWSharedLoadingAreaManager=new IWLoadingAreaManager()}return IWSharedLoadingAreaManager.createLoadingArea()}var IWLoadingAreaManager=Class.create({initialize:function(){var a=$(document.createElement("div"));a.setStyle({visibility:"hidden",position:"absolute",width:0,height:0,overflow:"hidden"});document.body.appendChild(a);this.mCurrentLoadingArea=a},createLoadingArea:function(){var a=document.createElement("div");this.mCurrentLoadingArea.appendChild(a);return a}});var IWSharedLoadingAreaManager=null;var IWSharedEffectRegistry=null;var allStyleSheetsLoaded=false;var timeStyleSheetsAppearedInDOM=null;function IWCreateEffectRegistry(){if(IWSharedEffectRegistry==null){IWSharedEffectRegistry=new IWEffectRegistry()}return IWSharedEffectRegistry}var IWEffectRegistry=Class.create({initialize:function(){this.mEffects=null},registerEffects:function(a){this.mEffects=a},applyEffects:function(){var a=[];a=a.concat(this.p_queueForEffectType("crop"));a=a.concat(this.p_queueForEffectType("stroke"));a=a.concat(this.p_queueForEffectType("reflection"));a=a.concat(this.p_queueForEffectType("shadow"));this.p_applyEffectsFromQueue(a)},p_queueForEffectType:function(a){var d=[];var b=0;var c=a+"_"+b++;while(effect=this.mEffects[c]){d=d.concat(this.p_queueForEffectClass(effect,c));c=a+"_"+b++}return d},p_queueForEffectClass: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=f.minusArray(a);g=g.concat(this.p_queueForEffectClass(d,e,a))}g.push({element:b,effect:d})}return g},p_allStyleSheetsLoaded:function(){if(isCamino||isFirefox){if(timeStyleSheetsAppearedInDOM!=null){duration=(new Date().getTime())-timeStyleSheetsAppearedInDOM;if(duration>100){allStyleSheetsLoaded=true;timeStyleSheetsAppearedInDOM=null}}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},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 IWEffectChildren(a,c){a=$(a);var b=a.select(".inline-block");return a.descendants().findAll(function(g){if((!c&&g.match("div.badge-fill"))||g.match("img")){var f=false;for(var e=0,d=b.length;f==false&&e<d;++e){f=g.descendantOf(b[e])}return f==false}else{return false}})}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}var IWShadow=Class.create({initialize:function(a){this.mBlurRadius=a.blurRadius;this.mOffset=a.offset;this.mColor=a.color;this.mOpacity=a.opacity},applyToElement:function(l){var h=new IWPoint(l.offsetLeft,l.offsetTop);var x=new IWSize(l.offsetWidth,l.offsetHeight);var e=1;if(l!=null){l=$(l);e=l.getStyle("opacity");if(windowsInternetExplorer){var d=$(l.cloneNode(false));l.parentNode.insertBefore(d,l);var i=$(document.createElement("DIV"));var a=l.cloneNodeExcludingIDs(true);i.appendChild(a);i.select("map").each(function(j){j.parentNode.removeChild(j)});i.select(".IWReflection").invoke("remove");d.appendChild(i);d.appendChild(l);l.setStyle({top:0,left:0});var A=this.mBlurRadius*0.5;var C=this.mOffset.x-(this.mBlurRadius*0.6);var k=this.mOffset.y-(this.mBlurRadius*0.6);i.setStyle({position:"absolute",left:px(C-500),top:px(k-500),width:px(x.width+1000),height:px(x.height+1000)});a.setStyle({position:"absolute",left:px(500),top:px(500),padding:0,margin:0});i.style.filter="progid:DXImageTransform.Microsoft.MaskFilter() progid:DXImageTransform.Microsoft.MaskFilter(color="+this.mColor+") progid:DXImageTransform.Microsoft.Alpha(opacity="+this.mOpacity*e*100+") progid:DXImageTransform.Microsoft.Blur(pixelradius="+A+")";if(d.hasClassName("inline-block")){var m=d.style.top;var g=d.style.marginTop;if(m&&!g){m=(toPixelsAtElement(d,m,true));d.style.marginTop=px(-m)}else{if(!m&&g){g=(toPixelsAtElement(d,g,true));d.style.rootTop=px(-g)}else{if(m&&g){m=(toPixelsAtElement(d,m,true));g=(toPixelsAtElement(d,g,true));if(m!=g){d.style.rootTop=px(-g)}}}}}if(l.offsetTop!=0){var p=l.style.top;p=p?(toPixelsAtElement(l,p,true)):0;p-=l.offsetTop;l.style.top=px(p)}}else{var B=IWEffectChildren(l,false);var z=IWImageExtents(l,B,0,0,x.width,x.height);var f=undefined;if(l.sandwich&&l.sandwich.canvas){f=l.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 n=z.left;var w=z.top;z.right-=z.left;z.bottom-=z.top;z.left=0;z.top=0;var t=z.right-z.left;var s=z.bottom-z.top;if(f===undefined){f=$(document.createElement("canvas"))}var c=f.getContext?f.getContext("2d"):null;var o=c?c.shadowColor:false;if(o){$(f).setAttribute("width",t);$(f).setAttribute("height",s);$(f).setStyle({position:"absolute",top:px(w),left:px(n)});var v=undefined;if(l.sandwich&&l.sandwich.workingCanvas){v=l.sandwich.workingCanvas}if(v===undefined){v=f.cloneNode(false)}var r=this;var u=l.sandwich||{};u.loadedElements=[];u.elementCount=B.length;u.loadedElementCount=0;u.canvas=f;u.workingCanvas=v;l.sandwich=u;u.onImageLoad=function(E,D,F){var G=IWChildOffset(D,l,true);this.loadedElements[E]={imgObject:F.imgObject(),left:G.x-n,top:G.y-w,width:D.offsetWidth,height:D.offsetHeight,render:function(j){j.drawImage(this.imgObject,this.left,this.top,this.width,this.height)}};this.loadedElementCount++;if(this.loadedElementCount==this.elementCount){this.renderShadow()}};u.registerDiv=function(D,F){var E=IWChildOffset(F,l,true);this.loadedElements[D]={divElement:F,left:E.x-n,top:E.y-w,width:F.offsetWidth,height:F.offsetHeight,render:function(H){var I=this.divElement;var j=I.getStyle("background-color");var G=parseFloat(I.style.opacity||1);H.save();H.globalAlpha*=G;H.fillStyle=j;H.fillRect(this.left,this.top,this.width,this.height);H.restore()}};this.loadedElementCount++;if(this.loadedElementCount==this.elementCount){this.renderShadow()}};u.renderShadow=function(){if(f.parentNode===null){l.insertBefore(f,l.firstChild)}f.parentNode.insertBefore(v,f);var E=v.getContext("2d");new IWRect(0,0,t,s).clear(E);var P=l.getStyle("background-image");var O=P&&P.indexOf("url(")==0;var R=l.getStyle("background-color");var I=r.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 M=new IWRect(-n,-w,x.width,x.height).round();if(J){E.fillStyle="rgba(0,0,0,1)";M.fill(E)}for(var F=0;F<this.loadedElements.length;++F){var K=this.loadedElements[F];var Q=$(IWClippingNode(B[F]));if(Q&&Q.descendantOf(l)){var D=IWChildOffset(Q,l,true);E.save();E.rect(D.x-n,D.y-w,Q.offsetWidth,Q.offsetHeight);E.clip();K.render(E);E.restore()}else{K.render(E)}}E=f.getContext("2d");new IWRect(0,0,t,s).clear(E);var H=true;E.globalAlpha=e;if(E.shadowColor){var N=true;E.save();N=!(isWebKit&&isEarlyWebKitVersion);if(N){var L=r.mColor.toLowerCase().match(/#?([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})/);if(L&&L.length>=4){E.shadowColor="rgba("+parseInt(L[1],16)+", "+parseInt(L[2],16)+", "+parseInt(L[3],16)+", "+r.mOpacity+")"}else{L=r.mColor.match(/rgb\(([0-9\.]+),[ ]*([0-9\.]+),[ ]*([0-9\.]+)\)/);if(L&&L.length>=4){E.shadowColor="rgba("+L[1]+", "+L[2]+", "+L[3]+", "+r.mOpacity+")"}else{iWLog("not using shadow alpha, failed to match "+r.mColor);N=false}}}if(N==false){E.globalAlpha*=r.mOpacity;E.shadowColor=r.mColor}E.shadowBlur=r.mBlurRadius;E.shadowOffsetX=r.mOffset.x;E.shadowOffsetY=r.mOffset.y;E.drawImage(v,0,0);E.restore();if(N==false){H=r.mOpacity<1}else{H=false}}if(H){E.drawImage(v,0,0)}if(J){M.clear(E);E.save();E.globalAlpha=e;E.rect(M.origin.x,M.origin.y,M.size.width,M.size.height);E.clip();for(var F=0;F<this.loadedElements.length;++F){this.loadedElements[F].render(E)}E.restore()}if(v.parentNode){v.parentNode.removeChild(v);delete this.workingCanvas;this.workingCanvas=null}for(var G=0;G<B.length;++G){B[G].style.opacity=0}};if(B.length>0){for(var y=0;y<B.length;++y){var b=$(B[y]);if(b.match("img")){var q=IWCreateImage(b.src);q.load(u.onImageLoad.bind(u,y,b,q))}else{if(b.match("div")){u.registerDiv(y,b)}}}}else{u.renderShadow()}v.style.visibility="hidden"}}}},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}});var IWReflection=Class.create({initialize:function(a){this.mOpacity=a.opacity;this.mOffset=Math.max(a.offset,1);this.mFadeSustain=0.4;this.mMaxSustain=120},applyToElement:function(k){var d=new IWRect(k.offsetLeft,k.offsetTop,k.offsetWidth,k.offsetHeight);var h=Math.min(k.offsetHeight*this.mFadeSustain,this.mMaxSustain)*0.75;if(k!=null){var i=IWEffectChildren(k,true);var p=IWImageExtents(k,i,0,0,d.size.width,d.size.height);var c=p.right-p.left;var r=p.bottom-p.top;var g=p.left;var o=p.top;var a=r-d.size.height;if(windowsInternetExplorer){var s=$(document.createElement("div"));s.setStyle({position:"absolute",left:px(p.left),top:px(d.size.height),marginTop:px(this.mOffset),width:px(c),height:px(h),overflow:"hidden",filter:"progid:DXImageTransform.Microsoft.Alpha(opacity="+(this.mOpacity*100)+", style=1, finishOpacity=0, startx=0, starty=0, finishx=0, finishy=100)"});s.addClassName("IWReflection");var e=$(document.createElement("div"));e.setStyle({position:"relative",width:px(c),height:px(r),filter:"flipv"});var f=$(k.cloneNode(true));f.setStyle({left:px(-p.left),top:px(-p.top),position:"absolute"});f.className=f.className.replace(/(shadow_\d+)/g,"");s.appendChild(e);e.appendChild(f);k.insertBefore(s,k.firstChild)}else{var s=$(document.createElement("canvas"));p.right-=p.left;p.bottom-=p.top;p.left=0;p.top=0;s.setAttribute("width",p.right-p.left);s.setAttribute("height",h+this.mOffset/2);s.setStyle({position:"absolute",top:px(d.size.height),marginTop:px(this.mOffset),left:px(g)});k.insertBefore(s,k.firstChild);var b=s.getContext("2d");b.clearRect(0,0,s.width,s.height);var n={};n.loadedImgs=[];n.imgCount=i.length;var m=this;n.onImageLoad=function(x,y,u){var w=IWChildOffset(y,k,true);this.loadedImgs[x]={imgObject:u.imgObject(),left:w.x-g,top:w.y-o-a,width:y.offsetWidth,height:y.offsetHeight};var C=false;if(this.loadedImgs.length>=this.imgCount){C=true;for(var v=0;C&&v<this.loadedImgs.length;++v){if(this.loadedImgs[v]===undefined){C=false}}}if(C){b.save();b.translate(0,d.size.height-1);b.scale(1,-1);for(var v=0;v<this.loadedImgs.length;++v){var z=this.loadedImgs[v];var B=$(IWClippingNode(i[v]));if(B&&B.descendantOf(k)){var D=IWChildOffset(B,k,true);b.save();b.rect(D.x-g,D.y-o-a,B.offsetWidth,B.offsetHeight);b.clip();b.drawImage(z.imgObject,z.left,z.top,z.width,z.height);b.restore()}else{b.drawImage(z.imgObject,z.left,z.top,z.width,z.height)}}b.restore();b.save();b.globalCompositeOperation="destination-out";var A=b.createLinearGradient(0,0,0,s.height);A.addColorStop(1,"rgba(255, 255, 255, 1.0)");A.addColorStop(0,"rgba(255, 255, 255, "+(1-m.mOpacity)+")");b.fillStyle=A;if(navigator.appVersion.indexOf("WebKit")!=-1){b.rect(0,0,s.width,s.height*2);b.fill()}else{b.fillRect(0,0,s.width,s.height*2)}b.restore()}};for(var q=0;q<i.length;++q){var t=i[q];var l=IWCreateImage(t.src);l.load(n.onImageLoad.bind(n,q,t,l))}}}}});var kLeft=0,kTopLeft=1,kTop=2,kTopRight=3,kRight=4,kBottomRight=5,kBottom=6,kBottomLeft=7,kPartCount=8;var IWStrokeParts=Class.create({initialize:function(a,c,b,d){this.mStrokeParts=a;this.mMaxImageSize=c;this.mShouldClip=b;if(b){this.mStrokeWidth=d}},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]},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},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},applyToElement:function(a){a=$(a);if(a!=null){if(a.parentNode){$(a.parentNode).ensureHasLayoutForIE()}var j=new IWSize(a.offsetWidth,a.offsetHeight);a.insert(this.p_imageMarkup(j,(a.hasClassName("aboveStrokesAndFrames")?-1:"auto")));if(!a.hasClassName("flowDefining")){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;if(windowsInternetExplorer){a.setStyle({marginLeft:px(Math.max(0,i.left-1)+d),marginTop:px(Math.max(0,i.top-1)+b),marginRight:px(Math.max(0,i.right-1)+g),marginBottom:px(Math.max(0,i.bottom-1)+f)});if(effectiveBrowserVersion==7){updateListOfIE7FloatsFix(a)}}else{a.setStyle({marginLeft:px(i.left+d),marginTop:px(i.top+b),marginRight:px(i.right+g),marginBottom:px(i.bottom+f)})}}}}},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)}});var IWStroke=Class.create({initialize:function(a,c,b){this.mStrokeURL=a;this.mStrokeRect=c;this.mMaxImageSize=b},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},p_imageMarkup:function(b,c){var a=this.p_strokeRect(b).position();if(c){a+="z-index: "+c+";"}return imgMarkup(this.mStrokeURL,a)},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},applyToElement:function(h){h=$(h);if(h!=null){if(h.parentNode){$(h.parentNode).ensureHasLayoutForIE()}var a=new IWSize(h.offsetWidth,h.offsetHeight);h.insert(this.p_imageMarkup(a,(h.hasClassName("aboveStrokesAndFrames")?-1:"auto")));if(!h.hasClassName("flowDefining")){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.setStyle({marginLeft:px(e.left+d),marginTop:px(e.top+c),marginRight:px(e.right+b),marginBottom:px(e.bottom+f)});if(windowsInternetExplorer&&effectiveBrowserVersion==7){updateListOfIE7FloatsFix(h)}}}}},strokeExtra:function(a){if(a===undefined){a=this.mMaxImageSize}var b=new IWRect(IWZeroPoint(),a);return b.paddingToRect(this.p_strokeRect(a))}});var IWEmptyStroke=Class.create({initialize:function(){},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},applyToElement:function(a){},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;var IWPhotoFrame=Class.create({initialize:function(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)},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)},scaledValue:function(a){return Math.ceil(a*this.mAssetScale)},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},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))},applyToElement:function(a){a=$(a);if(a!=null){if(a.parentNode){$(a.parentNode).ensureHasLayoutForIE()}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,(a.hasClassName("aboveStrokesAndFrames")?-1:"auto"));j+="</div>"}if(this.mAdornmentURL!=null){j+=this.p_adornmentMarkupForRect(c)}}a.insert(j);if(!a.hasClassName("flowDefining")){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.setStyle({marginLeft:px(h.left+d),marginTop:px(h.top+b),marginRight:px(h.right+f),marginBottom:px(h.bottom+e)});if(windowsInternetExplorer&&effectiveBrowserVersion==7){updateListOfIE7FloatsFix(a)}}}}},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},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()},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},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},p_adornmentMarkupForRect:function(b,c){var a=c?("z-index: "+c+";"):"";return imgMarkup(this.mAdornmentURL,this.p_adornmentRectForRect(b).position()+a)},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);r=b?r.offset(0,f):r.offset(f,0)}if(j==kSFRFrameClip){o+="</div>"}}}return o}});