var kmsEffect=new function(){var e=document;this.Framerate=24;this.AddEvent=function(g,h,f){var d=f;if(g.addEventListener){g.addEventListener(h,f,false)}else{if(g.attachEvent){g.attachEvent("on"+h,d)}}return d};this.DeleteEvent=function(f,g,d){if(f.removeEventListener){f.removeEventListener(g,d,false)}else{if(f.detachEvent){f.detachEvent("on"+g,d)}}};this.InitStyle=function(g,f){var d=g.currentStyle||document.defaultView.getComputedStyle(g,"");g.style[f]=d[f]};this.GetOpacity=function(f){var d;if(document.getElementById&&!document.all){d=c(f).style.opacity*100}else{if(document.all){d=(c(f).style.filter+"").replace(/\D/g,"")}else{d=100}}return Number(d)};this.GetSize=function(f){var d={width:Number(c(f).style.width.replace("px","")),height:Number(c(f).style.height.replace("px",""))};return d};this.GetPosition=function(f){var d={x:Number(c(f).style.left.replace("px","")),y:Number(c(f).style.top.replace("px",""))};return d};this.GetRGB=function(h,g){var f=c(h).style[g];var d;if(f.match(/^#/)){function j(k){return f.charAt(k)}f=f.substring(1);if(f.length==3){f=j(0)+j(0)+j(1)+j(1)+j(2)+j(2)}d=[parseInt((j(0)+j(1)),16),parseInt((j(2)+j(3)),16),parseInt((j(4)+j(5)),16)]}else{f=f.replace(/[^0-9|,]/g,"");f=f.split(",");d=[Number(f[0]),Number(f[1]),Number(f[2])]}return d};this.GetPixel=function(f,d){return Number(c(f).style[d].replace("px",""))};this.GetPositonFromPage=function(f){var d={x:f.offsetLeft,y:f.offsetTop};while(f.offsetParent){f=f.offsetParent;d.x+=f.offsetLeft;d.y+=f.offsetTop}return d};this.GetMousePosition=function(f){var d={};if(f.pageX){d={x:f.pageX,y:f.pageY}}else{d={x:f.clientX+e.documentElement.scrollLeft,y:f.clientY+e.documentElement.scrollTop}}return d};this.GetMousePositionFromElement=function(g,h){var f=kmsEffect.GetPositonFromPage(g);var d={};if(h.pageX){d={x:h.pageX-f.x,y:h.pageY-f.y}}else{d={x:h.offsetX,y:h.offsetY}}return d};this.Opacity=function(f,d){c(f).style.opacity=d/100;c(f).style.filter="alpha(opacity="+d+")"};this.Size=function(f,d){c(f).style.width=d.width+"px";c(f).style.height=d.height+"px"};this.Position=function(f,d){c(f).style.left=d.x+"px";c(f).style.top=d.y+"px"};this.RGB=function(j,h,f){function g(k){var l=f[k].toString(16);return l.length==1?"0"+l:l}var d="#"+g(0)+g(1)+g(2);c(j).style[h]=d};this.Pixel=function(f,d,g){c(f).style[d]=g+"px"};this.OpacityAnimation=function(h,l,f,g,k){clearInterval(c(h).timer.opacity);var j=0;var d=Math.floor((g*1000)/Math.floor(1000/kmsEffect.Framerate));h.timer.opacity=setInterval(function(){var m=Math.floor(b(j,l,(f-l),d,"easeNone"));kmsEffect.Opacity(h,m);if(j++==d){a(h,"opacity",k)}},Math.floor(1000/kmsEffect.Framerate))};this.SizeAnimation=function(j,m,g,h,f,l){clearInterval(c(j).timer.size);var k=0;var d=Math.floor((h*1000)/Math.floor(1000/kmsEffect.Framerate));j.timer.size=setInterval(function(){var n=Math.round(b(k,m.width,(g.width-m.width),d,f));var o=Math.round(b(k,m.height,(g.height-m.height),d,f));kmsEffect.Size(j,{width:n,height:o});if(k++==d){a(j,"size",l)}},Math.floor(1000/kmsEffect.Framerate))};this.PositionAnimation=function(j,m,g,h,f,l){clearInterval(c(j).timer.position);var k=0;var d=Math.floor((h*1000)/Math.floor(1000/kmsEffect.Framerate));j.timer.position=setInterval(function(){var o=Math.round(b(k,m.x,(g.x-m.x),d,f));var n=Math.round(b(k,m.y,(g.y-m.y),d,f));kmsEffect.Position(j,{x:o,y:n});if(k++==d){a(j,"position",l)}},Math.floor(1000/kmsEffect.Framerate))};this.RGBAnimation=function(j,h,m,f,g,l){clearInterval(c(j).timer.color);var k=0;var d=Math.floor((g*1000)/Math.floor(1000/kmsEffect.Framerate));j.timer.color=setInterval(function(){var n=[];n[0]=Math.floor(b(k,m[0],(f[0]-m[0]),d,"easeNone"));n[1]=Math.floor(b(k,m[1],(f[1]-m[1]),d,"easeNone"));n[2]=Math.floor(b(k,m[2],(f[2]-m[2]),d,"easeNone"));kmsEffect.RGB(j,h,n);if(k++==d){a(j,"color",l)}},Math.floor(1000/kmsEffect.Framerate))};this.PixelAnimation=function(h,n,f,j,l,m,d){clearInterval(c(h).timer.pixel);var g=0;var k=Math.floor((l*1000)/Math.floor(1000/kmsEffect.Framerate));h.timer.pixel=setInterval(function(){var o=Math.round(b(g,f,(j-f),k,m));kmsEffect.Pixel(h,n,o);if(g++==k){a(h,"pixel",d)}},Math.floor(1000/kmsEffect.Framerate))};this.StopTimer=function(f){var d=["opacity","positon","size","color","pixel"];for(i=0;i<d.length;i++){clearInterval(c(f).timer[d[i]])}};var a=function(g,d,f){clearInterval(g.timer[d]);if(f){f.call(g)}};this.ElementDrugSet=function(h,g,m,n,k){c(h).drugObj={};var o=c(h).drugObj;o.ElemMousedownFunc=null;o.ElemMouseupFunc=null;var d=null;var p=null;var f=null;var j=function(r,q){if(q){q.call(h,r)}return false};var l=function(q){o.start=false;kmsEffect.DeleteEvent(e,"mousemove",f);kmsEffect.DeleteEvent(e,"mouseup",p);return j(q,m)};o.ElemMousedownFunc=kmsEffect.AddEvent(h,"mousedown",function(r){o.start=true;var q=r.clientX,s=r.clientY;o.x=q-h.offsetLeft;o.y=s-h.offsetTop;f=kmsEffect.AddEvent(e,"mousemove",function(u){if(o.start){var t=u.clientX,w=u.clientY;var v={x:t-o.x,y:w-o.y};if(k){v.x=Math.max(v.x,k.xMin);v.y=Math.max(v.y,k.yMin);v.x=Math.min(v.x,k.xMax);v.y=Math.min(v.y,k.yMax)}kmsEffect.Position(h,v);j(u,n)}return false});p=kmsEffect.AddEvent(e,"mouseup",l);return j(r,g)});o.ElemMouseupFunc=kmsEffect.AddEvent(h,"mouseup",l)};this.ElementDrugClear=function(f){var d=c(f).drugObj;kmsEffect.DeleteEvent(f,"mousedown",d.ElemMousedownFunc);kmsEffect.DeleteEvent(f,"mouseup",d.ElemMouseupFunc)};var c=function(d){if(!d.timer){d.timer={opacity:0,positon:0,size:0,color:0,pixel:0}}return d};var b=function(g,f,l,k,j){switch(j){case"easeNone":return l*g/k+f;case"easeInQuad":return l*(g/=k)*g+f;case"easeOutQuad":return -l*(g/=k)*(g-2)+f;case"easeInOutQuad":if((g/=k/2)<1){return l/2*g*g+f}return -l/2*((--g)*(g-2)-1)+f;case"easeOutInQuad":if(g<k/2){return b(g*2,f,l/2,k,"easeOutQuad")}return b((g*2)-k,f+l/2,l/2,k,"easeInQuad");case"easeInCubic":return l*(g/=k)*g*g+f;case"easeOutCubic":return l*((g=g/k-1)*g*g+1)+f;case"easeInOutCubic":if((g/=k/2)<1){return l/2*g*g*g+f}return l/2*((g-=2)*g*g+2)+f;case"easeOutInCubic":if(g<k/2){return b(g*2,f,l/2,k,"easeOutCubic")}return b((g*2)-k,f+l/2,l/2,k,"easeInCubic");case"easeInQuart":return l*(g/=k)*g*g*g+f;case"easeOutQuart":return -l*((g=g/k-1)*g*g*g-1)+f;case"easeInOutQuart":if((g/=k/2)<1){return l/2*g*g*g*g+f}return -l/2*((g-=2)*g*g*g-2)+f;case"easeOutInQuart":if(g<k/2){return b(g*2,f,l/2,k,"easeOutQuart")}return b((g*2)-k,f+l/2,l/2,k,"easeInQuart");case"easeInQuint":return l*(g/=k)*g*g*g*g+f;case"easeOutQuint":return l*((g=g/k-1)*g*g*g*g+1)+f;case"easeInOutQuint":if((g/=k/2)<1){return l/2*g*g*g*g*g+f}return l/2*((g-=2)*g*g*g*g+2)+f;case"easeOutInQuint":if(g<k/2){return b(g*2,f,l/2,k,"easeOutQuint")}return b((g*2)-k,f+l/2,l/2,k,"easeInQuint");case"easeInSine":return -l*Math.cos(g/k*(Math.PI/2))+l+f;case"easeOutSine":return l*Math.sin(g/k*(Math.PI/2))+f;case"easeInOutSine":return -l/2*(Math.cos(Math.PI*g/k)-1)+f;case"easeOutInSine":if(g<k/2){return b(g*2,f,l/2,k,"easeOutSine")}return b((g*2)-k,f+l/2,l/2,k,"easeInSine");case"easeInExpo":return(g==0)?f:l*Math.pow(2,10*(g/k-1))+f-l*0.001;case"easeOutExpo":return(g==k)?f+l:l*1.001*(-Math.pow(2,-10*g/k)+1)+f;case"easeInOutExpo":if(g==0){return f}if(g==k){return f+l}if((g/=k/2)<1){return l/2*Math.pow(2,10*(g-1))+f-l*0.0005}return l/2*1.0005*(-Math.pow(2,-10*--g)+2)+f;case"easeOutInExpo":if(g<k/2){return b(g*2,f,l/2,k,"easeOutExpo")}return b((g*2)-k,f+l/2,l/2,k,"easeInExpo");case"easeInCirc":return -l*(Math.sqrt(1-(g/=k)*g)-1)+f;case"easeOutCirc":return l*Math.sqrt(1-(g=g/k-1)*g)+f;case"easeInOutCirc":if((g/=k/2)<1){return -l/2*(Math.sqrt(1-g*g)-1)+f}return l/2*(Math.sqrt(1-(g-=2)*g)+1)+f;case"easeOutInCirc":if(g<k/2){return b(g*2,f,l/2,k,"easeOutCirc")}return b((g*2)-k,f+l/2,l/2,k,"easeInCirc");case"easeInBack":var h=1.70158;return l*(g/=k)*g*((h+1)*g-h)+f;case"easeOutBack":var h=1.70158;return l*((g=g/k-1)*g*((h+1)*g+h)+1)+f;case"easeInOutBack":var h=1.70158;if((g/=k/2)<1){return l/2*(g*g*(((h*=(1.525))+1)*g-h))+f}else{return l/2*((g-=2)*g*(((h*=(1.525))+1)*g+h)+2)+f}case"easeInBounce":return l-b(k-g,0,l,k,"easeOutBounce")+f;case"easeOutBounce":if((g/=k)<(1/2.75)){return l*(7.5625*g*g)+f}else{if(g<(2/2.75)){return l*(7.5625*(g-=(1.5/2.75))*g+0.75)+f}else{if(g<(2.5/2.75)){return l*(7.5625*(g-=(2.25/2.75))*g+0.9375)+f}else{return l*(7.5625*(g-=(2.625/2.75))*g+0.984375)+f}}}case"easeInOutBounce":if(g<k/2){return b(g*2,0,l,k,"easeInBounce")*0.5+f}else{return b(g*2-k,0,l,k,"easeOutBounce")*0.5+l*0.5+f}case"easeOutInBounce":if(g<k/2){return b(g*2,f,l/2,k,"easeOutBounce")}else{return b((g*2)-k,f+l/2,l/2,k,"easeInBounce")}}}};
