﻿// JScript File

function validaCep (oSrc,args) {
    var v;
    v=RemoveLetras(args.Value)
    return args.IsValid = v.length == 8;
}
function validaSenha (oSrc,args) {
   return args.IsValid = args.Value.length >= 4;
}

// Validação de Email

function valida_Email(oSrc,args){
    var v
    v=args.Value;
	return args.IsValid = DFcheckEmail(v);

}

function SetMask(numbers,letters,others,e){
	if(window.event)key=window.event.keyCode
	else if(e)key=e.which
	else return true
	S=(others)?others:''
	if(numbers)S+='0123456789'
	if(letters)S+='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
	if(key==null||key==0||key==8||key==9||key==13||key==27)return true
	else if(S.indexOf(String.fromCharCode(key))!=-1)return true
	else return false
}

function DFcheckEmail(v){
	var a=0
	var p=0
	for(var i=1;i<v.length;i++){
		if(!v.charAt(i))return false
		else if(v.charAt(i)=='@'){a++;if(v.charAt(i+1)=='')return false}
		else if(v.charAt(i)=='.'){p++;if(v.charAt(i+1)==''||v.charAt(i+1)=='@'||v.charAt(i-1)=='@')return false}
	}
	if(a==1&&p)return true
}

function DFnotOnlyThisChars(S,e){
	if(window.event)key=window.event.keyCode
	else if(e)key=e.which
	else return true
	if(!S)return false
	else if(key==null||key==0||key==8||key==9||key==13||key==27)return true
	else if(S.indexOf(String.fromCharCode(key))!=-1)return false
	else return true
}
//Passa para o próximo campo se atingiu o tamanho esperado
function DFchangeField(f){
	if(f.value.length==f.maxLength){
      	for(var i=0;i<f.form.length;i++){
        	if(f.form[i]==f && f.form[i+1] && f.form[i + 1].type !='hidden' ){
               f.form[i+1].focus();
               break
            }
		}
	}
}
function DFcheckDateDay(v){if(v>=1&&v<=31)return true}
function DFcheckDateMonth(v){if(v>=1&&v<=12)return true}
function DFcheckDateYear(v){if(v>=1)return true}


// Validação de CPF e CNPJ
function RemoveLetras(texto) {
    var i=0;
    var s="";
    var str="";
    for (i=0;i<texto.length;i++){
        s = texto.charAt(i);
        if (!isNaN(s)) 
            str=str+s;
    }
    return str
}


function valida_CPFCNPJ(s){
	s=RemoveLetras(s);
	if (s.length == 0){
		return true
	}
	else
		{
    if (s.length == 11){
        return valida_CPF(s);
    }else if(s.length == 14){
        return valida_CNPJ(s);
    }else{
        return false;
    }
		}

}

//Validação de CPF

function valida_CPF(s){



//args.isValid = (s >= 3);

//document.write(oSrc.Value + ',' + args.Value);

if (isNaN(s)) {

return false;

}

var i;

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;

} 

//Validação de CNPJ

function valida_CNPJ(s){



if (isNaN(s)) {

return  false;

}

var i;

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 check_date(oSrc,args){
var checkstr = "0123456789";
var DateField = args;
var Datevalue = "";
var DateTemp = "";
var seperator = "/";
var day;
var month;
var year;
var leap = 0;
var err = 0;
var i;


   err = 0;
   DateValue = DateField.Value;

   /* Delete all chars except 0..9 */
   for (i = 0; i < DateValue.length; i++) {
	  if (checkstr.indexOf(DateValue.substr(i,1)) >= 0) {
	     DateTemp = DateTemp + DateValue.substr(i,1);
	  }
   }
   DateValue = DateTemp;
   /* Always change date to 8 digits - string*/
   /* if year is entered as 2-digit / always assume 20xx */
   if (DateValue.length == 6) {
      DateValue = DateValue.substr(0,4) + '20' + DateValue.substr(4,2); }
   if (DateValue.length != 8) {
      err = 19;}
   /* year is wrong if year = 0000 */
   year = DateValue.substr(4,4);
   if (year == 0) {
      err = 20;
   }
   /* Validation of month*/
   month = DateValue.substr(2,2);
   if ((month < 1) || (month > 12)) {
      err = 21;
   }
   /* Validation of day*/
   day = DateValue.substr(0,2);
   if (day < 1) {
     err = 22;
   }
   /* 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 = 23;
   }
   if ((month == 2) && (leap != 1) && (day > 28)) {
      err = 24;
   }
   /* Validation of other months */
   if ((day > 31) && ((month == "01") || (month == "03") || (month == "05") || (month == "07") || (month == "08") || (month == "10") || (month == "12"))) {
      err = 25;
   }
   if ((day > 30) && ((month == "04") || (month == "06") || (month == "09") || (month == "11"))) {
      err = 26;
   }
   /* if 00 ist entered, no error, deleting the entry */
   if ((day == 0) && (month == 0) && (year == 00)) {
      err = 0; day = ""; month = ""; year = ""; seperator = "";
   }
   /* if no error, write the completed date to Input-Field (e.g. 13.12.2001) */
   if (err == 0) {
      DateField.value = day + seperator + month + seperator + year;
      return args.IsValid=true
   }
   /* Error-message if err != 0 */
   else {
//      DateField.select();
//	  DateField.focus();
	  return args.IsValid=false
   }
}
