
function verCaracterDaSenha(valor) 
{	   
	var erespeciais = /[@!#$%&*+=?|-]/;

	var ermaiuscula = /[A-Z]/;

	var erminuscula = /[a-z]/;

	var ernumeros = /[0-9]/;

	var cont = 0;

	if (erespeciais.test(valor)) cont++;
	if (ermaiuscula.test(valor)) cont++;
	if (erminuscula.test(valor)) cont++;

	if (ernumeros.test(valor)) cont++;

	return cont;
}

function segurancaBaixa(d) 
{
	d.innerHTML = "<img src='./engine/baixa.gif'/>";
}

function segurancaMedia(d) 
{
	d.innerHTML = "<img src='./engine/media.gif'/>";
}

function segurancaAlta(d) 
{
	d.innerHTML = "<img src='./engine/alta.gif'/>";
}

function testaSenha(valor) 
{
		var d = document.getElementById('seguranca');

		var c = verCaracterDaSenha(valor);

		var t = valor.length;

		d.innerHTML = "&nbsp;";  

		if(t == ''){

		} else {
				if(t > 7 && c >= 3) segurancaAlta(d);

				else {

			if(t > 7 && c >= 2 || t > 4 && c >= 3) segurancaMedia(d);
			else segurancaBaixa(d);
		}
	}
}

function IsNumeric(input)
{
    return (input - 0) == input && input.length > 0;
}

function adicionaItens(origem, destino)
{
	var fl = document.getElementById(origem).length -1;
	var au = document.getElementById(destino).length -1;
	var deptos1 = "x";

	for (au; au > -1; au--) 
	{
		deptos1 = deptos1 + "," + document.getElementById(destino).options[au].value + ","
	}

	for (fl; fl > -1; fl--) 
	{
		if (document.getElementById(origem).options[fl].selected && deptos1.indexOf( "," + document.getElementById(origem).options[fl].value + "," ) == -1) 
		{
			t = document.getElementById(destino).length;
			opt = new Option(document.getElementById(origem).options[fl].text, document.getElementById(origem).options[fl].value);
			document.getElementById(destino).options[t] = opt;
		}
	}
}

function removeItens(destino) 
{
	fl = document.getElementById(destino).length -1;

	for (fl; fl > -1; fl--) 
	{	
		if (document.getElementById(destino).options[fl].selected) 
		{
			document.getElementById(destino).options[fl] = null;
		}
	}
}

function validaCadastro()
{
	document.getElementById("blnChecaJS").value = 1;
	
	strErro = "Os Seguintes erros foram encontrados:<br/>";
	intErro = 1;
	
	var strNome     = document.getElementById("nome").value;
	var strLogin    = document.getElementById("login").value;
	var strSenha	= document.getElementById("senha").value;
	var strConfirma = document.getElementById("confirma").value;
	var strEmail	= document.getElementById("email").value;
	
	//Se o nome estiver em branco
	if(strNome == "")
	{
		if(intErro == 1)
		{
			document.getElementById("nome").focus();
		}
		strErro += intErro + ". O campo 'Nome' n&atilde;o pode estar em branco.<br/>";
		intErro++;
	}
	else
	{
		if(!(/^[À-úÄ-üa-zA-Z0-9@.\-_ ]+$/.test(strNome)))
		{
			if(intErro == 1)
			{
				document.getElementById("nome").focus();
			}
			strErro += intErro + ". O campo 'Nome' possui formato inv&aacute;lido.<br/>";
			intErro++;
		}
	}
	//Se o login estiver em branco
	if(strLogin == "")
	{
		if(intErro == 1)
		{
			document.getElementById("login").focus();
		}
		strErro += intErro + ". O campo 'Login' n&atilde;o pode estar em branco.<br/>";
		intErro++;
	}
	else
	{
		if(!(/^[À-úÄ-üa-zA-Z0-9@.\-_ ]+$/.test(strLogin)))
		{
			if(intErro == 1)
			{
				document.getElementById("login").focus();
			}
			strErro += intErro + ". O campo 'Login' possui formato inv&aacute;lido.<br/>";
			intErro++;
		}
	}
	//Validações de senha
	if(strSenha == "")
	{
		if(intErro == 1)
		{
			document.getElementById("senha").focus();
		}				
		intErro++;
		strErro += intErro + ". O campo 'Senha' n&atilde;o pode estar em branco.<br/>";
	}
	if(strConfirma == "")
	{
		if(intErro == 1)
		{
			document.getElementById("confirma").focus();
		}
		intErro++;
		strErro += intErro + ". O campo 'Confirma Senha' n&atilde;o pode estar em branco.<br/>";
	}
	if(strSenha != strConfirma)
	{
		if(intErro == 1)
		{
			document.getElementById("confirma").focus();
		}				
		intErro++;
		strErro += intErro + ". Os campos 'Senha' e 'Confirma Senha' est&atilde;o diferentes!<br/>";
	}
	//Se o e-mail estiver em branco
	if(strEmail == "")
	{
		if(intErro == 1)
		{
			document.getElementById("email").focus();
		}
		strErro += intErro + ". O campo 'E-mail' n&atilde;o pode estar em branco.<br/>";
		intErro++;
	}
	else
	{
		if (!(/^([a-zA-Z])([a-zA-Z0-9_\.-]+)(@)([a-zA-Z0-9_\-]+)(\.[a-zA-Z0-9.]+)$/.test(strEmail)))
		{
			if(intErro == 1)
			{
				document.getElementById("confirma").focus();
			}
			strErro += intErro + ". O campo 'E-mail' possui formato inv&aacute;lido.<br/>";
			intErro++;
		}
	}
	
	//Caso haja pelo menos um erro ele retorna
	if(intErro > 1)		
	{
		document.getElementById("msg").innerHTML = "<div class='erro'>" + strErro + "</div>";
		return false;
	}
	else
	{
		return true;
	}	
}

function validaCompletaCadastro()
{
	document.getElementById("blnChecaJS").value = 1;
	
	strErro = "Os Seguintes erros foram encontrados:<br/>";
	intErro = 1;
	
	var dataNascimento = document.getElementById("dataNascimento").value;
	var selSexo		   = document.getElementById("selSexo").value;
	
	//Se a data de nascimento estiver em branco
	if(dataNascimento == "")
	{
		if(intErro == 1)
		{
			document.getElementById("dataNascimento").focus();
		}
		strErro += intErro + ". O campo 'Data de Nascimento' n&atilde;o pode estar em branco.<br/>";
		intErro++;
	}
	//Se o sexo estiver em branco
	if(selSexo == "0")
	{
		if(intErro == 1)
		{
			document.getElementById("selSexo").focus();
		}
		strErro += intErro + ". O campo 'Sexo' n&atilde;o pode estar em branco.<br/>";
		intErro++;
	}
	
	//Caso haja pelo menos um erro ele retorna
	if(intErro > 1)		
	{
		document.getElementById("msg").innerHTML = "<div class='erro'>" + strErro + "</div>";
		return false;
	}
	else
	{
		return true;
	}	
}

function validaRota()
{
	document.getElementById("blnChecaJS").value = 1;
	
	strErro = "Os Seguintes erros foram encontrados:<br/>";
	intErro = 1;
	
	var nomeRota 			 = document.getElementById("nomeRota").value;
	var selOrigemLogradouro	 = document.getElementById("selOrigemLogradouro").value;
	var origemNome			 = document.getElementById("origemNome").value;
	var origemNumero		 = document.getElementById("origemNumero").value;
	var origemBairro		 = document.getElementById("origemBairro").value;
	var selDestinoLogradouro = document.getElementById("selDestinoLogradouro").value;
	var destinoNome		     = document.getElementById("destinoNome").value;
	var destinoNumero		 = document.getElementById("destinoNumero").value;
	var destinoBairro		 = document.getElementById("destinoBairro").value;
	
	//Se o nome da rota estiver em branco
	if(nomeRota == "")
	{
		if(intErro == 1)
		{
			document.getElementById("nomeRota").focus();
		}
		strErro += intErro + ". O campo 'Nome da Rota' n&atilde;o pode estar em branco.<br/>";
		intErro++;
	}
	else
	{
		if(!(/^[À-úÄ-üa-zA-Z0-9@.\-_ ]+$/.test(nomeRota)))
		{
			if(intErro == 1)
			{
				document.getElementById("nomeRota").focus();
			}
			strErro += intErro + ". O campo 'Nome da Rota' n&atilde;o pode possuir caracteres especiais.<br/>";
			intErro++;
		}
	}
	
	//Se o logradouro de origem estiver em branco
	if(selOrigemLogradouro == "0")
	{
		if(intErro == 1)
		{
			document.getElementById("selOrigemLogradouro").focus();
		}
		strErro += intErro + ". Por favor selecione um logradouro de origem.<br/>";
		intErro++;
	}
	
	//Se o nome de origem estiver em branco
	if(origemNome == "")
	{
		if(intErro == 1)
		{
			document.getElementById("origemNome").focus();
		}
		strErro += intErro + ". O nome da rua de origem n&atilde;o pode estar em branco.<br/>";
		intErro++;
	}
	else
	{
		if(!(/^[À-úÄ-üa-zA-Z0-9@.\-_ ]+$/.test(origemNome)))
		{
			if(intErro == 1)
			{
				document.getElementById("origemNome").focus();
			}
			strErro += intErro + ". O nome da rua de origem n&atilde;o pode possuir caracteres especiais.<br/>";
			intErro++;
		}
	}	
	
	//Se o número não for numérico
	if(origemNumero != "" && !IsNumeric(origemNumero))
	{
		if(intErro == 1)
		{
			document.getElementById("origemNumero").focus();
		}
		strErro += intErro + ". O campo número da origem deve ser numérico, ou deve ser deixado em branco.<br/>";
		intErro++;
	}
	
	//Se o bairro de origem tiver caracteres especiais
	if(origemBairro != ""  && !(/^[À-úÄ-üa-zA-Z0-9@.\-_ ]+$/.test(origemBairro)))
	{
		if(intErro == 1)
		{
			document.getElementById("origemBairro").focus();
		}
		strErro += intErro + ". O nome do bairro de origem n&atilde;o pode possuir caracteres especiais.<br/>";
		intErro++;
	}		
	
	//Se o logradouro de destino estiver em branco
	if(selDestinoLogradouro == "0")
	{
		if(intErro == 1)
		{
			document.getElementById("selDestinoLogradouro").focus();
		}
		strErro += intErro + ". Por favor selecione um logradouro de destino.<br/>";
		intErro++;
	}
	
	//Se o nome de destino estiver em branco
	if(destinoNome == "")
	{
		if(intErro == 1)
		{
			document.getElementById("destinoNome").focus();
		}
		strErro += intErro + ". O nome da rua de destino n&atilde;o pode estar em branco.<br/>";
		intErro++;
	}
	else
	{
		if(!(/^[À-úÄ-üa-zA-Z0-9@.\-_ ]+$/.test(destinoNome)))
		{
			if(intErro == 1)
			{
				document.getElementById("destinoNome").focus();
			}
			strErro += intErro + ". O nome da rua de destino n&atilde;o pode possuir caracteres especiais.<br/>";
			intErro++;
		}
	}		
	
	//Se o número não for numérico
	if(destinoNumero != "" && !IsNumeric(destinoNumero))
	{
		if(intErro == 1)
		{
			document.getElementById("destinoNumero").focus();
		}
		strErro += intErro + ". O campo número do destino deve ser numérico, ou deve ser deixado em branco.<br/>";
		intErro++;
	}

	//Se o bairro de origem tiver caracteres especiais
	if(destinoBairro != ""  && !(/^[À-úÄ-üa-zA-Z0-9@.\-_ ]+$/.test(destinoBairro)))
	{
		if(intErro == 1)
		{
			document.getElementById("destinoBairro").focus();
		}
		strErro += intErro + ". O nome do bairro de destino n&atilde;o pode possuir caracteres especiais.<br/>";
		intErro++;
	}		
	
	//Caso haja pelo menos um erro ele retorna
	if(intErro > 1)		
	{
		document.getElementById("msg").innerHTML = "<div class='erro'>" + strErro + "</div>";
		return false;
	}
	else
	{
		return true;
	}	
}
