var myFadeInHandler = new Array(6);
var myFadeOutHandler = new Array(6);


function setDefaultCategoryText() {
	document.getElementById("categoryText").innerHTML = parent.myCategoryPrefix + parent.myDefaultCategoryText[parent.myLanguage] + parent.myCategoryPostfix;	
}


function switchLanguage(inLanguage) {
	parent.myLanguage = inLanguage;
	
	// adapt default category text and image tooltip text
	setDefaultCategoryText();
	setTooltipText();
}

function setTooltipText() {
	for(var i=0; i<6; i++) {
		var myImage = document.getElementById("entryImage0" + (i+1));
		myImage.title = parent.myCategoryText[parent.myLanguage][i];
	}
}


function initPage() {
	// initialize default category text and image tooltip
	setDefaultCategoryText();
	setTooltipText();

	for(var i=1; i<=6; i++) {
		var myImage = document.getElementById("entryImage0" + i);
		
		// set initial opacity for every image tile
		myImage.style.opacity = parent.myInitialOpacity;
		myImage.style.filter = "alpha(opacity: " + parent.myInitialOpacity*100 + ");";
		myImage.style.KHTMLOpacity = parent.myInitialOpacity;
		myImage.style.MozOpacity = parent.myInitialOpacity;
		
		// initialize over and out handler variables for thread synchronization
		myFadeInHandler[i-1] = null;
		myFadeOutHandler[i-1] = null;
	}
}


function mouseOver(inImageID) {
	// set category text
	var myPos = parseInt(inImageID.substring(10,12)) - 1;
	document.getElementById("categoryText").innerHTML = parent.myCategoryPrefix + parent.myCategoryText[parent.myLanguage][myPos] + parent.myCategoryPostfix;
	
	fadeIn(inImageID);
}


function mouseOut(inImageID) {
	// set default category text
	setDefaultCategoryText();
	
	fadeOut(inImageID);
}


function fadeIn(inImageID) {
	var myPos = parseInt(inImageID.substring(10,12)) - 1;
	
	// in case abort ongoing fade out
	if(myFadeOutHandler[myPos] != null) {
		clearTimeout(myFadeOutHandler[myPos]);
	}
		
	// perform fade in
	var myImage = document.getElementById(inImageID);
		
	if(myImage.style.opacity < 1) {
		var myOpacity = parseFloat(myImage.style.opacity) + parent.myOpacityStepWidth;
		
		myImage.style.opacity = myOpacity;
		myImage.style.KHTMLOpacity = myOpacity;
		myImage.style.MozOpacity = myOpacity;
		myImage.style.filter = "alpha(opacity: " + myOpacity*100 + ");";
		
		myFadeInHandler[myPos] = setTimeout("fadeIn('" + inImageID + "')", 3);
	} else {
			myFadeInHandler[myPos] = null;
	}
}


function fadeOut(inImageID) {
	var myPos = parseInt(inImageID.substring(10,12)) - 1;

	// in case abort ongoing fade in
	if(myFadeInHandler[myPos] != null) {
		clearTimeout(myFadeInHandler[myPos]);
	}
	
	// perform fade out
	var myImage = document.getElementById(inImageID);
	
	if(myImage.style.opacity > parent.myInitialOpacity) {
		var myOpacity = parseFloat(myImage.style.opacity) - parent.myOpacityStepWidth;
		
		myImage.style.opacity = myOpacity;
		myImage.style.KHTMLOpacity = myOpacity;
		myImage.style.MozOpacity = myOpacity;		
		myImage.style.filter = "alpha(opacity: " + myOpacity*100 + ");";
		
		myFadeOutHandler[myPos] = setTimeout("fadeOut('" + inImageID + "')", 3);
	} else {
		myFadeOutHandler[myPos] = null;
	}
}
