// Vraci nahodne cislo x, kde 0<=x<num
function randNum (num) {
var rnd1 = Math.round( (num-1) * Math.random() )
    return rnd1;
}

// Snezeni
var items = [ "/script/extra/snow1.gif", "/script/extra/snow2.gif", "/script/extra/snow3.gif" ];
var itemsCount=15;
var screenLeft = 50;
var screenTop = 50;
var screenWidth = screen.availWidth - 150;
var screenHeight = screen.availHeight - 180;
var moveamountY = 10;
var moveamountX = 0;
var randomizeX = 2;
var randomizeY = 3;
var fCycleX = false;
var fCycleY = true;
var fRandomXwhenYCycles = true;
var fRandomYwhenXCycles = false;
var fCycleImages = false;
var speed = 120;


var i;
var Xs = new Array();
var Ys = new Array();
var Is = new Array();


function Animate() {

var y;
    for(i=0; i<itemsCount; i++ ) {

        Ys[i] += moveamountY + ( randNum(2) ? (1) : (-1) ) * randNum(randomizeY);
        Xs[i] += moveamountX + ( randNum(2) ? (1) : (-1) ) * randNum(randomizeX);

        if( Xs[i] > screenLeft + screenWidth )  {
            Xs[i] = fCycleX ? screenLeft : screenLeft + screenWidth;
            Ys[i] = fRandomYwhenXCycles ? screenTop + randNum(h) : Ys[i];
        }
        if( Ys[i] > screenTop + screenHeight)  {
            Ys[i] = fCycleY ? screenTop : screenTop + screenHeight;
            Xs[i] = fRandomXwhenYCycles ? screenLeft+ randNum(screenWidth) : Xs[i];
        }
        if (fCycleImages) {
            Is[i]++;
            if(Is[i]>=items.length) Is[i]=0;
            document.getElementById('animitem'+i).src = items[ Is[i] ];
        }

        document.getElementById('animitem'+i).style.top = Ys[i]+'px';
        document.getElementById('animitem'+i).style.left = Xs[i]+'px';
    }
    
    if(stopSnow) {
      stopSnow.style['top'] = document.body.scrollTop;
    }
}


var stopSnow = null;
var stopSnowMove = false;
var snowInterval = false;
var ex = window.location.host.split('.');
ex.shift();
var domain = '.'+ex.join('.');

   
function snow() {
  screenHeight = document.body.offsetHeight - 100;
 
  
  // zapnem
  if(getCookie('nosnow') != 1) {
    snowStart();
  }else {
    // vytvorime div pro zapnuti
    stopSnow = document.createElement('div');
    stopSnow.className = 'startsnow';
    
    stopSnow.onclick = function() {
      snowStart();
      this.parentNode.removeChild(this);
    }
    document.body.appendChild(stopSnow);
  }
   
  // pokud je ie 6
  if(navigator.userAgent.indexOf('ie 6') > -1) {
    stopSnowMove = true;
  }
}


function snowStart() {
  for(i=0; i<itemsCount; i++ ) {
       Xs[i] = screenLeft + randNum(screenWidth);
       Ys[i] = screenTop + randNum(screenHeight);
       Is[i] = randNum(items.length);
       
       var img = document.createElement('img');
       img.setAttribute('id', 'animitem'+i);
       img.setAttribute('style', 'position:absolute; left:'+Xs[i]+'px; top:'+Ys[i]+'px;');
       img.setAttribute('src', items[Is[i]]);
       document.body.appendChild(img);
       
       img.style.position = 'absolute';
       img.style.zIndex = '99999';
   }
   
   stopSnow = document.createElement('div');
   stopSnow.className = 'stopsnow';
   
   stopSnow.onclick = function() {
     snowEnd();
     snow();
     this.parentNode.removeChild(this);
   }


   document.body.appendChild(stopSnow);  
   snowInterval = setInterval("Animate()",speed);
   
   setCookie('nosnow', '0', false, '/', domain);
}


function snowEnd() {
  clearTimeout(snowInterval);
   for(i=0; i<itemsCount; i++ ) {
     var el = document.getElementById('animitem'+i);
     el.parentNode.removeChild(el);
   }
   
   setCookie('nosnow', '1', false, '/', domain);
}