﻿//###################################################################################
var isNN = (navigator.appName.indexOf("Netscape")!=-1);
function autoTab(input,len, e) {
	var keyCode = (isNN) ? e.which : e.keyCode;
	var filter = (isNN) ? [0,8,9] : [0,8,9,16,17,18,37,38,39,40,46];
	if(input.value.length >= len && !containsElement(filter,keyCode)) {
		input.value = input.value.slice(0, len);
		input.form[(getIndex(input)+1) % input.form.length].focus();
	}

	function containsElement(arr, ele) {
		var found = false, index = 0;
		while(!found && index < arr.length)
			if(arr[index] == ele)
				found = true;
			else
				index++;
		return found;
	}
	
	function getIndex(input) {
		var index = -1, i = 0, found = false;
		while (i < input.form.length && index == -1)
			if (input.form[i] == input)
				index = i;
			else 
			i++;
		return index;
	}
	return true;
}
//###################################################################################
function verifica(event){
	var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;
	var caract = new RegExp(/[0-9]+$/i);
	var caract = caract.test(String.fromCharCode(keyCode));

	if(!caract){
		//alert("Caracter inválido: " +String.fromCharCode(keyCode));
		keyCode=0;
		return false;
	}
}
//###################################################################################
function isNUMB(c){
	if((cx=c.indexOf(","))!=-1){
  		c = c.substring(0,cx)+"."+c.substring(cx+1);
  	}
 	if((parseFloat(c) / c != 1)){
  		if(parseFloat(c) * c == 0){
			return(1);
   		}
  		else {
   			return(0);
   		}
  	}
 	else {
  		return(1);
  	}
}
//###################################################################################
function VerifyCNPJ(CNPJ) {
 	if(isNUMB(CNPJ) != 1) {
  		return(0);
  	}
 	else {
  		if(CNPJ == 0) {
  			return(0);
   		}
  		else {
   			g=CNPJ.length-2;
   				if(RealTestaCNPJ(CNPJ,g) == 1) {
    				g=CNPJ.length-1;
    					if(RealTestaCNPJ(CNPJ,g) == 1) {
     						return(1);
     					}
    					else {
     						return(0);
     					}
    			}
   				else {
    				return(0);
    			}
   		}
	}
}
//###################################################################################
function RealTestaCNPJ(CNPJ,g) {
	var VerCNPJ=0;
 	var ind=2;
 	var tam;
 	
	for(f=g;f>0;f--) {
  		VerCNPJ+=parseInt(CNPJ.charAt(f-1))*ind;
  		if(ind>8) {
   			ind=2;
   		}
  		else{
   			ind++;
   		}
  	}
	
  	VerCNPJ%=11;
  	if(VerCNPJ==0 || VerCNPJ==1) {
   		VerCNPJ=0;
   	}
  	else {
	   VerCNPJ=11-VerCNPJ;
   	}
 	
	if(VerCNPJ!=parseInt(CNPJ.charAt(g))) {
  		return(0);
  	}
 	else {
  		return(1);
  	}
}
//###################################################################################
function valida_cnpj(){
	var CNPJ = document.form.cnpj1.value + document.form.cnpj2.value + document.form.cnpj3.value + document.form.cnpj4.value + document.form.cnpj5.value;
	if(VerifyCNPJ(CNPJ) == 1) {
		//alert("CNPJ válido!");
  	}
 	else {
		return false;
	}
 return;
} 
//###################################################################################
function PermiteNumeros(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 valida_formulario() { 
	var op = "nao";
	
	for (i=0; i < document.getElementsByName("plano").length; i++){
		if (document.form.plano[i].checked == true) {
			op = "sim";
		}
	}
	
	if (op == "nao") { 
		alert("por favor selecione o plano desejado!");
		return false;
	}
	
	op = "nao";
	
	for (i=0; i < document.getElementsByName("pessoa").length; i++){
		if (document.form.pessoa[i].checked == true) {
			op = "sim";
		}
	}
	
	if (op == "nao") { 
		alert("por favor selecione o tipo de cadastro (pessoa física ou jurídica)");
		return false;
	}
	
	//Verifica se os campos Senha1 e Senha2 não estão vazios
	if (document.form.senha1.value == "" && op != "nao" || document.form.senha2.value == "" && op != "nao") { 
		if (document.form.senha1.value == "") {
			alert('Preencha o campo Senha !');
			document.form.senha1.focus();
			op = "nao";
			return false;
		}
		else {
			alert('Preencha o campo Confirmar Senha !');
			document.form.senha2.focus();
			op = "nao";
			return false;
		}
	} 
	
	//Compara os campos senhas
	else if (document.form.senha1.value != document.form.senha2.value && op != "nao") {
		alert('A senhas inseridas não conferem !');
		document.form.senha1.focus();
		document.form.senha2.focus();
		op = "nao";
		return false;
	}
	
	//Verifica se o campo Nome não está vazio
	if (document.form.nome.value == "" && op != "nao") { 
		alert('Preencha o campo Nome !');
		document.form.nome.focus();
		op = "nao";
		return false;
	} 
	
	//Verifica se o campo email não está vazio
	if (document.form.email.value == "" && op != "nao" ) { 
		alert('Preencha o campo E-mail !');
		document.form.email.focus();
		op = "nao";
		return false;
	}
	//Verifica se o campo email esta correto
	/*if (form.email.value.indexOf('@', 0) == -1 && op != "nao" || form.email.value.indexOf('.', 0) == -1 && op != "nao") {
	  alert("Preencha o email corretamente !"); 
	  form.email.focus();
	  op = "nao";
	}*/
	
	//Verifica se o campo Razão Social não está vazio
	if (document.form.pessoa[1].checked == true){
		if (document.form.razao_social.value == "" && op != "nao" ) { 
			alert('Preencha o campo Razão Social !');
			document.form.razao_social.focus();
			op = "nao";
			return false;
		} 
	}
	
	cpf = document.form.cpf1.value + document.form.cpf2.value + document.form.cpf3.value + document.form.cpf4.value
	
	if(!valida_CPF(cpf)){
		return false
		alert("Preencha CPF inválido");
	}

	if (document.getElementsByName("pessoa")[1].checked == true){
		if (document.form.cnpj1.value + document.form.cnpj2.value + document.form.cnpj3.value + document.form.cnpj4.value + document.form.cnpj5.value == "" && op != "nao") { 
			alert('Preencha o CNPJ !');
			document.form.cnpj1.focus();
			op = "nao";
			return false;
		} 
	}
	//Verifica se o campo Cep não está vazio	
	if (document.form.cep.value == "" && op != "nao") { 
	alert('Preencha o campo Cep !');
	document.form.cep.focus();
	op = "nao";
	return false;
	} 

	//Verifica se o campo Numero não está vazio
	if (document.form.numero.value == "" && op != "nao") { 
	alert('Preencha o campo Numero !');
	document.form.numero.focus();
	op = "nao";
	return false;
	} 

	//Verifica se o campo DDD não está vazio
	if (document.form.ddd_telefone.value == ""&& op != "nao" ) { 
		alert('Preencha o campo DDD do Telefone!');
		document.form.ddd_telefone.focus();
		op = "nao";
		return false;
	} 

	//Verifica se o campo Telefone não está vazio
	if (document.form.telefone.value == "" && op != "nao") { 
		alert('Preencha o campo Telefone!');
		document.form.telefone.focus();
		op = "nao";
		return false;
	} 

	//Verifica se o campo Concordo está selecionado 
	if(document.form.concordo.checked != true && op != "nao"){
		alert('Você não aceitou os Termos do Contrato !');
		document.form.concordo.focus();
		op = "nao";
		return false;
	}
	if( op == "sim"){
		return true;
	}
} 
//###################################################################################
function checkValues() {		
		
	var total_plano = 0;
	var total_pagamento = 0;
	var total_customizacao = 0;
	var total_dominio = 0;
	var total = 0;
	
	var str_plano = document.form.txtBusca.value;
	var str_pagamento = document.form.pagamento;
			
	if (str_plano != "") { 
			switch(str_plano) {
				case "1" :
					total_plano += parseFloat("43.8");
				break;
				case "2" :
					total_plano += parseFloat("57.9");
				break;
				case "3" :
					total_plano += parseFloat("80.0");
				break;
				case "4" :
					total_plano += parseFloat("118.2");
				break;
				case "5" :
					total_plano += parseFloat("184.5");
				break;
				default:
					alert('Forma de pagamento não existente');
			}
		
	}
	
	/*for(var i=0; i<str_pagamento.length; i++) {
		if(str_pagamento[i].checked) {
		
			var pgto = str_pagamento[i].value;
			switch(pgto) {
				case "1" :
					total_pagamento += parseFloat("8.0");
				break;
				case "2" :
					total_pagamento += parseFloat("19.9");
				break;
				case "3" :
				case "4" :
				case "5" :
				case "6" :
				case "7" :
					total_pagamento += parseFloat("43.9");
				break;
				case "8" :
					total_pagamento += parseFloat("117.1");
				break;
				default:
					alert('Forma de pagamento não existente');
			}
		}
	}
		
	for(var i=0; i<str_customizacao.length; i++) {
		if(str_customizacao[i].checked) {
				
			var pgto = str_customizacao[i].value;
			switch(pgto) {
				case "1" :
					total_customizacao += parseFloat("60.9");
				break;
				case "2" :
					total_customizacao += parseFloat("60.9");
				break;
				default:
					alert('Customização não existente');
			}
		}			  
	}
		
	if (str_dominio.length > 1) {
		for(var i=0; i<str_dominio.length; i++) {
			if(str_dominio.checked) {

				var pgto = str_dominio[i].value;
				switch(pgto) {
					case "1" :
						total_dominio += parseFloat("43.9");
					break;
					default:
						alert('Customização não existente');
				}
			}
		}
	}
	else {
		if(str_dominio.checked) {
			total_dominio += parseFloat("43.9");
		}
	}*/
		
	//total = parseFloat(total_plano) + parseFloat(total_pagamento) + parseFloat(total_customizacao) + parseFloat(total_dominio);
	total = parseFloat(total_plano)
	return float2moeda(total);
}
//###################################################################################	
function moeda2float(moeda){

 	moeda = moeda.replace(".","");
 	moeda = moeda.replace(",",".");

 	return parseFloat(moeda);

}
//###################################################################################	
function float2moeda(num) {

   	x = 0;

   	if(num<0) {
      	num = Math.abs(num);
      	x = 1;
   	}

   	if(isNaN(num)) num = "0";
      	cents = Math.floor((num*100+0.5)%100);

   		num = Math.floor((num*100+0.5)/100).toString();

   	if(cents < 10) cents = "0" + cents;
      	for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
         	num = num.substring(0,num.length-(4*i+3))+'.'+num.substring(num.length-(4*i+3));
			ret = num + ',' + cents;

   			if (x == 1) ret = ' - ' + ret;
				
	return ret;

}
//###################################################################################	
function soma() {
	document.getElementById("total").innerHTML = "";
	document.getElementById("total").innerHTML = checkValues();
}
//###################################################################################
function valida_CPF(s)
{
	var i;
	//s = limpa_string(s);
	var c = s.substr(0,9);
	var dv = s.substr(9,2);
	var d1 = 0;
	for (i = 0; i < 9; i++)
	{
		d1 += c.charAt(i)*(10-i);
	}
        if (d1 == 0) return false;
	d1 = 11 - (d1 % 11);
	if (d1 > 9) d1 = 0;
	if (dv.charAt(0) != d1)
	{
		return false;
	}

	d1 *= 2;
	for (i = 0; i < 9; i++)
	{
		d1 += c.charAt(i)*(11-i);
	}
	d1 = 11 - (d1 % 11);
	if (d1 > 9) d1 = 0;
	if (dv.charAt(1) != d1)
	{
		return false;
	}
        return true;
}

//###################################################################################
function limpa_string(S){
	// Deixa so' os digitos no numero
	var Digitos = "0123456789";
	var temp = "";
	var digito = "";
	for (var i=0; i<S.length; i++){
		digito = S.charAt(i);
		if (Digitos.indexOf(digito)>=0){temp=temp+digito}
	}
	return temp
}