// JavaScript Document
function Dados(valor) {
      //verifica se o browser tem suporte a ajax
      try {
         ajax = new ActiveXObject("Microsoft.XMLHTTP");
      }
      catch(e) {
         try {
            ajax = new ActiveXObject("Msxml2.XMLHTTP");
         }
         catch(ex) {
            try {
               ajax = new XMLHttpRequest();
            }
            catch(exc) {
               alert("Esse browser não tem recursos para uso do Ajax");
               ajax = null;
            }
         }
      }
      //se tiver suporte ajax
      if(ajax) {
         //deixa apenas o elemento 1 no option, os outros são excluídos
         document.combo.list_subcat.options.length = 1;
        
         idOpcao  = document.getElementById("opcoes");
         idLoad  = document.getElementById("load");
        
         ajax.open("POST", "subcat.php", true);
         ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
        
         ajax.onreadystatechange = function() {
            //enquanto estiver processando...emite a msg de carregando
            if(ajax.readyState == 1) {
			   idLoad.innerHTML = '<img src=spinner.gif>';  
               idOpcao.innerHTML = "Carregando...";
            }
            //após ser processado - chama função processXML que vai varrer os dados
            if(ajax.readyState == 4 ) {
               if(ajax.responseXML) {
       		      idLoad.innerHTML = "";  
                  processXML(ajax.responseXML);
               }
               else {
                   //caso não seja um arquivo XML emite a mensagem abaixo
                   idOpcao.innerHTML = "Selecione a categoria...";
               }
            }
         }
         //passa o código do estado escolhido
         var params = "cat="+valor;
         ajax.send(params);
      }
   }
  
function processXML(obj){
      //pega a tag cidade
      var dataArray   = obj.getElementsByTagName("subcategorias");
      
      //total de elementos contidos na tag cidade
      if(dataArray.length > 0) {
         //percorre o arquivo XML paara extrair os dados
         for(var i = 1; i < dataArray.length; i++) {
            var item = dataArray[i];
            //contéudo dos campos no arquivo XML
            var codigo    =  item.getElementsByTagName("codigo")[0].firstChild.nodeValue;
            var descricao =  item.getElementsByTagName("descricao")[0].firstChild.nodeValue;
            
            idOpcao.innerHTML = "Selecione a sub-categoria...";
            
            //cria um novo option dinamicamente  
            var novo = document.createElement("option");
                //atribui um ID a esse elemento
                novo.setAttribute("id", "opcoes");
                //atribui um valor
                novo.value = codigo;
                //atribui um texto
                novo.text  = descricao;
                //finalmente adiciona o novo elemento
                document.combo.list_subcat.options.add(novo);
         }
      }
      else {
        //caso o XML volte vazio, printa a mensagem abaixo
        idOpcao.innerHTML = "Selecione a categoria...";
      }      
   }
   
function valida_busca()
{
if(document.busca.q.value=="") {
	alert("Erro! Insira a busca completa ou parte dela e clique em \"Enviar\"");
	document.busca.q.focus();
	return false;
}
}

function valida_login()
{
if(document.login.login_usuario.value=="") {
	alert("Erro! Insira o usuário");
	document.login.login_usuario.focus();
	return false;
}

if(document.login.login_senha.value=="") {
	alert("Erro! Digite sua senha");
	document.login.login_senha.focus();
	return false;
}
}

function valida_xml()
{
if(document.combo.list_cat.value=="0") {
	alert("Erro! Selecione a categoria!");
	document.combo.list_cat.focus();
	return false;
}

if(document.combo.list_subcat.value=="0") {
	alert("Erro! Selecione a subcategoria!");
	document.combo.list_subcat.focus();
	return false;
}
}








function valida_cadastro(){
	
var d = document.combo;

  if(d.nome.value.length == " "){
	  
	  alert('Campo nome  é  obrigatório');
	  d.nome.focus();
	  return false;
  }
  
   if(d.data_niver.value.length == " "){
	  
	  alert('Campo data  é  obrigatório');
	  d.data_niver.focus();
	  return false;
  }
  	
	
	
	
    if(d.email.value.length == " "){
	  
	  alert('Campo e-mail obrigatório');
	  d.email.focus();
	  return false;
  }
  
   var reEmail1 = /^[\w!#$%&'*+\/=?^`{|}~-]+(\.[\w!#$%&'*+\/=?^`{|}~-]+)*@(([\w-]+\.)+[A-Za-z]{2,6}|\[\d{1,3}(\.\d{1,3}){3}\])$/;
	var reEmail2 = /^[\w-]+(\.[\w-]+)*@(([\w-]{2,63}\.)+[A-Za-z]{2,6}|\[\d{1,3}(\.\d{1,3}){3}\])$/;
	var reEmail3 = /^[\w-]+(\.[\w-]+)*@(([A-Za-z\d][A-Za-z\d-]{0,61}[A-Za-z\d]\.)+[A-Za-z]{2,6}|\[\d{1,3}(\.\d{1,3}){3}\])$/;
	var reEmail = reEmail3;

	eval("reEmail = reEmail" + 3);
	if (!(reEmail.test(d.email.value))) {
		alert("O campo E-mail deve ser conter um endereco eletronico válido!");
		d.email.focus();
		return false;
	}
  
 
  if(d.senha.value.length == " "){
	  
	  alert('Campo data  é  obrigatório');
	  d.senha.focus();
	  return false;
  }
  
   if(d.senha.value != d.senha2.value){
	  
	  alert('As senhas não conferem');
	  d.senha.focus();
	  return false;
  }
  
  
  if(d.list_cat.value == ""){
	  
	  alert('Campo categoria obrigatório');
	  d.list_cat.focus();
	  return false;
  }
  
   if(d.list_subcat.value == ""){
	  
	  alert('Campo categoria obrigatório');
	  d.list_cat.focus();
	  return false;
  }
  
  
  
 
}


function formata_data(val)
{
   	var pass = val.value;
	var expr = /[0123456789]/;
		
	for(i=0; i<pass.length; i++){
		// charAt -> retorna o caractere posicionado no índice especificado
		var lchar = val.value.charAt(i);
		var nchar = val.value.charAt(i+1);
	
		if(i==0){
		   // search -> retorna um valor inteiro, indicando a posição do inicio da primeira
		   // ocorrência de expReg dentro de instStr. Se nenhuma ocorrencia for encontrada o método retornara -1
		   // instStr.search(expReg);
		   if ((lchar.search(expr) != 0) || (lchar>3)){
			  val.value = "";
		   }
		   
		}else if(i==1){
			   
			   if(lchar.search(expr) != 0){
				  // substring(indice1,indice2)
				  // indice1, indice2 -> será usado para delimitar a string
				  var tst1 = val.value.substring(0,(i));
				  val.value = tst1;				
 				  continue;			
			   }
			   
			   if ((nchar != '/') && (nchar != '')){
				 	var tst1 = val.value.substring(0, (i)+1);
				
					if(nchar.search(expr) != 0) 
						var tst2 = val.value.substring(i+2, pass.length);
					else
						var tst2 = val.value.substring(i+1, pass.length);
	
					val.value = tst1 + '/' + tst2;
			   }

		 }else if(i==4){
			
				if(lchar.search(expr) != 0){
					var tst1 = val.value.substring(0, (i));
					val.value = tst1;
					continue;			
				}
		
				if	((nchar != '/') && (nchar != '')){
					var tst1 = val.value.substring(0, (i)+1);

					if(nchar.search(expr) != 0) 
						var tst2 = val.value.substring(i+2, pass.length);
					else
						var tst2 = val.value.substring(i+1, pass.length);
	
					val.value = tst1 + '/' + tst2;
				}
   		  }
		
		  if(i>=6){
			  if(lchar.search(expr) != 0) {
					var tst1 = val.value.substring(0, (i));
					val.value = tst1;			
			  }
		  }
	 }
	
     if(pass.length>10)
		val.value = val.value.substring(0, 10);
	 	return true;
}
