function newImage(arg) {
	if (document.images) {
		rslt = new Image();
		rslt.src = arg;
		return rslt;
	}
}

function changeImages() {
	if (document.images && (preloadFlag == true)) {
		for (var i=0; i<changeImages.arguments.length; i+=2) {
			document[changeImages.arguments[i]].src = changeImages.arguments[i+1];
		}
	}
}

var preloadFlag = false;
function preloadImages() {
	if (document.images) {
		dpv_08_01_o = newImage("images/dpv_08_01_o.jpg");
		dpv_09_02_o = newImage("images/dpv_09_02_o.jpg");
		dpv_10_03_o = newImage("images/dpv_10_03_o.jpg");
		dpv_11_04_o = newImage("images/dpv_11_04_o.jpg");
		dpv_12_05_o = newImage("images/dpv_12_05_o.jpg");
		preloadFlag = true;
	}
}

// Funcao que valida o formulário de login
function validaFormLogin(nmForm)
{
	if(!validaCampoNull(eval(nmForm).txtEmail))
	{
		return false;
	}
	if(!validaCampoNull(eval(nmForm).txtSenha))
	{
		return false;
	}
	eval(nmForm).submit();
}

function validaCampoNull(campo)
{
	if(campo.value == "")
	{
	  alert("Campo Obrigatório, favor preencher !");
		campo.focus();
		return false;
	}
	return true;
}

// Funcao sem numeros
function somenteNumeros(e)
{
  var keynum = returnKeyCode(e);
  var keychar = returnKeyChar(e);
  var numcheck = /\d/;
	
	icValido = true;
	if(typeof(keynum) != "undefined" && !numcheck.test(keychar) && keynum != 8)
	{
	  icValido = false;
	}
  return icValido;
}

function somenteNumeros1Virgula(e, campo)
{
	// Incializo as variaveis
	icValido = false;
	valor = campo.value;
	
	// Inicio valido a quantidade de virgulas
	qtVirgulas = returnQtCaracteres(valor, ",");
	
	if(qtVirgulas > 1)
	{
		alert("Valor Incorreto, o valor deve estar no formato 9999,99");
		campo.value = "";
	}
	else
	{
		// Fim valido a quantidade de virgulas
		keychar = returnKeyChar(e);
	
		if(keychar == "," && qtVirgulas == 0)
		{
			icValido = true;
		}
		else
		{
				icValido = somenteNumeros(e);
		}
	}

	return icValido;
}

// Funcao e retorna o codigo da tecla pressionada
function returnKeyCode(e)
{
	if(window.event) // IE
	{
		keynum = e.keyCode
	}
	else if(e.which) // Netscape/Firefox/Opera
	{
		keynum = e.which
	}
	return keynum;
}

// Funcao que retorna o caracter digitado
function returnKeyChar(e)
{
	keynum = returnKeyCode(e);
	keychar = String.fromCharCode(keynum);	
	return keychar;
}

// Funcao que valida o valor
function validaValor(campo)
{
	  // Verifico se o campo nao esta vazio
		if(campo.value.length == 0)
		{
			campo.value = "0,00";
		}
		else
		{
			qtVirgulas = returnQtCaracteres(campo.value, ",");
			valor = campo.value;
			
			// Verifico se possui mais de uma virgulas
			if(qtVirgulas > 1)
			{
				alert("Valor Incorreto, o valor deve estar no formato 9999,99");
				campo.focus();
				return false;
			}
			
			// Verifico se nao possui virgula
			if(valor.indexOf(",") == -1)
			{
				campo.value += ",00"	;
			} else {
				casasDecimais = valor.substring(valor.indexOf(",")+1);
				if(casasDecimais.length == 0)
				{
					campo.value += "00";				
				} else if(casasDecimais.length == 1)
				{
					campo.value += "0";
				} else if(casasDecimais.length != 2) {
					alert("Valor Incorreto, informe apenas 2 casas decimais.");
					campo.value = "0,00";
					campo.focus();
					return false;
				}
			}
			
			valor = campo.value;
			valor = valor.replace(",","");
			var numcheck = /\d/;
			while(valor.length > 0)
			{
				caracter = valor.substring(0,1);
				valor = valor.substring(1);
				if(!numcheck.test(caracter))
				{
					alert("Valor Incorreto, o valor deve estar no formato 9999,99");
					campo.value = "";
					campo.focus();
					return false;
				}
			}
		}
		return true;
}

// Funcao que retonra a quantidade de caracteres
function returnQtCaracteres(valor, caracter)
{
	qtCaracter = 0;
	while(valor.indexOf(caracter) != -1)
	{
		qtCaracter++;
		valor = valor.replace(caracter, "");
	}
	return qtCaracter;
}

// Funcao que formata o valor da forma 9999,99
function formataValor(valor)
{
	valor = "" + valor;
  valor = valor.replace(".", ",");
	
	if(valor.indexOf(",") == -1)
	{
		valor += ",00";
	} else {
		casasDecimais = valor.substring(valor.indexOf(",")+1);
		if(casasDecimais.length == 0)
		{
			valor += "00";				
		} else if(casasDecimais.length == 1)
		{
			valor += "0";
		}
	}

	return valor;
}

// Funcao Responsavel por verificar se os campos obrigatorios foram preenchidos
function validaCamposObrigatorios()
{
	elementos = document.getElementsByTagName('*');
	for(i=0; i < elementos.length; i++)
	{
		if(typeof(elementos[i].getAttribute('obrigatorio')) != "undefined")
		{
			if(elementos[i].getAttribute('obrigatorio') == "true")
			{
				if(elementos[i].type == 'textarea')
				{
					var inst = tinyMCE.getInstanceById(elementos[i].name);

  				valor = inst.getHTML();
				} else {
					valor = elementos[i].value;
				}
				if(valor == "")
				{
					alert("Campo Obrigatório, favor verificar.");
					elementos[i].focus();
					return false;
				}
			}
		}
	}
	return true;
}

//Funcao que valida a data
function valida_data(campo) {
	if(campo.value != "")
	{
		var date = campo.value;
		var array_data = new Array;
		var ExpReg = new RegExp("(0[1-9]|[12][0-9]|3[01])/(0[1-9]|1[012])/[12][0-9]{3}");
		//vetor que contem o dia o mes e o ano
		array_data = date.split("/");
		erro = false;
		//Valido se a data esta no formato dd/mm/yyyy e se o dia tem 2 digitos e esta entre 01 e 31
		//se o mes tem d2 digitos e esta entre 01 e 12 e o ano se tem 4 digitos e esta entre 1000 e 2999
		if ( date.search(ExpReg) == -1 )
			erro = true;
		//Valido os meses que nao tem 31 dias com execao de fevereiro
		else if ( ( ( array_data[1] == 4 ) || ( array_data[1] == 6 ) || ( array_data[1] == 9 ) || ( array_data[1] == 11 ) ) && ( array_data[0] > 30 ) )
			erro = true;
		//Valido o mes de fevereiro
		else if ( array_data[1] == 2 ) {
			//Valido ano que nao e bissexto
			if ( ( array_data[0] > 28 ) && ( ( array_data[2] % 4 ) != 0 ) )
				erro = true;
			//Valido ano bissexto
			if ( ( array_data[0] > 29 ) && ( ( array_data[2] % 4 ) == 0 ) )
				erro = true;
		}
		if ( erro ) {
			alert("Data Inválida");
			campo.value = "";
			campo.focus();
		}
	}
}

// Formato a Data
function fomataData(campo, e)
{
	if(somenteNumeros(e))
	{
		if(campo.value.length == 2)
		{
			if(campo.value.substring(2,3) != "/" && returnKeyChar(e) != "/")
			{
					campo.value += "/";
			}
		}
		if(campo.value.length == 5)
		{
			if(campo.value.substring(5,6) != "/" && returnKeyChar(e) != "/")
			{
					campo.value += "/";
			}
		}
	} else {
	  return false;	
	}
	return true;
}
