$.validator.addMethod('cpfCnpj', function (value, element) {
		if(value.length == 14 ){
    		if(!/^([0-9]{3}\.?){3}\-?[0-9]{2}$/.test(value))
				return false;
			var v = value.replace(/[^0-9]/g,'');
			if(v.match(/1{11}|2{11}|3{11}|4{11}|5{11}|6{11}|7{11}|8{11}|9{11}|0{11}/))return false;
			s=0;
			for(var i=0;i<9;i++)s+=parseInt(v.charAt(i))*(10-i);
			r=11-(s%11);
			if(r==10||r==11)r=0;
			if(r!=parseInt(v.charAt(9)))return false;
			s=0;
			for(var i=0;i<10;i++)s+=parseInt(v.charAt(i))*(11-i);
			r=11-(s%11);
			if(r==10||r==11)r=0;
			if(r!=parseInt(v.charAt(10)))return false;
			return true;			
		}else{
//			if (value.lenght == 18) {
			   try {  
				  cnpjx = value.replace('.', '').replace('.', '').replace('/', '').replace('-', ''); 
			 
				 var a = new Array();  
				 var b = null;  
				 var c = [6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2];  
				 var x = null;  
			 
				 for(i = 0; i < 12; i++) {  
					a[i] = cnpjx.charAt(i);  
					b += a[i] * c[i + 1];  
				 }  
			 
				 if((x = b % 11) < 2)  
					a[12] = 0;  
				else  
					a[12] = 11 - x;  
			 
				 b = 0;  
			 
				 for(i = 0; i < 13; i++)  
					b += (a[i] * c[i]);  
			 
				 if((x = b % 11) < 2)  
					a[13] = 0;  
				 else  
					a[13] = 11 - x;  
				   
				 if(cnpjx.charAt(12) != a[12] || cnpjx.charAt(13) != a[13] || value== "00.000.000/0000-00")  
					return false;  
					
				 return true;  
			  } catch(excecao) {  
				 return 'cpfCnpj()'  
			  }
			}
				}, 'Invalido.');
	
			
			$.validator.addMethod('hora', function (value) {
			return /^([0-1][0-9]|[2][0-3]):[0-5][0-9]$/.test(value);
			}, 'Hora invalida.');

			$.validator.addMethod('dependente', function (value, element, param) {
			jQuery.validator.messages.dependente = 'Este campo depende do campo ' + jQuery(param).attr('title');
			if(value.length && (jQuery(param).val().length < 1)){
				return false;
			} else {
				return true;
			}			
			
	 		}			
				, 'zzz');

			
			$.validator.addMethod('cpf', function (value) {
    if(!/^([0-9]{3}\.?){3}\-?[0-9]{2}$/.test(value));
    var v = value.replace(/[^0-9]/g,'');
    if(v.match(/1{11}|2{11}|3{11}|4{11}|5{11}|6{11}|7{11}|8{11}|9{11}|0{11}/))return false;
    s=0;
    for(var i=0;i<9;i++)s+=parseInt(v.charAt(i))*(10-i);
    r=11-(s%11);
    if(r==10||r==11)r=0;
    if(r!=parseInt(v.charAt(9)))return false;
    s=0;
    for(var i=0;i<10;i++)s+=parseInt(v.charAt(i))*(11-i);
    r=11-(s%11);
    if(r==10||r==11)r=0;
    if(r!=parseInt(v.charAt(10)))return false;
    return  true;
			}, 'cpf invalido.');

			
			
			$.validator.addMethod('cnpj', function (value) {
    {  
       try {  
          cnpj = value.replace('.', '').replace('.', '').replace('/', '').replace('-', ''); 
     
         var a = new Array();  
         var b = null;  
         var c = [6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2];  
         var x = null;  
     
         for(i = 0; i < 12; i++) {  
            a[i] = cnpj.charAt(i);  
            b += a[i] * c[i + 1];  
         }  
     
         if((x = b % 11) < 2)  
            a[12] = 0;  
        else  
            a[12] = 11 - x;  
     
         b = 0;  
     
         for(i = 0; i < 13; i++)  
            b += (a[i] * c[i]);  
     
         if((x = b % 11) < 2)  
            a[13] = 0;  
         else  
            a[13] = 11 - x;  
           
         if(cnpj.charAt(12) != a[12] || cnpj.charAt(13) != a[13] || value== "00.000.000/0000-00")  
            return false;  
			
		 return true;  
      } catch(excecao) {  
         return 'cnpj()'  
      }  
			}}, 'Cnpj invalido.');

			
			$.validator.addMethod('dependsOn', function (value, el, params) {
				return !$(params.el).is(params.being) || $(el).is(':filled');
			}, 'This field is required.');


