// versão 1.0
<!--
	// Desabilita tecla F11
	document.onkeydown = function () {
		if (122 == event.keyCode) {
			event.keyCode = 0;
			return false;
		}
	}
	// Troca titulo da Pagina
	var titulo = "Acompanhamento de Entregas";
	switch(pegaIdioma()) {
		case 'en_US' : titulo = "Acompanhamento de Entregas"; break;
		case 'es_ES' : titulo = "Acompanhamento de Entregas"; break;
	}
	document.title = titulo;

    function mostraProgVer() {
	    var titulo = "Acompanhamento de Entregas";
	    switch(pegaIdioma()) {
		    case 'en_US' : titulo = "Acompanhamento de Entregas"; break;
		    case 'es_ES' : titulo = "Acompanhamento de Entregas"; break;
	    }
	    var prg = getElementById_s('programa');
	    var ver = getElementById_s('versao');
	    titulo += (prg)? " - " + prg.innerHTML : "";
	    titulo += (ver)? " (" + ver.innerHTML + ")" : "";
	    document.title = titulo;
    }

	// getElementById Special to handle quirky browsers
	// most will use getElementById()
	function getElementById_s(id) {
		var obj = null;
		if(document.getElementById) {
			/* Prefer the widely supported W3C DOM method, if
			available:-
			*/
			obj = document.getElementById(id);
		} else if(document.all) {
			/* Branch to use document.all on document.all only
			browsers. Requires that IDs are unique to the page
			and do not coincide with NAME attributes on other
			elements:-
			*/
			obj = document.all[id];
		}
		/* If no appropriate element retrieval mechanism exists on
		this browser this function always returns null:-
		*/
		if(obj) return obj;
		return getElementByName_s(id);
	}

	function getElementByName_s(elm) {
		var obj = null;
		var x=document.getElementsByName(elm);
		for(var i=0;i<x.length;i++) {
				return x[i];
			}
		return obj;
	}

	function ativa_elem(elm, opt)	{
		var elmref = document.getElementById(elm);
		if(elmref)
		{
			if(opt)
				elmref.style.display = "";
			else
				elmref.style.display = "none"; 
		}
	}

	function habilita_elem(elm, opt)	{
		var elmref = document.getElementById(elm);
		if(elmref)
		{
			elmref.disabled = !opt;
		    if(elmref.type == 'text') {
                elmref.className = (opt)? "cedit" : "cedit_disabled";
            }
            var tag = elmref.tagName.toLowerCase();
            if(tag == 'fieldset') {
                var children=elmref.getElementsByTagName("input");
                for(var i=0;i<children.length;i++) {
                    if(children[i].type == 'text') {
                        children[i].className = (opt)? "cedit" : "cedit_disabled";
                    }
                    children[i].disabled = !opt;
                }
            }
		} else {
		    alert("Não pegou o elemento '" + elm + "'.");
		}
	}

	function isenable_elem(elm)	{
//		var elmref = document.getElementById(elm);
		var elmref = getElementById_s(elm);
		if(elmref) {
			if(elmref.disabled == true) return false;
		}
		return true;
	}

	function pegaFoco(elm, modo) {
		var elmref = getElementById_s(elm);
		if(elmref && !elmref.disabled) {
		    try {
			    elmref.focus();
			    if(elmref.type == 'text') elmref.select();
			} catch (err) {
				if(!modo) return;
				if(modo == false) return;
				var tit = (elmref.title == '')? elmref.name : elmref.title;
				txt="Houve um erro focando o elemento '" + tit + "'.\n";
				txt+="Descrição do erro: " + err.description;
				alert(txt);
			}
		}
	}
	function mudaCursor(obj, option)	{
		if(option)
			obj.style.cursor='pointer';
		else
			obj.style.cursor='default';
	}

	function getAjaxObj() {
		var ajax = null;
		//verifica se o browser tem suporte a ajax
		try {
			ajax = new ActiveXObject("Microsoft.XMLHTTP");
		} catch(e) {
			try {
				ajax = new ActiveXObject("Msxml2.XMLHTTP");
			} catch(ex) {
				try {
					ajax = new XMLHttpRequest();
				} catch(exc) {
					ajax = null;
					return ajax;
				}
			}
		}
		return ajax;
	}

	function carrega_elm(idelem, item, modo) {
		var conteudo = "";
		var node = item.getElementsByTagName(idelem);
		if(node != null) {
			try {
				var child = node[0].firstChild;
				if(child != null) {
					conteudo = child.nodeValue;
				}
			} catch (err) {
				txt="Houve um erro buscando o elemento '" + idelem + "'.\n";
				txt+="Descrição do erro: " + err.description;
				alert(txt);
			}
		}
		var elmref = eval("document.getElementById('" + idelem + "')");
		if(elmref) {
			if(modo == 'innerHTML') {
				if(conteudo != "") elmref.innerHTML = conteudo;
			} else elmref.value = conteudo;
		}
		return conteudo;
	}

	function pega_elm(idelem, item, modo) {
		var conteudo = "";
		var node = item.getElementsByTagName(idelem);
		if(node != null) {
			try {
				var child = node[0].firstChild;
				if(child != null) {
					conteudo = child.nodeValue;
				}
			} catch (err) {
				if(!modo) return '';
				txt="Houve um erro buscando o elemento '" + idelem + "'.\n";
				txt+="Descrição do erro: " + err.description;
				alert(txt);
			}
		}
		return conteudo;
	}

	function pega_conteudo(idelem) {
		var conteudo = "";
		var node = getElementById_s(idelem);
		if(node != null) {
			conteudo = node.value;
		}
		return conteudo;
	}

	function getChecked(elm) {
		var busca = "";
		var x=document.getElementsByName(elm);
		for(var i=0;i<x.length;i++) {
			if(x[i].checked == true) {
				busca = x[i].value;
			}
		}
		return busca;
	}

	function putChecked(elm,value) {
		var x=document.getElementsByName(elm);
		for(var i=0;i<x.length;i++) {
			if(x[i].value == value) {
				x[i].checked = true;
			}
		}
	}

    function getCheckBox(elm) {
	    var elmref = getElementById_s(elm);
	    if(elmref) {
	        if(elmref.checked) return "S";
	        return "N";
	    }
	    return "";
    }

    function putCheckBox(elm,value) {
	    var elmref = getElementById_s(elm);
	    if(elmref) {
	        var opt = (value=="S")? true : false;
	        elmref.checked = opt;
	    }
    }

    function preencheArray(ob) {
        selected = new Array();
        for (var i = 0; i < ob.options.length; i++)
            if (ob.options[ i ].selected)
                selected.push(ob.options[ i ].value);
        return selected;
    }

    function getSelectedText(elm) {
        var txt = "";
        var ob = getElementById_s(elm);
        if(ob) {
            for (var i = 0; i < ob.options.length; i++)
                if (ob.options[ i ].selected)
                    txt = ob.options[ i ].text;
        }
        return txt;
    }

	function verificaCampo(campo, opt) {
		var elmref = document.getElementById(campo);
		if(elmref) {
			if(elmref.value == opt)	{
				var tit = (elmref.title == '')? elmref.name : elmref.title;
				var msg = "Campo "+tit+" está inválido!";
				switch(pegaIdioma()) {
					case 'en_US' : msg = tit+" field is invalid!"; break;
					case 'es_ES' : msg = "El campo "+tit+" es inválido!"; break;
				}
				alert(msg);
				pegaFoco(campo);
				return null;
			}
			return elmref.value;
		}
	}

    function verificaData(campo) {
		var elmref = document.getElementById(campo);
		if(elmref) {
            var res = VerifyDate(elmref.value);
            if(res != '') {
    		    alert(pegaAlerta(7) + res);
				pegaFoco(campo);
				return null;
			}
			return elmref.value;
		}
    }

	function formatar(src, mask) {
		var i = src.value.length;
		var saida = mask.substring(i,i+1);
		var ascii = event.keyCode;
		if (saida == "A") {
			if ((ascii >=97) && (ascii <= 122)) { event.keyCode -= 32; }
			else { event.keyCode = 0; }
		} else if (saida == "0") {
			if ((ascii >= 48) && (ascii <= 57)) { return }
			else { event.keyCode = 0 }
		} else if (saida == "#") {
			return;
		} else {
			src.value += saida;
			i += 1
			saida = mask.substring(i,i+1);
			if (saida == "A") {
				if ((ascii >=97) && (ascii <= 122)) { event.keyCode -= 32; }
				else { event.keyCode = 0; }
			} else if (saida == "0") {
				if ((ascii >= 48) && (ascii <= 57)) { return }
				else { event.keyCode = 0 }
			} else { return; }
		}
	}

	function ajaxWait(param) {
		var opt = (param)? true : false;
//		if(opt) { alert("Sem"); } else { alert("Com"); }
	    var act = (opt)? param : "carregando";
		var msg = "Aguarde, "+act+"...";
		switch(pegaIdioma()) {
			case 'en_US' : msg = "Wait, loading..."; break;
			case 'es_ES' : msg = "Espera, cargando..."; break;
		}
		var ajaxw = "<img border='0' src='imagens/ajax-loader.gif' width='32' height='32' style='vertical-align: middle'>&nbsp;"+msg;
		if(!opt) ajaxw = "<p>"+ajaxw+"</p>";
		return ajaxw;
	}

	// toNumber() – a convenience function to convert a variable to a number.
	function toNumber(x) {
		// return the numerical value of x only if it is completely numeric
		switch ( typeof(x) )
		{
			case "number":
				return x;
			case "string":
				var n = parseInt(x);
				if ( !isNaN(n) && ("A"+n == "A"+x) ) return n;
				if ( !isNaN(x) ) return n;
				break;
			default:
				break;
		}
		// otherwise return undefined
	}

	function getErrorXML(xml) {
		if(!xml) return "XML retornado é nulo.\n";
		var msg = "";
		if(document.getElementById && !document.all) {
			var myErr = xml.parseError={ 'errorCode':0 };
			if(myErr.errorCode != 0) {
				msg = "Houve erro no XML retornado.\n" + myErr.reason;
			}
		} else {
			if(xml.parseError.errorCode != 0) {
				var myErr = xml.parseError;
				msg = "Houve erro no XML retornado.\n" + myErr.reason;
			}
		}
		return msg;
	}

	function verificaMouse(e) {
		var targ
		if (!e) var e = window.event
		if (e.target) targ = e.target
		else if (e.srcElement) targ = e.srcElement
		if (targ.nodeType == 3) // defeat Safari bug
			targ = targ.parentNode
		var tname
		tname=targ.tagName
		if (e.button==2) {
			if ( targ.disabled || !(tname == 'INPUT' || tname == 'SELECT' || tname == 'TEXTAREA')) {
				//alert("You clicked the right mouse button!\non a " + tname + " element.")
				alert("Função desabilitada!");
			}
		}
	}

	function loadXMLDoc(dname) {
		var xmlDoc = null;
		// code for IE
		if (window.ActiveXObject) {
			xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
		}
		// code for Mozilla, Firefox, Opera, etc.
		else if (document.implementation && document.implementation.createDocument) {
			xmlDoc=document.implementation.createDocument("","",null);
		} else {
			var msg = "Seu navegador não pode usar esta rotina";
			switch(pegaIdioma()) {
				case 'en_US' : msg = "Your browser cannot handle this script."; break;
				case 'es_ES' : msg = "Ese explorador no puede usar esta rotina."; break;
			}
			alert(msg);
		}
		xmlDoc.async=false;
		xmlDoc.load(dname);
		return(xmlDoc);
	}

	function trocaLingua(tag, elm, lbl)
	{
		switch(tag)
		{
			case 'td' : {
				var x=document.getElementsByName(elm);
				for(var i=0;i<x.length;i++){x[i].innerHTML = lbl;}
				break;
			}
			case 'button' : {
				var x=document.getElementsByName(elm);
				for(var i=0;i<x.length;i++){x[i].innerHTML = lbl;}
				break;
			}
			case 'input' : {
				var x=document.getElementsByName(elm);
				for(var i=0;i<x.length;i++){x[i].value = lbl;}
				break;
			}
			case 'p' : 
			case 'legend' : 
			case 'span' : 
			case 'option' : 
			case 'label' : {
				var elmref = document.getElementById(elm);
				if(elmref)
					elmref.innerHTML = lbl;
				break;
			}
		}
	}

	function carregaIdioma(prgm, lang, opt) {
		var file = lang + "/lingua.xml";
		var xmlDoc=loadXMLDoc(file);
		if(xmlDoc) {
			//pega a tag do programa
			var dataArray = xmlDoc.getElementsByTagName(prgm);

			//total de elementos contidos na tag do programa
			if(dataArray.length > 0) {
				//percorre o arquivo XML paara extrair os dados
				for(var i = 0 ; i < dataArray.length ; i++) {
					var item = dataArray[i];
					//contéudo dos campos no arquivo XML
					var nome = pega_elm("nome", item);
					var tipo = pega_elm("tipo", item);
					var cont = pega_elm("conteudo", item);
//					alert("nome:"+nome+" tipo:"+tipo+" conteudo:"+cont);
					if(opt) {
						trocaLingua(tipo, nome, cont);
					} else {
						if(tipo == 'td' || tipo == 'label' || tipo == 'button') trocaLingua(tipo, nome, cont);
					}
				}
//			} else {
//				alert("Programa '"+prgm+"' não encontrado para o idioma '"+lang+"'");
			}
		}
	}

	function pegaIdioma() {
		var lang = getElementById_s('lang');
		if(lang) return lang.value;
		return 'pt_BR';
	}

	function verificaIdioma(prgm, opt) {
		var lang = pegaIdioma();
		if(lang != 'pt_BR') carregaIdioma(prgm, lang, opt);
	}
	
	function pegaAlerta(id) {
		var lang = pegaIdioma();
		var msg = "";
		switch(lang) {
			case 'en_US' : {
				switch(id) {
					case 1 : msg = "This browser don't have resources for Ajax."; break;
					case 2 : msg = "Don't get the output element "; break;
					case 3 : msg = "Have a problem with your solicitation."; break;
					case 4 : msg = "ATTENTION!\n"; break;
					case 5 : msg = "Wait, loading..."; break;
					case 6 : msg = "Don't retrieve data!"; break;
					case 7 : msg = "Invalid Date.\n"; break;
				}
				break;
			}
			case 'es_ES' : {
				switch(id) {
					case 1 : msg = "Ese explorador no tiene recursos para el uso de AJAX."; break;
					case 2 : msg = "No tomo o elemento de salida "; break;
					case 3 : msg = "Hubo un problema con su solicitud."; break;
					case 4 : msg = "ATENCIÓN!\n"; break;
					case 5 : msg = "Espera, cargando..."; break;
					case 6 : msg = "No consegui retornar datos!"; break;
					case 7 : msg = "Fecha invalida.\n"; break;
				}
				break;
			}
			default : {
				switch(id) {
					case 1 : msg = "Esse browser não tem recursos para uso do Ajax."; break;
					case 2 : msg = "Não pegou o elemento de saída."; break;
					case 3 : msg = "Houve um problema com sua solicitação.\n"; break;
					case 4 : msg = "ATENÇÃO!\n"; break;
					case 5 : msg = "Aguarde, carregando..."; break;
					case 6 : msg = "Não conseguiu retornar dados!"; break;
					case 7 : msg = "Data Inválida.\n"; break;
				}
			}
		}
		return msg;
	}
//-->
