var always_allow = new Array(0,8,13);
var error_color = '#FF6600'; 

function ADMLivro()
{      
	var autores = document.getElementById('aut_cad')['innerHTML'];
	if(autores == '')
	{
		alert('O livro deve ter ao menos um autor associado.');
		return false;
	}//if autores ''
	else return true;
}//ADMLivro

function fieldDDD(event, field_id)
{
	if(checkKey(event, 'num', true) && checkMaxSize(event, field_id, 2))return true;
	else return false;
}//fieldDDD

function fieldTel(event, field_id)
{
	if(checkKey(event, 'num', true) && checkMaxSize(event, field_id, 8))return true;
	else return false;
}//fieldTel

function fieldRG_IE(event, field_id)
{
	if(checkKey(event, 'num', true) && checkMaxSize(event, field_id, 12))return true;
	else return false;
}//fieldRG_IE

function fieldCPF(event, field_id)
{
	if(checkKey(event, 'num', true) && checkMaxSize(event, field_id, 11))return true;
	else return false;
}//fieldCPF

function fieldCNPJ(event, field_id)
{
	if(checkKey(event, 'num', true) && checkMaxSize(event, field_id, 15))return true;
	else return false;
}//fieldCNPJ

function fieldCEP(event, field_id)
{
	if(checkKey(event, 'num', true) && checkMaxSize(event, field_id, 8))return true;
	else return false;
}//fieldCPF

function checkKey(event, type, allow)
{
	if(document.all)var key = event.keyCode;
	else var key = event.which;	
	var charac = String.fromCharCode(key);

	//verifica nos sempre permitidos
	for(var a = 0; a < always_allow.length; a++)if(key == always_allow[a])return true;
		
	if(type == 'num')check = isNum(charac); //nï¿½mero
	if(type == 'isbn')check = isISBN(charac); //ISBN
	//retorna
	
	if(allow == check)return true;
	else return false;
}//blockKey

function checkMaxSize(event, field_id, max_size, min_size)
{
	if(document.all)var key = event.keyCode;
	else var key = event.which;	
	var charac = String.fromCharCode(key);

	//verifica nos sempre permitidos
	for(var a = 0; a < always_allow.length; a++)if(key == always_allow[a])return true;		
	
	if(document.getElementById(field_id).value.length < max_size)return true;
	else return false;
}//checkMaxSize

//verifica se 2 inputs tem o mesmo valor
function checkEqual(id, id2, msg)
{                                                                   
	if(document.getElementById(id).value != document.getElementById(id2).value)
	{
		alert(msg);
		return false;
	}//if !
	else
	{
	   return true;
	}//else ==	
}//checkEqual 

function validateSize(field_id, min_size, max_size, alert_msg)
{
	if((document.getElementById(field_id).value.length <= max_size) && (document.getElementById(field_id).value.length >= min_size))
	{
		cureError(field_id);
		return true;
	}//if
	else 
	{
		causeError(field_id, alert_msg);
		return false;	
	}//else
}//validateSize

function validadeEqualFields(field_id, field_id2, alert_msg)
{
	if(document.getElementById(field_id).value == document.getElementById(field_id2).value)
	{
		cureError(field_id);
		return true;
	}//if	
	else 
	{
		causeError(field_id, alert_msg);
		return false;	
	}//else
}//validadeEqualFields

function validateEmailField(field_id, alert_msg)
{	
	var error = false;
	var email =	document.getElementById(field_id).value;
	if(email.indexOf(" ")!= -1)error = true;
	else if(email.indexOf("@")== -1)error = true;
		else if(email.indexOf("@")== 0)error = true;
			else if(email.substring(email.indexOf("@")+2).indexOf(".")==-1)error = true;
				else if(email.lastIndexOf("@") == email.length-1)error = true;
					else if(email.lastIndexOf(".")== email.length-1)error = true;
	if(!error)
	{
		cureError(field_id);
		return true;
	}//if !errors
	else 
	{
		causeError(field_id, alert_msg);
		return false;
	}//else error 
}//validateEmail

function cureError(field_id)
{
	document.getElementById(field_id).style['backgroundColor'] = '';
	document.getElementById(field_id + '_err').style['display'] = 'none';
	document.getElementById(field_id + '_err')['innerHTML'] = '';
	return false;		
}//causeError

function causeError(field_id, alert_msg)
{
	document.getElementById(field_id).style['backgroundColor'] = error_color;
	if(alert_msg)
	{
		document.getElementById(field_id + '_err').style['display'] = '';
		document.getElementById(field_id + '_err')['innerHTML'] = alert_msg;
	}//if
	return false;		
}//causeError

function isNum(charac)
{
    var nums = "0123456789"
    if(nums.indexOf(charac) == -1 )return false;
    else return true;
}//isNum

function checkNumber(string)
{
   var numbers = "0123456789";
   var ok = true;
   for (i = 0; i < string.length && ok == true; i++)if(numbers.indexOf(string.charAt(i)) == -1)ok = false;
   return ok;
}//checkNumber

function isISBN(charac)
{
    var nums = "0123456789-X"
    if(nums.indexOf(charac) == -1 )return false;
    else return true;
}//isNum

function checkCPF(cpf_id)
{	
	if(!validateSize(cpf_id, 11, 11, 'CPF deve ter 11 dígitos!'))return;
	var cpf = document.getElementById(cpf_id).value;
	var error_msg = "CPF inválido!"
	var d1_sum = 0;
	var d2_sum = 0;
	var calc_n = 11;
	var digit_1 = new Number;
	var digit_2 = new Number;
	for(var i = 0; i < 9; i++)d1_sum += cpf.charAt(i) * --calc_n;
	if((x = d1_sum % 11) < 2)digit_1 = 0;
		else digit_1 = 11 - x;
	if(cpf.charAt(9) != digit_1)
	{
		causeError(cpf_id, error_msg);
		return false;
	}//if !digit_1
	calc_n = 12;
	for(var i = 0; i < 10; i++)d2_sum += cpf.charAt(i) * --calc_n;
	if((x = d2_sum % 11) < 2)digit_2 = 0;
		else digit_2 = 11 - x;	
	if(cpf.charAt(10) != digit_2)
	{
		causeError(cpf_id, error_msg);
		return false;
	}//if !digit_2
	return true;
}//checkCPF