//!----------------------------------------------------
// @function	ControleAbas
// @desc		Construtor do objeto ControleAbas; deve ser executado
//				no evento onLoad do corpo da página
//!----------------------------------------------------
function ControleAbas(fgHabilitada, bgHabilitada, fgDesabilitada, bgDesabilitada,fgSelecionada,bgSelecionada, cel) {
	this.celulaAtiva = null;
    this.inicial = cel;
	this.layerAtiva = null;
	this.bgHabilitada = bgHabilitada;
	this.bgDesabilitada = bgDesabilitada == null ? 'transparent' : bgDesabilitada;
	this.fgHabilitada = fgHabilitada;
	this.fgDesabilitada = fgDesabilitada;
	this.fgSelecionada = fgSelecionada == null ? fgHabilitada : fgSelecionada;
	this.bgSelecionada = bgSelecionada == null ? bgHabilitada : bgSelecionada;
	this.habilita = abaHabilita;
	this.desabilita = abaDesabilita;
	this.seleciona = abaSeleciona;
	this.inicializa = abaInicializa;
	this.mouseOver = abaOver;
	this.mouseOut = abaOut;
	this.mouseClick = abaClick;
}


//!----------------------------------------------------
// @function	abaSeleciona
// @desc		Aplica as configurações de cor e estilo para uma aba selecionada
// @param		idObjetoAba (string) Id do objeto da aba
// @param		nomeLayerAtivo (string) Nome da layer que será exibida
//!----------------------------------------------------
function abaInicializa(idObjetoAba,nomeLayerAtivo){
	this.mouseClick(getDocumentObject(idObjetoAba), nomeLayerAtivo);
}

//!----------------------------------------------------
// @function	abaSeleciona
// @desc		Aplica as configurações de cor e estilo para uma aba selecionada
// @param		celula (Object) Objeto que contém a aba - célula de tabela
//!----------------------------------------------------
function abaSeleciona(celula) {
	setBackgroundColor(celula, this.bgSelecionada);
	setStyleAttribute(celula, "color", this.fgSelecionada);
	setStyleAttribute(celula, "cursor", "pointer");
}

//!----------------------------------------------------
// @function	abaHabilita
// @desc		Aplica as configurações de cor e estilo para a habilitação de uma aba
// @param		celula (Object) Objeto que contém a aba - célula de tabela
//!----------------------------------------------------
function abaHabilita(celula) {
	setBackgroundColor(celula, this.bgHabilitada);
	setStyleAttribute(celula, "color", this.fgHabilitada);
	setStyleAttribute(celula, "cursor", "pointer");
}

//!----------------------------------------------------
// @function	abaDesabilita
// @desc		Aplica as configurações de cor e estilo para a desabilitação de uma aba
// @param		celula (Object) Objeto que contém a aba - célula de tabela
//!----------------------------------------------------
function abaDesabilita(celula) {
	setBackgroundColor(celula, this.bgDesabilitada);
	setStyleAttribute(celula, "color", this.fgDesabilitada);
	setStyleAttribute(celula, "cursor", "none");
}

//!----------------------------------------------------
// @function	abaOver
// @desc		Trata o evento onMouseOver de uma aba
//!----------------------------------------------------
function abaOver(celula) {
	this.habilita(celula);
}

//!----------------------------------------------------
// @function	abaOut
// @desc		Trata o evento onMouseOut de uma aba
//!----------------------------------------------------
function abaOut(celula) {
	if (celula != this.celulaAtiva) {
		this.desabilita(celula);
	}else{
		this.seleciona(celula);
	}
}

function setAssunto(assunto) {
    var nome;
    switch(assunto) {
      case 1:
        nome = 'Dúvidas';
        break;
      case 2:
        nome = 'Sugestões';
        break;
      case 3:
        nome = 'Reclamações';
        break;
      case 4:
        nome = 'Críticas';
        break;
    }
    document.fale_conosco.assunto.value = nome;
    document.fale_conosco.tipo.value = assunto;
}

//!----------------------------------------------------
// @function	abaClick
// @desc		Trata o evento onClick de uma aba, para exibí-la 
//				e esconder a que está atualmente ativa
// @param		celula (Object)	Objeto que contém a aba - célula de tabela
// @param		nomeObjeto (String) Nome da objeto correspondente, que deve ser exibido
//!----------------------------------------------------
function abaClick(celula, tipo) {
	if (this.celulaAtiva != null) {
		//this.desabilita(this.celulaAtiva);
		setAssunto(tipo);
		return;
	} else {
        setStyleAttribute(document.getElementById(this.inicial), "display", "none");
    }
	setAssunto(tipo);
	this.celulaAtiva = celula;
	this.seleciona(this.celulaAtiva);
	if (this.layerAtiva != null)
		setStyleAttribute(this.layerAtiva, "display", "none");
	this.layerAtiva = getDocumentObject('div_duvidas');
	setStyleAttribute(this.layerAtiva, "display", "block");
}