function EnviaConsultaAjax(obj)
{
	if (VerificaDados(obj.form))
	{
		auxVar = new Array();
		auxVar = obj.id.split("_", 1);

		objText = eval("document.getElementById('" + auxVar + "')");
		objId   = eval("document.getElementById('" + auxVar + "_hidden')");

		if (objId.value == "") {
			alert('Erro! É necessário que você entre com um nome válido para consulta.');
			objText.focus();
			objText.select();
			return false;
		} else {
			objText.disabled = true;
			return true;
		}
	}
}

function ExcluirDados(form, acao) {
	if (confirm("Você tem certeza que deseja excluir este registro ?"))
	{
		if (acao == undefined) acao = 3;
		form.S_action.value = acao;
		form.submit();
	}
}

function zeraIdAjax(obj)
{
	auxVar = new Array();
	auxVar = obj.id.split("_", 2);

	objText = eval("document.getElementById('" + auxVar + "')");
	objId   = eval("document.getElementById('" + auxVar + "_hidden')");

	if (objText.value == "") objId.value = "";
}

function mOvr(src,clname) {
	src.className = clname;
}

function mOut(src,clname) {
	src.className = clname;
}

function Voltar() {
	history.go(-1);
}

function mensagemErro(desc,campo,obj) {
	alert("O Campo '" + desc + "' tem que ser preenchido!");

	try { obj.focus(); }
	catch(e) { return false; }
}

function erroForm(obj, descricao, mensagem)
{
	if (mensagem == undefined) mensagem = 'Desculpe, o valor para o campo "' + descricao + '" digitado é inválido!';

	alert(mensagem);

	try { obj.focus(); obj.value = ''; }
	catch(e) { return false; }

	return false;
}

disabled = 0;
formName  = 'formPrincipal';
function formFocus(doc)
{
	if (doc.getElementById(formName) && doc.getElementById(formName).disabled == false)
	{
		f = doc.getElementById(formName);
		for (i = 0; i < f.elements.length; i++)
		{
			if (disabled == 1 && f.elements[i].name != "btVoltar") { f.elements[i].disabled = true; continue; }
			else if (f.elements[i].type == "text" || f.elements[i].type == "password" || f.elements[i].type == "file" || f.elements[i].type == "select-one")
			{
				try { f.elements[i].focus(); }
				catch(e) { i++; continue; }

				if (f.elements[i].type == "text") {
					try { f.elements[i].select(); }
					catch(e) { }
				}
				break;
			}
		}
	}
}

function desabilitarCampos(form)
{
	disabled = 1;
	for (i = 0; i < form.elements.length; i++) {
		obj = form.elements[i];
		if (((obj.name == "btSalvar" || obj.name == "btExcluir") && obj.type == "button") || obj.type == "text" || obj.type == "select-one" || obj.type == "textarea" || obj.type == "checkbox") obj.disabled = true;
	}
}

function calculaData(data, qntDias)
{
	dia = Number(data.substr(0, 2)) + Number(qntDias);
	mes = Number(data.substr(3, 2)) - 1;
	ano = Number(data.substr(6, 4));
	newData = new Date(ano, mes, dia);

	mes = (newData.getMonth()+1).toString();
	mes = mes.pad(2, "0", String.PAD_LEFT);
	dia = (newData.getDate()).toString();
	dia = dia.pad(2, "0", String.PAD_LEFT);

	strData = dia + '/' + mes + '/' + newData.getYear();
	return strData;
}

function validaTecla(campo, event, type) {
	var BACKSPACE=8;
	var key;
	var tecla;

	CheckTAB=true;
	if(navigator.appName.indexOf("Netscape")!= -1) { tecla = event.which; }
	else { tecla = event.keyCode; }

	key = String.fromCharCode(tecla);
	if (tecla == 13) autoTab(campo, -1, event)
	else if (tecla == BACKSPACE || tecla == 0) { return true;  }
	return (isNum(key, type));
}

function isNum(caractere, type) {
	if (type == "number")      var strValidos = "0123456789";
	else if (type == "valorCobrar") var strValidos = "0123456789.";
	else if (type == "money")       var strValidos = "0123456789,";
	else if (type == "phone")       var strValidos = "0123456789+()- ";
	else if (type == "alfanum")     var strValidos = "@.0123456789ABCDEFGHJILMNOPQRSTUVXZYWKabcdefghijlmnopqrstuvxzkyw ";
	else if (type == "alfanumpt")   var strValidos = "/\@,.0123456789ABCDEFGHJILMNOPQRSTUVXZYWKabcdefghijlmnopqrstuvxzkywÁÉÍÓÚÀÈÌÒÙáéíóúàèìòùãõçÃÕâÂêÊîÎôÔûÛäëïöüÄËÏÖÜÇ-: ";
	else if (type == "codplano")    var strValidos = ".0123456789";
	else if (type == "disabled")    var strValidos = "";
	if (strValidos.indexOf(caractere) == -1) return false;
	return true;
}

function proximoElemento(campo, event) {
	if(navigator.appName.indexOf("Netscape")!= -1) tecla = event.which;
	else tecla = event.keyCode;

	if (tecla == "13") return autoTab(campo, -1, event);
	else return true;
}

var isNN = (navigator.appName.indexOf("Netscape")!=-1);
function autoTab(input,len, e) {
	var keyCode = (isNN) ? e.which : e.keyCode;
	var filter = (isNN) ? [0,8,9] : [0,8,9,16,17,18,20,35,36,37,38,39,40,46,144];
	if(len == -1 || (input.value.length >= len && !containsElement(filter,keyCode))) {
		if (len != -1)  input.value = input.value.slice(0, len);
		inputIndex  = (getIndex(input)+1) % input.form.length;

		while (inputIndex <= input.form.length) {
			if (input.form[inputIndex].disabled == false && input.form[inputIndex].type != "hidden") {

				try { input.form[inputIndex].focus(); }
				catch(e) { inputIndex++; continue; }

				if (input.form[inputIndex].type == "text") input.form[inputIndex].select();
				return false;
				break
			}
			else inputIndex++;
		}
	}

	function containsElement(arr, ele) {
		var found = false, index = 0;
		while(!found && index < arr.length)
		if(arr[index] == ele)
		found = true;
		else
		index++;
		return found;
	}

	function getIndex(input) {
		var index = -1, i = 0, found = false;
		while (i < input.form.length && index == -1)
		if (input.form[i] == input)index = i;
		else i++;
		return index;
	}
	return true;
}

function AbrirLink(url, target)
{
	if (url == "") return false;

	if (target != undefined && target != "") window.open(url, target);
	else self.location = url;
}

function imprimeDiv(divName, msg)
{
	document.getElementById(divName).innerHTML = msg;
}

function showDiv(acao, divName)
{
	if (acao == 0) document.getElementById(divName).className = 'objHidden';
	else if (acao == 1) document.getElementById(divName).className = 'objVisible';
}

function divAguardeAction(acao, msg)
{
	divName = "divAguarde";

	if (acao == 0) {
		document.getElementById(divName).className = 'divAguarde';
		document.onclick       = new Function("return true;");
		document.oncontextmenu = new Function("return true;");
	}
	else if (acao == 1) {
		document.getElementById(divName).className = 'divAguardeV';
		imprimeDiv("divMsgAguarde", msg);
		document.onclick       = new Function("return false;");
		document.oncontextmenu = new Function("return false;");
	}
}

function changeObjStatus(obj, type)
{
	if (type == 1) obj.disabled = true;
	else if (type == 0) obj.disabled = false;
}

Array.prototype.in_array = function ( obj ) {
	var len = this.length;
	for ( var x = 0 ; x <= len ; x++ ) {
		if ( this[x] == obj ) return true;
	}
	return false;
}

function nextElement(obj)
{
	for (i = 0; i < obj.form.length; i++)
	{
		if (obj.form.elements[i].name == obj.name) return obj.form.elements[(i+1)];
	}
	return false;
}

function renderArray(arrVals, value)
{
	if (value == undefined || value == "") return value;
	return arrVals[value];
}

String.PAD_LEFT  = 0;
String.PAD_RIGHT = 1;
String.PAD_BOTH  = 2;
String.prototype.pad = function(size, pad, side) {
	var str = this, append = "", size = (size - str.length);
	var pad = ((pad != null) ? pad : " ");
	if ((typeof size != "number") || ((typeof pad != "string") || (pad == ""))) {
		throw new Error("Wrong parameters for String.pad() method.");
	}
	if (side == String.PAD_BOTH) {
		str = str.pad((Math.floor(size / 2) + str.length), pad, String.PAD_LEFT);
		return str.pad((Math.ceil(size / 2) + str.length), pad, String.PAD_RIGHT);
	}
	while ((size -= pad.length) > 0) {
		append += pad;
	}
	append += pad.substr(0, (size + pad.length));
	return ((side == String.PAD_LEFT) ? append.concat(str) : str.concat(append));
}

Number.prototype.format = function(d_len, d_pt, t_pt) {
	var d_len = d_len || 0;
	var d_pt = d_pt || ".";
	var t_pt = t_pt || ",";
	if ((typeof d_len != "number")
	|| (typeof d_pt != "string")
	|| (typeof t_pt != "string")) {
		throw new Error("wrong parameters for method 'String.pad()'.");
	}
	var integer = "", decimal = "";
	var n = new String(this).split(/\./), i_len = n[0].length, i = 0;
	if (d_len > 0) {
		n[1] = (typeof n[1] != "undefined") ? n[1].substr(0, d_len) : "";
		decimal = d_pt.concat(n[1].pad(d_len, "0", String.PAD_RIGHT));
	}
	while (i_len > 0) {
		if ((++i % 3 == 1) && (i_len != n[0].length)) {
			integer = t_pt.concat(integer);
		}
		integer = n[0].substr(--i_len, 1).concat(integer);
	}
	return (integer + decimal);
}

function retornoVazio() {
	divAguardeAction("0", "");
}

function FecharPopUp()
{
	document.getElementById("divPopUp").className = 'objHidden';
}

function getCalendario(mes, ano)
{
	x_getCalendario(mes, ano, r_getCalendario);
}

function r_getCalendario(htmlCalendar)
{
	document.getElementById("divCalendario").innerHTML = htmlCalendar;
}