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