function WandekoPipoca(mensagem) {
	var confirma;
	confirma = false;
	confirma = confirm(mensagem);
	return (confirma);
}

// Início - Funções de nova janela (Rever todas para otimizar)
function nova_janela_param(meuURL, minhaLargura, minhaAltura, meuAlvo)	{
	var localX = (screen.width - minhaLargura) /3;
	var localY = (screen.height - minhaAltura) /4;

	propriedades='width='+minhaLargura+',height='+minhaAltura+',left='+localX+',top='+localY+', scrollbars=yes, status=yes';

	window.open(meuURL, meuAlvo, propriedades)
}

function nova_janela(meuURL, minhaLargura, minhaAltura)	{
	var localX = (screen.width - minhaLargura) /3;
	var localY = (screen.height - minhaAltura) /4;

	propriedades='width='+minhaLargura+',height='+minhaAltura+',left='+localX+',top='+localY+'';

	window.open(meuURL, "_blank", propriedades)
}

function nova_janela_resize(meuURL, minhaLargura, minhaAltura)	{
	var localX = (screen.width - minhaLargura) /3;
	var localY = (screen.height - minhaAltura) /4;

	propriedades='width='+minhaLargura+',height='+minhaAltura+',left='+localX+',top='+localY+', resizable=yes'+'';

	window.open(meuURL, "_blank", propriedades)
}

function nova_janela_teste(meuURL, minhaLargura, minhaAltura)	{
	var localX = (screen.width - minhaLargura) /3;
	var localY = (screen.height - minhaAltura) /4;

	propriedades='width='+minhaLargura+',height='+minhaAltura+',left='+localX+',top='+localY+'';

	window.open(meuURL, "_blank", propriedades)
}

function nova_aval(meuURL, minhaLargura, minhaAltura, meuAlvo)	{
	var localX = (screen.width - minhaLargura) /3;
	var localY = (screen.height - minhaAltura) /4;
	propriedades='width='+minhaLargura+',height='+minhaAltura+',left='+localX+',top='+localY+', scrollbars=yes, status=yes, resizable=yes';

	avaliacao = window.open(meuURL, meuAlvo, propriedades)
}
// Fim - Funções de nova janela

function exit(minhaURL) {
	parent.opener.location.href=minhaURL;
	parent.close();
}

function menu_over(src, cursor) {
	if (!src.contains(event.fromElement)) {
		src.style.cursor = cursor;
		src.bgColor = '#FFFFdd';
	}
}

function menu_out(src) {
	if (!src.contains(event.toElement)) {
		src.style.cursor = 'default';
		src.bgColor = '#FFFFFF';
	}
}

function MM_jumpMenu(targ,selObj,restore){
	eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
	if (restore) selObj.selectedIndex=0;
}


var radio="";
function valradio(){
	erro = true;
	if (radio == ""){
		alert('Selecione um equipamento antes de prosseguir');
	}
	else{
		erro = false;
	}
	return !(erro);
}

function placeFocus(iForm) {
	if (document.forms.length > 0) {
		var field = document.forms[iForm];
		for (i = 0; i < field.length; i++) {
			if ((field.elements[i].type == "text")
				|| (field.elements[i].type == "textarea")
				|| (field.elements[i].type == "password")
				|| (field.elements[i].type.toString().charAt(0) == "s")) {
				document.forms[iForm].elements[i].focus();
				break;
			}
		}
	}
}

function maskdate(txt){
	if (txt.value.length == 2){
		txt.value = txt.value +'/';
	}
	if (txt.value.length == 5){
		txt.value = txt.value + '/';
	}
}

function ano_bi(ano){
	if(ano % 100 == 0){
		if(ano % 400 == 0)
			return true;
	}
	else {
		if((ano % 4) == 0)
			return true;
	}
	return false;
}

function valida_data(data){
	var datapartes = /^(\d{1,2})(\/|-|.)(\d{1,2})\2(\d{4})$/;
	var dividedata = data.match(datapartes);

	if(dividedata==null){
		return false;
	}
	else{
		var dia = dividedata[1];
		var mes = dividedata[3];
		var ano = dividedata[4];

		if((dia<1 || dia>31 || mes <1 || mes>12 || ano<1900 || ano > 2100)||
		((mes==4 || mes==6 || mes==9 || mes==11)&& dia >30) ||
		(mes==2 && dia>29) || (mes==2 && dia==29 && !ano_bi(ano))){
			return false;
		}
	}
	return true;
}

function BuscaCombo(in_sFormName, in_sInputName, in_sSelectName){
	sSearchString = document.forms[in_sFormName].elements[in_sInputName].value.toUpperCase();
	iSearchTextLength = sSearchString.length;

	for (j=0; j < document.forms[in_sFormName].elements[in_sSelectName].options.length; j++){
		sOptionText = document.forms[in_sFormName].elements[in_sSelectName].options[j].text;
		sOptionComp = sOptionText.substr(0, iSearchTextLength).toUpperCase();

		if(sSearchString == sOptionComp){
			document.forms[in_sFormName].elements[in_sSelectName].selectedIndex = j;
			break;
		}
	}
}

function soNumeros(){
	if ((event.keyCode > 0 && event.keyCode < 48) || (event.keyCode > 57 && event.keyCode < 255)) event.returnValue = false;
}

function Mascarar_CEP(keypress, objeto){
	campo = eval (objeto);
	caracteres = '1234567890';
	if ((caracteres.search(String.fromCharCode (keypress)) == -1) || (keypress == 36) || (keypress == 41) || (keypress == 46) || (keypress == 94) || (keypress == 124)) {
		event.returnValue = false;
	}
	else {
		if (campo.value.length == 5 ) {
	 		campo.value = campo.value;
	 		campo.value = campo.value + '-';
		}
	}
}

function Mascarar_Data(keypress, objeto){
	campo = eval (objeto);
	caracteres = '1234567890';
	if ((caracteres.search(String.fromCharCode (keypress)) == -1) || (keypress == 36) || (keypress == 41) || (keypress == 46) || (keypress == 94) || (keypress == 124)) {
		event.returnValue = false;
	}
	else {
		if (campo.value.length == 2 ) {
	 		campo.value = campo.value;
	 		campo.value = campo.value + '/';
		}
		if (campo.value.length == 5 ) {
	 		campo.value = campo.value;
	 		campo.value = campo.value + '/';
		}
	}
}

function Valida_CNPJ(cnpj) {
	var erro = true;
	var aux_cnpj = "";
	var cnpj1=0,cnpj2=0;
	for(j=0;j<cnpj.length;j++)
		if(cnpj.substr(j,1)>="0" && cnpj.substr(j,1)<="9")
			aux_cnpj += cnpj.substr(j,1);
	if(aux_cnpj.length!=14)
		erro = false;
	else {
		cnpj1 = aux_cnpj.substr(0,12);
		cnpj2 = aux_cnpj.substr(aux_cnpj.length-2,2);
		fator = "543298765432";
		controle = "";
		for(j=0;j<2;j++) {
			soma = 0;
			for(i=0;i<12;i++)
				soma += cnpj1.substr(i,1) * fator.substr(i,1);
			if(j==1) soma += digito * 2;
			digito = (soma * 10) % 11;
			if(digito==10) digito = 0;
			controle += digito;
			fator = "654329876543";
		}
		if(controle!=cnpj2)
			erro = false;
	}
	return erro;
}

function Valida_CPF(obj) {
	s = obj.value.toString().replace(/[^0-9]+/g, '');
	var varFirstChr = s.charAt(0);
	var vaCharCPF = false;
	soma=0;
	for ( i=0; i<9; i++ ) {
		soma += (10-i) * ( eval(s.charAt(i)) );
	}
	digito_verificador = 11-(soma % 11);
	if ((soma % 11) < 2)
		digito_verificador = 0;
	if ( eval(s.charAt(9)) != digito_verificador ) {
		return false;
	}

	soma=0;
	for ( i=0; i<9; i++ ) {
		soma += (11-i) * ( eval(s.charAt(i)) );
	}
	soma += 2 * ( eval(s.charAt(9)) );
	digito_verificador = 11-(soma % 11);
	if ((soma % 11) < 2)
		digito_verificador = 0;
	if ( eval(s.charAt(10)) != digito_verificador ) {
		return false;
	}
	return true;
}

function PulaCampo(objeto1, objeto2, tamanho){
	if(objeto1.value.length == tamanho){
		objeto2.focus();
	}
}

function filtra_numero(campo) {
	texto = campo.value;
	tam = texto.length;
	var numeros = '';
	for(i = 0; i < tam; i++) {
		str = texto.substr(i,1);
		if (str == '0') {
			numeros += str;
		}
		else {
			if (parseInt(str)) {
				numeros += str;
			}
		}
	}
	campo.value = numeros;
}

function isCxAlta(caracteres) {
	var validos = "ABCD"

	for (var i=0; i < caracteres.length; i++) {
		var temp = "" + caracteres.substring(i, i+1);
		if (validos.indexOf(temp) == "-1")
			return false;
	}
	return true;
}

function Executar(alvo, var01){
	document.form_param.action = alvo;
	document.form_param[0].value = var01;
	/*
	Verifica se foram passados argumentos adicionais
	e faz um loop pra montar o form. Os campos devem
	ser definidos em um formulario de nome form_param.
	O nome dos campos é indiferente.
	*/
	var numArgs = parseInt(Executar.arguments.length - 1);

	if(numArgs > 1){
		for(i=1; i < numArgs; i++){
			var j = parseInt(i+1);
			document.form_param[i].value = Executar.arguments[j];
			//alert(numArgs+' '+document.form_param[i].value);
		}
	}
	document.form_param.submit();
}

function Move(fbox, tbox) {
	/*
	Função para se usada em dois combos "select" de múltipla escolha;
	Para fazer uso desta função com PHP é necessário que o nome dos combos seja da
	seguinte forma: "exemplo[]" o PHP já le este nome como um array enquanto no JS
	deve ser passado para a função assim: "this.form.elements['exemplo[]']";
	No botão de envio deve ter um onClick chamando afunção selectAll que vai
	selecionar todos os valores do segundo combo para ser enviado.
	*/
	var arrFbox = new Array();
	var arrTbox = new Array();
	var arrLookup = new Array();
	var i;
	var len = tbox.options.length;
	
	for (i = 0; i < len; i++) {
		arrLookup[tbox.options[i].text] = tbox.options[i].value;
		arrTbox[i] = tbox.options[i].text;
	}
	var fLength = 0;
	var tLength = arrTbox.length;
	var len2 = fbox.options.length;
	var o_fbox = fbox.options;
	
	for(i = 0; i < len2; i++) {
		arrLookup[o_fbox[i].text] = o_fbox[i].value;
		if (o_fbox[i].selected && o_fbox[i].value != "") {
			arrTbox[tLength] = o_fbox[i].text;
			tLength++;
		}
		else {
			arrFbox[fLength] = o_fbox[i].text;
			fLength++;
		 }
	}
	arrFbox.sort();
	arrTbox.sort();
	fbox.length = 0;
	tbox.length = 0;
	var c;
	var len3 = arrFbox.length;
	
	for(c = 0; c < len3; c++) {
		var no = new Option();
		no.value = arrLookup[arrFbox[c]];
		no.text = arrFbox[c];
		fbox[c] = no;
	}
	var len4 = arrTbox.length;
	for(c = 0; c < len4; c++) {
		var no = new Option();
		no.value = arrLookup[arrTbox[c]];
		no.text = arrTbox[c];
		tbox[c] = no;
	 }
}

function selectMove(sbox, dbox) {
	// sbox origem
	// dbox destino

	var arrLookup = new Array();
	var arS = new Array();
	var len = sbox.options.length;

	for (var i = len-1; i >= 0; i--) {
		if (sbox.options[i].selected) {
			arrLookup[arrLookup.length] = new Array(sbox.options[i].value, sbox.options[i].text);
			sbox.remove(i);
		}
	}

	var len3 = arrLookup.length;

	for(var c = 0; c < len3; c++) {
		var no = document.createElement("OPTION");
		no.value = arrLookup[c][0];
		no.text = arrLookup[c][1];

		dbox.options.add(no);
	}
}

function SelectAll(box) {
	/*
	Seleciona todos os elementos de um campo múltiplo
	*/
		var opt, a, i;
		i = 0;
		if (box.type == 'select-multiple'){
		while (opt = box[i++]){
			opt.selected = true;
		}
	}
}

function soNumeroReal(){
	if ((event.keyCode == 46) || (event.keyCode >= 48 && event.keyCode <= 57)) {
			event.returnValue = true;
	} else {
			event.returnValue = false;
	}
}

function checkKPress() {
	// 78 - N
	// 67 - C
	// 17 - ctrl
	if (event.ctrlKey)
	if ((event.keyCode == 78)
		|| (event.keyCode == 67)
		|| (event.keyCode == 17)
		|| (event.keyCode == 104))
		event.returnValue = false;
}

function FormataValor(tecla, objeto, tammax) {

	campo = eval(objeto);

	vr = campo.value;
	vr = vr.replace( "/", "" );
	vr = vr.replace( "/", "" );
	vr = vr.replace( ",", "" );
	vr = vr.replace( ".", "" );
	vr = vr.replace( ".", "" );
	vr = vr.replace( ".", "" );
	vr = vr.replace( ".", "" );
	tam = vr.length;

	if(tam < tammax && tecla != 8){
		tam = vr.length + 1 ;
	}
	if(tecla == 8){
		tam = tam - 1 ;
	}
	if(tecla == 8 || tecla >= 48 && tecla <= 57 || tecla >= 96 && tecla <= 105){
		if( tam <= 2 ){
	 		campo.value = vr ;
		}
	 	if((tam > 2) && (tam <= 5)){
	 		campo.value = vr.substr(0, tam - 2) + ',' + vr.substr(tam - 2, tam);
		}
	 	if((tam >= 6) && (tam <= 8)){
	 		campo.value = vr.substr(0, tam - 5) + '.' + vr.substr(tam - 5, 3) + ',' + vr.substr(tam - 2, tam);
		}
	 	if((tam >= 9) && (tam <= 11)){
	 		campo.value = vr.substr(0, tam - 8) + '.' + vr.substr(tam - 8, 3) + '.' + vr.substr(tam - 5, 3) + ',' + vr.substr(tam - 2, tam);
		}
	 	if((tam >= 12) && (tam <= 14)){
	 		campo.value = vr.substr(0, tam - 11) + '.' + vr.substr(tam - 11, 3) + '.' + vr.substr(tam - 8, 3) + '.' + vr.substr(tam - 5, 3) + ',' + vr.substr(tam - 2, tam);
		}
	 	if((tam >= 15) && (tam <= 17)){
	 		campo.value = vr.substr(0, tam - 14) + '.' + vr.substr(tam - 14, 3) + '.' + vr.substr(tam - 11, 3) + '.' + vr.substr(tam - 8, 3) + '.' + vr.substr(tam - 5, 3) + ',' + vr.substr(tam - 2, tam);
		}
	}
}

function number_format(valor, dec) {
	valor = valor.toString();
	ponto = valor.indexOf(".");
	if(dec == 0) {
		return parseInt(valor);
	}

	if(ponto == -1) {
		valor += ".";
		for(i = 1; i <= dec; i++) {
			valor += "0";
		}
		resultado = valor;
	}
	else {
		numdec = valor.length - ponto - 1;
		if(numdec == dec) {
			resultado = valor;
		}
		else if(numdec > dec) {
			parte1 = valor.substring(0, ponto);
			parte2 = valor.substring(ponto + 1, valor.length);
			parte2 = parte2.substring(0, dec);
			resultado = parte1 + '.' + parte2;
		}
		else if(numdec < dec) {
			parte1 = valor.substring(0, ponto);
			parte2 = valor.substring(ponto + 1, valor.length);

			for(i = parte2.length; i < dec; i++) {
				parte2 += "0";
			}
			resultado = parte1 + '.' + parte2;
		}
	}
	return resultado;
}

function valida_char(campo) {
	var validos = "abcdefghijklmnopqrstuvwxyz0123456789_-"
	var retorno = true;
	var temp;
	for (var i=0; i< campo.length; i++) {
		temp = "" + campo.substring(i, i+1);
		if (validos.indexOf(temp) == "-1"){
			retorno = false;
		}
	}
	return retorno;
}

function findObj(name) {
	if (document.getElementsByName(name).length) {
		if (document.getElementsByName(name).length == 1)
			return document.getElementsByName(name)[0];
		else
			return document.getElementsByName(name);
	}
	else
		return document.getElementById(name);
}

function mask_data(value){
	value = value.toString().replace(/[^0-9]+/g, '');
	if (r = value.match(/^([0-9]{2})([0-9]{2})([0-9]+)$/))
		return r[1] + '/' + r[2] + '/' + r[3];
	return value;
}

function blurCPF(obj) {
	if (obj.value && !Valida_CPF(obj)) {
		alert("CPF inválido!");
		obj.value= '';
	}
}

function blurDATA(obj) {
	if (obj.value) {
		obj.value = mask_data(obj.value);

		if (!valida_data(obj.value)) {
			alert("Data inválida!");
			obj.value= '';
		}
	}
}

function clearCombo(obj) {
	while (obj.options.length)
		obj.remove(0);

	var op = document.createElement('OPTION');
	op.value = '';
	op.text = '- - SELECIONE - -';

	obj.options.add(op);
}

function wOpen(page, name, iWidth, iHeight, scroll) {
	if (!scroll)
		scroll = 1;
	iWidth=(!iWidth)?590:iWidth;
	iHeight=(!iHeight)?550:iHeight;

	vTop=((window.screen.availHeight/2)-(iHeight/2));
	vLeft=((window.screen.availWidth/2)-(iWidth/2));

	wWindow = window.open(page, name, "height="+iHeight+", width="+iWidth+", slocation=0, scrollbars=" + scroll + ", status=0, left="+vLeft+", top="+vTop);
	wWindow.focus();
	return wWindow;
}

/*function getCombo(tipo, campoRetorno, filtro, params) {
	if (document.forms[0]) {
		with (document.forms[0]) {
			var __action = action;
			var __target = target;
			var __onsubmit = onsubmit;

			try {
				action = 'util/get_combo.php?cr=' + campoRetorno + '&tipo=' + tipo + '&filtro=' + filtro + params;
				target = 'fr_get_combo';
				onsubmit = '';

				submit();
			}
			finally {
				action = __action;
				target = __target;
				onsubmit = __onsubmit;
			}
		}
	}
	else {
		alert("Deverá ter pelo menos um form!");
	}
}*/

//Classe q monta combo************************
function GetCombo(tipo, destino, form) {
	if (!form)
		form = document.forms[0];

	this.tipo = tipo; // tipo eh uma identificação
	this.destino = destino; // campo de destino

	this.params = new Array();

	this.addParams = function (name, value) {
		value = value.toString().replace(/[ ]+/g, '');

		if (value)
			this.params[this.params.length] = new Array(name, value);
	}

	this.getParams = function () {
		var params = '';
		for (var x = 0; x < this.params.length; x++)
			params += '&' + this.params[x][0] + '=' + this.params[x][1];

		return params;
	}

	this.get = function () {
		if (form) {
			with (form) {
				var __action = action;
				var __target = target;
				
				if (typeof onsubmit != "undefined")
					var __onsubmit = onsubmit;

				try {
					action = 'http://' + window.location.host + '/cefap/util/get_combo.php?destino=' + this.destino + '&tipo=' + this.tipo + this.getParams();
					target = 'fr_get_combo';
					onsubmit = '';

					submit();
				}
				finally {
					action = __action;
					target = __target;
					onsubmit = __onsubmit;
				}
			}
		}
		else {
			alert("Deverá ter pelo menos um form!");
		}
	}
}
//Classe q monta combo************************

function strReplace(value, antStr, newStr) {
	while (value.indexOf(antStr) != -1) {
		value=value.replace(antStr, newStr);
	}
	return value;
}

function strToFloat(value) {
	value = value.toString();
	value = strReplace(value, ".", "");
	value = (strReplace(value, ",", ".")*1);
	return value;
}

function floatToStr(value) {
	value = value.toString();
	return formatFloat(strReplace(value, ".", ","));
}

function formatFloat(value) {
	if (value == 0)
		return "0,00";
	value = value.toString();

	if (value == parseFloat(value)) {
		value = strReplace(value, ".", ",");
	}
	else {
		value = strReplace(value, ".", "");
	}

	Dec = '00';
	Int = '0';
	if (value.indexOf(',') != -1) {
		Int = value.substring(0, value.indexOf(','));
		Dec = value.substring(value.indexOf(',') + 1);
	}
	else {
		Int = value;
	}


	if (Dec.length > 2) {
		Dec = Dec.substring(0, 2);
	}
	else {
		while (Dec.length < 2)
			Dec += '0';
	}

	Int = (Int*1);
	Int = Int.toString();
	aux = '';
	for (x = 1 ; x <= Int.length; x++) {
		sep = (((x % 3) == 0) && (x != Int.length))?'.':'';
		aux = sep + (Int.substring(Int.length - x, Int.length - x+1)) + aux;
	}
	Int = aux;

	return (Int + ',' + Dec);
}
