/** @license

 DHTML Snowstorm! JavaScript-based Snow for web pages
 --------------------------------------------------------
 Version 1.41.20101113 (Previous rev: 1.4.20091115)
 Copyright (c) 2007, Scott Schiller. All rights reserved.
 Code provided under the BSD License:
 http://schillmania.com/projects/snowstorm/license.txt
*/
var snowStorm=function(e,d){function j(c,h){if(isNaN(h))h=0;return Math.random()*c+h}function r(){e.setTimeout(function(){a.start(true)},50);a.events.remove(l?d:e,"mousemove",r)}function v(){if(!a.excludeMobile||!w)a.freezeOnBlur?a.events.add(l?d:e,"mousemove",r):r();a.events.remove(e,"load",v)}this.flakesMax=308;this.flakesMaxActive=150;this.animationInterval=66;this.excludeMobile=true;this.flakeBottom=null;this.followMouse=true;this.snowColor="#fff";this.snowCharacter="&bull;";this.snowStick=true;
this.targetElement=null;this.useMeltEffect=true;this.usePositionFixed=this.useTwinkleEffect=false;this.freezeOnBlur=true;this.flakeRightOffset=this.flakeLeftOffset=0;this.flakeHeight=this.flakeWidth=8;this.vMaxX=5;this.vMaxY=4;this.zIndex=0;var a=this,D=this,l=navigator.userAgent.match(/msie/i),E=navigator.userAgent.match(/msie 6/i),F=navigator.appVersion.match(/windows 98/i),w=navigator.userAgent.match(/mobile/i),G=l&&d.compatMode==="BackCompat",x=w||G||E,k=null,n=null,m=null,p=null,y=null,z=null,
s=1,q=false,t;a:{try{d.createElement("div").style.opacity="0.5"}catch(H){t=false;break a}t=true}var A=false,B=d.createDocumentFragment();this.timers=[];this.flakes=[];this.active=this.disabled=false;this.meltFrameCount=20;this.meltFrames=[];this.events=function(){function c(f){f=g.call(f);var o=f.length;if(i){f[1]="on"+f[1];o>3&&f.pop()}else o===3&&f.push(false);return f}function h(f,o){var u=f.shift(),C=[b[o]];i?u[C](f[0],f[1]):u[C].apply(u,f)}var i=!e.addEventListener&&e.attachEvent,g=Array.prototype.slice,
b={add:i?"attachEvent":"addEventListener",remove:i?"detachEvent":"removeEventListener"};return{add:function(){h(c(arguments),"add")},remove:function(){h(c(arguments),"remove")}}}();this.randomizeWind=function(){var c=j(a.vMaxX,0.2);y=parseInt(j(2),10)===1?c*-1:c;z=j(a.vMaxY,0.2);if(this.flakes)for(c=0;c<this.flakes.length;c++)this.flakes[c].active&&this.flakes[c].setVelocities()};this.scrollHandler=function(){p=a.flakeBottom?0:parseInt(e.scrollY||d.documentElement.scrollTop||d.body.scrollTop,10);
if(isNaN(p))p=0;if(!q&&!a.flakeBottom&&a.flakes)for(var c=a.flakes.length;c--;)a.flakes[c].active===0&&a.flakes[c].stick()};this.resizeHandler=function(){if(e.innerWidth||e.innerHeight){k=e.innerWidth-(!l?16:2)-a.flakeRightOffset;m=a.flakeBottom?a.flakeBottom:e.innerHeight}else{k=(d.documentElement.clientWidth||d.body.clientWidth||d.body.scrollWidth)-(!l?8:0)-a.flakeRightOffset;m=a.flakeBottom?a.flakeBottom:d.documentElement.clientHeight||d.body.clientHeight||d.body.scrollHeight}n=parseInt(k/2,10)};
this.resizeHandlerAlt=function(){k=a.targetElement.offsetLeft+a.targetElement.offsetWidth-a.flakeRightOffset;m=a.flakeBottom?a.flakeBottom:a.targetElement.offsetTop+a.targetElement.offsetHeight;n=parseInt(k/2,10)};this.freeze=function(){if(a.disabled)return false;else a.disabled=1;for(var c=a.timers.length;c--;)clearInterval(a.timers[c])};this.resume=function(){if(a.disabled)a.disabled=0;else return false;a.timerInit()};this.toggleSnow=function(){if(a.flakes.length){a.active=!a.active;if(a.active){a.show();
a.resume()}else{a.stop();a.freeze()}}else a.start()};this.stop=function(){this.freeze();for(var c=this.flakes.length;c--;)this.flakes[c].o.style.display="none";a.events.remove(e,"scroll",a.scrollHandler);a.events.remove(e,"resize",a.resizeHandler);if(a.freezeOnBlur)if(l){a.events.remove(d,"focusout",a.freeze);a.events.remove(d,"focusin",a.resume)}else{a.events.remove(e,"blur",a.freeze);a.events.remove(e,"focus",a.resume)}};this.show=function(){for(var c=this.flakes.length;c--;)this.flakes[c].o.style.display=
"block"};this.SnowFlake=function(c,h,i,g){var b=this;this.type=h;this.x=i||parseInt(j(k-20),10);this.y=!isNaN(g)?g:-j(m)-12;this.vY=this.vX=null;this.vAmpTypes=[1,1.2,1.4,1.6,1.8];this.vAmp=this.vAmpTypes[this.type];this.melting=false;this.meltFrameCount=c.meltFrameCount;this.meltFrames=c.meltFrames;this.twinkleFrame=this.meltFrame=0;this.active=1;this.fontSize=14+this.type/5*10;this.o=d.createElement("div");this.o.innerHTML=c.snowCharacter;this.o.style.color=c.snowColor;this.o.style.position=q?"fixed":
"absolute";this.o.style.width=c.flakeWidth+"px";this.o.style.height=c.flakeHeight+"px";this.o.style.fontFamily="arial,verdana";this.o.style.overflow="hidden";this.o.style.fontWeight="normal";this.o.style.zIndex=c.zIndex;B.appendChild(this.o);this.refresh=function(){if(isNaN(b.x)||isNaN(b.y))return false;b.o.style.left=b.x+"px";b.o.style.top=b.y+"px"};this.stick=function(){if(x||c.targetElement!==d.documentElement&&c.targetElement!==d.body)b.o.style.top=m+p-c.flakeHeight+"px";else if(c.flakeBottom)b.o.style.top=
c.flakeBottom+"px";else{b.o.style.display="none";b.o.style.top="auto";b.o.style.bottom="0px";b.o.style.position="fixed";b.o.style.display="block"}};this.vCheck=function(){if(b.vX>=0&&b.vX<0.2)b.vX=0.2;else if(b.vX<0&&b.vX>-0.2)b.vX=-0.2;if(b.vY>=0&&b.vY<0.2)b.vY=0.2};this.move=function(){var f=b.vX*s;b.x+=f;b.y+=b.vY*b.vAmp;if(b.x>=k||k-b.x<c.flakeWidth)b.x=0;else if(f<0&&b.x-c.flakeLeftOffset<0-c.flakeWidth)b.x=k-c.flakeWidth-1;b.refresh();if(m+p-b.y<c.flakeHeight){b.active=0;c.snowStick?b.stick():
b.recycle()}else{if(c.useMeltEffect&&b.active&&b.type<3&&!b.melting&&Math.random()>0.998){b.melting=true;b.melt()}if(c.useTwinkleEffect)if(b.twinkleFrame){b.twinkleFrame--;b.o.style.visibility=b.twinkleFrame&&b.twinkleFrame%2===0?"hidden":"visible"}else if(Math.random()>0.9)b.twinkleFrame=parseInt(Math.random()*20,10)}};this.animate=function(){b.move()};this.setVelocities=function(){b.vX=y+j(c.vMaxX*0.12,0.1);b.vY=z+j(c.vMaxY*0.12,0.1)};this.setOpacity=function(f,o){if(!t)return false;f.style.opacity=
o};this.melt=function(){if(!c.useMeltEffect||!b.melting)b.recycle();else if(b.meltFrame<b.meltFrameCount){b.meltFrame++;b.setOpacity(b.o,b.meltFrames[b.meltFrame]);b.o.style.fontSize=b.fontSize-b.fontSize*(b.meltFrame/b.meltFrameCount)+"px";b.o.style.lineHeight=c.flakeHeight+2+c.flakeHeight*0.75*(b.meltFrame/b.meltFrameCount)+"px"}else b.recycle()};this.recycle=function(){b.o.style.display="none";b.o.style.position=q?"fixed":"absolute";b.o.style.bottom="auto";b.setVelocities();b.vCheck();b.meltFrame=
0;b.melting=false;b.setOpacity(b.o,1);b.o.style.padding="0px";b.o.style.margin="0px";b.o.style.fontSize=b.fontSize+"px";b.o.style.lineHeight=c.flakeHeight+2+"px";b.o.style.textAlign="center";b.o.style.verticalAlign="baseline";b.x=parseInt(j(k-c.flakeWidth-20),10);b.y=parseInt(j(m)*-1,10)-c.flakeHeight;b.refresh();b.o.style.display="block";b.active=1};this.recycle();this.refresh()};this.snow=function(){var c=0,h=0,i=0,g=null;for(g=a.flakes.length;g--;){if(a.flakes[g].active===1){a.flakes[g].move();
c++}else if(a.flakes[g].active===0)h++;else i++;a.flakes[g].melting&&a.flakes[g].melt()}if(c<a.flakesMaxActive){g=a.flakes[parseInt(j(a.flakes.length),10)];if(g.active===0)g.melting=true}};this.mouseMove=function(c){if(!a.followMouse)return true;c=parseInt(c.clientX,10);if(c<n)s=-2+c/n*2;else{c-=n;s=c/n*2}};this.createSnow=function(c,h){for(var i=0;i<c;i++){a.flakes[a.flakes.length]=new a.SnowFlake(a,parseInt(j(6),10));if(h||i>a.flakesMaxActive)a.flakes[a.flakes.length-1].active=-1}D.targetElement.appendChild(B)};
this.timerInit=function(){a.timers=!F?[setInterval(a.snow,a.animationInterval)]:[setInterval(a.snow,a.animationInterval*3),setInterval(a.snow,a.animationInterval)]};this.init=function(){for(var c=0;c<a.meltFrameCount;c++)a.meltFrames.push(1-c/a.meltFrameCount);a.randomizeWind();a.createSnow(a.flakesMax);a.events.add(e,"resize",a.resizeHandler);a.events.add(e,"scroll",a.scrollHandler);if(a.freezeOnBlur)if(l){a.events.add(d,"focusout",a.freeze);a.events.add(d,"focusin",a.resume)}else{a.events.add(e,
"blur",a.freeze);a.events.add(e,"focus",a.resume)}a.resizeHandler();a.scrollHandler();if(a.followMouse)a.events.add(l?d:e,"mousemove",a.mouseMove);a.animationInterval=Math.max(20,a.animationInterval);a.timerInit()};this.start=function(c){if(A){if(c)return true}else A=true;if(typeof a.targetElement==="string"){c=a.targetElement;a.targetElement=d.getElementById(c);if(!a.targetElement)throw Error('Snowstorm: Unable to get targetElement "'+c+'"');}if(!a.targetElement)a.targetElement=!l?d.documentElement?
d.documentElement:d.body:d.body;if(a.targetElement!==d.documentElement&&a.targetElement!==d.body)a.resizeHandler=a.resizeHandlerAlt;a.resizeHandler();a.usePositionFixed=a.usePositionFixed&&!x;q=a.usePositionFixed;if(k&&m&&!a.disabled){a.init();a.active=true}};a.events.add(e,"load",v,false);return this}(window,document);

