/*
		INTEGRATIVA - Internet Results	-	http:// www.integrativa.com.br 	: info@integrativa.com.br
		Ryan R. de Azevedo	-	tecnologia02@integrativa.com.br [Analista de Sistemas]
		Neywa
		17.09.2004	
*/

/*
  Retorna false caso um campo texto for igual a espaco em branco.
  Essa funcao recebe 3 parametros:
  formulario -- O NAME do form para ser validado, um string
  campo -- O NAME do campo do tipo text ou password para ser checked, um string
  rotulo -- O nome do campo como será mostrado na mensagem no caso de erro, um string
  
  Exemplo de uso:
  text_validate('mainform','tx_nome','Nome da empresa');

*/ 

function enviar_upload() {
	if(upload.document.formupload.foto.value=="") {
		enviarfinal();
	}
	else {
		if (navigator.appName == "Netscape") { document.upload.formupload.submit(); }
		else { upload.document.forms["formupload"].submit(); }
	}
}

function enviarfinal() {
	  if (navigator.appName == "Netscape") top.document.mainform.submit();
	  else top.document.forms["mainform"].submit(); 
}


function text_validate(formulario,campo,rotulo){
	
	if(document[formulario][campo].value == "" ){ 
		document[formulario][campo].focus();
		alert('Especifique '+rotulo+'.');
   		return false;
	}
	return true;
}

/*
  Retorna false caso um campo do tipo select for igual a zero.
  Essa funcao recebe 3 parametros:
  formulario -- O NAME do form para ser validado, um string
  campo -- O NAME do campo do tipo select para ser checked, um string
  rotulo -- O nome do campo como será mostrado na mensagem no caso de erro, um string
  
  Exemplo de uso:
  select_validate('mainform','estado','Estado');

*/
function select_validate(formulario,campo,rotulo){

	if(document[formulario][campo].selectedIndex == "0" ){ 
		document[formulario][campo].focus();
		alert('Especifique '+rotulo+'.');
   		return false;
	}
	return true;
}

function text_len_validate(formulario,campo,rotulo,min,max){

	if(document[formulario][campo].value.length < min ){ 
		document[formulario][campo].focus();
		alert(rotulo+' deve conter no mínimo '+ min + ' dígitos');
   		return false;
	}
	if(document[formulario][campo].value.length > max ){ 
		document[formulario][campo].focus();
		alert(rotulo+' deve conter no máximo '+ max + ' dígitos');
   		return false;
	}
	return true;
}

function text_equals_validate(formulario,campo1,campo2,rotulo1,rotulo2){

	if(document[formulario][campo1].value != document[formulario][campo2].value ){ 
		document[formulario][campo1].value = '';
		document[formulario][campo2].value = '';
		document[formulario][campo1].focus();
		alert('Especifique '+rotulo1+' = '+rotulo2);
   		return false;
	}
	return true;
}

// funcao que checa se o e-mail e valido //
function checkMail(formulario,campo,rotulo) {
    var y = 0;
    if (!text_validate(formulario,campo,rotulo)) {  
        return false;
    }
    x = document[formulario][campo].value ; 
    if (x.substring(x.length -1, x.length) != '.' && x.substring(x.length -1, x.length) != '@') {
        if (x.indexOf("@") != -1) { 
            if (x.indexOf(".") != -1) { 
                y = 1;
            }
        }
    }
    if (y == 0) {                                                                               
        document[formulario][campo].focus();                                                        
        alert('O campo e-mail não parece ser válido!');    
        return false;                                                                            
    }                                                                                           
return true;
}

function valueFormat(Obj,lengLimit,Event) {
     var keypress = Event.keyCode;
     var val = Obj.value;
     var minusFlag = false;

     while (val.indexOf(" ") != -1) { val = val.replace(" ",""); }
     while (val.indexOf(",") != -1) { val = val.replace(",",""); }
     while (val.indexOf(".") != -1) { val = val.replace(".",""); }
     while (val.indexOf("-") != -1) { val = val.replace("-",""); minusFlag = true;}
     len = val.length;

     if (len < lengLimit && keypress != 8) { len++; }
     if (keypress == 8 ) {	len--; }    
     if (keypress == 8 || keypress >= 48 && keypress <= 57 || keypress >= 96 && keypress <= 105 ) {
       if ( len <= 2 ) { Obj.value = val; }
       else {
         val = insert(val,1,',');
         len = val.length;
         for (pos=5; pos < len; pos += 3) {
           val = insert(val,pos,'.');
           len = val.length;
           pos++;
         }
         if (minusFlag) { val = "-" + val; }
         Obj.value = val;
       }
     }   
   }
   
function onlyNumber(ev) {
    if (ev.keyCode < 45 || ev.keyCode > 57) ev.returnValue = false;
  }
  
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
}

function valida_cnpj(s)
{
	var i;
	s = limpa_string(s);
	var c = s.substr(0,12);
	var dv = s.substr(12,2);
	var d1 = 0;
	for (i = 0; i < 12; i++)
	{
		d1 += c.charAt(11-i)*(2+(i % 8));
	}
        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 < 12; i++)
	{
		d1 += c.charAt(11-i)*(2+((i+1) % 8));
	}
	d1 = 11 - (d1 % 11);
	if (d1 > 9) d1 = 0;
	if (dv.charAt(1) != d1)
	{
		return false;
	}
        return true;
}

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;
}

