// JavaScript Document
function isNull (value)
{
	if(value.length == 0) return false;
	return true;
}

function isEmail (value)
{
	if(value.length < 6 || value.indexOf("@") == -1) return false;
	
	var array1 = value.split("@");
	
	if(array1[0].length < 2 || array1[1].length < 5)return false;
	if(array1[1].indexOf(".") == -1) return false;
	
	var array2 = array1[1].split(".");
	
	if(array2[0].length < 2 || array2[1].length < 2) return false;
	
	return true;
}

/* TELEFONE
******************************************************/
function isDDD (value)
{
	if(!isNull(value)) return false;
	if(value.length < 2) return false;
	if(value == "00") return false;	
	return true;
}

function isPhone (value)
{
	if(!isNull(value)) return false;
	if(value.length < 8) return false;
	if(parseInt(value.substr(0, 1)) == 0) return false;
	return true;
}

function checkFullPhone (value)
{
	var ddd = value.substring(1, 3);
	var phone = value.substring(5, 9) + value.substring(10, 14);
	if(!isDDD(ddd))	return false;
	if(!isPhone(phone))	return false;
	return true;
}

/* DATAS
******************************************************/
function isDay (value)
{	
	if(parseInt(value, 10) <= 31 && parseInt(value, 10) >= 1) return true;
	return false;
}

function isMonth (value)
{
	if(parseInt(value, 10) <= 12 && parseInt(value, 10) >= 1) return true;
	return false;
}

function isYear (value)
{
	if(value == undefined || value.length != 4) return false;
	return true;
}

function isDate (value, separator)
{
	var array = value.split(separator);
	if(array.length != 3) return false;
	if(!isDay(array[0])) return false;
	if(!isMonth(array[1])) return false;
	if(!isYear(array[2])) return false;
	return true;
}

/* ENDERECOS
******************************************************/
function isState (value)
{
	if(value.length != 2) return false;	
	return true;	
}

function isCEP (value, separator)
{
	if(!isNull(value)) return false;
	
	if(separator != null) 
	{
		var array = value.split(separator);
		if(!CEPStart(array[0])) return false;
		if(!CEPEnd(array[1])) return false;
	}
	else
	{
		if(value.length != 8) return false;		
	}
	
	return true;
}

function CEPStart(value) 
{
	if (!isNull(value)) return false;
	if (value.length < 5) return false;
	return true;
}
		
function CEPEnd(value)
{
	if (!isNull(value)) return false;
	if (value.length < 3) return false;
	return true;
}

/* DOCUMENTOS
******************************************************/
function isCPF (cpf) 
{
	var numeros;
	var digitos;
	var resultado;
	var digitos_iguais = true;
	var soma = 0;
	var i;

	if (cpf.length < 11) 
	{
		return false;
	}
	
	for (i = 0; i < cpf.length - 1; i++) 
	{
		if (cpf.charAt(i) != cpf.charAt(i + 1)) 
		{
			digitos_iguais = false;
			break;
		}
	}
	
	if (!digitos_iguais) 
	{
		numeros = cpf.substring(0,9);
		digitos = cpf.substring(9);
		soma = 0;
		
		for (i = 10; i > 1; i--) 
		{
			soma += parseInt(numeros.charAt(10 - i)) * i;
		}
		
		resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;
		
		if (resultado != parseInt(digitos.charAt(0))) 
		{
			return false;
		}
		
		numeros = cpf.substring(0,10);
		soma = 0;
		
		for (i = 11; i > 1; i--) 
		{
			soma += parseInt(numeros.charAt(11 - i)) * i;
		}
		
		resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;
		
		if (resultado != parseInt(digitos.charAt(1))) 
		{
			return false;
		}
		
		return true;
	} 
	else 
	{
		return false;
	}
}

function isRG (value)
{
	if(value.length < 8)
	{
		return false;
	}
	
	return true;
}


