﻿// Validações Client-side p/ o CustomValidator
function vldCpf( sender, args )
{
	while(  args.Value.indexOf(".") != -1 || 
            args.Value.indexOf("-") != -1 )
    {
        args.Value = args.Value.replace(".", "");
        args.Value = args.Value.replace("-", "");
    }
	
	if( args.Value == "00000000000" ||
	    args.Value == "11111111111" || 
	    args.Value == "22222222222" || 
	    args.Value == "33333333333" || 
	    args.Value == "44444444444" || 
	    args.Value == "55555555555" || 
	    args.Value == "66666666666" || 
	    args.Value == "77777777777" || 
	    args.Value == "88888888888" || 
	    args.Value == "99999999999" )
	{
		args.IsValid = false;
		return;
	}
		
	var	t = 0,
		resto,
		d1,
		d2;
		
	for( var i = 0 ; i <= 8 ; i++ )
	{
		t += args.Value.charAt(i) * (10 - i);
	}
		
	resto = t % 11;
	
	if( resto < 2 )
	{
		d1 = 0;
	}
	else
	{
		d1 = 11 - ( t % 11);
	}
	
	t = 0;
	
	for( var i = 0 ; i <= 9 ; i++ )
	{
		t += args.Value.charAt(i) * (11 - i);
	}
	
	resto = t % 11;
	
	if( resto < 2 )
	{
		d2 = 0;
	}
	else
	{
		d2 = 11 - ( t % 11);
	}
	
	if( d1 != args.Value.charAt(9) || d2 != args.Value.charAt(10) )
	{
		args.IsValid = false;
		return;
	}
	
	args.IsValid = true;
}

function vldCnpj( sender, args )
{
    while(  args.Value.indexOf(".") != -1 || 
            args.Value.indexOf("/") != -1 || 
            args.Value.indexOf("-") != -1 )
    {
        args.Value = args.Value.replace(".", "");
        args.Value = args.Value.replace("/", "");
        args.Value = args.Value.replace("-", "");
    }

	if ( args.Value.length != 14 ) 
	{
		args.IsValid = false; 
		return;
	}
	
	var a = [];
	var b = new Number;
	var c = [6,5,4,3,2,9,8,7,6,5,4,3,2];
	
	for (i=0; i<12; i++)
	{
		   a[i] = args.Value.charAt(i);
		   b += a[i] * c[i+1];
	}
	
	if ((x = b % 11) < 2) 
	{ 
	    a[12] = 0 
	} 
	else 
	{ 
	    a[12] = 11-x 
	}
	
	b = 0;
	
	for (y=0; y<13; y++) 
	{
		   b += (a[y] * c[y]); 
	}
	
	if ((x = b % 11) < 2) 
	{ 
	    a[13] = 0; 
	} 
	else 
	{   
	    a[13] = 11-x; 
	}
	
	if ((args.Value.charAt(12) != a[12]) || (args.Value.charAt(13) != a[13]))
	{
		   args.IsValid = false;
		   return;
	}
	
	args.IsValid = true;
}
