// JavaScript Document

//============================================================//
//                     EFECTOS JAVASCRIPT                     //
//                  creado por Gabriel Memmel                 //
//                     gabimem@gmail.com                      //
//                          AGO 2008                          //
//============================================================//

//-------------------CONFIGURACIONES ------------------------
var durOp = 300; // Duración fadeOp en milisegundos
var durAncho = 500; // Duración fadeAncho en milisegundos
var durAlto = 500; // Duración fadeAlto en milisegundos

var intOp = 60; // Intervalo de setTimeout para fadeOp en milisegundos
var intAncho = 50; // Intervalo de setTimeout para fadeAncho en milisegundos
var intAlto = 50; // Intervalo de setTimeout para fadeAlto en milisegundos

//------------------- FUNCION AUXILIAR ----------------------
function signo(numero)
{
	return (numero >= 0) ? 1 : -1;
}

//------------------- FADE OPACIDAD -------------------------
/* 
	== Asignar los valores CSS: ==
	filter:alpha(opacity=100);
	opacity = 1;
*/
var toutOp = new Object(); //Obtiene los indices para cancelar el timeOut anterior
// inicio, final: 0~100
function fadeOp(id, inicio, final)
{
	clearTimeout(toutOp[id]);
	var obj = document.getElementById(id);
	if (navigator.appName.indexOf("Netscape") != -1)
	{
		inicio = (inicio == 'x') ? obj.style.opacity*100 : inicio;
		final = (final == 'x') ? obj.style.opacity*100 : final;
		obj.style.opacity = inicio/100;
	}
	if (navigator.appName.indexOf("Microsoft") != -1)
	{
		inicio = (inicio == 'x') ? obj.filters.alpha.opacity : inicio;
		final = (final == 'x') ? obj.filters.alpha.opacity : final;
		obj.filters.alpha.opacity = inicio;
	}
	var paso = (final-inicio)/(durOp/intOp);
	fOp(id, final, paso);
}
function fOp(id, final, paso)
{
	var obj = document.getElementById(id);
	if (navigator.appName.indexOf("Netscape") != -1)
	{
		if ((signo(paso))*(final - 100*parseFloat(obj.style.opacity)) > 0)
		{
			obj.style.opacity = parseFloat(obj.style.opacity) + parseFloat(paso)/100;
			toutOp[id] = setTimeout("fOp('" + id + "','" + final + "','" + paso + "')", intOp);
		}
	}
	if (navigator.appName.indexOf("Microsoft") != -1)
	{
		if ((signo(paso))*(final - parseFloat(obj.filters.alpha.opacity)) > 0)
		{
			obj.filters.alpha.opacity = parseFloat(obj.filters.alpha.opacity) + parseFloat(paso);
			toutOp[id] = setTimeout("fOp('" + id + "','" + final + "','" + paso + "')", intOp);
		}
	}
}

//------------------- FADE ANCHO -------------------------
var toutAncho = new Object(); //Obtiene los indices para cancelar el timeOut anterior
function fadeAncho(id, ancho1, ancho2, ret)
{
	var obj = document.getElementById(id);
	ancho1 = (ancho1 == 'x') ? parseFloat(obj.style.width) : ancho1;
	ancho2 = (ancho2 == 'x') ? parseFloat(obj.style.width) : ancho2;
	clearTimeout(toutAncho[id]);
	var paso = (ancho2-ancho1)/(durAncho/intAncho);
	obj.style.width = ancho1 + "px";
	if (ret)
	{
		toutAncho[id] = setTimeout("fAncho('" + id + "','" + ancho2 + "','" + paso + "')", durAlto + 100);
	} else {
		fAncho(id, ancho2, paso);
	}
}
function fAncho(id, ancho, paso)
{
	var obj = document.getElementById(id);
	if ((signo(paso))*(ancho - parseFloat(obj.style.width)) > 0)
	{
		obj.style.width = (parseFloat(obj.style.width) + parseFloat(paso)) + "px";
		toutAncho[id] = setTimeout("fAncho('" + id + "','" + ancho + "','" + paso + "')", intAncho);
	}
}

//------------------- FADE ALTO -------------------------
var toutAlto = new Object(); //Obtiene los indices para cancelar el timeOut anterior
function fadeAlto(id, alto1, alto2, ret)
{
	var obj = document.getElementById(id);
	alto1 = (alto1 == 'x') ? parseFloat(obj.style.height) : alto1;
	alto2 = (alto2 == 'x') ? parseFloat(obj.style.height) : alto2;
	clearTimeout(toutAlto[id]);
	var paso = (alto2-alto1)/(durAlto/intAlto);

	obj.style.height = alto1 + "px";
	if (ret)
	{
		toutAlto[id] = setTimeout("fAlto('" + id + "','" + alto2 + "','" + paso + "')", durAncho + 100);
	} else {
		fAlto(id, alto2, paso);
	}
}
function fAlto(id, alto, paso)
{
	var obj = document.getElementById(id);
	if ((signo(paso))*(alto - parseFloat(obj.style.height)) > 0)
	{
		obj.style.height = (parseFloat(obj.style.height) + parseFloat(paso)) + "px";
		toutAlto[id] = setTimeout("fAlto('" + id + "','" + alto + "','" + paso + "')", intAlto);
	}
	
}

//------------------- FADE TAMAÑO -------------------------
function fadeTam(id, ancho1, alto1, ancho2, alto2)
{
	fadeAncho(id, ancho1, ancho2);
	fadeAlto(id, alto1, alto2);
}

//---------------- FADE TAMAÑO RETARDO Y ------------------
function fadeTamX(id, ancho1, alto1, ancho2, alto2)
{
	fadeAncho(id, ancho1, ancho2);
	fadeAlto(id, alto1, alto2, true);
}

//---------------- FADE TAMAÑO RETARDO X ------------------
function fadeTamY(id, ancho1, alto1, ancho2, alto2)
{
	fadeAncho(id, ancho1, ancho2, true);
	fadeAlto(id, alto1, alto2);
}