if ((document.getElementById) && window.addEventListener || window.attachEvent) {
 (function() {

//Configure here.

    var num = 12;   //Number of flakes
    var timer = 50; //setTimeout speed. Varies on different comps
    var enableinNS6 = 1 //Enable script in NS6/Mozilla? Snow animation could be slow in those browsers. (1=yes, 0=no).

//End.

    var y = [];
    var x = [];
    var fall = [];
    var theFlakes = [];
    var step = [];
    var currStep = [];
    var sfs = [];
    var h,w,r;
    var d = document;
    var pix = "px";
    var domWw = (typeof window.innerWidth == "number");
    var domSy = (typeof window.pageYOffset == "number");
    var idx = d.getElementsByTagName('div').length;

    for (var i = 0; i < num; i++) {
      document.write('<div id="flake'+(idx+i)+'" style="position:absolute;top:0px;left:0px;width:25px;height:22px;z-index:99999"><img src="http://www.fgcom.com/Portals/bcs/Skins/BCS/images/snow-flake.gif" border="0" width="25" height="22"><\/div>');
      currStep[i] = 0;
      fall[i] = Math.round(3 + Math.random() * 2);
      step[i] = 0.05 + Math.random() * 0.05 ;
    }

    if (domWw) {
      r = window;
    } else if (d.documentElement && (typeof d.documentElement.clientWidth == "number") && (d.documentElement.clientWidth != 0)) {
      r = d.documentElement;
    } else if (d.body && (typeof d.body.clientWidth == "number")) {
      r = d.body;
    }

   function winsize() {
      if (navigator.userAgent.indexOf("MSIE") != -1) {
         if (r.clientHeight < r.scrollHeight) {
            h = r.scrollHeight - 30; //body.clientheight
            w = r.scrollWidth - 30;  //body.clientwidth
         } else { 
            h = r.clientHeight - 30; 
            w = r.clientWidth - 30;  
         }
      } else {
         if (navigator.userAgent.indexOf ("Opera") != -1) {
    	    h = d.body.scrollHeight - 30;
            w = d.body.scrollWidth - 30;
         } 
         if (navigator.userAgent.indexOf ("Mozilla") != -1) {
     	    h = d.body.scrollHeight - 30;
            w = d.body.scrollWidth - 30;
            /*if (d.body.clientHeight < d.height) { 
               h = d.height - 30;
               w = d.width - 30;
            } else {
               h = d.body.clientHeight - 30; 
               w = d.body.clientWidth - 30;
            }*/
         }
      }
   }

    function snow() {
      var dy,dx;

      for (var i = 0; i < num; i++) {
        dy = fall[i];
        dx = fall[i] * Math.cos(currStep[i]);

        y[i]+=dy;
        x[i]+=dx; 
     
        if (x[i] >= w || y[i] >= h) {
          y[i] = -10;
          x[i] = Math.round(Math.random() * w);
          fall[i] = Math.round(3 + Math.random() * 2);
          step[i] = 0.05 + Math.random() * 0.05 ;
        }
     
        theFlakes[i].top = y[i] + pix;
        theFlakes[i].left = x[i] + pix;

        currStep[i]+=step[i];
      }
      setTimeout(snow,timer);
    }

    function init() {
      winsize();
      for (i = 0; i < num; ++i) {
        theFlakes[i] = document.getElementById("flake"+(idx+i)).style;
        y[i] = Math.round(Math.random()*h);
        x[i] = Math.round(Math.random()*w);
      }
      snow();
    }

    if (window.addEventListener) {
      window.addEventListener("resize", winsize, false);
      window.addEventListener("load", init, false);
    } else if (window.attachEvent) {
      window.attachEvent("onresize", winsize);
      window.attachEvent("onload", init);
    } 

  })();
}
//End.
