/*
	showDiv(idDiv, hide)
	hide == 0 --> Mostra a Div
	hide == 1 --> Mostra a Div e esconde a última aberta
	hide == 2 --> Mostra a Div e esconde todas as outras abertas
	hide == 3 --> Esconde todas as Div's
*/

var stack = [];

function showDiv(id, hide) {

	var hideDiv;
	var myDiv;

	if ((stack.length != 0) && (hide == 1)) {
		hideDiv = stack.pop();
		myDiv = document.getElementById(hideDiv);
		myDiv.style.display = "none";
	}

	if ((stack.length != 0) && ((hide == 2) || (hide == 3))) {
		for (var i = 0; i <= stack.length; i++) {
			hideDiv = stack.pop();
			myDiv = document.getElementById(hideDiv);
			myDiv.style.display = "none";
		}
	}

	if (hide <= 2) {
		myDiv = document.getElementById(id);
	
		if (myDiv.style.display == "none") {
			myDiv.style.display = "";
			stack.push(id);
		}
	}
}


function formatarText(objeto, sMask, evtKeyPress) {
	var i, nCount, sValue, fldLen, mskLen,bolMask, sCod, nTecla;
	if(document.all) { // Internet Explorer
		nTecla = evtKeyPress.keyCode;
	} else if(document.layers) { // Nestcape
		nTecla = evtKeyPress.which;
	} else {
		nTecla = evtKeyPress.which;
		if (nTecla == 8) {
			return true;
		}
	}
	sValue = objeto.value;
	sValue = sValue.toString().replace( "-", "" );
	sValue = sValue.toString().replace( "-", "" );
	sValue = sValue.toString().replace( ".", "" );
	sValue = sValue.toString().replace( ".", "" );
	sValue = sValue.toString().replace( "/", "" );
	sValue = sValue.toString().replace( "/", "" );
	sValue = sValue.toString().replace( ":", "" );
	sValue = sValue.toString().replace( ":", "" );
	sValue = sValue.toString().replace( "(", "" );
	sValue = sValue.toString().replace( "(", "" );
	sValue = sValue.toString().replace( ")", "" );
	sValue = sValue.toString().replace( ")", "" );
	sValue = sValue.toString().replace( " ", "" );
	sValue = sValue.toString().replace( " ", "" );
	fldLen = sValue.length;
	mskLen = sMask.length;
	i = 0; nCount = 0; sCod = "";
	mskLen = fldLen;
	while (i <= mskLen) {
		bolMask = ((sMask.charAt(i) == "-") || (sMask.charAt(i) == ".") || (sMask.charAt(i) == "/") || (sMask.charAt(i) == ":"))
		bolMask = bolMask || ((sMask.charAt(i) == "(") || (sMask.charAt(i) == ")") || (sMask.charAt(i) == " "))
		if (bolMask) {
			sCod += sMask.charAt(i);
			mskLen++; }
		else {
			sCod += sValue.charAt(nCount);
			nCount++;
		}
		i++;
	}
	objeto.value = sCod;
	if (nTecla != 8) { // backspace
		if (sMask.charAt(i-1) == "9") { // apenas números...
			return ((nTecla > 47) && (nTecla < 58)); } 
		else { // qualquer caracter...
			return true;
		} 
	}
	else {
		return true;
	}
}

function trim(str){
	str = str.replace(/ /g,'');
	str = str.replace(/^ /,'');
	str = str.replace(/ $/,'');
	return str;
}

function retornarNumero(str){
	var len = str.length;
	var retorno = '';
	var char;
	for ( var i = 0; i <= len-1; i++ ){
		char = str.substring(i, i+1);
		if (!isNaN(char)){ retorno += char;	}
	}
	return trim(retorno);
}

function validarEmail(src) {
	emailReg = '^[\\w-_\.]*[\\w-_\.]\@[\\w]\.+[\\w]+[a-zA-Z]$'
	var regex = new RegExp(emailReg);
	return regex.test(trim(src));
}

function validarCurriculo(frm){
	if (frm.arquivo.value!='') {
		var arquivo = StrRev(frm.arquivo.value);
		arquivo = StrRev(arquivo.substring(0, arquivo.indexOf(".")));
		arquivo = arquivo.toLowerCase();
		if (arquivo!='doc' && arquivo!='docx' && arquivo!='txt' && arquivo!='pdf'){
			alert('Formato de arquivo inválido. Extensões válidas: doc, docx, txt ou pdf.');
			return false;
		} else {
				return true;
		}
	} else {
			alert('Selecione um arquivo que contenha seu currículo.');
			return false;
	}
}
	
function StrRev(str){
	var tmp = "";
	for (i=str.length-1; i >= 0; i--){
		tmp += str.charAt(i);
	}
	return tmp;
}

function validarCPF(StrCPF){
	var sStr = StrCPF.slice(0,1)
	var indStr = 1
	var trocou = false;
	
	while (indStr < StrCPF.length){
		if(sStr != StrCPF.substr(indStr,1)){
			trocou = true;
		}
		indStr++;
	}
	
	if (!trocou){
		return false
	}
	
	x = 0;
	soma = 0;
	dig1 = 0;
	dig2 = 0;
	texto = "";
	StrCPF1 = "";
	len = StrCPF.length;
	x = len -1;
	
	for (var i=0; i <= len - 3; i++){
		y = StrCPF.substring(i,i+1);
		soma = soma + ( y * x);
		x = x - 1;
		texto = texto + y;
	}
	
	dig1 = 11 - (soma % 11);
	if (dig1 == 10) dig1=0 ;
	if (dig1 == 11) dig1=0 ;
	StrCPF1 = StrCPF.substring(0,len - 2) + dig1 ;
	x = 11; soma=0;
	
	for (var i=0; i <= len - 2; i++){
		soma = soma + (StrCPF1.substring(i,i+1) * x);
		x = x - 1;
	}
	
	dig2 = 11 - (soma % 11);
	
	if (dig2 == 10) dig2=0;
	if (dig2 == 11) dig2=0;
	if ((dig1 + "" + dig2) == StrCPF.substring(len,len-2)){
		return true;
	} else {
		return false;
	}
}


/*
Funções do carrinho do site - INICIO
*/
	function verificarQuantidade(id,qt){
		if (qt =='' || isNaN(qt) || qt<1){
			document.getElementById(id).value = '1';
		}
	}
	
	//verifica se realmente é para postar o formulário
	function submeterQuantidade(posicao, idP, qtde){
		if (document.getElementById('qtdInicial'+posicao).value != document.getElementById('qtd'+posicao).value){
			window.location = 'carrinhoAcao.asp?acaoCarrinho=alterar&posicao='+posicao+'&idProduto='+idP+'&qtde='+qtde+''
		}		
	}
	
	function validarCarrinhoExcluir(frm){
		frm = document.getElementById(frm);
		if (frm.excluir==undefined) {
			alert('Nenhum produto para excluir.');
		} else if (!selecionouCheck(frm.excluir)){
			alert('Selecione um produto do seu carrinho para excluir.');
		}else{
			if(!confirm('Confirma a exclusão do(s) produto(s)?')){
			}else{
				frm.submit()	
			}
		}
	}
	
	// Checkboxes/Radios				: validação
	// Parâmetros								: checkItem = nome do conjunto de checkboxes/radios
	// Chamada									: selecionouCheck(nomeObjeto);
	function selecionouCheck(checkItem){
		selecionou = false;
		if (isNaN(checkItem.length)){
			selecionou = checkItem.checked;
		}
		else {
			i = 0;
			while ( (i <= (checkItem.length -1)) && (!selecionou) ){
				selecionou = checkItem[i].checked;
				i++;
			}
		}
		return selecionou;
	}	
	
	// Dígitos (números)				: validação
	// Evento										: OnKeyUp
	// Parâmetros								: event = objeto event
	// Chamada									: onKeyUp="digitos(event);"
	function digitos(event){
		if (window.event) {
			// IE
			key = event.keyCode;
		} else if ( event.which ) {
			// netscape
			key = event.which;
		}
		if ( key != 8 || key != 13 || key < 48 || key > 57 )
			return ( ( ( key > 47 ) && ( key < 58 ) ) || ( key == 8 ) || ( key == 13 ) );
		return true;
	}
	
	// CNPJ											: remove máscara nn.nnn.nnn/nnnn-nn
	// Parâmetros								: cnpj = value do objeto origem
	// Chamada									: var cnpj = removeMaskCNPJ(objetoCNPJ.value);
	function removerMaskCNPJ(cnpj) {
		var sCNPJ = retornarNumero(cnpj);
		sCNPJ = sCNPJ.replace(/\./g,'');
		sCNPJ = sCNPJ.replace(/\//g,'');
		sCNPJ = sCNPJ.replace(/-/g,'');
		return sCNPJ;
	}

// CNPJ											: validação
// Parâmetros								: StrCGC = objeto origem

	function validarCNPJ(StrCGC){
		var varFirstChr = retornarNumero(StrCGC.charAt(0));
		var vlMult,vlControle,s1, s2 = '';
		var i,j,vlDgito,vlSoma = 0;
		for ( var i=0; i<=13; i++ ){
			var c = StrCGC.charAt(i);
			if(!(c>='0') && (c<='9')){
				return false;
			}
			if(c!=varFirstChr){
				vaCharCGC = true;
			}
		}
		if(!vaCharCGC){
			return false;
		}
		s1 = StrCGC.substring(0,12);
		s2 = StrCGC.substring(12,15);
		vlMult = '543298765432';
		vlControle = "";
		for (j=1; j<3; j++){
			vlSoma = 0;
			for (i=0; i<12; i++){
				vlSoma += eval( s1.charAt(i) )* eval( vlMult.charAt(i) );
			}
			if(j == 2){
				vlSoma += (2 * vlDgito);
			}
			vlDgito = ((vlSoma*10) % 11);
			if(vlDgito == 10){
				vlDgito = 0;
			}
			vlControle = vlControle + vlDgito;
			vlMult = '654329876543';
		}
		if(vlControle != s2){
			return false;
		} else {
			return true;
		}
	}
	
	// Data											: validação
	// Parâmetros								: Data = value do objeto
	function isDate(Data){
		var dma = -1;
		var data = Array(3);
		var ch = Data.charAt(0);
		for(i=0; i < Data.length && (( ch >= '0' && ch <= '9' ) || ( ch == '/' && i != 0 ) ); ){
			data[++dma] = '';
			if(ch!='/' && i != 0) return false;
			if(i != 0 ) ch = Data.charAt(++i);
			if(ch=='0') ch = Data.charAt(++i);
			while( ch >= '0' && ch <= '9' ){
				data[dma] += ch;
				ch = Data.charAt(++i);
			}
		}
		if(ch!='') return false;
		if(data[0] == '' || isNaN(data[0]) || parseInt(data[0]) < 1) return false;
		if(data[1] == '' || isNaN(data[1]) || parseInt(data[1]) < 1 || parseInt(data[1]) > 12) return false;
		if(data[2] == '' || isNaN(data[2]) || ((parseInt(data[2]) < 0 || parseInt(data[2]) > 99 ) && (parseInt(data[2]) < 1900 || parseInt(data[2]) > 9999))) return false;
		if(data[2] < 50) data[2] = parseInt(data[2]) + 2000;
		else if(data[2] < 100) data[2] = parseInt(data[2]) + 1900;
		switch(parseInt(data[1])){
			case 2: { if(((parseInt(data[2])%4!=0 || (parseInt(data[2])%100==0 && parseInt(data[2])%400!=0)) && parseInt(data[0]) > 28) || parseInt(data[0]) > 29 ) return false; break; }
			case 4: case 6: case 9: case 11: { if(parseInt(data[0]) > 30) return false; break;}
			default: { if(parseInt(data[0]) > 31) return false;}
		}
		return true;
	}
	
	// CPF											: validação
	// Parâmetros								: StrCPF = objeto origem
	function validarCPF(StrCPF){
		StrCPF = StrCPF.replace( ".", "" );
		StrCPF = StrCPF.replace( ".", "" );
		StrCPF = StrCPF.replace( "-", "" );
		
		var sStr = StrCPF.slice(0,1)
		var indStr = 1
		var trocou = false;
		
		while (indStr < StrCPF.length){
		if(sStr != StrCPF.substr(indStr,1)){
		trocou = true;
		}
		indStr++;
		}
		
		if (!trocou){
		return false
		}
		
		x = 0;
		soma = 0;
		dig1 = 0;
		dig2 = 0;
		texto = "";
		StrCPF1="";
		len = StrCPF.length;
		x = len -1;
		
		for (var i=0; i <= len - 3; i++){
			y = StrCPF.substring(i,i+1);
			soma = soma + ( y * x);
			x = x - 1;
			texto = texto + y;
		}
		
		dig1 = 11 - (soma % 11);
		if (dig1 == 10) dig1=0 ;
		if (dig1 == 11) dig1=0 ;
		StrCPF1 = StrCPF.substring(0,len - 2) + dig1 ;
		x = 11; soma=0;
		
		for (var i=0; i <= len - 2; i++){
			soma = soma + (StrCPF1.substring(i,i+1) * x);
			x = x - 1;
		}
		
		dig2= 11 - (soma % 11);
		
		if (dig2 == 10) dig2=0;
		if (dig2 == 11) dig2=0;
		if ((dig1 + "" + dig2) == StrCPF.substring(len,len-2)){
			return true;
		} else {
			return false;
		}
	}

	//retorna somente numeros de uma string
	function retornarNumero(str){
		var len = str.length;
		var char;
		var retorno = '';
		for ( var i = 0; i <= len-1; i++ ){
			char = str.substring(i, i+1);
			if (!isNaN(char)){
				retorno += char;	
			}
		}
		return trim(retorno);
	}
	
	function validarLogin(frm){
		if (trim(frm.email.value) == '' ){
			alert('Preencha o E-mail de login');
			frm.email.focus();
			return false;
		}
		if (!validarEmail(frm.email.value)){
			alert('E-mail de login inválido');
			frm.email.focus();
			return false;
		}
		if (trim(frm.senha.value) == '' ){
			alert('Preencha a Senha de login');
			frm.senha.focus();
			return false;
		}
	}
