window.onload = function () {
	topOversInit();
	iconsInit();
}


var mouseOvers = new Array();
var mouseOuts = new Array();

// init top menu
function topOversInit()
{
	var nav = document.getElementById('links');
	var imgs = nav.getElementsByTagName('img');
	for (var i=0;i<imgs.length;i++) 	{
		
		if (imgs[i].src.indexOf('-x.') >-1) continue;
		
		imgs[i].onmouseover = mouseGoesOver;
		imgs[i].onmouseout = mouseGoesOut;
		var suffix = imgs[i].src.substring(imgs[i].src.lastIndexOf('.'));
		mouseOuts[i] = new Image();
		mouseOuts[i].src = imgs[i].src;
		mouseOvers[i] = new Image();
		mouseOvers[i].src = imgs[i].src.substring(0,imgs[i].src.lastIndexOf('.')) + "-x" + suffix;
		imgs[i].number = i;
		imgs[i].title = '';
	}
}

function mouseGoesOver() {
	this.src = mouseOvers[this.number].src;
}

function mouseGoesOut() {
	this.src = mouseOuts[this.number].src;
}



function iconsInit() {
	var x = document.getElementById('fp-icons');
	if (!x) return;
	
	iconFiles = new Array("01.jpg", "02.jpg", "03.jpg", "04.jpg", "05.jpg", "06.jpg", "07.jpg", "08.jpg", "09.jpg", "10.jpg", "11.jpg", "12.jpg", "13.jpg", "14.jpg", "15.jpg", "16.jpg", "17.jpg", "18.jpg", "19.jpg", "20.jpg", "21.jpg", "22.jpg", "23.jpg", "24.jpg", "25.jpg");
	
	// preload
	iconImgs = new Array();
	for (var i=0; i<iconFiles.length; i++) {
		iconImgs[i] = new Image();
		iconImgs[i].src = "img/icons/" + iconFiles[i];
	}
	
	iconsX = x.getElementsByTagName('img');
	for (var i=0; i<iconsX.length; i+=2) {
		iconsX[i].visible = true;
		iconsX[i].style.zIndex = 10;
	}
	for (var i=1; i<iconsX.length; i+=2) {
		iconsX[i].visible = false;
		iconsX[i].style.zIndex = 9;
	}
	visibleIconsNo = iconsX.length /2;
	
	currentlyDisplayed = new Array();
	for (var i=0; i<visibleIconsNo; i++) {
		currentlyDisplayed[i]= i;
	}
	
	fadeInSpeed = 35;
	currentIconNo = null;
	imgNumber = null;
	setTimeout('changeIcon()', 1000);
}

function generateRandomImgNumber() {
	do {
		var newImgNumber = Math.floor(Math.random() * iconImgs.length);
	} while (currentlyDisplayed.indexOf(newImgNumber) >= 0 || newImgNumber == imgNumber);
	imgNumber = newImgNumber;
}

function changeIcon() {
	do {
		newCurrentIconNo = Math.floor(Math.random() * visibleIconsNo);
	} while (currentIconNo == newCurrentIconNo);
	currentIconNo = newCurrentIconNo;

	icon1 = iconsX[currentIconNo*2];
	icon2 = iconsX[currentIconNo*2 + 1];
	
	if (icon1.visible) {
		elemToShow = icon2;
		elemToHide = icon1;
	} else {
		elemToShow = icon1;
		elemToHide = icon2;
	}
	
	generateRandomImgNumber();
	elemToShow.src = iconImgs[imgNumber].src;
	currentlyDisplayed[currentIconNo] = imgNumber;
	
	//document.getElementById('test').firstChild.nodeValue = currentlyDisplayed.join(',');
	
	setOpacity(elemToShow, 0);
	elemToShow.style.visibility = "visible";
	elemToShow.visible = true;
	elemToShow.style.zIndex = 10;
	elemToHide.style.zIndex = 9;
	
	opacity = 0;
	
	iconFadeIn();
}

function iconFadeIn() {
	opacity += 5;
	setOpacity(elemToShow, opacity);
	
	if (opacity < 100) {
		setTimeout('iconFadeIn()', fadeInSpeed);
	} else {
		elemToHide.visible = false;
		setTimeout('changeIcon()', 800);
	}
}

function setOpacity(elem, value) {
	if (value>99) value = 99;
	elem.style.opacity = value/100;
	elem.style.filter  = 'alpha(opacity=' + value + ')';
}


// *************
Array.prototype.indexOf = function (vItem /*:Variant*/, iStart /*:int*/)/*:int*/ {
    if (iStart == null) {
        iStart = 0;
    }
    
    for (var i=iStart, l=this.length; i < l; i++) {
        if (this[i] == vItem) {
            return i;
        }
    }
    return -1;
};



function showProject(aElem, width, height) {
	width += 35;
	height += 17;
	var x=Math.round(screen.availWidth/2 - width/2)
	var y=Math.round(screen.availHeight/2 - height/2)
	if (x<0) x=0
	if (y<0) y=0
	winSettings="width="+width+ ",height="+height+ ",resizable=1,status=1,scrollbars=1,location=0,left="+x+ ",top="+y
	windowName=window.open("projekt-zdjecie.html?img=" + escape(aElem.href), new Date().getTime(), winSettings);
	windowName.focus()
}
