//var texto = "i-BookShop da PTI. O xxxxxxxxxxxxxx endereço da informação";
//var texto_modificado;
var i=0;
function mostraTexto() {
//   texto_modificado = texto.substring(0,i)+"_";
//   window.status=texto_modificado;
//   i++;
//   if(i>texto.length){
//	   i=0;
//	   setTimeout("mostraTexto()", 800);
//   }
//   else{
//	   setTimeout("mostraTexto()", 80);
//   }
}

// funções de preload de imagens
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}
function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}
function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
// funções de preload de imagens


// FUNCOES ABAIXO USADAS NO PERFIL_WEB
function verBranco(este){
var car;
var texto;
	for (i=0; i < este.value.length; i++){
	texto = este.value
	car = texto.substring(i,este.value.length);
		if (car=='  '){
			//alert('Campo vazio na posição '+i);
			//alert(texto.substring(0,texto.length-1));
			alert("Digite apenas informações válidas")
			este.value = texto.substring(0,texto.length-1);
			este.focus();
		}
	}
}

function brancoIns(este){
	if (este.value==' '){
		alert('Por favor, não digite campos vazios.');
		este.value='';
		este.focus();
	}
}

var valorcampo;
valorcampo=''; 
function verificaOutros(valor){
	if (valor.value==''){
	document.dados.txtOutroProduto.style.display="";
	  if(valorcampo!=''){
	    document.dados.txtOutroProduto.value=valorcampo;
	  }
	  else{
	    document.dados.txtOutroProduto.value="Digite aqui...";
	  }
	}
	else{
	if(document.dados.txtOutroProduto.value!="Digite aqui..."){
 	    valorcampo=document.dados.txtOutroProduto.value;
	  }
	document.dados.txtOutroProduto.style.display="none";
	}
}
// FUNCOES ACIMA USADAS NO PERFIL_WEB



function validarLOGIN(){
var login;
var senha;
var make;

	login = document.forms(0).email.value;
	if(login==""){login = document.forms(0).login.value}
	senha = document.forms(0).senha.value;
	make = document.forms(0).make.value;
		
	validacao = window.open('../catalogo/CatPROCESSA_ValidaLOGIN.asp?make='+make+'&login='+login+'&senha='+senha,'nova','toolbar=no, location=no, directories=no, status=yes, menubar=no, scrollbars=no, resizable=yes, menubar=no, top=20px, left=20px, width=600, height=300');
	validacao.focus();
}

function voltaValidarLOGIN(botao){
var login;
var senha;

if(botao=="Cancelar"){
	self.close();
}
else{
	window.opener.document.forms(0).email.value=document.forms(0).login.value;
	window.opener.document.forms(0).login.value=document.forms(0).login.value;
	window.opener.document.forms(0).senha.value=document.forms(0).senha.value;
	self.close();
}
}

//Adiciona valores a select de emails que está vazia
// ESTA NA PAGINA \CPD\cad_users\index.asp

function addNewOption(origem,destino)
{
	// objeto criado para ser inserido na lista
	var opcao, opcao2, i, add=0;
	
	if ((origem.value != ""))
	{
		opcao = document.createElement("option");
		opcao.value = origem.value;
		opcao.text = origem.value + "";


		// verifica se já existe o grupo desejado entre os grupos escolhidos
		for (i=0;i<=destino.options.length;i++)
		{

			if (i>=1) // o campo grupos escolhidos tem registros
			{
				if (destino.options(i-1).text.indexOf(opcao.text) != -1)
				{
					add=0; //se o grupo desejado existe entre os grupos escolhidos, não adiciona novamente
				}
			}
			else if (i==0)
			{
				add = 1; // o campo grupos escolhidos tá vazio, então pode adicionar
			}
		}


	}

	if (add==1)
	{
		opcao.text = "* " + origem.value + "";
		destino.add(opcao); //incluí item nos grupos escolhidos
	}
}


//function addNewOption() {
//  oNewOption = new Option();
//  oNewOption.text = deonde.value;
//  oNewOption.value = deonde.value;
//  paraonde.add(oNewOption, 1);
//}
//Remove os valores da Select que está sendo populada
function Remover(deonde){
	var itens = deonde;
    for (i=0; i < itens.options.length; i++){
		if (itens.options(i).selected == true){
			itens.remove(i);
		}
	}
}
//funta todos os valores da select 
function emailValores(){
	var itens1 = window.form_contas.corp;
	var itens2 = window.form_contas.outras;
	var texto1;
	texto1=" ";
	var texto2;
	texto2=" ";			
	if(itens1.value!=" "){
 	  for (i=0; i<itens1.options.length; i++){
 		  texto1=texto1+itens1.options(i).value+", ";
	  }
	}
	if(itens2.value!=" "){
	  for (i=0; i<itens2.options.length; i++){
 		texto2=texto2+itens2.options(i).value+", ";	
	  }	
	}
	window.form_contas.e_contas.value=texto1;	
	window.form_contas.e_outros.value=texto2;
}




// ###############################################################################################
// FUNÇÃO PARA VALIDAÇÃO DE EMAIL
// ###############################################################################################

function valida_email(valor){
	var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
	if (!filter.test(valor)){
   		testresults=false;
	}else{
		testresults=true;
	}
	return testresults;
}


// ###############################################################################################
// FUNÇÃO PARA VALIDAÇÃO DE TEXTOS
// ###############################################################################################

function valida_texto(valor){
	if (valor == ''){
   		testresults=false;
	}else{
		testresults=true;
	}
	return testresults;
}


// ###############################################################################################
// FUNÇÃO PARA VALIDAÇÃO DE Nº de Telefone
// ###############################################################################################
function valida_textoTel(valor){
	var parenteses1 = 0;
	var parenteses2 = 0;
	var hifen = 0;
	if (valor==''){
   		testresults=false;
	}
	else{
			if(valor.substr(0,1)=="("){
				if(parenteses1==0){
					parenteses1=1;
				}else{
			   		parenteses1=0;
				}
			}
			if(valor.substr(3,1)==")"){
				if(parenteses2==0){
					parenteses2=1;
				}else{
			   		parenteses2=0;
				}
			}
			if(valor.substr(7,1)=="-"){
				if(valor.length==12){
					hifen=1;
				}else{
			   		hifen=0;
				}
			}
			if(valor.substr(8,1)=="-"){
				if(valor.length==13){
					hifen=1;
				}else{
			   		hifen=0;
				}
			}
		if((parenteses1==1) && (parenteses2==1) && (hifen==1)){
			testresults=true;
		}else{
			testresults=false;
		}
	}

	return testresults;
}

// ###############################################################################################
// FUNÇÃO PARA VALIDAÇÃO DE RF
// ###############################################################################################
function valida_rf(valor){
	if (valor == ''){
   		testresults=false;
	}
	else{
		if(valor.length!=9){
			if((valor.length>9)&&(valor.length<12)){
		   		testresults=false;
			}
			else{
				if(valor.length>12){
			   		testresults=false;			
				}
				else{
					if(((valor.indexOf(".",0))!=3)||((valor.indexOf(".",4))!=7)||((valor.indexOf(".",8))!=9)){
						testresults=false;
					}
					else{
						testresults=true;
					}
				}
			}
		}
		else{
			testresults=true;		
		}
	}
	return testresults;
}


// ###############################################################################################
// FUNÇÃO PARA VALIDAÇÃO DE Combo Boxes
// ###############################################################################################
function valida_combo(valor){
	if (valor == ''){
   		testresults=false;
	}else{
		testresults=true;
	}
	return testresults;
}



// ###############################################################################################
// FUNÇÃO PARA VALIDAÇÃO DE RADIO BUTTONS
// ###############################################################################################
function valida_radio(nomeForm, nomeCampo) {
	//validacao de radio buttons sem saber quantos sao
	var marcado=-1;
	var campo = eval("document."+nomeForm+"."+nomeCampo);
	var tamanho = eval("document."+nomeForm+"."+nomeCampo+".length");
	// VASCULHA CADA UM DOS RADIO BUTTON PARA ACHAR UM MARCADO
	for (i=0; i<tamanho; i++){
		if (campo[i].checked) {
			marcado = i;
			i=tamanho;
		}
	}
	
	if (marcado==-1){
   		testresults=false;
	}else{
		testresults=true;
	}
	return testresults;
}





// ###############################################################################################
// FUNÇÃO PARA VALIDAÇÃO DE CPF
// ###############################################################################################
function valida_CPF(s)
{
	var varFirstChr = s.charAt(0);
	var vaCharCPF = false;
	var soma;
	var digito_verificador; 
	var err;
	for (i=0 ; i<11; i++ ){
	    var c = s.charAt(i);
        if ((s.charAt(i) < "0") || (s.charAt(i) > "9")){
		 	err=1;
		}
			 //se o caractere ques está sendo verificado não é o primeiro a verificacao está sendo executada
        if (c!=varFirstChr) {
			vaCharCPF = true;
		}
	}
    if (!vaCharCPF)
	{
		err=1;
    }

	soma=0;
	for (i=0 ; i<9 ; i++)
	{
		soma += (10-i) * ( eval(s.charAt(i)) );
	}
	digito_verificador = 11-(soma % 11);
	if ((soma % 11) < 2 ) digito_verificador = 0;
	if (eval(s.charAt(9)) != digito_verificador )
	{
		err=1;
	}

	soma=0;
	for (i=0 ; i<9 ; i++)
	{
		soma += (11-i) * ( eval(s.charAt(i)) );
	}
	soma += 2 * ( eval(s.charAt(9)) );
	digito_verificador = 11-(soma % 11);
	if ( (soma % 11) < 2 ) digito_verificador = 0;
	if ( eval(s.charAt(10)) != digito_verificador )
	{
		err=1;
	}

	if (err==1){
   		testresults=false;
	}else{
		testresults=true;
	}
	return testresults;
}



// ###############################################################################################
// FUNÇÃO PARA CAMPO OBRIGATORIAMENTE NUMERICOS
// ###############################################################################################
function soNumeros(num)
{
	for (var i=0;i<num.length;i++)
alert(num.charAt(i));
	{
		if ((num.charAt(i) < 0) || (num.charAt(i) > 9))
		{
			return false;
		}
	}
	return true;
}


// ###############################################################################################
// FUNÇÃO PARA VALIDAÇÃO DE DATAS
// ###############################################################################################
function valida_data(field){
var checkstr = "0123456789";
var DateField = field;
var Datevalue = "";
var DateTemp = "";
var seperator = "/";
var day;
var month;
var year;
var leap = 0;
var err = 0;
var i;
   err = 0;
   DateValue = DateField;
   /* APAGA TODOS OS CARACTERES DIFERENTES DE 0 a 9*/
   for (i = 0; i < DateValue.length; i++) {
	  if (checkstr.indexOf(DateValue.substr(i,1)) >= 0) {
	     DateTemp = DateTemp + DateValue.substr(i,1);
	  }
   }
   DateValue = DateTemp;
   /* SEMPRE ALTERA PARA DATA COM 8 DIGITOS -------
   Always change date to 8 digits - string*/
   /* SE O ANO FOR DIGITADO COM 2 DIGITOS ELE ASSUME 20...--------
   if year is entered as 2-digit / always assume 20xx */
   if (DateValue.length == 6) {
   	  err=1;
      //DateValue = DateValue.substr(0,4) + '20' + DateValue.substr(4,2);
	   }
   if (DateValue.length != 8) {
      err = 1;
   }
   /* ANO ESTÁ ERRADO SE FOR = 0000 -------
   year is wrong if year = 0000 */
   year = DateValue.substr(4,4);
//					   alert(year);
   if (year == 0) {
      err = 1;
   }
   if (year > 2070) {
   	  err=1;
   }
   /* VALIDACAO DO MES
   Validation of month*/
   month = DateValue.substr(2,2);
//					     alert(month);
   if ((month < 1) || (month > 12)) {
      err = 1;
   }
   /*
   VALIDACAO DO DIA
    Validation of day*/
   day = DateValue.substr(0,2);
//				       alert(day);
   if (day < 1) {
     err = 1;
   }
   /* VALIDACAO DE ANO BISSESTO
   Validation leap-year / february / day */
   if ((year % 4 == 0) || (year % 100 == 0) || (year % 400 == 0)) {
      leap = 1;
   }
   if ((month == 2) && (leap == 1) && (day > 29)) {
      err = 1;
   }
   if ((month == 2) && (leap != 1) && (day > 28)) {
      err = 1;
   }
   /* VALIDACAO DE DIAS PARA OUTROS MESES
   Validation of other months */
   if ((day > 31) && ((month == "01") || (month == "03") || (month == "05") || (month == "07") || (month == "08") || (month == "10") || (month == "12"))) {
      err = 1;
   }
   if ((day > 30) && ((month == "04") || (month == "06") || (month == "09") || (month == "11"))) {
      err = 1;
   }
   /* if 00 ist entered, no error, deleting the entry */
   if ((day == 0) && (month == 0) && (year == 00)) {
      err = 1; day = ""; month = ""; year = ""; seperator = "";
   }
   /* if no error, write the completed date to Input-Field (e.g. 13.12.2001) */
				//   alert(err);
   if (err == 0) {
      document.forms(0).elements(x).value = day + "/" + month + "/" + year;
	  return true;
   }
   /* Error-message if err != 0 */
   else {
	  return false;
   }
}
//  End -->


// ###############################################################################################
// FUNÇÃO PRINCIPAL DE VALIDAÇÃO DE FORMULÁRIOS
// USADA NAS PÁGINAS: /cad_users/CadINCLUI_User.asp
//					  /cad_users/CadLISTAEDITA_User.asp
//     				  /catalogo/CatEDITA_Empresa.asp
//					  /catalogo/CatLISTA_EmailsInvalidos.asp
//					  /catalogo/CatPESQUISA_AssuntoXCatalogo.asp
//					  /catalogo/CatPESQUISA_Empresas.asp
//					  /catalogo/CatPESQUISA_User.asp
//					  /catalogo/CatPROCESSA_ValidaLOGIN.asp
//					  /B2B/B2BEDITA_Expira.asp
//					  /B2B/B2BLISTA_AcessosExpira.asp
// ###############################################################################################

function validaFormulario(formulario){

//var formulario;
if(formulario==1){
	form_num = 1;
}
else{
	if(formulario==2){
		form_num = 2;
	}
	else{
		form_num = 0;
	}
}
//form_num = parseInt(formulario)

	var alerta = "";
	var resposta_return = true;
	var resposta = true;
	var formNome = document.forms(form_num).name;
	var foco_campo = true;

	for (x = 0; x < document.forms(form_num).length; x++){
		if (document.forms(form_num).elements(x).id != "nao_valida"){
			var id_campo = document.forms(form_num).elements(x).id;
			var value_campo = document.forms(form_num).elements(x).value;
			var nome_campo = document.forms(form_num).elements(x).name;
			var texto_tag_font = document.getElementById(nome_campo);
//			alerta = "Erros no Formulário:\n";
			if (texto_tag_font){
				texto_tag_font = texto_tag_font.childNodes[0];
				if (texto_tag_font != null){
					texto_tag_font = texto_tag_font.data;
				}else{
				
					texto_tag_font = "Desconhecido";
				}
			}
			
			switch (id_campo){
				case "email":
					resposta = valida_email(value_campo);
					if (!resposta) alerta += "Campo '"+texto_tag_font+"' :: Email inválido \n";
				break;
				case "texto":
					resposta = valida_texto(value_campo);
					if (!resposta) alerta += "Campo '"+texto_tag_font+"' :: Texto em branco\n";
				break;
				case "textoTel":
					resposta = valida_textoTel(value_campo);
					if (!resposta) alerta += "Campo '"+texto_tag_font+"' :: Formato telefone inválido. Digite \"(xx)xxxx-xxxx\"\n";
				break;
				case "rf":
					resposta = valida_rf(value_campo);
					if (!resposta) alerta += "Campo '"+texto_tag_font+"' :: RF Inválido\n";
				break;
				case "data":			
					resposta = valida_data(value_campo);
					if (!resposta) alerta += "Campo '"+texto_tag_font+"' :: Data inválida\n";
				break;
				case "cpf":			
					resposta = valida_CPF(value_campo);
					if (!resposta) alerta += "Campo '"+texto_tag_font+"' :: CPF inválido\n";
				break;
				case "combo":
					resposta = valida_combo(value_campo);
					if (!resposta) alerta += "Campo '"+texto_tag_font+"' :: Selecione uma opção\n";
				break;
				case "radiobt":
					resposta = valida_radio(formNome,nome_campo);
					if (!resposta) alerta += "Campo '"+texto_tag_font+"' :: Selecione uma opção\n";
				break;
			}
			if (resposta_return) resposta_return = resposta;
			if ((!resposta)&&(foco_campo)){
				foco_campo = false;
				document.forms(form_num).elements(x).focus();
			}
		}
	}
	if (!resposta_return){
		alert(alerta);
		return false;
	}else{
		return true;
	}
	
}

function esconde_status(){
	window.status='';
	return true;
}


function campoNumerico(codigoTecla,nomeForm,nomeCampo){
//	alert(codigoTecla);
	
	if ((codigoTecla < 48) || (codigoTecla > 57)){
	//((codigoTecla >= 32 && codigoTecla <= 45) || (codigoTecla >= 46 && codigoTecla < 48) || (codigoTecla > 57 && codigoTecla <= 126)){
		alert('Digite apenas números!');
		event.returnValue = false;
	}
}

function campoNumericoDecimal(codigoTecla,nomeForm,nomeCampo){
//	alert(codigoTecla);
	if ((codigoTecla >= 32 && codigoTecla <= 43) || (codigoTecla == 45) || (codigoTecla >= 46 && codigoTecla < 48) || (codigoTecla > 57 && codigoTecla <= 126)){
		alert('Digite apenas números!');
		event.returnValue = false;
	}
}

function formataTelefone(codigoTecla,nomeForm,nomeCampo){
	if(!campoNumerico(codigoTecla,nomeForm,nomeCampo)){
		var campo = "document."+nomeForm+"."+nomeCampo;
		var conteudo = eval(campo).value;
		if(conteudo.length==3){
			conteudo += '-';
		}
		if(conteudo.length==8){
			if(conteudo.indexOf('-',0)==3){
				conteudo = conteudo.substr(0,3)+conteudo.substr(4,1)+'-'+conteudo.substr(5,4);
			}
			else{
				if(conteudo.indexOf('-',0)<0){
					conteudo = conteudo.substr(0,4)+'-'+conteudo.substr(4,4);
				}
			}
		}
		eval(campo).value=conteudo;
	}
}

function formataTelefoneDDD(codigoTecla,nomeForm,nomeCampo){
	if(!campoNumerico(codigoTecla,nomeForm,nomeCampo)){
		var campo = "document."+nomeForm+"."+nomeCampo;
		var conteudo = eval(campo).value;
		if(conteudo.length==1){
			conteudo = '(' + conteudo;
		}
		if(conteudo.length==3){
			conteudo += ')';
		}
		if(conteudo.length==7){
			conteudo += '-';
		}
		if(conteudo.length==8){
			if(conteudo.indexOf('-',0)==7){
				conteudo = conteudo.substr(0,4)+conteudo.substr(4,3)+conteudo.substr(8,1)+'-'+conteudo.substr(9,4);
			}
			else{
				if(conteudo.indexOf('-',0)<0){
					conteudo = conteudo.substr(0,8)+'-'+conteudo.substr(8,4);
				}
			}
		}
		if(conteudo.length==12){
			conteudo = conteudo.substr(0,4)+conteudo.substr(4,3)+conteudo.substr(8,1)+'-'+conteudo.substr(9,4);
		}
		eval(campo).value=conteudo;
	}
}

function formataCEP(codigoTecla,nomeForm,nomeCampo){
	if(!campoNumerico(codigoTecla,nomeForm,nomeCampo)){
		var campo = "document."+nomeForm+"."+nomeCampo;
		var conteudo = eval(campo).value;
		if(conteudo.length==5){
			conteudo += '-';
		}
		eval(campo).value=conteudo;
	}
}

// onKeyPress="return formataData(event.keyCode,this.form.name,this.name)"
function formataData(codigoTecla,nomeForm,nomeCampo){
	if(!campoNumerico(codigoTecla,nomeForm,nomeCampo)){
		var campo = "document."+nomeForm+"."+nomeCampo;
		var conteudo = eval(campo).value;
		if((conteudo.length==2)||(conteudo.length==5)){
			conteudo += '/';
		}
		eval(campo).value=conteudo;
	}
}

function formataDataMelhorada(numero,f,campoDestino,evento){
	if((evento>=48)&&(evento<=57)){
		var txtNumero = new String();
		var form = f.name;
		var campoTexto = eval("document."+form+"."+campoDestino);
		txtNumero = numero;
		if(txtNumero.length<10){
			switch (txtNumero.length){
				case 2:
					campoTexto.value=txtNumero+"/";
				break;
				case 5:
					campoTexto.value=txtNumero+"/";
				break;
			}
		}else{
			if(txtNumero.length>=10){
				return false;
			}
		}
	}else{
		if(evento==13){
			return true;
		}else{
			alert("Digite apenas números!");
			return false;
		}
	}
}

