/* Fade Function */

var speed=100;

var menuVisible = true;

var inMotion = false;

var statusChange = false;

var layer = 0;

var fc = Math.PI/2;

function fade() {

	var opacityValue;
	var opacityValueDigits;
	var milliSec;

	for(var i = 0; i < 8; i += 0.025) {
		opacityValue 		= cosFadeCalculation(i);
		opacityValueDigits	= opacityValue / 100;
		milliSec			= Math.round(i*1800);
		//document.write(opacityValueDigits + " - " + milliSec + "<br />");
		setTimeout("fadeSetOpacity('"+opacityValue+"', '"+opacityValueDigits+"')",milliSec);
	}

	setTimeout("fade()",milliSec);

	return null;
}

function fadeSetOpacity(opacityPercent,opacityDigits) {


		if(element = document.getElementById("fade")) {
			element.style.filter = "alpha(opacity="+opacityPercent+")";
			element.style.mozOpacity = opacityDigits;
			element.style.opacity = opacityDigits;
		}

	return null;
}

function fadeImage(newElement, oldElement) {
/*
	for(var i = 0; i < 1; i += 0.1) {

		opacityValue 		= cosFadeCalculation(i);
		opacityValueDigits	= opacityValue / 100;
		milliSec			= Math.round(i*800);
		setTimeout("fadeSetImageOpacity('"+opacityValue+"', '"+opacityValueDigits+"', '"+oldElement+"')",milliSec);
	}
*/
	for(var i = 0, timer = 0; i <= 1; i += 0.1, timer++) {

		opacityValue 		= linearFadeCalculation(i);

		opacityValueDigits	= opacityValue / 100;
		milliSec			= Math.round(timer*50);
		setTimeout("fadeSetImageOpacity('"+opacityValue+"', '"+opacityValueDigits+"', '"+newElement+"')",milliSec);
	}

	return null;
}


function fadeSetImageOpacity(opacityPercent,opacityDigits,element) {
	if(statusChange) {return null;}

    var object = document.getElementById(element).style;
    object.opacity = (opacityPercent / 100);
    object.MozOpacity = (opacityPercent / 100);
    object.KhtmlOpacity = (opacityPercent/ 100);
    object.filter = "alpha(opacity=" + opacityPercent + ")";

	return null;
}


function fadeIn() {
	return null;
}

function fadeOut() {
	return null;
}

function sinFadeCalculation(value) {
	return Math.round(Math.sin(value)*100);
}

function cosFadeCalculation(value) {
	return Math.round(Math.cos(value)*100);
}

function linearFadeCalculation(value) {
	return value*100;
}

function fadeMenu(elementID,valueLayer) {
	//alert("alarma!");

	layer += valueLayer;

//	alert(layer);

	if(layer == 0) {
		//element.style.opacity = 0.0;
		//document.getElementById(elementID).style.opacity = 0.0;
		//fadeOutMenu(elementID);

		setTimeout("fadeOutMenu('"+elementID+"')", 1000);
		statusChange = false;
	}
	else if (layer == 15) {
		document.getElementById(elementID).style.opacity = 1.0;
		//fadeInMenu(elementID);
		menuVisible = false;
		statusChange = true;

		fc = Math.PI/2;
	}

	//document.getElementById("value").firstChild.nodeValue = layer;
}

function fadeInMenu(elementID) {
	if(statusChange){return null;}
	if(inMotion) {return null;}



	inMotion = true;
	var PIdiv2 = Math.PI / 2;

	for(fc = fc, timer = 0; fc <= PIdiv2; fc += 0.05, timer++) {

		opacityValue  		= sinFadeCalculation(fc);

		opacityValueDigits	= opacityValue / 100;

		milliSec			= Math.round(timer*50);

		//document.getElementById(elementID).style.opacity = opacityValueDigits;
		setTimeout("fadeSetImageOpacity('"+opacityValue+"', '"+opacityValueDigits+"', '"+elementID+"')", milliSec);
	}
	setTimeout("endMotion()",milliSec);

	//alert(opacityValueDigits);

}

function fadeOutMenu(elementID) {
	if(inMotion) {return null;}
	if(statusChange){return null;}

	inMotion = true;
	var PIdiv2 = Math.PI / 2;

	//alert(fc);

	for(fc = fc, timer = 0; fc >= 0; fc = fc - 0.05, timer++) {

		opacityValue  		= sinFadeCalculation(fc);

		opacityValueDigits	= opacityValue / 100;
		milliSec			= Math.round(timer*50);

		//document.getElementById(elementID).style.opacity = opacityValueDigits;
		setTimeout("fadeSetImageOpacity('"+opacityValue+"', '"+opacityValueDigits+"', '"+elementID+"')", milliSec);
	}
	setTimeout("endMotion()",milliSec);

	//alert(opacityValueDigits);

}

function endMotion() {
	inMotion = false;
}
