// verifica data fornecida
function CheckDate(sDate) {
 var iDD, iMM, iAAAA, iMaxDD, bBissexto;
 
 if (sDate.length < 10) {
  //window.alert('Informe a data no formato "dd/mm/aaaa".');
  return false;
 }
 
 iDD = sDate.substr(0, 2);
 iMM = sDate.substr(3, 2);
 iAAAA = sDate.substr(6, 4);
 
 if ((isNaN(iDD)) || (isNaN(iMM)) || (isNaN(iAAAA))) {
  //window.alert('Forneça apenas números na data.');
  return false;
 } 
 
 bBissexto = false;
 
 if (((iAAAA % 4) == 0) && (((iAAAA % 100) != 0) || ((iAAAA % 400) == 0))) {
  bBissexto = true;
 }

 switch (iMM) {
  case "01":
  case "03":
  case "05":
  case "07":
  case "08":
  case "10":
  case "12":
   iMaxDD = 31;
   break;
   
  case "04":
  case "06":
  case "09":
  case "11":
   iMaxDD = 30;
   break;
   
  case "02":
   if (bBissexto) {
    iMaxDD = 29;
   }
   else {
    iMaxDD = 28;
   }
   
   break;
   
  default:
   //window.alert('O mês fornecido não é válido.');
   return false;
 }

 if ((iDD < 0) || (iDD > iMaxDD)) {
  //window.alert('O dia fornecido não é válido.');
  return false;
 }

 return true;  
}

// verifica hora fornecida
function CheckTime(sTime) {
 var iHH, iMM;
 
 if (sTime.length < 5) {
  //window.alert('Informe a hora no formato "hh:mm".');
  return false;
 }
 
 iHH = sTime.substr(0, 2);
 iMM = sTime.substr(3, 2);
 
 if ((isNaN(iHH)) || (isNaN(iMM))) {
  //window.alert('Forneça apenas números na hora.');
  return false;
 } 
 
 if ((iHH < 0) || (iHH > 23)) {
  //window.alert('A hora fornecida não é válida.');
  return false;
 }

 if ((iMM < 0) || (iMM > 59)) {
  //window.alert('O minuto fornecido não é válido.');
  return false;
 }

 return true;
}

// permite apenas digitacao de numeros
// deve ser usado no evento do input
function NumberOnly(Obj) {
 var data = new String(Obj.value);
 var dataok = '';
 var cont = 0;

 
 for (i = 0; i < data.length; i++) {
  if ((data.charAt(i) >= '0') && (data.charAt(i) <= '9')) {
   dataok += data.charAt(i);
  }
  else cont++;
 }
	
 if (cont > 0) {  
  Obj.value = dataok;
 }
}

// verifica o formato de um endereco de e-mail
function CheckMail(sMail) {
 sValido = "abcdefghijklmnopqrstuvwxyz1234567890@-_.";
 
 if (sMail == "") return false;
 
 if ((sMail.substr(0, 1) == "@") || (sMail.substr(0, 1) == ".")) return false;
 
 // checa arrobas e caracteres
 sMail = sMail.toLowerCase();
 
 iAux1 = 0;
 iAux2 = 0;
 
 for (iAux1 = 0; iAux1 < sMail.length; iAux1 ++) {
  if (sMail.substr(iAux1, 1) == "@") iAux2++;
  
  if (sValido.indexOf(sMail.substr(iAux1, 1)) < 0) iAux2 = 10;
 }
 
 if (iAux2 != 1) return false;
 
 // checa dominio
 sAux = sMail.substr(sMail.indexOf("@") + 1, sMail.length);
 
 if (sAux == "") return false;
 
 if (sAux.indexOf(".") < 0) return false;
 
 if (sAux.indexOf("..") >= 0) return false;
 
 if (sAux.substr(0, 1) == ".") return false;
 
 if (sAux.substr(sAux.length - 1, 1) == ".") return false;
 
 return true;
}

function trim(str){
   result = "";
   for(i=0;i < str.length;i++){
      if(str.substr(i,1) != " "){
         result = result + str.substr(i,1);

      }
   }
   return result;
}

function Avise(sPRO_Id) {
  window.open("/buscaproduto/buscaproduto.dll?pg=avise.htm&pro_id=" + sPRO_Id, "avise", "width=420,height=350,top=20");
}

function limpa_string(S) {
 // Deixa so' os digitos no numero
 var Digitos = "0123456789";
 var temp = "";
 var digito = "";

 for (var j = 0; j < S.length; j++)	{
  digito = S.charAt(j);
  
  if (Digitos.indexOf(digito) >= 0) {
   temp = temp + digito
  }
 } //for

 return temp
}

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 valida_CGC(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;
}

