
// udrzime si ID od window.setInterval pro potreby uzavreni
var methodId;

//safety checks. Browsers will hang if this is wrong. If other values are wrong there will just be errors
if( typeof( pictures.length ) != 'number' ) { pictures.length = 0; }

//draw the images
for( var x = 0; x < pictures.length; x++ ) {
	if( document.layers ) { //releave NS4 bug
		document.write('<layer name="floatObj'+x+'"><img src="'+pictures[x][0]+'" width="'+pictures[x][1]+'" height="'+pictures[x][2]+'" alt="rybka" border="0"></layer>');
	} else {
 		document.write('<img name="floatObj'+x+'" src="'+pictures[x][0]+'" width="'+pictures[x][1]+'" height="'+pictures[x][2]+'" alt="rybka" border="0" style="position:absolute;" >');
	}
}

// inicializovat obrazky
function initializeElements() {
    for ( var x = 0; x < pictures.length; x++ ) {
        prepareFloat(x);
//        dd.elements['floatObj'+x].position = 'absolute';
        dd.elements['floatObj'+x].show();
    }
}

// skryti rybicek
function killElements() {
    for ( var x = 0; x < pictures.length; x++ ) {
        dd.elements['floatObj'+x].hide();
    }
    window.clearInterval(methodId);
}

// skryti nebo zobrazeni rybicek
function toglleElements() {

    if(methodId>0) {
        for ( var x = 0; x < pictures.length; x++ ) {
            dd.elements['floatObj'+x].hide();
        }
        window.clearInterval(methodId);

        methodId = 0;
    }
    else {
        initializeElements();
        methodId = window.setInterval('animate();',41);
    }
}

//nahodne umisteni obrazku ve svojem smeru
function prepareFloat(x) {
    // UP
    if (pictures[x][3] == 1) {
        dd.elements['floatObj'+x].moveTo(
            Math.round( (docWidth-dd.elements['floatObj'+x].w-4*distorsion) * Math.random() )+ 2*distorsion, 
            docHeight - dd.elements['floatObj'+x].h);
    }
    // RIGHT
    else if (pictures[x][3] == 2) {
        dd.elements['floatObj'+x].moveTo(
            0 - dd.elements['floatObj'+x].w, 
            Math.round( (docHeight-dd.elements['floatObj'+x].h-4*distorsion) * Math.random() )+ 2*distorsion);
    }
    // DOWN
    else if (pictures[x][3] == 3) {
        dd.elements['floatObj'+x].moveTo(
            Math.round( (docWidth-dd.elements['floatObj'+x].w-4*distorsion) * Math.random() )+ 2*distorsion, 
            0 - dd.elements['floatObj'+x].h);
    }
    // LEFT
    else if (pictures[x][3] == 4) {
        dd.elements['floatObj'+x].moveTo(
            docWidth - dd.elements['floatObj'+x].w, 
            Math.round( (docHeight-dd.elements['floatObj'+x].h-4*distorsion) * Math.random() )+ 2*distorsion);
    }
}

//swing
function swing(offset) {
    return Math.round( distorsion * (2*Math.sin(offset/50) + Math.sin(offset/13))/2 );
}


var docWidth, docHeight;
docWidth = 1000;
docHeight = 1000;
//zjistit rozmery stranky
function getDocSize() {
    var test1 = document.body.scrollHeight;
    var test2 = document.body.offsetHeight
    if (test1 > test2) // all but Explorer Mac
    {
            docWidth = document.body.scrollWidth;
            docHeight = document.body.scrollHeight;
    }
    else // Explorer Mac;
        //would also work in Explorer 6 Strict, Mozilla and Safari
    {
            docWidth = document.body.offsetWidth;
            docHeight = document.body.offsetHeight;
    }
}

//animace
function animate() {
    var sw;
    getDocSize();
    for( var x = 0; x < pictures.length; x++ ) {
        sw1 = swing(dd.elements['floatObj'+x].y)-swing(dd.elements['floatObj'+x].y-speed);
        sw2 = swing(dd.elements['floatObj'+x].x)-swing(dd.elements['floatObj'+x].x-speed);
        // UP
        if (pictures[x][3] == 1) {
            if( dd.elements['floatObj'+x].y <= 0 - dd.elements['floatObj'+x].h  ) {
                dd.elements['floatObj'+x].moveBy(0, docHeight); }
            dd.elements['floatObj'+x].moveBy(sw1, -speed);
        }
        // RIGHT
        else if (pictures[x][3] == 2) {
            if( dd.elements['floatObj'+x].x >= docWidth - dd.elements['floatObj'+x].w - 3 ) {
                dd.elements['floatObj'+x].moveBy(-(docWidth), 0); }
            dd.elements['floatObj'+x].moveBy(speed, sw2);
        }
        // DOWN
        else if (pictures[x][3] == 3) {
            if( dd.elements['floatObj'+x].y >= docHeight - dd.elements['floatObj'+x].h - 3) {
                dd.elements['floatObj'+x].moveBy(0, -(docHeight)); }
            dd.elements['floatObj'+x].moveBy(sw1, speed);
        }
        // LEFT
        else if (pictures[x][3] == 4) {
            if( dd.elements['floatObj'+x].x <= 0 - dd.elements['floatObj'+x].w) {
                dd.elements['floatObj'+x].moveBy((docWidth), 0); }
            dd.elements['floatObj'+x].moveBy(-speed, sw2);
        }
    }
}

SET_DHTML(TRANSPARENT,SCALABLE, "floatObj0"+MAXWIDTH+500+MINWIDTH+30, "floatObj1"+MAXWIDTH+500+MINWIDTH+30, "floatObj2"+MAXWIDTH+500+MINWIDTH+30, "floatObj3"+MAXWIDTH+500+MINWIDTH+30, "floatObj4"+MAXWIDTH+500+MINWIDTH+30);


methodId = window.setInterval('animate();',41);


//window.setInterval('flakeFall();',2000);

