/**
* CONTROLE DE FOCOS NA LINHA DA GRID.
* SETA O FOCO NA LINHA DA GRID.
**/
var rowGridActive = "";
var bgColor = "ebf3ff";

function setFocusRowGrid(rowId){
	// VERIFICA SE É FILHO
	var isChild = rowId.substring(rowId.length - 6);

	if(isChild == "_child"){
		// É FILHO
		var nmPai = rowId.substring(0, rowId.length - 6);
		var nmFilho = rowId;
	}else{
		// É PAI
		var nmPai = rowId;
		var nmFilho = rowId + "_child";
	}

	// VERIFICA SE MARCA A LINHA
	if(nmPai != rowGridActive){
		// MARCA SELECIONADO
		$(nmPai).style.backgroundColor = bgColor;
		// SE FILHO EXISTE
		if($(nmFilho))
			$(nmFilho).style.backgroundColor = bgColor;

		// LIMPA SELECIONADOS ANTES
		if(rowGridActive != "" && $(rowGridActive)){
			$(rowGridActive).style.backgroundColor = "";
			// SE TEM FILHO
			if($(rowGridActive + "_child"))
				$(rowGridActive + "_child").style.backgroundColor = "";
		}
		rowGridActive = nmPai;
	}
}

/**
* MOSTRA A PAGINAÇÃO DA DIV DE LISTAGEM.
**/
function pageChange(gridName, nrPage){
	eval("var idActive = " + gridName + "Active;");
	// VERIFICA SE JÁ EXISTE ABA SELECIONADA
	if(idActive != null && idActive != nrPage){
		// VERIFICA SE EXISTE
		if($(gridName + "Div" + idActive)){
			// ESCONDE A PÁGINA
			$(gridName + "Div" + idActive).className = "DIVHIDE";
			$(gridName + idActive).className = "BUTTONORDER";
		}
	}

	// MOSTRA A ABA CLICADA SE ELA EXISTE
	if($(gridName + "Div" + nrPage)){
		$(gridName + "Div" + nrPage).className = "DIVSHOW";
		$(gridName + nrPage).className = "BUTTONORDEROVER";
	}
	// ATRIBUI A ÚLTIMA ABA VISITADA
	eval(gridName + "Active = " + nrPage + ";");
}

/**
 * Carrega uma página da grid
 * 
 * @param gridName
 * @param nrPage
 */
function pageLoad(gridName, nrPage){
	eval("var idActive = " + gridName + "Active;");

	// seleciona a aba clicada
	if ($(gridName + idActive))
		$(gridName + idActive).className = "BUTTONORDER";
	if ($(gridName + nrPage))
		$(gridName + nrPage).className = "BUTTONORDEROVER";

	// atribui a última aba visitada
	eval(gridName + "Active = " + nrPage + ";");
	eval(gridName + ".getGrid(" + nrPage + ");");
}

/**
 * Expande os resultados de um agrupamento na grid.
 */
function expandGroup(object, gridName, nrInicio, nrFim, idParent, idNivel, idTotalNiveis){
	// Captura o nome da imagem.
	var imageName = object.src.split('/').pop();

	// Verifica a ação do clique.
	var idShow = imageName == 'nodeshow.gif';

	// Determina o nome da classe
	var className = idShow ? 'DIVSHOW ROW' : 'DIVHIDE';

	// Altera a imagem do ícone.
	object.src = pathWeb + '/framework/images/default/general/' + (idShow ? 'nodehide' : 'nodeshow') + '.gif';

	// Varre as linhas do agrupamento.
	for(var i = nrInicio; i <= nrFim; i++) {
		if(idParent) {
			if(idShow)
				// Exibe os agrupamentos do próximo nível.
				var idGroup = idNivel + 1;
			else
				// Oculta todos os agrupamentos inferiores.
				var idGroup = idTotalNiveis;

			// Trata a visibilidade dos agrupamentos inferiores.
			for(var x = idNivel + 1; x <= idGroup; x++) {
				if($(gridName + 'Row_' + i + '_parent' + x)) {
					$(gridName + 'Row_' + i + '_parent' + x).className = className;
					$(gridName + 'Row_' + i + '_parentImage' + x).src = pathWeb + '/framework/images/default/general/nodeshow.gif';
				}
			}
		}

		if(!idParent || !idShow) {
			// Linha de registro.
			if($(gridName + 'Row_' + i))
				$(gridName + 'Row_' + i).className = className;
			
			// Linha de sub-grupos.
			if($(gridName + 'Row_' + i + '_child'))
				$(gridName + 'Row_' + i + '_child').className = className;

			// Linha de totalizadores.
			if($(gridName + 'Row_' + i + '_total'))
				$(gridName + 'Row_' + i + '_total').className = className;
		}
	}
}

/**
* FUNÇÃO DE COMBOS DE TIPOCHAMADO / CATEGORIA.
**/
function selectCategory(nrLevel, comboWidth, typeName, categoryName, divName, functionName){
	// PARÂMETROS EXTRAS
	if(!comboWidth) comboWidth = "280";
	if(!typeName) typeName = "cdtipochamado";
	if(!categoryName) categoryName = "cdcategoria";
	if(!divName) divName = "divCategoria";

	if(nrLevel == 0)
		var cdKey = $F(typeName);
	else
		var cdKey = $F(categoryName + nrLevel);

	// DESABILITA OS CAMPOS INFERIORES
	for(var i = (nrLevel + 1); i <= 3; i++){
		if($(categoryName + i)) {
			$(categoryName + i).value = "";
			$(categoryName + i).disabled = true;
		}
	}

	// DETERMINA O CÓDIGO DA CATEGORIA ATUAL
	if(nrLevel > 0){
		if(cdKey != "")
			$(categoryName).value = cdKey;
		else if(nrLevel == 1)
			$(categoryName).value = "";
		else
			$(categoryName).value = $(categoryName + (nrLevel - 1)).value;
	}else
		$(categoryName).value = "";

	if(functionName) eval(functionName);

	if(cdKey == "" || nrLevel == 3)
		return;

	var url = pathWeb + "/html/hd/hdcategoria/request/selectCategory.php";
	var pars  = "cdKey=" + cdKey + "&nrLevel=" + nrLevel;
		pars += "&typeName=" + typeName + "&categoryName=" + categoryName + "&divName=" + divName + "&comboWidth=" + comboWidth + "&functionName=" + functionName;

	// ADICIONA FILTROS DE CATEGORIA POR CONTRATO
	if($("cdcliente")) {
		// Filtro de cliente.
		pars += "&cdcliente=" + $F("cdcliente");

		// Filtro de contrato.
		if($("cdcontrato"))
			pars += "&cdcontrato=" + $F("cdcontrato");
	}
	
	// Valida o componente de seleção em treeview.
	if(nrLevel == 0) {
		eval('var idSelectTree = typeof(objSelectTree_' + categoryName + '1) != "undefined";');
		if(idSelectTree)
			pars += '&idSelectTree=Y';
	}

	new Ajax.Updater({success: divName + (nrLevel + 1)}, url, {parameters: pars, method: "get", showDivQ: true});
}

/**
* FUNÇÃO GLOBAL PARA WORKFLOW DE AÇÕES.
**/
function getWorkflowAcao(cdAcao, cdSituacao){
	var url = pathWeb + '/html/ad/adacao/cadastro_acao/request/getWorkflow.php';
	var pars = 'cdacao=' + cdAcao + '&cdsituacao=' + cdSituacao;
	new Ajax.Request(url, {parameters: pars, method: 'get', showDivQ: true});
}


/**
 * Busca os gatilhos
 */
function getTriggers(menuName, idLocal) {
	var url = pathWeb + "/framework/qtrigger/getTriggers.php";
	var pars = "menuname=" + menuName + "&idlocal=" + idLocal;
	new Ajax.Request(url, {method: "post", parameters: pars});
}
