// JavaScript Document
//
// Company: Estúdio Copacabana
// Author: Nicholas Sales
//
// -----------------------------------------------------------------------------------------
/*
Instructions:

retrieveData(divName, requestURL, requestMethod, requestAsynchronous, requestData)

string divName: DIV name to put contents.
string requestURL: server URL to request data
string requestMethod: 'POST' or 'GET', request method.
boolean requestAsynchronous: asyncronous(true) or syncronous (false) request.
string requestData: request parameters pairs (key=value format).
*/
//
function retrieveData(divName, requestURL, requestMethod, requestAsynchronous, requestData) {
	//
	http_request = false;
	/*
	begin of checking browser compatibility
	*/ 
	// Mozilla, Firefox, SeaMonkey, Safari
	if (window.XMLHttpRequest) {
		http_request = new XMLHttpRequest();
		// force response header as text/xml
		if (http_request.overrideMimeType) {
			http_request.overrideMimeType('text/xml');
		}
	// Internet Explorer
	} else if (window.ActiveXObject) {
		try {
			http_request = new ActiveXObject("Msxml2.XMLHTTP") // Versão 6
		} catch(e) {
			try	{
				http_request = new ActiveXObject('Microsoft.XMLHTTP')  // Versão 5.5
			} catch(e) {
				//
			}
		}
	}
	/*
	end of browser compatibility
	*/
	http_request.open(requestMethod, requestURL, requestAsynchronous);
	http_request.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=iso-8859-1');
	http_request.onreadystatechange = function() {
	    if (http_request.readyState == 1) {
			var conteudo = document.getElementById(divName);
			conteudo.innerHTML = mostrarAguarde();
		} else if (http_request.readyState == 4) {
			var texto = unescape(http_request.responseText.replace(/\+/g," "));
			var conteudo = document.getElementById(divName);
			conteudo.innerHTML = texto;
		}
	}
	http_request.send(requestData);
}
//
function mostrarAguarde() {
	var txt = "<table border='0' align='center' class='texto'>";
	txt += "<tr>";
	txt += "<td>";
	txt += "<b>Aguarde...</b>";
	txt += "</td>";
	txt += "</tr>";
	txt += "</table>";
	return txt;
}
//
//
//
// -----------------------------------------------------------------------------------------
/*
 begin of tab checking functions
*/
VerifiqueTAB = true;
//
function Mostra(quem, tammax) {
	if ((quem.value.length == tammax) && (VerifiqueTAB)) {
		var i = 0, j = 0, indice = -1;
		for (i = 0; i < document.forms.length; i++) {
			for (j = 0; j < document.forms[i].elements.length; j++) {
				if (document.forms[i].elements[j].name == quem.name) {
					indice = i;
					break;
				}
			}
		if (indice != -1) break;
		}
		for (i = 0; i <= document.forms[indice].elements.length; i++) {
			if (document.forms[indice].elements[i].name == quem.name) {
				while ((document.forms[indice].elements[(i+1)].type == "hidden") &&	(i < document.forms[indice].elements.length)) {
					i++;
				}
				document.forms[indice].elements[(i+1)].focus();
				VerifiqueTAB=false;
				break;
			}
		}
	}
}
//
function PararTAB(quem) { VerifiqueTAB = false; }
//
function ChecarTAB() { VerifiqueTAB = true; }
//
//
// function to open a new window
function abrirJanela(arquivo, nome, largura, altura) {
	window.open(arquivo,nome,'toolbar=0,location=0,status=1,menubar=0,scrollbars=1,resizable=0,width='+largura+',height='+altura+',top=30,left=30');
}
function Mascara(formato, keypress, objeto) {
	campo = objeto;
	//
	// CEP
	if (formato == 'cep') {
		separador = '-';
		conjunto1 = 5;
		if (campo.value.length == conjunto1) campo.value = campo.value + separador;
	}
	//
	// CPF
	if (formato == 'cpf') {
		separador1 = '.'; 
		separador2 = '-'; 
		conjunto1 = 3;
		conjunto2 = 7;
		conjunto3 = 11;
		if (campo.value.length == conjunto1) campo.value = campo.value + separador1;
		if (campo.value.length == conjunto2) campo.value = campo.value + separador1;
		if (campo.value.length == conjunto3) campo.value = campo.value + separador2;
	}
	//
	// date
	if (formato == 'data'){
		separador = '/'; 
		conjunto1 = 2;
		conjunto2 = 5;
		if (campo.value.length == conjunto1) campo.value = campo.value + separador;
		if (campo.value.length == conjunto2) campo.value = campo.value + separador;
	}
	//
	// phone
	if (formato == 'telefone'){
		separador1 = '(';
		separador2 = ')';
		separador3 = '-';
		conjunto1 = 0;
		conjunto2 = 3;
		conjunto3 = 8;
		if (campo.value.length == conjunto1) campo.value = campo.value + separador1;
		if (campo.value.length == conjunto2) campo.value = campo.value + separador2;
		if (campo.value.length == conjunto3) campo.value = campo.value + separador3;
	}
}
// -----------------------------------------------------------------------------------------
// função para atribuir foco para determinado campo de formulário
function focarCampo(formu){
  formu.focus();
}
//
// function to validate empty text fields
function avisotxt(formu, mensagem){
	if (formu.value == ""){
		alert(mensagem);
		formu.focus();
		return false;
	}
	return true;
}
//
// function to validate emails
function checkmail(formu, mensagem) {
	if (!CheckValida(formu.value,'N')) {
		alert(mensagem);
		formu.focus();
		return false;
	}
	return true;
}
//
// function to validate email string
function CheckValida(obj, Vazio) {
	var permitido = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.@-_";
	var tamanho = obj.length;
	if (Vazio == 'S') {
		if (obj != "" && (obj.indexOf('@') == -1 || obj.indexOf('.') == -1))
			return false;
	} else {
		if (obj.indexOf('@')== -1 || obj.indexOf('.') == -1)
			return false;
	}
	for (i = 0; i <= tamanho+1; i++)
		if (permitido.indexOf(obj.charAt(i)) == -1)
			return false;
	return true;
}
// function to validate checkboxes
function verificachecked(formu, mensagem) {
	var conta = 0;
	var tamanho = formu.length;
	if (tamanho > 1) {
		for (var i = 0; i < tamanho; i++)
			if (formu[i].checked) conta++;
	} else
		if (formu.checked) conta++;
	//
	if (conta == 0) {
		alert(mensagem);
		(tamanho > 1) ? formu[0].focus() : formu.focus();
		return false;
	}
	return true;
}

// function fo validate numeric fields
function isnumber(formu, mensagem) {
	if (formu.value.length == 0) {
		alert(mensagem);
		formu.focus();
		return false;
	}
	RefString="1234567890,.-";
	for (var Count=0; Count < formu.value.length; Count++){
		TempChar = formu.value.substring (Count, Count+1);
		if (RefString.indexOf(TempChar, 0) == -1) {
			alert(mensagem);
			formu.focus();
			return false;
		}
	}
	return true;
}
//
// function to validate combobox fields
function avisoselect(formu, mensagem) {
	if (formu.selectedIndex == 0) {
		alert(mensagem);
		formu.focus();
		return false;
	}
	return true;
}
//
// function to validate CPF numbers
function verificarCPF(formu, mensagem) {
	var quanti = "";
	num = formu.value.charAt(1);
	for (i=1; i <= 11; i++){
		quanti = quanti + num;
	}
	if (formu.value == quanti){
		alert(mensagem);
		formu.focus();
		return false;
	}
	//
	Valor = new Array();
	//
	var Tot = 0
	var Tot1 = 0
	var I = 1
	var Resto = 0
	var PriDig = 0
	var SegDi = 0
	var N = 1
	//
	while (I < 10) {
		Valor[I] = formu.value.charAt(I-1);
		Tot = Tot + (Valor[I] * (11 - I));
		Tot1 = Tot1 + (Valor[I] * (12 - I));
		I++;
	}
	Resto = Tot - (Math.floor(Tot/11) * 11);
	//
	if ((Resto == 0) || (Resto == 1)) {
		PriDig = 0;
	} else {
		PriDig = 11 - Resto;
	}
	//
	if ((PriDig != formu.value.charAt(9)) || (formu.value == "")){
		alert(mensagem);
		formu.focus();
		return false;
	}
	//
	Tot1 = Tot1 + (2 * PriDig);
	Resto = Tot1 - (Math.floor(Tot1/11) * 11);
	//
	if ((Resto == 0) || (Resto == 1)) {
	   SegDig = 0;
	}
	else{
	   SegDig = 11 - Resto;
	}
	//
	if ((SegDig != formu.value.charAt(10)) || (formu.value == "")){
		alert(mensagem);
		formu.focus();
		return false;
	}
	return true;
}
//
// função para verificar senha
function verificasenha(campo1,campo2){
	if (campo1.value != "" || campo2.value !== "") {
		if (campo1.value != campo2.value) {
			alert("Senhas não conferem! Redigite as senhas.");
			campo1.value = "";
			campo2.value = "";
			campo1.focus();
			return false;
		} else {
			return true;
		}
	}
	return true;
}
//
// go to register screen
function retornarPagina(div, page) {
	retrieveData(div,page,'GET',true,null);
}
//
// funciton to hide a defined DIV
function esconderDIV(div) {
	document.getElementById(div).style.visibility = "hidden";
}
//
function abrirDIV(div) {
    var myDiv = document.getElementById(div);
	if (myDiv.style.display == "none") {
		myDiv.style.display = "block";
	} else {
		myDiv.style.display = "none";
	}
}
//
function atribuirDIVVigente(div) {
	myDiv = document.getElementById(div);
}
//
function trocarDIV(div) {
	myDivUltima = myDiv;
    myDiv = document.getElementById(div);
	if (myDiv.style.display == "none") {
		myDiv.style.display = "block";
		myDivUltima.style.display = "none";
	} else {
		myDiv.style.display = "none";
		myDivUltima.style.display = "block";
	}
}
//
// verificar campos Newsletter Home-page
function verificarCamposNewsletter() {
	avisotxt(document.form.nm_usuario, "Por favor, digite seu nome.") &&
	checkmail(document.form.nm_email, "Digite seu e-mail corretamente.") &&
	cadastrarDadosNewsletter();
}
// verificar campos Newsletter Home-page (en-us)
function verificarCamposNewsletter_EN_US() {
	avisotxt(document.form.nm_usuario, "Please, enter name.") &&
	checkmail(document.form.nm_email, "Please, enter a valid e-mail.") &&
	cadastrarDadosNewsletter();
}
// verificar campos Newsletter Home-page (es-es)
function verificarCamposNewsletter_ES_ES() {
	avisotxt(document.form.nm_usuario, "Por favor, digite su nombre.") &&
	checkmail(document.form.nm_email, "Por favor, entre un e-mail válido!") &&
	cadastrarDadosNewsletter();
}
//
// enviar dados Newsletter Home-page
function cadastrarDadosNewsletter() {
	var nm_usuario = encode64(document.form.nm_usuario.value);
	var nm_email = encode64(document.form.nm_email.value.toLowerCase());
	//
	retrieveData('div_newsletter','cad_newsletter.asp','POST',true,'nm_usuario='+nm_usuario+'&nm_email='+nm_email);
}
//