var _tmp = window.onload,
    transicao = new Array(),
    regrasde_envio,
    tmp_descer = new Array(), 
    tmp_subir = new Array(),
    aberto = null,
    inicio = new Array();

var dialogos = ["dlgemail", "dlgfalar", "dlgfoto", "dlgreportagem", "dlgreclamacao", "dlgbuscax", "dlggaleria", "dlgenquete", "dlgfaleconosco"],
    foco     = ["emailnome", "falarnome", "fotonome", "reportagemnome", "reclamacaonome", "buscaxtitulo", null, null, "faleconoscodepartamento"];

window.onload = function() {
	_tmp();

	regrasde_envio = css_obter_regras(1);
	if(!regrasde_envio) return;

	for(var i = 0; i < dialogos.length; i++) {
		var dlg = document.getElementById(dialogos[i]);
		if(dlg) {
			dlg.className += " inativo";

			transicao[i] = -parseInt(regrasde_envio[i].style.height);
			var sequencia = ["", "2", "3", "4", "5", "6", "7", "8", "9"];
			for(var j = 0; j < sequencia.length; j++) {
				var ativador = document.getElementById("atv_" + dialogos[i] + sequencia[j]);
				if(ativador) {
					ativador.href = "javascript:void(0)";
					ativador.onclick = function(indice) { return function() {
						ativar_envio(indice);
					} }(i);
				}
			}

			var cancelador = document.getElementById("can_" + dialogos[i]);
			if(cancelador) {
				cancelador.href = "javascript:void(0)";
				cancelador.onclick = function(indice) { return function() {
					cancelar_envio(indice);
				} }(i);
			}
		}
	}
}

function recolher() {
	document.getElementById(dialogos[aberto]).reset();
	cancelar_envio(aberto);
}

function ativar_envio(indice) {
	if(aberto == indice) {
		clearInterval(tmp_descer[indice]);
		cancelar_envio(indice);
		return;
	}

	var regra = regrasde_envio[indice];

	var dlg = document.getElementById(dialogos[indice]);

	if(dlg.className.match(/desativando/)) {
		clearInterval(tmp_subir[indice]);
	} else if(dlg.className.match(/ativando/)) {
		clearInterval(tmp_descer[indice]);
		cancelar_envio(indice);
		return;
	} else {
		transicao[indice] = -parseInt(regra.style.height) - 10; //padding
		var incremento = Math.abs(transicao[indice]) / 5;
		regra.style.top = transicao[indice] - 1 + "px";
	}
	
	dlg.className = dlg.className.replace(/inativo|desativando/, "ativando");
		
	tmp_descer[indice] = setInterval("descer(" + indice + ", " + incremento + ")", 10); 
	if(aberto != null) 
		cancelar_envio(aberto);

	aberto = indice;
}

function cancelar_envio(indice) {
	var regra = regrasde_envio[indice];

	inicio[indice] = -parseInt(regra.style.height) - 10; //padding
	
	var incremento = Math.abs(-parseInt(regra.style.height) - 10) / 5;

	document.getElementById(dialogos[indice]).className = 
		document.getElementById(dialogos[indice]).className.replace(/ativo|ativando/, "desativando");

	tmp_subir[indice] = setInterval("subir(" + indice + ", " + incremento + ")", 10); 
	if(aberto == indice) aberto = null;
}

function descer(indice, incremento) {
	var regra = regrasde_envio[indice],
	    t = parseInt(regra.style.top);

	if(transicao[indice] < 0 && t < -1) {
		transicao[indice] += incremento;
		regra.style.top = t + incremento + "px";
	} else {
		clearInterval(tmp_descer[indice]);
		document.getElementById(dialogos[indice]).className = 
			document.getElementById(dialogos[indice]).className.replace(/ativando/, "ativo");
		if(foco[indice] != null) document.getElementById(foco[indice]).focus();
	}
}

function subir(indice, incremento) {
	var regra = regrasde_envio[indice],
	    t = parseInt(regra.style.top);

	if(transicao[indice] > inicio[indice] && t > inicio[indice]) {
		transicao[indice] -= incremento;
		regra.style.top = t - incremento + "px";
	} else {
		clearInterval(tmp_subir[indice]);
		document.getElementById(dialogos[indice]).className = 
			document.getElementById(dialogos[indice]).className.replace(/desativando/, "inativo");
	}
}
