Website/static/slides/cse562sp2015/10-DataModeling/assets/player/KPFObjects.js
2016-02-11 09:37:51 -05:00

1 line
47 KiB
JavaScript

var kpfLayerCounter=0;var eventOverallDuration=0;var KPFPlaybackController=Class.create({initialize:function(b,a){this.domNode=a;this.kpfEvent=null},destroy:function(){this.removeEvent();this.domNode=null},removeEvent:function(){if(this.kpfEvent){this.kpfEvent.destroy();delete this.kpfEvent;this.kpfEvent=null;while(this.domNode.childNodes.length>0){this.domNode.removeChild(this.domNode.childNodes[0])}}},renderEvent:function(a){this.removeEvent();this.kpfEvent=a;this.kpfEvent.renderEvent(this.domNode)},renderEffects:function(){var a=this.kpfEvent.renderEffects(this.kpfEvent.event.effects);return a},animateEffects:function(a){this.kpfEvent.animateEffects(a)},eventOverallEndTime:function(){return this.kpfEvent.eventOverallEndTime}});var KPFEvent=Class.create({initialize:function(a){this.slideId=a.slideId;this.slideIndex=a.slideIndex;this.sceneIndex=a.sceneIndex;this.animationSupported=a.animationSupported;this.event=a.event;this.baseLayer={};this.effects=[];this.cssRenderer={};this.eventOverallEndTime=0;this.overallEndTimeInternal()},destroy:function(){this.baseLayer.destroy();this.cssRenderer.destroy();for(var a=0,b=this.effects.length;a<b;a++){this.effects[a].destroy()}delete this.baseLayer;delete this.cssRenderer;delete this.effects;delete this.event;this.slideId=null;this.slideIndex=null;this.sceneIndex=null;this.animationSupported=null;this.eventOverallEndTime=null},addAnimationsToIdenticalLayer:function(c,f){if(c.animations&&c.animations.length>0){for(var b=0,e=c.animations.length;b<e;b++){f.animations.push(c.animations[b])}}if(c.layers&&c.layers.length>0){for(var a=0,d=c.layers.length;a<d;a++){this.addAnimationsToIdenticalLayer(c.layers[a],f.layers[a])}}},processEffects:function(a){var d=[];for(var h=0;h<a.length;h++){var m=a[h];if(m.type==="actionBuild"){var f=false;var l;for(var g=0,b=d.length;g<b;g++){if(d[g].type==="actionBuild"&&d[g].objectID===m.objectID){l=g;f=true;break}}if(f){this.addAnimationsToIdenticalLayer(m.baseLayer,d[l].baseLayer);if(m.beginTime<d[l].beginTime){d[l].beginTime=m.beginTime}if(m.beginTime+m.duration>d[l].beginTime+d[l].duration){d[l].duration=m.beginTime+m.duration}for(var e=0,c=m.effects.length;e<c;e++){d[l].effects.push(m.effects[e])}if(d[l].names==null){d[l].names=[]}d[l].names.push(m.name)}else{d.push(m)}}else{d.push(m)}}for(var h=0,b=d.length;h<b;h++){d[h].effects=this.processEffects(d[h].effects)}return d},renderEffects:function(b){var k=[];for(var e=0,c=b.length;e<c;e++){var h=new KPFEffect(b[e],this.animationSupported);var f=false;this.cssRenderer.initRendererFlags(h);if(h.baseLayer==null){this.renderAudioOnlyEffect(h)}else{if(h.type==="actionBuild"){for(var d=0,m=this.effects.length;d<m;d++){if(this.effects[d].objectID===h.objectID){if(this.effects[d].type==="actionBuild"){f=true}else{f=false}}}}if(this.baseLayer.objectID===h.objectID){var g=new KPFLayer(h.baseLayer,{animationSupported:this.animationSupported,name:h.name,type:h.type});var l=document.getElementById("layer"+this.baseLayer.layerId);var a=l.parentNode;var n=document.createElement("div");n.setAttribute("id","layer"+g.layerId);this.baseLayer=g;h.kpfLayer=g;this.cssRenderer.layer=g;this.cssRenderer.domNode=n;this.cssRenderer.draw(a);a.removeChild(l)}else{this.renderEffect(this.baseLayer,h,f)}}this.effects.push(h);k.push(h)}return k},renderEffect:function(b,g,f){var d;for(var e=0,c=b.layers.length;e<c;e++){if(b.layers[e].objectID===g.objectID){var h=new KPFLayer(g.baseLayer,{animationSupported:this.animationSupported,name:g.name,type:g.type},b.bounds.offset);var j="layer"+b.layers[e].layerId;var k=document.getElementById("layer"+b.layers[e].layerId);var a=k.parentNode;g.kpfLayer=h;if(!f){b.layers[e]=h;var l=this.cssRenderer.createNodes(a,b,h);a.replaceChild(l,k)}else{g.currentKPFLayer=b.layers[e]}d=true}else{d=this.renderEffect(b.layers[e],g,f)}if(d){break}}return d},renderEvent:function(a){var b={animationSupported:this.animationSupported};if(this.event.effects&&this.event.effects.length===1){b.name=this.event.effects[0].name;b.type=this.event.effects[0].type;b.objectID=this.event.effects[0].objectID}this.baseLayer=new KPFLayer(this.event.baseLayer,b);this.cssRenderer=new KPFCssRenderer(this.baseLayer,this.sceneIndex,this.animationSupported,this.effects);this.cssRenderer.draw(a)},renderAudioOnlyEffect:function(e){if(e.name!="renderMovie"){return}var b=e.movie;if(!b.isAudioOnly){return}if(gShowController.audioCache==null){gShowController.audioCache={}}var a=b.asset+"-audio";var d=gShowController.audioCache[a];if(d==null){var c=gShowController.textureManager.urlForAsset(b.asset,this.slideId);d=new Audio(c);if(b){if(b.loopMode&&b.loopMode==="looping"){d.loop=true}if(b.volume){d.volume=b.volume}}gShowController.audioCache[a]=d}d.play()},animateEffects:function(c){for(var a=0,b=c.length;a<b;a++){this.animateEffect(c[a])}},animateEffect:function(a){this.cssRenderer.animate(a);if(a.effects.length>0){setTimeout(this.handleEffectDidComplete.bind(this,a),(a.beginTime+a.duration)*1000)}},handleEffectDidComplete:function(b){var d=this.renderEffects(b.effects);for(var a=0,c=d.length;a<c;a++){this.animateEffect(d[a])}},overallEndTime:function(){return this.eventOverallEndTime},overallEndTimeInternal:function(){for(var a=0,d=this.event.effects.length;a<d;a++){var c=0;var b=this.event.effects[a];this.calculateOverallEndTime(c,b)}},calculateOverallEndTime:function(e,c){var b=e+c.beginTime+c.duration;if(b>this.eventOverallEndTime){this.eventOverallEndTime=b}for(var a=0,d=c.effects.length;a<d;a++){this.calculateOverallEndTime(b,c.effects[a])}}});var KPFEffect=Class.create({initialize:function(b,a){this.type=b.type;this.name=b.name;this.beginTime=b.beginTime;this.duration=b.duration;this.objectID=b.objectID;this.baseLayer=b.baseLayer;if(b.movie){this.movie=b.movie}this.effects=[];this.addSubEffect(b.effects,a)},destroy:function(){for(var a=0,b=this.effects.length;a<b;a++){this.destroyEffect(this.effects[a])}this.type=null;this.name=null;this.beginTime=null;this.duration=null;this.objectID=null;delete this.kpfLayer;delete this.effects;delete this.baseLayer;if(this.movie){delete this.movie}if(this.currentKPFLayer){delete this.currentKPFLayer}},destroyEffect:function(b){for(var a=0,c=b.effects.length;a<c;a++){this.destroyEffect(b.effects[a])}b.type=null;b.name=null;b.beginTime=null;b.duration=null;b.objectID=null;delete b.kpfLayer;delete b.effects;delete b.baseLayer;if(b.movie){delete b.movie}if(b.currentKPFLayer){delete b.currentKPFLayer}},addSubEffect:function(c,a){for(var b=0,e=c.length;b<e;b++){var d=new KPFEffect(c[b],a);this.effects.push(d)}}});var KPFCssRenderer=Class.create({initialize:function(b,d,a,c){this.textureId=b.textureId;this.nativeWidth=b.bounds.width;this.nativeHeight=b.bounds.height;this.opacity=b.opacity;this.visibility=b.hidden===true?"hidden":"visible";this.textureTransform=b.textureTransform;this.affineTransform=b.affineTransform;this.anchorPoint=b.anchorPoint;this.contentsRect=b.contentsRect;this.layer=b;this.sceneIndex=d;this.animationSupported=a;this.enableCompositingUsingBackface=false;this.enablePreserve3DFromParent=false;if(c.length>0){this.initRendererFlags(c[0])}this.domNode=document.createElement("div");this.domNode.setAttribute("id","layer"+b.layerId)},initRendererFlags:function(a){if(a.type==="transition"&&a.name!="apple:ca-swing"&&a.name!="com.apple.iWork.Keynote.BLTSwoosh"){this.enableCompositingUsingBackface=true;this.enablePreserve3DFromParent=true;if(isChrome&&(a.name==="apple:ca-push"||a.name==="com.apple.iWork.Keynote.BLTFadeThruColor")){this.enableCompositingUsingBackface=false;this.enablePreserve3DFromParent=false}}else{this.enableCompositingUsingBackface=false;this.enablePreserve3DFromParent=false}if(a.name==="apple:apple-grid"){this.isGridTransition=true}else{if(a.name==="com.apple.iWork.Keynote.BLTMosaicFlip"){this.isMosaicTransition=true}else{if(a.name==="com.apple.iWork.Keynote.BLTSwoosh"&&a.type==="transition"){this.isSwooshTransition=true}}}},destroy:function(){this.textureId=null;this.nativeWidth=null;this.nativeHeight=null;this.opacity=null;this.visibility=null;this.textureTransform=null;this.affineTransform=null;this.anchorPoint=null;this.textureAnimation=null;this.contentsRect=null;this.requiresPerspectiveTransform=null;this.sceneIndex=null;if(this.domNode.hasChildNodes()){while(this.domNode.childNodes.length>0){this.domNode.removeChild(this.domNode.firstChild)}}this.domNode=null},addAnimationNode:function(d,c,a,b){if(c==null){return d}var e=c.shift();if(e==null){return d}var g=document.createElement("div");var f=a+"-"+escapeTextureId(e);g.setAttribute("id",f);if(b.initialState.masksToBounds){setElementProperty(g,"overflow","hidden")}if(this.enableCompositingUsingBackface){setElementProperty(g,kBackfaceVisibilityPropertyName,"hidden")}else{if(this.isSwooshTransition){setElementProperty(g,kTransformPropertyName,"translateZ(0px)")}}this.setStyle(g,"0px","0px",d.style.width,d.style.height,kPositionAbsolutePropertyValue,null,null);setElementProperty(g,kTransformStylePropertyName,kTransformStylePreserve3DPropertyValue);if(b.anchorPoint.pointX!=0.5||b.anchorPoint.pointY!=0.5){setElementProperty(g,kTransformOriginPropertyName,(b.anchorPoint.pointX*100)+"% "+(b.anchorPoint.pointY*100)+"%")}if(b.transformOriginZValue!=""&&e!="opacity"&&e!="doubleSided"){if(e!="anchorPointZ"){if(Prototype.Browser.Gecko){setElementProperty(g,kTransformOriginPropertyName,(b.anchorPoint.pointX*100)+"% "+(b.anchorPoint.pointY*100)+"% "+b.transformOriginZValue+"px")}else{setElementProperty(g,kTransformOriginZPropertyName,b.transformOriginZValue+"px");if(navigator.userAgent.lastIndexOf("Chrome/")<=0){setElementProperty(g,kTransformPropertyName,"translateZ("+b.transformOriginZValue+"px)")}}}}d.appendChild(g);return this.addAnimationNode(g,c,a,b)},createNodes:function(a,c,b){var d=this.addNode(a,c,b);return d},addNode:function(o,s,d){var t="layer"+d.layerId;var K=document.createElement("div");K.setAttribute("id",t);setElementProperty(K,"pointer-events","none");var B=d.contentsRect.x;var A=d.contentsRect.y;var C=d.contentsRect.width;var J=d.contentsRect.height;var R=d.affineTransform[0];var P=d.affineTransform[1];var O=d.affineTransform[2];var N=d.affineTransform[3];var M=d.affineTransform[4];var L=d.affineTransform[5];var r="matrix("+R+","+P+","+O+","+N+","+(M+d.bounds.offset.pointX)+","+(L+d.bounds.offset.pointY)+")";this.setStyle(K,"0px","0px",d.bounds.width+"px",d.bounds.height+"px",kPositionAbsolutePropertyValue,d.opacity,d.visibility);setElementProperty(K,kTransformPropertyName,r);if(d.anchorPoint.pointX!=0.5||d.anchorPoint.pointY!=0.5){setElementProperty(K,kTransformOriginPropertyName,(d.anchorPoint.pointX*100)+"% "+(d.anchorPoint.pointY*100)+"%")}if(d.initialState.masksToBounds){setElementProperty(K,"overflow","hidden")}o.appendChild(K);var u;if(this.animationSupported){u=this.addAnimationNode(K,d.divNames,t,d)}else{u=K}if(d.isTransition&&this.enablePreserve3DFromParent){if(s.sublayerTransform[11]!=0){setElementProperty(K,kTransformStylePropertyName,kTransformStylePreserve3DPropertyValue)}if(d.sublayerTransform[11]!=0){setElementProperty(K,kPerspectivePropertyName,gShowController.stageManager.perspective+"px");setElementProperty(K,kTransformStylePropertyName,kTransformStylePreserve3DPropertyValue)}}else{if(s.sublayerTransform[11]!=0){setElementProperty(o,kPerspectivePropertyName,gShowController.stageManager.perspective+"px");setElementProperty(K,kTransformStylePropertyName,kTransformStylePreserve3DPropertyValue)}else{setElementProperty(K,kTransformStylePropertyName,kTransformStyleFlatPropertyValue)}}if(isChrome){if(this.enableCompositingUsingBackface){setElementProperty(K,kBackfaceVisibilityPropertyName,"hidden")}else{if(this.isSwooshTransition){setElementProperty(K,kTransformPropertyName,"translateZ(0px)")}}}var z=d.textureId;if(z){var v;var e;if(d.hasContentsAnimation){var Q=d.cssAnimation.animations;for(var l=0,G=Q.length;l<G;l++){if(Q[l].property==="contents"){z=Q[l].to.texture;e=Q[l].from.texture;break}}}var v=this.cloneNode(gShowController.textureManager.getTextureObject(this.sceneIndex,z));v.setAttribute("id",z);if(browserPrefix==="webkit"&&d.isTransition==null){setElementProperty(v,kTransformPropertyName,"translateZ(0px)")}if(B===0&&A===0&&C===1&&J===1){this.setStyle(v,"0px","0px",d.bounds.width+"px",d.bounds.height+"px",kPositionAbsolutePropertyValue,null,null)}else{var a,c;if(v.nodeName.toLowerCase()==="svg"){a=v.getAttribute("width");c=v.getAttribute("height")}else{a=v.naturalWidth;c=v.naturalHeight;if(v.src.indexOf("KNTransitionSlide_Black.png")!=-1){a=gShowController.script.slideWidth;c=gShowController.script.slideHeight}}var m=A*c;var E=(B+C)*a;var b=(A+J)*c;var j=B*a;this.setStyle(v,(-m)+"px",(-j)+"px",a+"px",c+"px",kPositionAbsolutePropertyValue,null,null);setElementProperty(v,"clip","rect("+m+"px, "+E+"px, "+b+"px, "+j+"px)")}if(d.isTransition){if(isChrome){if(this.enableCompositingUsingBackface){if(!this.isGridTransition&&!this.isMosaicTransition){setElementProperty(v,kBackfaceVisibilityPropertyName,"hidden")}}else{if(this.isSwooshTransition){setElementProperty(v,kTransformPropertyName,"translateZ(0px)")}}}else{if(this.enableCompositingUsingBackface){setElementProperty(v,kBackfaceVisibilityPropertyName,"hidden")}else{setElementProperty(v,kTransformPropertyName,"translateZ(0px)")}}}var f=gShowController.textureManager.getTextureInfo(this.sceneIndex,d.textureId);var g;if(f.movie){if(gShowController.movieCache==null){gShowController.movieCache={}}var D=s.objectID+"-video";d.hasMovie=true;d.movieId=D;g=gShowController.movieCache[D];if(g==null){g=document.createElement("video");setElementProperty(g,"pointer-events","all");this.setStyle(g,"0px","0px",d.bounds.width+"px",d.bounds.height+"px",kPositionAbsolutePropertyValue,null,"hidden");g.setAttribute("id",D);g.setAttribute("src",gShowController.textureManager.getMovieUrl(this.sceneIndex,d.textureId));if(gShowController.isRecording===false){g.setAttribute("controls","controls")}Event.stopObserving(g,"play");Event.stopObserving(g,"ended");Event.observe(g,"play",this.handleMovieDidStart.bind(this,v,g));Event.observe(g,"ended",this.handleMovieDidEnd.bind(this,v,g));gShowController.movieCache[D]=g;if(d.animationInfo.type==="buildOut"){v.style.visibility="visible"}if(gShowController.movieCacheInfo==null){gShowController.movieCacheInfo={}}gShowController.movieCacheInfo[D]={objectID:s.objectID,previousSibling:u.previousSibling.childNodes[0].id}}}else{if(s.objectID&&gShowController.movieCacheInfo){var D=s.objectID+"-video";var I=gShowController.movieCacheInfo[D];if(I){if(d.textureId===I.previousSibling){g=gShowController.movieCache[D];if(d.animationInfo&&d.animationInfo.type==="buildOut"&&d.animationInfo.objectID===s.objectID){delete gShowController.movieCacheInfo[D]}}}}}if(d.hasContentsAnimation){v.setAttribute("preserveAspectRatio","none");var q=document.createElement("div");q.id=t+"-contents-to";this.setStyle(q,v.style.top,v.style.left,v.style.width,v.style.height,kPositionAbsolutePropertyValue,null,null);q.appendChild(v);u.appendChild(q);setElementProperty(q,"opacity",0);var n=gShowController.textureManager.getTextureObject(this.sceneIndex,e).cloneNode(true);n.setAttribute("id",e);this.setStyle(n,"0px","0px",d.bounds.width+"px",d.bounds.height+"px",kPositionAbsolutePropertyValue,null,null);setElementProperty(n,kBackfaceVisibilityPropertyName,"hidden");var k=document.createElement("div");k.id=t+"-contents-from";this.setStyle(k,n.style.top,n.style.left,n.style.width,n.style.height,kPositionAbsolutePropertyValue,null,null);k.appendChild(n);u.appendChild(k)}else{u.appendChild(v)}if(g){u.insertBefore(g,v);if(g.isPlaying){v.style.visibility="hidden";if(d.animationInfo){if(d.animationInfo.objectID===s.objectID){if(!g.isEnded&&d.animationInfo.type!="buildOut"){g.play()}}else{if(!g.isEnded){g.play()}}}}}}else{if(d.initialState.backgroundColor){var F=d.initialState.backgroundColor;setElementProperty(u,"background-color","rgba("+parseInt(F[0]*255)+","+parseInt(F[1]*255)+","+parseInt(F[2]*255)+","+F[3]+")")}}for(var H=0,p=d.layers.length;H<p;H++){this.addNode(u,d,d.layers[H])}return K},cloneNode:function(d){var f=d.cloneNode(true);if(browserPrefix==="ms"&&browserVersion>=10){var e=d.getElementsByTagName("feGaussianBlur");if(e){var b=f.getElementsByTagName("feGaussianBlur");for(var a=0,c=e.length;a<c;a++){b[a].setAttribute("stdDeviation",e[a].getAttribute("stdDeviation"))}}}return f},serializeSvg:function(e){var f=e.getElementsByTagName("image");for(var d=0,b=f.length;d<b;d++){var a=f[d];var g=document.createElement("a");g.href=a.getAttributeNS("http://www.w3.org/1999/xlink","href");var j=window.location.protocol+"//"+g.host+g.pathname;a.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",j)}var h=new XMLSerializer;var c=h.serializeToString(e);return c},draw:function(a){this.setStyle(this.domNode,"0px","0px",this.nativeWidth+"px",this.nativeHeight+"px",kPositionAbsolutePropertyValue,this.opacity,this.visibility);if(browserPrefix==="webkit"){if(this.enableCompositingUsingBackface&&isChrome){setElementProperty(this.domNode,kBackfaceVisibilityPropertyName,"hidden")}else{setElementProperty(this.domNode,kTransformPropertyName,"translateZ(0px)")}}if(this.layer.sublayerTransform[11]!=0){setElementProperty(this.domNode,kPerspectivePropertyName,gShowController.stageManager.perspective+"px");setElementProperty(this.domNode,kTransformStylePropertyName,kTransformStylePreserve3DPropertyValue)}else{setElementProperty(this.domNode,kTransformStylePropertyName,kTransformStyleFlatPropertyValue)}for(var b=0,c=this.layer.layers.length;b<c;b++){this.createNodes(this.domNode,this.layer,this.layer.layers[b])}a.appendChild(this.domNode)},setStyle:function(f,h,g,e,b,a,d,c){f.style.top=h;f.style.left=g;f.style.width=e;f.style.height=b;f.style.position=a;if(d!=null&&d!=undefined){f.style.opacity=d}if(c!=null&&c!=undefined){f.style.visibility=c}},overallEndTime:function(a){var b={};b.duration=0;this.overallEndTimeForLayer(this.layer,b);return b.duration},overallEndTimeForLayer:function(b,c){if(b.cssAnimation){if(b.cssAnimation.overallEndTime>c.duration){c.duration=b.cssAnimation.overallEndTime}}for(var a=0,d=b.layers.length;a<d;a++){this.overallEndTimeForLayer(b.layers[a],c)}},animate:function(a){if(this.animationSupported){if(a.kpfLayer){if(a.movie){this.animateEffect(a,a.kpfLayer,a.currentKPFLayer?a.currentKPFLayer:null,a.movie)}else{this.animateEffect(a,a.kpfLayer,a.currentKPFLayer?a.currentKPFLayer:null)}}}},animateEffect:function(o,a,j,e){if(a.cssAnimationRules.length>0){var g=j?"layer"+j.layerId:"layer"+a.layerId;var d=document.getElementById(g);if(d){this.applyCssAnimation(d,a,j)}}else{if(a.hasMovie&&a.animationInfo.name==="renderMovie"){var n=document.getElementById(a.movieId);if(e){if(e.loopMode&&e.loopMode==="looping"){n.loop=true}if(e.volume){n.volume=e.volume}}this.startMovie(n)}if(j){var b=document.getElementById("layer"+j.layerId);var k=window.getComputedStyle(b,null);var l=k.getPropertyValue(kTransformPropertyName);var f=parseTransformMatrix(l);var m="matrix("+f[0]+","+f[1]+","+f[2]+","+f[3]+","+a.bounds.offset.pointX+","+a.bounds.offset.pointY+")";if(o.name==="apple:action-motion-path"){setElementProperty(b,kTransformPropertyName,m)}}}for(var h=0,c=a.layers.length;h<c;h++){this.animateEffect(o,a.layers[h],j?j.layers[h]:null,e)}},applyCssAnimation:function(v,d,I){var Q=d.cssAnimation;var y=d.cssAnimationRules;var P=d.cssAnimation.overallEndTime;if(d.hasMovie){if(d.animationInfo.type==="buildOut"){this.stopMovie(document.getElementById(d.movieId))}}if(isChrome&&d.animationInfo.name==="apple:doorway"){if(d.layers.length===0&&d.contentsRect.x===0&&d.contentsRect.y===0&&d.contentsRect.width===1&&d.contentsRect.height===1){v.style.visibility="hidden"}}for(var E in Q.keyAnimations){if(E!="bounds"){continue}var r=Q.keyAnimations[E];var w=document.styleSheets[1].cssRules;for(var W=0,aa=w.length;W<aa;W++){var s=w[W];var A=v.id+"-"+E;if(s.name===A){while(s.cssRules.length>0){if(browserPrefix==="ms"){for(var V=0,B=s.cssRules.length;V<B;V++){s.deleteRule(V)}}else{s.deleteRule(s.cssRules[0].keyText)}}for(var V=0,x=r.keyframes.length;V<x;V++){var e=r.keyframes[V];if(E==="bounds"){var R,X,a,c;if(e.keyframe==0){R=e.value.width;X=e.value.height;if(s.insertRule){s.insertRule("0% {"+kTransformPropertyName+": scaleX(1) scaleY(1); "+kAnimationTimingFunctionPropertyName+": "+e.timingFunction+";}")}else{s.appendRule("0% {"+kTransformPropertyName+": scaleX(1) scaleY(1); "+kAnimationTimingFunctionPropertyName+": "+e.timingFunction+";}")}}else{a=e.value.width;c=e.value.height;if(s.insertRule){s.insertRule(e.keyframe+"% {"+kTransformPropertyName+": scaleX("+a/R+") scaleY("+c/X+"); "+kAnimationTimingFunctionPropertyName+": "+e.timingFunction+";}")}else{s.appendRule(e.keyframe+"% {"+kTransformPropertyName+": scaleX("+a/R+") scaleY("+c/X+"); "+kAnimationTimingFunctionPropertyName+": "+e.timingFunction+";}")}}}}}}}if(d.initialState.rotation!==0||d.initialState.scale!==1){var g=document.getElementById(v.id);var F=window.getComputedStyle(g,null);var K=F.getPropertyValue(kTransformPropertyName);var L=parseTransformMatrix(K);var l="matrix(1,0,0,1,"+L[4]+","+L[5]+")";setElementProperty(g,kTransformPropertyName,l);var u=document.getElementById(v.id+"-"+escapeTextureId("transform.rotation.z"));if(u){setElementProperty(u,kTransformPropertyName,"rotateZ("+d.initialState.rotation+"rad)")}var D=document.getElementById(v.id+"-"+escapeTextureId("transform.scale.x"));if(D){setElementProperty(D,kTransformPropertyName,"scaleX("+d.initialState.scale+")")}var m=document.getElementById(v.id+"-"+escapeTextureId("transform.scale.y"));if(m){setElementProperty(m,kTransformPropertyName,"scaleY("+d.initialState.scale+")")}}for(var E in Q.keyAnimations){var r=Q.keyAnimations[E];var z=r.keyActions;var H=z[z.length-1];var G=r.keyframes[r.keyframes.length-1];var ab=this.cssPropertyNameForAction(E);var U=this.cssPropertyValueForActionValue(E,G.value);var k=P+"s";var A="";var N="";if(E==="isPlaying"){continue}if(E==="doubleSided"){var h=document.getElementById(v.id+"-"+escapeTextureId(E));if(h){setElementProperty(h,ab,U)}continue}switch(E){case"opacity":A=v.id+"-opacity";N=A;if(I){if(document.getElementById(A)==null){A=v.id}N="layer"+d.layerId+"-opacity"}else{setElementProperty(v,"opacity",1)}break;case"hidden":ab="opacity";if(U==="hidden"){U=0}else{v.style.visibility="visible";U=1}A=v.id;N=A+"-hidden";if(I){N="layer"+d.layerId+"-hidden"}break;case"bounds":A=v.id+"-bounds";N=A;if(I){N="layer"+d.layerId+"-bounds"}var R,X,t,J;var n=r.keyframes[0];var S=r.keyframes[r.keyframes.length-1];U="scaleX("+S.value.width/n.value.width+") scaleY("+S.value.height/n.value.height+")";break;default:A=v.id+"-"+escapeTextureId(E);N=A;if(I){N="layer"+d.layerId+"-"+escapeTextureId(E)}break}if(E==="contents"){var T=v.id+"-contents-from";var Y=v.id+"-contents-to";var M=T;var q=Y;if(I){M="layer"+d.layerId+"-contents-from";q="layer"+d.layerId+"-contents-to"}var p=document.getElementById(T);var Z=document.getElementById(Y);setElementProperty(p,"opacity",0);setElementProperty(p,kAnimationNamePropertyName,M);setElementProperty(p,kAnimationDurationPropertyName,k);setElementProperty(Z,"opacity",1);setElementProperty(Z,kAnimationNamePropertyName,q);setElementProperty(Z,kAnimationDurationPropertyName,k);continue}var b=document.getElementById(A);if(b){if(E==="anchorPoint"){var o={};o.x=H.to.pointX;o.y=H.to.pointY;var O={};var f={};var C={};f.x=d.bounds.width/2;f.y=d.bounds.height/2;if(o.x!=null&&o.y!=null){C.x=o.x*d.bounds.width;C.y=o.y*d.bounds.height;O.x=f.x-C.x;O.y=f.y-C.y;if(d.magicMoveOffsetValue){O.x=d.magicMoveOffsetValue.pointX;O.y=d.magicMoveOffsetValue.pointY}ab=kTransformPropertyName;U="translateX("+O.x+"px) translateY("+O.y+"px)"}}else{if(E==="anchorPointZ"){if(Prototype.Browser.Gecko||navigator.userAgent.lastIndexOf("Chrome/")>0){ab=kTransformPropertyName;U="translateZ("+-d.transformOriginZValue+"px)"}else{ab=kTransformPropertyName;U="translateZ("+d.transformOriginZValue+"px)"}}}if(E==="hidden"){setElementProperty(b,kAnimationFillModePropertyName,H.fillMode==="removed"?"none":H.fillMode)}else{setElementProperty(b,ab,U);if(I){setElementProperty(b,kAnimationFillModePropertyName,H.fillMode==="removed"?"none":H.fillMode)}}setElementProperty(b,kAnimationNamePropertyName,N);setElementProperty(b,kAnimationDurationPropertyName,k)}}},cssPropertyValueForActionValue:function(a,b){switch(a){case"hidden":if(b.scalar===true){return"hidden"}else{return"visible"}case"anchorPoint":return b.pointX+"% "+b.pointY+"%";case"anchorPointZ":return b.scalar;case"position":return"translate("+b.pointX+"px,"+b.pointY+"px)";case"zPosition":return"translateZ("+b.scalar+"px)";case"translationEmphasis":return"translateX("+b.translationEmphasis[0]+"px) translateY("+b.translationEmphasis[1]+"px) translateZ("+b.translationEmphasis[2]+")";case"rotationEmphasis":return"rotateZ("+b.rotationEmphasis[6]+"rad)";case"scaleEmphasis":return"scale3d("+ensureScaleFactorNotZero(b.scaleEmphasis[3])+","+ensureScaleFactorNotZero(b.scaleEmphasis[4])+","+ensureScaleFactorNotZero(b.scaleEmphasis[5])+")";case"transform.scale":case"transform.scale.xy":return"scale("+ensureScaleFactorNotZero(b.scalar)+")";case"transform.scale.x":return"scaleX("+ensureScaleFactorNotZero(b.scalar)+")";case"transform.scale.y":return"scaleY("+ensureScaleFactorNotZero(b.scalar)+")";case"transform.rotation.x":return"rotateX("+b.scalar+"rad)";case"transform.rotation.y":return"rotateY("+b.scalar+"rad)";case"transform.rotation.z":case"transform.rotation":return"rotateZ("+b.scalar+"rad)";case"transform.translation":return"translateX("+b.pointX+"px) translateY("+b.pointY+"px)";case"transform.translation.x":return"translateX("+b.scalar+"px)";case"transform.translation.y":return"translateY("+b.scalar+"px)";case"transform.translation.z":return"translateZ("+b.scalar+"px)";case"isPlaying":case"opacity":case"opacityMultiplier":return b.scalar+"";case"transform":return"matrix3d("+b.transform+")";case"doubleSided":if(b.scalar===false){return"hidden"}else{return"visible"}default:return"some value"}},cssPropertyNameForAction:function(a){switch(a){case"hidden":return kVisibilityPropertyName;case"anchorPoint":return kTransformOriginPropertyName;case"anchorPointZ":return kTransformOriginZPropertyName;case"opacityMultiplier":return kOpacityPropertyName;case"translationEmphasis":case"rotationEmphasis":case"scaleEmphasis":case"position":case"zPosition":case"transform":case"transform.scale":case"transform.scale.xy":case"transform.scale.x":case"transform.scale.y":case"transform.rotation.x":case"transform.rotation.y":case"transform.rotation.z":case"transform.rotation":case"transform.translation":case"transform.translation.x":case"transform.translation.y":case"transform.translation.z":case"bounds":return kTransformPropertyName;case"doubleSided":return kBackfaceVisibilityPropertyName;case"contents":return kBackgroundImagePropertyName;default:return a}},hideMoviePoster:function(a){a.style.visibility="hidden"},handleMovieDidStart:function(a,b){b.style.visibility="visible";setTimeout(this.hideMoviePoster.bind(this,a),120)},handleMovieDidEnd:function(a,b){if(!b.loop){b.isEnded=true}},startMovie:function(a){if(a){a.play();a.isPlaying=true}},stopMovie:function(a){if(a){a.pause()}}});var KPFLayer=Class.create({initialize:function(c,d,b){this.animationInfo=d;this.layerId=kpfLayerCounter;kpfLayerCounter=kpfLayerCounter+1;this.objectID=c.objectID!=null?c.objectID:null;this.textureId=c.texture?c.texture:null;this.animations=c.animations;this.initialState=c.initialState;this.cssAnimationRules=[];this.layers=[];this.affineTransform=this.initialState.affineTransform;this.position=this.initialState.position;this.textureTransform="";if(this.initialState.transform!=null&&this.initialState.transform!=undefined){this.textureTransform="matrix3D("+this.initialState.transform+")"}else{this.textureTransform="matrix("+this.affineTransform+")"}this.anchorPoint=this.initialState.anchorPoint;if(b==null){b={pointX:0,pointY:0}}var a=this.position.pointX-this.initialState.width/2-(this.anchorPoint.pointX-0.5)*this.initialState.width;var e=this.position.pointY-this.initialState.height/2-(this.anchorPoint.pointY-0.5)*this.initialState.height;a=Math.round(a*1000000)/1000000;e=Math.round(e*1000000)/1000000;this.bounds={width:this.initialState.width,height:this.initialState.height,origin:{pointX:this.affineTransform[4],pointY:this.affineTransform[5]},offset:{pointX:a,pointY:e},canvasOffset:{pointX:a+b.pointX,pointY:e+b.pointY}};this.sublayerTransform=this.initialState.sublayerTransform;this.contentsRect=this.initialState.contentsRect;this.hidden=this.initialState.hidden;this.opacity=this.initialState.opacity;this.visibility=this.hidden===true?"hidden":"visible";this.addSublayer(c.layers,d,this.bounds.offset);if(d.animationSupported){this.initLayerAnimations()}},destroy:function(){this.initialState=null;this.cssAnimationRules=null;this.affineTransform=null;this.textureTransform=null;this.anchorPoint=null;this.anchorPointZ=null;this.bounds=null;this.contentsRect=null;this.hidden=null;this.opacity=null},addSublayer:function(f,e,d){for(var a=0,b=f.length;a<b;a++){var c=new KPFLayer(f[a],e,d);this.layers.push(c)}},initLayerAnimations:function(){var k=false;var h=false;var b=false;var q=false;var g=false;var f=false;var d=false;var a=false;var n=false;var m=false;var l=false;var s=false;var v=false;var u=false;var c=false;var w=false;var o=false;var r=[];var e=false;if(this.animationInfo.type==="actionBuild"){this.isActionBuild=true}else{if(this.animationInfo.type==="buildIn"){this.isBuildIn=true}else{if(this.animationInfo.type==="buildOut"){this.isBuildOut=true}else{if(this.animationInfo.type==="transition"){this.isTransition=true;if(this.animationInfo.name==="apple:magic-move-implied-motion-path"){this.isMagicMove=true}else{if(this.animationInfo.name==="apple:ca-isometric"){e=true}}}}}}if(this.animations.length>0){this.cssAnimation=new KPFCssAnimation(this.animations,this)}if(this.cssAnimation){this.divNames=[];var p={isPlaying:0,opacityMultiplier:1,hidden:2};for(var x in this.cssAnimation.keyAnimations){if(!p.hasOwnProperty(x)){if(x=="opacity"){h=true}else{if(x==="anchorPoint"){b=true}else{if(x==="anchorPointZ"){q=true}else{if(!e&&x==="transform.translation.x"){g=true}else{if(!e&&x==="transform.translation.y"){f=true}else{if(!e&&x==="transform.translation.z"){d=true}else{if(!e&&x==="transform.translation"){a=true}else{if(!e&&x==="transform.rotation.x"){n=true}else{if(!e&&x==="transform.rotation.y"){m=true}else{if(!e&&x==="transform.rotation.z"){l=true}else{if(!e&&x==="transform.rotation"){s=true}else{if(x==="transform.scale.x"){v=true}else{if(x==="transform.scale.y"){u=true}else{if(x==="transform.scale.xy"){c=true}else{if(x==="transform.scale"){w=true}else{if(x==="transform"){o=true}else{if(x==="doubleSided"){k=true}else{if(x==="contents"){this.hasContentsAnimation=true}else{if(x==="bounds"){this.hasBoundsAnimation=true}else{if(x==="position"){this.hasPosition=true}else{r.push(x)}}}}}}}}}}}}}}}}}}}}}}if(h||this.isActionBuild){this.divNames.push("opacity")}if(o){this.divNames.push("transform")}if(this.hasPosition||this.isActionBuild){this.divNames.push("position")}if(b){this.divNames.push("anchorPoint")}if(q){this.divNames.push("anchorPointZ")}for(var t=0,j=r.length;t<j;t++){this.divNames.push(r[t])}if(g){this.divNames.push("transform.translation.x")}if(f){this.divNames.push("transform.translation.y")}if(a){this.divNames.push("transform.translation")}if(d){this.divNames.push("transform.translation.z")}if(n){this.divNames.push("transform.rotation.x")}if(m){this.divNames.push("transform.rotation.y")}if(l){this.divNames.push("transform.rotation.z")}if((this.initialState.rotation!==0||this.isActionBuild)&&this.divNames.indexOf("transform.rotation.z")===-1){this.divNames.push("transform.rotation.z")}if(s){this.divNames.push("transform.rotation")}if(v){this.divNames.push("transform.scale.x")}if(u){this.divNames.push("transform.scale.y")}if(this.initialState.scale!==1||this.isActionBuild){if(this.divNames.indexOf("transform.scale.x")===-1){this.divNames.push("transform.scale.x")}if(this.divNames.indexOf("transform.scale.y")===-1){this.divNames.push("transform.scale.y")}}if(c){this.divNames.push("transform.scale.xy")}if(w){this.divNames.push("transform.scale")}if(this.hasBoundsAnimation){this.divNames.push("bounds")}if(k){this.divNames.push("doubleSided")}}}});var KPFCssAnimation=Class.create({initialize:function(n,F){this.kDelta=0.0001;this.kRoundingFactor=10000;this.animations=[];this.keyAnimations={};for(var A=0,g=n.length;A<g;A++){var C=n[A];var t=C.beginTime;var b=C.duration;var c=C.timingFunction?C.timingFunction:"linear";var E;var D;var h;var f;var w;var u=t+b;this.overallEndTime=0;if(u>this.overallEndTime){this.overallEndTime=u}if(c=="custom"){E=C.timingControlPoint1x;D=C.timingControlPoint1y;h=C.timingControlPoint2x;f=C.timingControlPoint2y}if(C.animations!=null&&C.animations.length>0){var p=C.animations;var o=t;if(p[0].property==null){o=p[0].beginTime;p=p[0].animations}for(var x=0,d=p.length;x<d;x++){var a=p[x];var m=a.property;var z=this.keyAnimations[m];if(z==null){z={groupBeginTime:o,earliestBeginTime:o+a.beginTime,latestEndTime:-1,keyActions:[]};this.keyAnimations[m]=z}if(o+a.beginTime+a.duration>z.latestEndTime){z.latestEndTime=o+a.beginTime+a.duration}if(a.path){var B=C.path.length;for(var v=0;A<B;v++){var q=C.path[v];var y=q.points[0];var G,e;if(v===0){e={pointX:y[0],pointY:y[1]}}else{G=C.path[v-1].points[0];e={pointX:G[0],pointY:G[1]}}switch(q.type){case"MoveToPoint":case"AddLine":case"AddCurve":case"AddQuadCurve":w={property:"position",from:e,to:{pointX:y[0],pointY:y[1]},fillMode:"forwards",beginTime:o+a.beginTime+(v/B)*a.duration,duration:1/B*a.duration,timingFunction:"linear",groupTimingFunction:c,groupBeginTime:t,groupDuration:b,groupTimingControlPoint1x:E,groupTimingControlPoint1y:D,groupTimingControlPoint2x:h,groupTimingControlPoint2y:f};break}this.addAction(w,a)}}else{if(a.keyTimes){var s=a.keyTimes.length;for(var v=0;v<s-1;v++){var r=a.keyTimes[v];var l=a.keyTimes[v+1];w={property:a.property,from:a.values[v],to:a.values[v+1],fillMode:a.fillMode,beginTime:o+a.beginTime+(r/1*a.duration),duration:(l-r)*a.duration,timingFunction:a.timingFunctions?a.timingFunctions[v]:"linear",groupTimingFunction:c,groupBeginTime:t,groupDuration:b,groupTimingControlPoint1x:E,groupTimingControlPoint1y:D,groupTimingControlPoint2x:h,groupTimingControlPoint2y:f};this.addAction(w,a)}}else{w={property:a.property,from:a.from,to:a.to,fillMode:a.fillMode,beginTime:o+a.beginTime,duration:a.duration,timingFunction:a.timingFunction?a.timingFunction:"linear",groupTimingFunction:c,groupBeginTime:t,groupDuration:b,groupTimingControlPoint1x:E,groupTimingControlPoint1y:D,groupTimingControlPoint2x:h,groupTimingControlPoint2y:f};this.addAction(w,a)}}}}else{var m=C.property;var z=this.keyAnimations[m];if(z==null){z={groupBeginTime:0,earliestBeginTime:C.beginTime,latestEndTime:-1,keyActions:[]};this.keyAnimations[m]=z}if(C.beginTime+C.duration>z.latestEndTime){z.latestEndTime=C.beginTime+C.duration}if(C.path){var B=C.path.length;for(var v=0;v<B;v++){var q=C.path[v];var y=q.points[0];var G,e;if(v===0){e={pointX:y[0],pointY:y[1]}}else{G=C.path[v-1].points[0];e={pointX:G[0],pointY:G[1]}}switch(q.type){case"MoveToPoint":case"AddLine":case"AddCurve":case"AddQuadCurve":w={property:"position",from:e,to:{pointX:y[0],pointY:y[1]},fillMode:"forwards",beginTime:t+v/B*b,duration:1/B*b,timingFunction:"linear"};break}this.addAction(w,C)}}else{if(C.keyTimes){var s=C.keyTimes.length;for(var v=0;v<s-1;v++){var r=C.keyTimes[v];var l=C.keyTimes[v+1];w={property:C.property,from:C.values[v],to:C.values[v+1],fillMode:C.fillMode,beginTime:r/1*b,duration:(l-r)*b,timingFunction:C.timingFunctions?C.timingFunctions[v]:"linear"};this.addAction(w,C)}}else{w={property:C.property,from:C.from,to:C.to,fillMode:C.fillMode,beginTime:t,duration:b,timingFunction:c?c:"linear"};this.addAction(w,C)}}}}this.createKeyActions();this.createAnimationRules(F);this.createAnimationRuleForKeyframes(F)},addAction:function(b,a){if(a.timingFunction==="custom"){b.timingControlPoint1x=a.timingControlPoint1x;b.timingControlPoint1y=a.timingControlPoint1y;b.timingControlPoint2x=a.timingControlPoint2x;b.timingControlPoint2y=a.timingControlPoint2y}else{if(b.timingFunction.timingFunction!=null){if(b.timingFunction.timingFunction==="custom"){b.timingControlPoint1x=b.timingFunction.timingControlPoint1x;b.timingControlPoint1y=b.timingFunction.timingControlPoint1y;b.timingControlPoint2x=b.timingFunction.timingControlPoint2x;b.timingControlPoint2y=b.timingFunction.timingControlPoint2y}b.timingFunction=b.timingFunction.timingFunction}}this.animations.push(b)},createKeyActions:function(){for(var e=0,a=this.animations.length;e<a;e++){var c=this.animations[e];var d=c.beginTime;var b=c.duration;var g=d+b;var n=c.property;var h=this.keyAnimations[n];var m=h.keyActions;var k=h.latestEndTime-h.earliestBeginTime;var l=0;var j=100;if(k>0){l=100*d/this.overallEndTime;j=100*g/this.overallEndTime}if(j>100){j=100}var f={startKeyframe:l,endKeyframe:j,from:c.from,to:c.to,timingFunction:c.timingFunction};if(c.fillMode){f.fillMode=c.fillMode}if(c.timingFunction=="custom"){f.timingControlPoint1x=c.timingControlPoint1x;f.timingControlPoint1y=c.timingControlPoint1y;f.timingControlPoint2x=c.timingControlPoint2x;f.timingControlPoint2y=c.timingControlPoint2y}m.push(f);m.sort(this.sortAction)}},sortAction:function(b,a){return b.startKeyframe-a.startKeyframe},roundNum:function(a){return Math.round(a*this.kRoundingFactor)/this.kRoundingFactor},createAnimationRules:function(x){var f=this.kDelta;for(var j in this.keyAnimations){if(j=="playing"){continue}var r=this.keyAnimations[j];var h=r.keyActions;var k=false;r.keyframes=[];var p=h[0];var t=this.roundNum(p.startKeyframe);var n=this.roundNum(100*r.groupBeginTime/this.overallEndTime);if(j=="anchorPoint"){var c={};c.x=p.to.pointX;c.y=p.to.pointY;var g=this.anchorPointOffset(x,c);var o={pointX:g.x,pointY:g.y};if(x.isMagicMove){var v=this.anchorPointOffset(x,{x:p.from.pointX,y:p.from.pointY});var l={pointX:v.x,pointY:v.y};var d=this.anchorPointOffset(x,{x:p.to.pointX,y:p.to.pointY});var w={pointX:d.x,pointY:d.y};if(l.pointX!==w.pointX||l.pointY!=w.pointY){o={pointX:w.pointX-l.pointX,pointY:w.pointY-l.pointY};x.magicMoveOffsetValue=o}}if(t!=0){var u=this.createInitialKeyframeValue(x,j,p.from,false);if(x.isMagicMove){u={pointX:0,pointY:0}}r.keyframes.push({keyframe:0,keyName:"position",value:u,timingFunction:"linear"});r.keyframes.push({keyframe:t-f,keyName:"position",value:u,timingFunction:"linear"})}r.keyframes.push({keyframe:t,keyName:"position",value:o,timingFunction:"linear"});r.keyframes.push({keyframe:100,keyName:"position",value:o,timingFunction:"linear"});x.transformOriginValue=(c.x*100)+"% "+(c.y*100)+"%";continue}if(j=="anchorPointZ"){k=true;if(t!=0){var u=this.createInitialKeyframeValue(x,j,p.from,true);r.keyframes.push({keyframe:0,keyName:"zPosition",value:u,timingFunction:"linear"});r.keyframes.push({keyframe:t-f,keyName:"zPosition",value:u,timingFunction:"linear"})}r.keyframes.push({keyframe:t,keyName:"zPosition",value:p.from,timingFunction:"linear"});r.keyframes.push({keyframe:100,keyName:"zPosition",value:p.to,timingFunction:"linear"});x.transformOriginZValue=p.to.scalar;continue}if(p==null){continue}var m=0;var s=null;var e=null;if(t!=0){if(j==="hidden"){e={scalar:x.hidden};this.insertInitialKeyframes(r,t-f,j,e)}else{if(j==="opacity"){if(p.fillMode==="both"||p.fillMode==="backwards"){e=p.from}else{e={scalar:x.opacity}}this.insertInitialKeyframes(r,t-f,j,e)}else{if(j==="position"){if(x.isBuildIn||x.isBuildOut){e={pointX:this.roundNum(p.from.pointX-x.initialState.position.pointX),pointY:this.roundNum(p.from.pointY-x.initialState.position.pointY)}}else{e={pointX:0,pointY:0}}this.insertInitialKeyframes(r,t-f,j,e)}else{e=this.createInitialKeyframeValue(x,j,p.from,k);if(n>0){this.insertInitialKeyframes(r,n-f,j,e)}if(t-n>f){if(p.fillMode==="both"||p.fillMode==="backwards"){e=p.from}r.keyframes.push({keyframe:n,keyName:j,value:e,timingFunction:"linear"});r.keyframes.push({keyframe:t-f,keyName:j,value:e,timingFunction:"linear"})}}}}m=p.startKeyframe;s=e}for(var q=0,b=h.length;q<b;q++){p=h[q];if(j=="position"){e=x.initialState.position;p.from={pointX:this.roundNum(p.from.pointX-e.pointX),pointY:this.roundNum(p.from.pointY-e.pointY)};p.to={pointX:this.roundNum(p.to.pointX-e.pointX),pointY:this.roundNum(p.to.pointY-e.pointY)}}if(Math.abs(p.startKeyframe-m)>f){r.keyframes.push({keyframe:this.roundNum(p.startKeyframe)-f,keyName:j,value:s,timingFunction:"linear"})}var a=this.createTimingFunctionForAction(p);r.keyframes.push({keyframe:this.roundNum(p.startKeyframe),keyName:j,value:p.from,timingFunction:a});r.keyframes.push({keyframe:this.roundNum(p.endKeyframe)-(p.endKeyframe==100?0:f),keyName:j,value:p.to,timingFunction:a});s=p.to;m=p.endKeyframe}if(m!=100&&j!="hidden"){r.keyframes.push({keyframe:this.roundNum(m),keyName:j,value:s,timingFunction:"linear"});r.keyframes.push({keyframe:100,keyName:j,value:s,timingFunction:"linear"})}}},insertInitialKeyframes:function(b,c,d,a){b.keyframes.push({keyframe:0,keyName:d,value:a,timingFunction:"linear"});b.keyframes.push({keyframe:c,keyName:d,value:a,timingFunction:"linear"})},anchorPointOffset:function(c,e){var a={};var b={};var f={};var d=c.bounds;a.x=d.width/2;a.y=d.height/2;b.x=e.x*d.width;b.y=e.y*d.height;f.x=(a.x-b.x);f.y=(a.y-b.y);return f},createInitialKeyframeValue:function(a,c,e,b){var d={};switch(c){case"anchorPoint":d.pointX=(a.anchorPoint.pointX-0.5)*a.bounds.width;d.pointY=(a.anchorPoint.pointY-0.5)*a.bounds.height;break;case"anchorPointZ":if(Prototype.Browser.Gecko||Prototype.Browser.IE||isChrome||isIE){d.scalar=0}else{d.scalar=e.scalar+e.scalar}break;case"opacity":case"opacityMultiplier":d.scalar=a.opacity;break;case"hidden":d.scalar=a.hidden;break;case"position":d.pointX=a.affineTransform[4];d.pointY=a.affineTransform[5];break;case"zPosition":d.scalar=0;break;case"transform.scale":case"transform.scale.xy":case"transform.scale.x":case"transform.scale.y":d.scalar=a.initialState.scale;break;case"transform.rotation.z":d.scalar=a.initialState.rotation;case"transform":d.transform=e.transform;break;case"bounds":d.pointX=0;d.pointY=0;d.width=a.initialState.width;d.height=a.initialState.height;break;default:d.scalar=0;d.pointX=0;d.pointY=0;break}return d},createTimingFunctionForAction:function(b){var a="";switch(b.timingFunction){case"easeIn":a="ease-in";break;case"easeOut":a="ease-out";break;case"easeInOut":case"easeInEaseOut":a="ease-in-out";break;case"custom":a="cubic-bezier("+b.timingControlPoint1x+","+b.timingControlPoint1y+","+b.timingControlPoint2x+","+b.timingControlPoint2y+")";break;case"linear":a="linear";break;default:a="linear";break}return a},createAnimationRuleForKeyframes:function(d){for(var n in this.keyAnimations){var f=this.keyAnimations[n];var e="layer"+d.layerId+"-"+escapeTextureId(n);var b;var h="";var o;if(n==="contents"){var m=this.roundNum(f.keyActions[0].startKeyframe);b=gShowController.animationManager.createAnimation(e+"-from");var l="0% {opacity: 1; "+kAnimationTimingFunctionPropertyName+": linear;}";var k="49.999% {opacity: 1; "+kAnimationTimingFunctionPropertyName+": linear;}";var j="50% {opacity: 0; "+kAnimationTimingFunctionPropertyName+": linear;}";var g="100% {opacity: 0; "+kAnimationTimingFunctionPropertyName+": linear;}";if(m!==0){k=((100-m)/2+m-this.kDelta)-this.kDelta+"% {opacity: 1; "+kAnimationTimingFunctionPropertyName+": linear;}";j=((100-m)/2+m)+"% {opacity: 0; "+kAnimationTimingFunctionPropertyName+": linear;}"}if(b.insertRule){b.insertRule(l);b.insertRule(k);b.insertRule(j);b.insertRule(g)}else{b.appendRule(l);b.appendRule(k);b.appendRule(j);b.appendRule(g)}b=gShowController.animationManager.createAnimation(e+"-to");l="0% {opacity: 0; "+kAnimationTimingFunctionPropertyName+": linear;}";k="49.999% {opacity: 0; "+kAnimationTimingFunctionPropertyName+": linear;}";j="50% {opacity: 1; "+kAnimationTimingFunctionPropertyName+": linear;}";g="100% {opacity: 1; "+kAnimationTimingFunctionPropertyName+": linear;}";if(m!==0){k=((100-m)/2+m-this.kDelta)-this.kDelta+"% {opacity: 0; "+kAnimationTimingFunctionPropertyName+": linear;}";j=((100-m)/2+m)+"% {opacity: 1; "+kAnimationTimingFunctionPropertyName+": linear;}"}if(b.insertRule){b.insertRule(l);b.insertRule(k);b.insertRule(j);b.insertRule(g)}else{b.appendRule(l);b.appendRule(k);b.appendRule(j);b.appendRule(g)}continue}if(browserPrefix!="ms"){b=gShowController.animationManager.createAnimation(e);for(var c=0,a=f.keyframes.length;c<a;c++){o=f.keyframes[c];h=this.createAnimationRuleForKeyframe(n,o,d)+" ";if(b.insertRule){b.insertRule(h)}else{b.appendRule(h)}}d.cssAnimationRules.push(e)}else{if(browserVersion>=10){for(var c=0,a=f.keyframes.length;c<a;c++){o=f.keyframes[c];h+=this.createAnimationRuleForKeyframe(n,o,d)+" "}if(gShowController.animationManager.styleSheet.insertRule){gShowController.animationManager.styleSheet.insertRule(kKeyframesPropertyName+" "+e+" {"+h+"}",0)}else{gShowController.animationManager.styleSheet.appendRule(kKeyframesPropertyName+" "+e+" {"+h+"}",0)}d.cssAnimationRules.push(e)}}}},createAnimationRuleForKeyframe:function(l,m,g){var j=m.keyframe;var f=m.keyName;var k=m.value;var n=m.timingFunction;var d;var c=g.transformOriginValue;var e=g.transformOriginZValue;var h="";if(c){h=kTransformOriginPropertyName+": "+c+";"}if(f=="hidden"){var a={scalar:-1};if(k.scalar==false){a.scalar=1}else{a.scalar=0}f="opacity";d=this.cssPropertyValueForActionValue(l,f,a)}else{d=this.cssPropertyValueForActionValue(l,f,k)}var b;b=this.cssPropertyNameForAction(f)+": "+d+"; "+(j<100?kAnimationTimingFunctionPropertyName+": "+n+";":"");var i=j+"% {"+h+b+"}";return i},cssPropertyValueForActionValue:function(b,a,c){switch(a){case"hidden":if(c.scalar==true){return"hidden"}else{return"visible"}case"anchorPoint":return c.pointX+"% "+c.pointY+"%";case"anchorPointZ":return c.scalar;case"position":return"translate("+c.pointX+"px,"+c.pointY+"px)";case"zPosition":if(b=="anchorPointZ"&&(Prototype.Browser.Gecko||navigator.userAgent.lastIndexOf("Chrome/")>0)){return"translateZ("+-c.scalar+"px)"}else{return"translateZ("+c.scalar+"px)"}case"translationEmphasis":return"translateX("+c.translationEmphasis[0]+"px) translateY("+c.translationEmphasis[1]+"px) translateZ("+c.translationEmphasis[2]+")";case"rotationEmphasis":return"rotateZ("+c.rotationEmphasis[6]+"rad)";case"scaleEmphasis":return"scale3d("+ensureScaleFactorNotZero(c.scaleEmphasis[3])+","+ensureScaleFactorNotZero(c.scaleEmphasis[4])+","+ensureScaleFactorNotZero(c.scaleEmphasis[5])+")";case"transform.scale":case"transform.scale.xy":return"scale("+ensureScaleFactorNotZero(c.scalar)+")";case"transform.scale.x":return"scaleX("+ensureScaleFactorNotZero(c.scalar)+")";case"transform.scale.y":return"scaleY("+ensureScaleFactorNotZero(c.scalar)+")";case"transform.rotation.x":return"rotateX("+c.scalar+"rad)";case"transform.rotation.y":return"rotateY("+c.scalar+"rad)";case"transform.rotation.z":case"transform.rotation":return"rotateZ("+c.scalar+"rad)";case"transform.translation":return"translateX("+c.pointX+"px) translateY("+c.pointY+"px)";case"transform.translation.x":return"translateX("+c.scalar+"px)";case"transform.translation.y":return"translateY("+c.scalar+"px)";case"transform.translation.z":return"translateZ("+c.scalar+"px)";case"isPlaying":case"opacity":case"opacityMultiplier":return c.scalar+"";case"transform":return"matrix3d("+c.transform+")";case"doubleSided":if(c.scalar==false){return"hidden"}else{return"visible"}case"contents":return c.texture;default:return"some value"}},cssPropertyNameForAction:function(a){switch(a){case"hidden":return kVisibilityPropertyName;case"anchorPoint":return kTransformOriginPropertyName;case"anchorPointZ":return kTransformOriginZPropertyName;case"opacityMultiplier":return kOpacityPropertyName;case"translationEmphasis":case"rotationEmphasis":case"scaleEmphasis":case"position":case"zPosition":case"transform":case"transform.scale":case"transform.scale.xy":case"transform.scale.x":case"transform.scale.y":case"transform.rotation.x":case"transform.rotation.y":case"transform.rotation.z":case"transform.rotation":case"transform.translation":case"transform.translation.x":case"transform.translation.y":case"transform.translation.z":case"bounds":return kTransformPropertyName;case"doubleSided":return kBackfaceVisibilityPropertyName;case"contents":return kBackgroundImagePropertyName;default:return a}}});