	function menuMostra()
	{

		  oMenu = $('menu');
		  oItemMenu = $('itens_menu');
		  if (oMenu.style.overflow != 'visible' || oMenu.style.overflow == 'hidden')
		  {
			    oMenu.style.overflow = 'visible';
			    document.getElementById('menu_titulo').innerHTML = '<a href="javascript: void(menuMostra());">Menu [-]</a>';
		  } else {
			    oMenu.style.overflow = 'hidden';
			    document.getElementById('menu_titulo').innerHTML = '<a href="javascript: void(menuMostra());">Menu [+]</a>';
		  }

		  return false;

	}

	/**
	 * Validação dos dados de Formulário de Login
	 * 
	 * @example <form name="form" id="form" onsubmit="return verificaLogin('form');">
	 */

	function verificaLogin(formulario) {

		var r = true;
		var oForm = $(formulario);
		limparValidacao()
		
		if (r == true && oForm.usuario.value.trim() == "") {
			alert('O preenchimento do campo Login é obrigatório.');
			alterarCor('usuario', 'Obrigatorio');
			oForm.usuario.focus();
			r = false;
		}
		else if (r == true && oForm.usuario.value.trim() != "") {
			s = new RegExp('^[A-Za-z0-9_.-]+@([A-Za-z0-9_-]+\[.])+[A-Za-z]{2,4}$');
			v = oForm.usuario.value;
			if (v.match(s) == null && !validarCpf(v.replace(/[^0-9]/g, ''))) {
				alert('Preencher um E-mail ou CPF válido!');
				alterarCor('usuario', 'Erro');
				oForm.usuario.focus();
				r = false;
			}
		}


		if(r == true && oForm.senha.value.trim() == ""){
			alert('O preenchimento do campo Senha é obrigatório.');
			alterarCor('senha','Obrigatorio');
			oForm.senha.focus();
			r = false;
		}

		return r;

	}

	/**
     * Permite apenas a inclusão de numeross no objeto
     *
     * @param obj o campo que necessita da alteração
     * @param evt evento do documento
     * @return o valor do campo sem caracteres hexadecimais
     * @example onkeyup="return apenasNumeros(this,event);"
     *
     */
	function apenasNumeros(obj,evt){
		obj.value = obj.value.replace(/[^0-9]/g, '');
		return true;
	}
	
	/**
     * Permite apenas a inclusão de numeross no objeto
     *
     * @param obj o campo que necessita da alteração
     * @param evt evento do documento
     * @return o valor do campo sem caracteres hexadecimais
     * @example onkeyup="return apenasNumeros(this,event);"
     *
     */
	function maximoCarrinho(obj,evt){
		obj.value = obj.value.replace(/[^0-9]/g, '');
		if(obj.value < 0){
			obj.value = 0;
		}else if(obj.value > 20){
			obj.value = 20;
		}
		return true;
	}

	/**
     * Permite apenas a inclusão de numeross no objeto
     *
     * @param obj o campo que necessita da alteração
     * @param evt evento do documento
     * @return o valor do campo sem caracteres hexadecimais
     * @example onkeyup="return parcelasCartao(this,event);"
     *
     */
	function parcelasCartao(obj,evt){
		obj.value = obj.value.replace(/[^0-6]/g, '');
		return true;
	}

	/**
     * Permite apenas a inclusão de numeros no objeto
     *
     * @param obj o campo que necessita da alteração
     * @param evt evento do documento
     * @return o valor do campo sem caracteres hexadecimais
     * @example onkeyup="return parcelasPedido(this,event);"
     *
     */
	function parcelasPedido(obj,evt){
		obj.value = obj.value.replace(/[^1-3]/g, '');
		return true;
	}

	/**
     * Não permite a inclusão de numero no objeto
     *
     * @param obj o campo que necessita da alteração
     * @param evt evento do documento
     * @return o valor do campo sem caracteres hexadecimais
     * @example onkeyup="return penasNumeros(this,event);"
     *
     */
	function apenasDigitos(obj,evt){
		obj.value = obj.value.replace(/[0-9!@#$%¨&*{}?£¢¬°ºª()<>;:,\\/\[\].]/g, '');
		return true;
	}

	/**
     * Função de busca em array
     *
     * @param valor  é o valor de busca dentro do array
     * @return true se encontra o valor, false se não
     * @example return MyArray.in_array('valor buscado');
     */

	Array.prototype.in_array = function(valor) {
		var i = this.length;
		if (i > 0) {
			do {
				if (this[i] === valor) {
					return true;
				}
			} while (i--);
		}
		return false;
	}

	/**
     * Remove espaços em branco no inicio e final da String
     *
     * @return a string sem os espaços
     * @example String.trim();
     */

	String.prototype.trim = function(){
		return this.replace(/^\s+/g, '').replace(/\s+$/g, '');
	}
	
	/**
	 * Inicia o Ajax
	 */
	function start() {
	try {
		obj = new ActiveXObject("Microsoft.XMLHTTP");
	}
	catch(e) {
		try {
			obj = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch(ex) {
			try {
				obj = new XMLHttpRequest();
			}
			catch(exc) {
				alert("Esse browser não tem recursos para uso de Ajax");
				obj = null;
			}
		}
	}
	return obj;
}
	function criarElemento(tipo,id,estilo,conteudo,param) {
		var Elemento = document.createElement(tipo);
		Elemento.setAttribute('id',id);
		Elemento.setAttribute('class',estilo);
		Elemento.setAttribute('className',estilo);
		if(param){
			numParam = param.length;
			for(a=0;a<numParam;a++) {
				Elemento.setAttribute(param[a][0],param[a][1]);
			}
		}
		if(conteudo != false) { 
			Elemento.innerHTML = conteudo;
		}
		return Elemento;		
	}
	
