(function(a){a.snowfall=function(b,c){function v(){for(i=0;i<g.length;i+=1){g[i].update()}m=setTimeout(function(){v()},30)}function f(d,f,g,h,i){this.id=i;this.x=d;this.y=f;this.size=g;this.speed=h;this.step=0;this.stepSize=e(1,10)/100;var m=c.flakeColor;if(c.collection){this.target=o[e(0,o.length-1)]}if(c.imgs){var n=c.imgs[e(0,c.imgs.length-1)];m="url("+n+") no-repeat"}var p=a(document.createElement("div")).attr({"class":"snowfall-flakes",id:"flake-"+this.id}).css({width:this.size,height:this.size,background:m,position:"absolute",top:this.y,left:this.x,fontSize:0,zIndex:c.flakeIndex});if(a(b).get(0).tagName===a(document).get(0).tagName){a("body").append(p);b=a("body")}else{a(b).append(p)}this.element=document.getElementById("flake-"+this.id);this.update=function(){this.y+=this.speed;if(this.y>j-(this.size+6)){this.reset()}this.element.style.top=this.y+"px";this.element.style.left=this.x+"px";this.step+=this.stepSize;this.x+=Math.cos(this.step);if(c.collection){if(this.x>this.target.x&&this.x<this.target.width+this.target.x&&this.y>this.target.y&&this.y<this.target.height+this.target.y){var a=this.target.element.getContext("2d"),b=this.x-this.target.x,d=this.y-this.target.y,e=this.target.colData;if(e[parseInt(b)][parseInt(d+this.speed+this.size)]!==undefined||d+this.speed+this.size>this.target.height){if(d+this.speed+this.size>this.target.height){while(d+this.speed+this.size>this.target.height&&this.speed>0){this.speed*=.5}a.fillStyle="#fff";if(e[parseInt(b)][parseInt(d+this.speed+this.size)]==undefined){e[parseInt(b)][parseInt(d+this.speed+this.size)]=1;a.fillRect(b,d+this.speed+this.size,this.size,this.size)}else{e[parseInt(b)][parseInt(d+this.speed)]=1;a.fillRect(b,d+this.speed,this.size,this.size)}this.reset()}else{this.speed=1;this.stepSize=0;if(parseInt(b)+1<this.target.width&&e[parseInt(b)+1][parseInt(d)+1]==undefined){this.x++}else if(parseInt(b)-1>0&&e[parseInt(b)-1][parseInt(d)+1]==undefined){this.x--}else{a.fillStyle="#fff";a.fillRect(b,d,this.size,this.size);e[parseInt(b)][parseInt(d)]=1;this.reset()}}}}}if(this.x>k-l*2||this.x<l*2){this.reset()}};this.reset=function(){this.y=0;this.x=e(l,k-l);this.stepSize=e(1,10)/100;this.size=e(c.minSize*100,c.maxSize*100)/100;this.speed=e(c.minSpeed,c.maxSpeed)}}var d={flakeCount:35,flakeColor:"#ffffff",flakeIndex:1,minSize:1,maxSize:2,minSpeed:1,maxSpeed:2,round:true,shadow:false,collection:false,collectionHeight:40,imgs:false},c=a.extend(d,c),e=function w(a,b){return Math.round(a+Math.random()*(b-a))};a(b).data("snowfall",this);var g=[],h=0,i=0,j=a(b).height(),k=a(b).width(),l=0,m=0;if(c.collection!==false){var n=document.createElement("canvas");if(!!(n.getContext&&n.getContext("2d"))){var o=[],p=a(c.collection),q=c.collectionHeight;for(var i=0;i<p.length;i++){var r=p[i].getBoundingClientRect(),s=document.createElement("canvas"),t=[];if(r.top-q>0){document.body.appendChild(s);s.style.position="absolute";s.height=q;s.width=r.width;s.style.left=r.left;s.style.top=r.top-q;for(var u=0;u<r.width;u++){t[u]=[]}o.push({element:s,x:r.left,y:r.top-q,width:r.width,height:q,colData:t})}}}else{c.collection=false}}if(a(b).get(0).tagName===a(document).get(0).tagName){l=25}a(window).bind("resize",function(){j=a(b).height();k=a(b).width()});for(i=0;i<c.flakeCount;i+=1){h=g.length;g.push(new f(e(l,k-l),e(0,j),e(c.minSize*100,c.maxSize*100)/100,e(c.minSpeed,c.maxSpeed),h))}if(c.round){a(".snowfall-flakes").css({"-moz-border-radius":c.maxSize,"-webkit-border-radius":c.maxSize,"border-radius":c.maxSize})}if(c.shadow){a(".snowfall-flakes").css({"-moz-box-shadow":"1px 1px 1px #555","-webkit-box-shadow":"1px 1px 1px #555","box-shadow":"1px 1px 1px #555"})}v();this.clear=function(){a(b).children(".snowfall-flakes").remove();g=[];clearTimeout(m)}};a.fn.snowfall=function(b){if(typeof b=="object"||b==undefined){return this.each(function(c){new a.snowfall(this,b)})}else if(typeof b=="string"){return this.each(function(b){var c=a(this).data("snowfall");if(c){c.clear()}})}}})(jQuery)

var imgs = new Array('/l17i/snow5x5.f.png','/l17i/snow6x6.f.png','/l17i/snow10x10.f.png');
$(document).ready(function(){
  $("#slider").snowfall({flakeColor:"#fff",flakeCount:30,minSize:10,maxSize:10,imgs:imgs});
});


