/**
 * Fun??o que habilita campo
 **/
function habilitaCampo (elemento) {
	elemento.disabled = false;
}

/**
 * Fun??o que desabilita campo
 **/
function desabilitaCampo (elemento) {
	elemento.disabled = true;
}

/**
 * Fun??o que apresenta Div
 **/
function fEscondeApresenta( itemSelecionado, totalItens ) {
	var nomeBoxExibir = nomeDiv + itemSelecionado;
	escondeTodos( totalItens );
	var acao = document.getElementById( nomeBoxExibir ).style.display == "none" ? "" : "none";
	document.getElementById( nomeBoxExibir ).style.display = acao;
}

/**
 * Fun??o que esconde todos Div?s na tela
 **/
function escondeTodos( totalItens ) {
	for (var i=1; i<=totalItens; i++ ) {
		if ( i < 10 ) {
			document.getElementById( nomeDiv + "0" + i ).style.display="none";
		}
		else {
			document.getElementById( nomeDiv + i ).style.display="none";		
		}
	}
}

/**
* Fun??o que d? reload na tela ao redirecionar a mesma
**/
function redimenciona(){
	window.location.reload();
}

/**
* Fun??o que redimenciona div de conteudo dependendo
* da resolu??o
**/
function redimencionaDiv(){
	var height = screen.height;
	document.getElementById('contentDiv').style.height = height;
}


/**
* Fun??o que retorna obj passado como um Array.
**/
function getAsArray(obj) {
	if (! isArray(obj)) {
		var objArray = new Array();
		objArray[0] = obj;
		return objArray;
	}
	return obj;
}

/*****************************************************
* Fun??o que indica se obj passado ? undefined.
******************************************************/
function isUndefined(obj) {	
	var teste = new String(obj);
	if (teste == "undefined" || obj == undefined)
		return true;
	else
	  	return false;	
}
/*****************************************************
* Fun??o que indica se obj passado ? uma Array.
******************************************************/
function isArray(obj) {
	return !isUndefined(obj.length);
}

function getIndexedProperty(form, propertyName) {	
	return getElementsByPrefix(form, propertyName.concat("["));
}
	
function getElementsByPrefix (form, prefix) {		
	var objArray = new Array();		
	var elements = form.elements;
	
	for (var i=0; i<elements.length;i++) {
		var name = elements[i].name;			
		if (startsWith(name, prefix)) {
			objArray[objArray.length] = elements[i];
		}
	}		
	return objArray;
}
function startsWith(name, prefix) {
	if (name.indexOf(prefix) == 0) 
		return true;
	else
		return false;
}
function textAreaMaxLength(form, fieldName, maxlength) {		
	var obj = form.elements[fieldName];
	if (obj.value.length > maxlength) {			
		obj.value = obj.value.substring(0, maxlength);
	}		
}
/*
* Fun??o que habilita/desabilita o campo Outro relacionado ao combo.
*/
function checkTxtOther(selectName, txtName, hiddenName){
	
	var selectOutro = document.getElementById(selectName);
	var textOutro = document.getElementById(txtName);
	var hiddenOutroId = document.getElementById(hiddenName);
		
	var valueOutro = hiddenOutroId.value;
	if(selectOutro.options[selectOutro.selectedIndex].value == valueOutro){
		textOutro.disabled = false;
		textOutro.focus();
	}else{
		textOutro.value = "";
		textOutro.disabled = true;
	}
}

/*
* Retorna objeto Flash.
*/
function getFlashMovieObject(movieName) {
	if (window.document[movieName]) {
    	return window.document[movieName];
	}
	if (navigator.appName.indexOf("Microsoft Internet")==-1)  {
    	if (document.embeds && document.embeds[movieName]) {
      		return document.embeds[movieName];
    	}
  	} else {
		return document.getElementById(movieName);
  }
}
/*
* Retorna objeto Flash do Bill
*/
function getBill() {

	return getFlashMovieObject("Bill");
}

/*
* Atualiza mensagem do Bill
*/
function setHelpMsg(msg, frame) {

	var bill = getBill();	
	bill.SetVariable("/:message", msg);
	if (frame > 0) {
		bill.GotoFrame(frame);
	}
}

/*
* Atualiza mensagem do Bill
*/
function clearHelpMsg() {
	var bill = getBill();
	bill.SetVariable("/:message", "");
}
/*
* Abre um PopUp
*/
function abreJanela(pagina){

	var now = new Date();
    var hours = now.getHours();
	var minutes = now.getMinutes();
    var seconds = now.getSeconds();
    var miliseconds = now.getMilliseconds();

	texto = hours + minutes + seconds + miliseconds;

	window.open(pagina,texto,"location=no,directories=no,menubar=yes,resizable=yes,scrollbars=yes,status=yes,toolbar=no,top=10px,left=150px,width=615,height=630");
}

function abreJanela2(pagina, h, w){

	var now = new Date();
    var hours = now.getHours();
	var minutes = now.getMinutes();
    var seconds = now.getSeconds();
    var miliseconds = now.getMilliseconds();

	texto = hours + minutes + seconds + miliseconds;

	window.open(pagina,texto,"location=no,directories=no,menubar=yes,resizable=yes,scrollbars=yes,status=yes,toolbar=no,top=10px,left=150px,width=" + w + ",height=" + h);
}


function Verifica_CPF(campoCpf) {
	var CPF = campoCpf.value; // Recebe o valor digitado no campo

	// Verifica se o campo ? nulo
	if (CPF == '') {
		return true;
	}
	
	// Verifica se o valor ? viciado
	var viciado = true;
	for(x = 0; x<=CPF.length-1; x++)
	{
		var caracter = CPF.substring(x, x+1)
		if(x > 0 && caracter != CPF.substring(x-1, x))
			viciado = false;
	}
	
	if (viciado)
	{
		alert('CPF invalido')
		campoCpf.focus();
		return false;
	}

	// Aqui come?a a checagem do CPF
	var POSICAO, I, SOMA, DV, DV_INFORMADO;
	var DIGITO = new Array(10);
	DV_INFORMADO = CPF.substr(9, 2); // Retira os dois ?ltimos d?gitos do n?mero informado

	// Desemembra o n?mero do CPF na array DIGITO
	for (I=0; I<=8; I++) {
		DIGITO[I] = CPF.substr( I, 1);
	}

	// Calcula o valor do 10? d?gito da verifica??o
	POSICAO = 10;
	SOMA = 0;
	for (I=0; I<=8; I++) {
		SOMA = SOMA + DIGITO[I] * POSICAO;
		POSICAO = POSICAO - 1;
	}
	DIGITO[9] = SOMA % 11;
	if (DIGITO[9] < 2) {
		DIGITO[9] = 0;
	}
	else{
		DIGITO[9] = 11 - DIGITO[9];
	}

	// Calcula o valor do 11? d?gito da verifica??o
	POSICAO = 11;
	SOMA = 0;
	for (I=0; I<=9; I++) {
		SOMA = SOMA + DIGITO[I] * POSICAO;
		POSICAO = POSICAO - 1;
	}
	DIGITO[10] = SOMA % 11;
	if (DIGITO[10] < 2) {
		DIGITO[10] = 0;
	}
	else {
		DIGITO[10] = 11 - DIGITO[10];
	}

	// Verifica se os valores dos d?gitos verificadores conferem
	DV = DIGITO[9] * 10 + DIGITO[10];
	if (DV != DV_INFORMADO) {
		alert('CPF invalido');
		campoCpf.value = '';
		campoCpf.focus();
		return false;
	} 
	else
		return true;
}

function SomenteNumero(e)
{
	var tecla=(window.event)?event.keyCode:e.which;
	if((tecla > 47 && tecla < 58)) 
		return true;
	else{
		if (tecla != 8) 
			return false;
		else 
			return true;
	}
}
		
function MostraMensagem(texto)
{
	texto = texto.Replace("\\n","\n");
	alert(texto);
}

function digitaData(objeto){
	if (objeto.value.length == 2)
		objeto.value += "/";
	if(isNaN(String.fromCharCode(window.event.keyCode)))
		return false; 
}

function verificaData(){ 
	
	var dtEntrada = document.forms[0].dtEntradaStr.value;
	anoEntrada = dtEntrada.substring(dtEntrada.indexOf("/")+1, dtEntrada.length);
	mesEntrada = dtEntrada.substring(dtEntrada.indexOf("/")-2, dtEntrada.length);
	anoMesEntrada = parseInt(anoEntrada + mesEntrada);
	ano1950 = 195000;
	
	if(document.forms[0].dtEntradaStr.length < 7 || document.forms[0].dtSaidaStr.length < 7)
	{
   	   	alert(" Data incorreta. Por favor verifique as datas inseridas. (MM/YYYY).");
       	return false;
	}
	
	if(document.forms[0].dtSaidaStr.value!="") 
	{
		var dtSaida = document.forms[0].dtSaidaStr.value;
		
		anoSaida = dtSaida.substring(dtSaida.indexOf("/")+1, dtSaida.length);
		mesSaida = dtSaida.substring(dtSaida.indexOf("/")-2, dtSaida.length);
		anoMesSaida = parseInt(anoSaida + mesSaida);
	
		hoje = new Date();  
		//hoje = SimpleDateFormat.getDateInstance(DateFormat.MEDIUM, new Locale("pt", "BR")).parse(new Date().toString());
	    anoAtual = hoje.getFullYear();
	    if(hoje.getMonth() < 9) 
	    {
	        mesAtual = "0" + (hoje.getMonth() + 1); 		        	    	
	    }
	    else 
	    {
		    mesAtual = (hoje.getMonth() + 1);		        	    	

	    }
	    
			dataAtual = anoAtual + "" + mesAtual;			
			anoMesAtual = parseInt(dataAtual);

 		if(parseInt(anoMesEntrada) < parseInt(ano1950) || parseInt(anoMesSaida) < parseInt(ano1950) || parseInt(anoMesEntrada) > parseInt(anoMesSaida) || parseInt(anoMesEntrada) > parseInt(anoMesAtual) || parseInt(anoMesAtual) < parseInt(anoMesSaida))
 		{
       	   	alert(" Data incorreta. Por favor verifique as datas inseridas.");
         	return false;
		}
	}
	return true;
}

