/**
* VARIÁVEL GLOBAL DE CONTROLE DE ÍNDICE DE DIVS AUXILIARES.
**/
var layerIndex = 0;

/**
* VARIÁVEL GLOBAL DE CONTROLE DE COMBOS DE CAMADAS.
**/
var layerCombos = new Array();

/**
* RETORNA O TAMANHO DA TELA DO USUÁRIO.
**/
function capturaTamanhoTela(){
	var body = document.getElementsByTagName('body')[0];
	var clientWidth = body.clientWidth;
	var clientHeight = body.clientHeight;

	return new Array(clientWidth, clientHeight);
}

/**
* CENTRALIZA UM OBJETO NA TELA.
**/
function centralizaObjeto(nomeObjeto, widthObjeto, heightObjeto){
	var tamanhoTela = capturaTamanhoTela();
	var body = document.getElementsByTagName('body')[0];
	var posicaoScroll = body.scrollTop;

	$(nomeObjeto).style.left = (tamanhoTela[0] / 2) - (widthObjeto / 2);
	// TRATA TAMANHO DO OBJETO PARA MANIPULAÇÃO.
	if(heightObjeto > tamanhoTela[1])
		$(nomeObjeto).style.top = posicaoScroll;
	else
		$(nomeObjeto).style.top = posicaoScroll + ((tamanhoTela[1] / 2) - (heightObjeto / 2));
}

/**
* FECHA UM OBJETO (DIV).
**/
function fechaObjeto(nomeObjeto){
	if(!$(nomeObjeto)) return;

	// ATUALIZA O ÍNDICE DE OBJETOS.
	layerIndex--;
	Element.remove($(nomeObjeto));

	// DESABILITA A DIV.
	if($('divDesabilitaTela')){
		if($('divDesabilitaTela').style.zIndex > 2){
			$("divDesabilitaTela").style.zIndex = layerIndex;
		} else {
			Element.remove($('divDesabilitaTela'));
			layerIndex--;
			document.getElementsByTagName('body')[0].style.overflow = 'auto';
			//document.body.style.scrollbar

			// EXIBE OS COMBOS.
			showLayerCombos();
		}
	}		
}

/**
* ESCONDE OS COMBOS ATIVOS NA CAMADA.
**/
function hiddenLayerCombos(){
	if(getIeVersion() != 6)	return;

	// DESCARTA O HIDDEN SE O LAYER JÁ EXISTE NO ARRAY DE COMBOS.
	for(var i = 0; i < layerCombos.length; i++){
		if(typeof(layerCombos[i]) != 'undefined' && layerCombos[i].layerIndex == layerIndex)
			return;
	}

	var arrayCombos = new Array();
	var selects = document.getElementsByTagName('select');
	for(var i = 0; i < selects.length; i++){
		if(selects[i].style.visibility != 'hidden'){
			arrayCombos.push(selects[i].id);
			selects[i].style.visibility = 'hidden';
		}
	}

	layerCombos.push({layerIndex: layerIndex, arrayCombos: arrayCombos});
}

/**
* EXIBE OS COMBOS DA CAMADA ATUAL.
**/
function showLayerCombos(){
	if(getIeVersion() != 6)	return;

	for(var i = 0; i < layerCombos.length; i++){
		if(typeof(layerCombos[i]) == 'undefined')
			continue;
		if(layerCombos[i].layerIndex == layerIndex){
			for(var x = 0; x < layerCombos[i].arrayCombos.length; x++){
				if($(layerCombos[i].arrayCombos[x]).style){
					$(layerCombos[i].arrayCombos[x]).style.visibility = 'visible';
				}
			}

			delete layerCombos[i];
			return;
		}
	}
}

/**
* EXIBE A DIV QUE DESABILITA A TELA.
**/
function desabilitaTela(){
	var tamanhoTela = capturaTamanhoTela();
	hiddenLayerCombos();
	// CRIA O ELEMENTO DIV NO BODY.
	var body = document.getElementsByTagName('body')[0];
	var div = document.createElement('div');
	div.id = 'divDesabilitaTela';
	div.className = 'DIVDESABILITATELA';
	div.style.width = tamanhoTela[0] + 15;
	div.style.height = tamanhoTela[1];
	div.style.zIndex = layerIndex;

	body.appendChild(div);

	// DESABILITA AS BARRAS DE ROLAGEM DA PÁGINA.
	document.getElementsByTagName('body')[0].style.overflow = 'hidden';
	
	// ATUALIZA O ÍNDICE DE OBJETOS.
	layerIndex++;
}

/**
* CAPTURA A VERSÃO DO IE.
**/
function getIeVersion(){
	if(navigator.appName.indexOf('Internet Explorer') != -1){
		var temp = navigator.appVersion.split('MSIE');
		var version = parseFloat(temp[1]);
		return version;
	}else
		return null;
}