function Abre(vURL, vLarg, vAlt) {
	vTop = (screen.height / 2) - (vAlt / 2);
	vLeft = (screen.width / 2) - (vLarg / 2);
	vParam = "toolbar=no, location=no, status=no, menubar=no, width="+vLarg+", ";
	vParam += "height="+vAlt+", top="+vTop+", left="+vLeft+", ";
	vParam += "resizable=no, scrollbars=yes";
	vWindow = window.open(vURL,"JanelaNova",vParam);
}

function Abre2(vURL, vLarg, vAlt) {
	vTop = (screen.height / 2) - (vAlt / 2);
	vLeft = (screen.width / 2) - (vLarg / 2);
	vParam = "toolbar=no, location=no, status=no, menubar=no, width="+vLarg+", ";
	vParam += "height="+vAlt+", top="+vTop+", left="+vLeft+", ";
	vParam += "resizable=no, scrollbars=no";
	vWindow = window.open(vURL,"JanelaNova2",vParam);
}

function Mensagem (texto) {
	document.getElementById('mensagem').style.display = 'block';
	document.getElementById('mensagem').innerHTML = texto;
}



Mascaras = {
IsIE: navigator.appName.toLowerCase().indexOf('microsoft') != -1,
AZ: /[A-Z]/i,
Acentos: /[À-ÿ]/i,
Num: /[0-9]/,
carregar: function (parte) {
	var Tags = ['input','textarea'];
	if (typeof parte == "undefined") parte = document;
	for (var z = 0; z < Tags.length; z++) {
		Inputs = parte.getElementsByTagName(Tags[z]);
		for (var i = 0; i < Inputs.length; i++)
			if (('button,image,hidden,submit,reset').indexOf(Inputs[i].type.toLowerCase()) == -1)
				this.aplicar(Inputs[i]);
			}
		},
		aplicar: function (campo) {
			tipo = campo.getAttribute('tipo');
			if (!tipo || campo.type == "select-one")
				return;
			orientacao = campo.getAttribute('orientacao');
			mascara = campo.getAttribute('mascara');
			if (tipo.toLowerCase() == "decimal") {
				orientacao = "esquerda";
				casasdecimais = campo.getAttribute('casasdecimais');
				tamanho = campo.getAttribute('maxLength');
				if (!tamanho || tamanho > 50)
					tamanho = 10;
				if (!casasdecimais)
					casasdecimais = 2;
				campo.setAttribute("mascara", this.geraMascaraDecimal(tamanho, casasdecimais));
				campo.setAttribute("tipo", "numerico");
				campo.setAttribute("orientacao", orientacao);
			}
			if (orientacao && orientacao.toLowerCase() == "esquerda")
				campo.style.textAlign = "right";
			if (mascara)
				campo.setAttribute("maxLength", mascara.length);
			if (tipo) {
				campo.onkeypress = function (e) {
					return Mascaras.onkeypress(e?e:event);
				};
				campo.onkeyup = function (e) {
					Mascaras.onkeyup(e ? e : event, campo)
				};
			}
			campo.setAttribute("snegativo", ((campo.value).substr(0,1) == "-" ? "s" : "n"));
		},
		onkeypress: function (e) {
		KeyCode = this.IsIE ? event.keyCode : e.which;
		campo =  this.IsIE ? event.srcElement : e.target;
		readonly = campo.getAttribute('readonly');
		if (readonly)
			return;
		maxlength = campo.getAttribute('maxlength');
		pt = campo.getAttribute('pt');
		selecao = this.selecao(campo);
		if ((selecao.length > 0) && (KeyCode != 0)) {
			campo.value = "";
			return true;
		}

		if (KeyCode == 0)
			return true;
		Char = String.fromCharCode(KeyCode);
		valor = campo.value;
		mascara = campo.getAttribute('mascara');
		if (KeyCode != 8) {
			tipo = campo.getAttribute('tipo').toLowerCase();
			negativo = campo.getAttribute('negativo');
			if (negativo && KeyCode == 45) {
				snegativo = campo.getAttribute('snegativo');
				snegativo = (snegativo == "s" ? "n" : "s");
				campo.setAttribute("snegativo", snegativo);
			} else {
				valor += Char
				if (tipo == "numerico" && Char.search(this.Num) == -1)
					return false;
				if ((KeyCode != 32) && 
				    (tipo == "caracter") && 
				    (Char.search(this.AZ) == -1) && 
				    (Char.search(this.Acentos) == -1))
					return false;
			}
		}
		if (mascara) {
			this.aplicarMascara(campo, valor);
			return false;
		}
		return true;
	},
	onkeyup: function(e, campo) {
		KeyCode = this.IsIE ? event.keyCode : e.which;
		if (KeyCode != 9 && KeyCode != 16 && KeyCode != 109) {
			valor = campo.value;
			if (KeyCode == 8 && !this.IsIE)
				valor = valor.substr(0,valor.length-1);
			this.aplicarMascara(campo, valor);
		}
	},
	aplicarMascara: function(campo, valor) {
		mascara = campo.getAttribute('mascara');
		if (!mascara)
			return;
		negativo = campo.getAttribute('negativo');
		snegativo = campo.getAttribute('snegativo');
		if (negativo && valor.substr(0,1) == "-")
			valor = valor.substr(1,valor.length-1);
		orientacao = campo.getAttribute('orientacao');
		var i = 0;
		for (i = 0; i < mascara.length; i++) {
			caracter = mascara.substr(i,1);
			if (caracter != "#")
				valor = valor.replace(caracter, "");
		}
		retorno = "";
		if (orientacao != "esquerda") {
			contador = 0;
			for (i = 0; i < mascara.length; i++) {
				caracter = mascara.substr(i,1);
				if (caracter == "#") {
					retorno += valor.substr(contador,1);
					contador++;
				} else {
					retorno += caracter;
				}
				if(contador >= valor.length)
					break;
			}
		} else {
			contador = valor.length-1;
			for (i = mascara.length - 1; i >= 0; i--) {
				if (contador < 0)
					break;
				caracter = mascara.substr(i,1);
				if (caracter == "#") {
					retorno = valor.substr(contador,1) + retorno;
					contador--;
				} else {
					retorno = caracter + retorno;
				}
			}
		}
		if (negativo && snegativo == "s")
			retorno = "-" + retorno;
		campo.value = retorno;
	},
	geraMascaraDecimal: function(tam, decimais) {
		var retorno = "";
		var contador = 0;
		var i = 0;
		decimais = parseInt(decimais);
		for (i = 0; i < (tam-(decimais+1)); i++) {
			retorno = "#" + retorno;
			contador++;
			if (contador == 3) {
				retorno = "." + retorno;
				contador=0;
			}
		}
		retorno = retorno + ",";
		for (i = 0; i < decimais; i++)
			retorno += "#";
		return retorno;
	},
	selecao: function (campo) {
		if (this.IsIE)
			return document.selection.createRange().text;
		else
			return (campo.value).substr(campo.selectionStart, (campo.selectionEnd - campo.selectionStart));
	},
	formataValor: function (valor, decimais) {
		valor = valor.split('.');
		if (valor.length == 1)
			valor[1] = "";
		for (var i = valor[1].length; i < decimais; i++)
			valor[1] += "0";
		valor[1] = valor[1].substr(0,2);
		return (valor[0] + "." + valor[1]);
	}
}


function ValidaForm() {
	var str = "";
	var elements = document.getElementsByTagName('*'); // "pega" todos os elementos da página
	err_focus = 0; // zera variavel que verifica o primeiro erro que ocorre

	for (i = 0; i < elements.length; i++) {
		// Valida os elementos input, select e textarea
		if ((elements.item(i).tagName.toLowerCase() == 'input') || 
		    (elements.item(i).tagName.toLowerCase() == 'select') || 
		    (elements.item(i).tagName.toLowerCase() == 'textarea')) {
			if (elements.item(i).getAttribute('errorMsg')) {
				if ((elements.item(i).value.length == 0) ||
				    (elements.item(i).value == "") || 
				    (elements.item(i).selectedIndex == 0)) {
					str += elements.item(i).getAttribute('errorMsg')+ "\n";
//					elements.item(i).style.background = "#ffffcc";
					elements.item(i).style.border = "2px solid #f90";
					err_focus++;
					if (err_focus == 1){
						field_focus = i;
					} // serve para colocar o foco no primeiro erro que ocorrer
				} else {
					if ((elements.item(i).type.toLowerCase() == 'text') ||
					    (elements.item(i).type.toLowerCase() == 'select-one') ||
					    (elements.item(i).type.toLowerCase() == 'textarea')) {
								//->Este if serve para não deixar o submit branco
						// elements.item(i).style.background = "#ffffff";
					}
				}
			}
		}
	}

	if (str != "") {
		// Não submete o form
		alert("Erros no preenchimento do formulário:\n\n" +str);
		elements.item(field_focus).focus();
		return false;
	} else {
		return true;
	}

}
	


function FecharPopup()
{
	document.getElementById('aviso').style.display = 'none';
}
