
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}

function carrega_imagens(){
	MM_preloadImages('img/menu_empresa_on.jpg','img/menu_produtos_on.jpg','img/menu_lancamentos_on.jpg','img/menu_promocoes_on.jpg','img/menu_comocomprar_on.jpg','img/menu_contato_on.jpg','img/menu_indique_on.jpg')	
}

	/*------------------------------------------------------
	'Método: tratarNumero
	'Finalidade: Permitir digitar somente números
	'Parametros: e: codigo keyascii
	'			 pCaracteresAdicionais: caracteres validos alem dos numeros
	'Retorno: Não há
	'Exemplo: onKeyPress="return(tratarNumero(event,pCaracteresAdicionais))"
	------------------------------------------------------*/
	function tratarNumero(e,pCaracteresAdicionais) { 
		var key = '';
		var len = len2 = 0;
		var strCheck = '0123456789' + pCaracteresAdicionais;
		var codigo = (window.Event) ? e.which : e.keyCode;
		if (codigo == 13) return true;  // Tecla Enter
		if (codigo == 8) return true;  // Tecla Backspace
		//if (e.keyCode == 46) return true;  // Tecla Delete
		if (e.keyCode == 37) return true;  // seta para esquerda
		if (e.keyCode == 39) return true;  // seta para direita

		key = String.fromCharCode(codigo);  // Pega o valor de "key"
		if (strCheck.indexOf(key) == -1)
			return false; // Nao é uma tecla valida	
		else  
			return true; // É uma tecla valida	
	}

	/*------------------------------------------------------
	'Método: validarCampos
	'Finalidade: Validar prrenchimento do campo do formulário
	'Parametros: campo: objeto campo
	'			 validacao: tipo de validação
	'Retorno: True/False
	'Exemplo: validarCampos(document.form.campo,'Vazio')
	------------------------------------------------------*/
	function validarCampos(campo,validacao) {
		//Retira espaços em branco
		campo.value = Trim(campo.value);

		// Verifica se o campo não é vazio.
		if (validacao == 'Vazio') {
			if (campo.value == '') {
				if ((campo.type == 'text') || (campo.type == 'textarea') || (campo.type == 'password') || (campo.type == 'file'))
					alert('O campo ' + campo.title + ' não pode ser vazio.');
				else if (campo.type == 'select-one')
					alert('Selecione uma opção do campo ' + campo.title + '.');

				campo.focus();
				return false;
			}
		}
		// Verifica se o campo tem um endereço de email válido
		if (validacao == 'Email') {
			if (campo.value != '') {
				prim = campo.value.indexOf("@")
				if ((prim < 2) || (campo.value.indexOf("@",prim + 1) != -1) || (campo.value.indexOf(".") < 1) || (campo.value.indexOf(" ") != -1) || (campo.value.indexOf(".@") > 0) || (campo.value.indexOf("@.") > 0) || (campo.value.indexOf(".com.br.") > 0) || (campo.value.indexOf("/") > 0) || (campo.value.indexOf("[") > 0) || (campo.value.indexOf("]") > 0) || (campo.value.indexOf("(") > 0) || (campo.value.indexOf(")") > 0) || (campo.value.indexOf("..") > 0)) {
					alert('O campo ' + campo.title + ' deve ter um endereço de e-mail válido.');
					campo.focus();
					return false;
				}
			}
		}
		// Verifica se o campo tem um CEP formatado
		if (validacao == 'CEP') {
			if (campo.value != '') {
				if (!parseInt(campo.value.replace('-',''))) {
					alert('O campo ' + campo.title + ' deve ter um CEP no formato 00000-000.');
					campo.focus();
					return false;
				}
			}
		}

		// Verifica se o campo tem uma data válida
		if (validacao == 'Data') {
			if ((ValidaData(campo.value) != 'true') && (campo.value != '' )) {
				alert('Data - ' + (ValidaData(campo.value)));
				campo.focus();
				return false;
			}
		}		
	
		return true;
	}

	function pula(name,campo,x,proximo) {
	// => Utilizacao:  PULA('<FORM>','<origem>',<caracteres>,'<destino>')
		var txt = document[name][campo].value;
		if (txt.length >= x){
			document[name][proximo].focus();
		}
	}

    function limpa_string(S){
       // Deixa so' os digitos no numero
       var Digitos = "0123456789";
       var temp = "";
       var digito = "";
       for (var i=0; i<S.length; i++){
           digito = S.charAt(i);
           if (Digitos.indexOf(digito)>=0){temp=temp+digito}
       }
       return temp
    }
	
    function valida_CPF(s)
	{
		var i;
		s = limpa_string(s);
		var c = s.substr(0,9);
		var dv = s.substr(9,2);
		var d1 = 0;
		for (i = 0; i < 9; i++)	{
			 d1 += c.charAt(i)*(10-i);
		}
		if (d1 == 0) return false;
		  d1 = 11 - (d1 % 11);
		if (d1 > 9) d1 = 0;
		if (dv.charAt(0) != d1){
			return false;
		}
		d1 *= 2;
		for (i = 0; i < 9; i++)
  	    {
			d1 += c.charAt(i)*(11-i);
		}
		d1 = 11 - (d1 % 11);
		if (d1 > 9) d1 = 0;
		 if (dv.charAt(1) != d1){
			return false;
		 }
		 return true;
	}
	
    function valida_CNPJ(s)
    {
  	     var i;
	     s = limpa_string(s);
	     var c = s.substr(0,12);
	     var dv = s.substr(12,2);
	     var d1 = 0;
	     for (i = 0; i < 12; i++) {
		       d1 += c.charAt(11-i)*(2+(i % 8));
	     }
         if (d1 == 0) return false;
            d1 = 11 - (d1 % 11);
	     if (d1 > 9) d1 = 0;
	     if (dv.charAt(0) != d1){
		      return false;
	     }
	     d1 *= 2;
	     for (i = 0; i < 12; i++){
			d1 += c.charAt(11-i)*(2+((i+1) % 8));
	     }
	     d1 = 11 - (d1 % 11);
	     if (d1 > 9) d1 = 0;
	     if (dv.charAt(1) != d1){
		      return false;
		 }
         return true;
      }
	
	/*------------------------------------------------------
	'Método: Trim
	'Finalidade: Retirar espaços da string
	'Parametros: texto string
	'Retorno: texto string sem espaços
	'Exemplo: Trim(texto)
	------------------------------------------------------*/
	function Trim(str) {
		while(str.charAt(0) == " ")
			str = str.substr(1,str.length -1);
		
		while(str.charAt(str.length-1) == " ")
			str = str.substr(0,str.length-1);

		return str;
	} 

	/*------------------------------------------------------
	'Método: checkAll
	'Finalidade: Selecionar todas as opções
	'Parametros: frm: objeto formulário
	'			 checkboxesPrefix: nome dos campos
	'			 checked: situação (marcado/desmarcado)
	'Retorno: Não há
	'Exemplo: onclick="checkAll(document.form1, 'agenda', this.checked);"
	------------------------------------------------------*/
	function checkAll(frm, checkboxesPrefix, checked) {
	  for (var i = 0; i < frm.elements.length; i++) {
		if (doesNameStartWith(frm.elements[i].name, checkboxesPrefix)) {
		  frm.elements[i].checked = checked;
		}
	  }
	}

	/*------------------------------------------------------
	'Método: doesNameStartWith
	'Finalidade: verificar nome do campo
	------------------------------------------------------*/
	function doesNameStartWith(itemName, itemPrefix) {
		return itemName.indexOf(itemPrefix) == 0;
	}

	/*------------------------------------------------------
	'Método: FormataData
	'Finalidade: Formatar Data
	'Parametros: campo: objeto formulário
	'			 teclapres: tecla pressionada
	'Retorno: String formatada (DD/MM/AAAA)
	------------------------------------------------------*/
	function FormataData(formulario,Campo,teclapres) {
		var tecla = teclapres.keyCode;
		vr = document[formulario][Campo].value;
		vr = vr.replace( ".", "" );
		vr = vr.replace( "/", "" );
		vr = vr.replace( "/", "" );
		vr = vr.replace( "-", "" );
		tam = vr.length + 1;

		if ( tecla != 9 && tecla != 8 && tecla != 46 && tecla != 37 && tecla != 39){
			if ( tam > 2 && tam < 5 )
				document[formulario][Campo].value = vr.substr( 0, tam - 2  ) + '/' + vr.substr( tam - 2, tam );
			if ( tam >= 5 && tam < 10 )
				document[formulario][Campo].value = vr.substr( 0, 2 ) + '/' + vr.substr( 2, 2 ) + '/' + vr.substr( 4, 4 ); 
		}
	}

	/*------------------------------------------------------
	'Método: ValidaData
	'Finalidade: Validar Data
	------------------------------------------------------*/
	function ValidaData(string) {
		bissexto = ''
		data = string
		if (data.length != 10) { return 'A data deve ser no formato DD/MM/AAAA' }
			else {
		 if (data.substring(0,4).indexOf('/') == 2) {
		  if (data.substring(3,8).indexOf('/') == 2) {
		   dia = data.substring(0,2)
		   mes = data.substring(3,5)
		   ano = data.substring(6,10)
		   if (mes < 0 || mes > 12) { return 'Mês inválido'; }
		   if (ano < 1890 || ano > 2100) { return 'Ano inválido'; }
		   if (mes == 01 || mes == 03 || mes == 05 || mes == 07 || mes == 08 || mes == 10 || mes == 12) { n_dias = 31 }
		   else if (mes == 04 || mes == 06 || mes == 09 || mes == 11) { n_dias = 30 }
		   else if (mes == 02) { if (ano % 4 == 0) { n_dias = 29 ; bissexto = 'SIM'} else { n_dias = 28 } }
		   if (dia < 0 || dia > n_dias) { return 'Dia inválido'; }
		   if (bissexto == '') bissexto = 'NÃO'
		   return 'true';
		  }
		 }
	  }
	}
	/*------------------------------------------------------
	'Método: AbreCalendario
	'Finalidade: Abrir dialogbox de calendário
	'Parametros: elTarget: campo que rebecerá a data
	'			 tipo: tipo do calendário que será aberto
	'Retorno: Não há
	------------------------------------------------------*/
	function AbreCalendario(elTarget,tipo) {
		if (showModalDialog) {
			var sRtn;
			sRtn = showModalDialog('<%=Application("URLSite")%>includes/calendario/dia.asp','','center=yes;dialogWidth=306px;dialogHeight=255px');
	
			if ((sRtn!="undefined") && (sRtn!="")) {
				elTarget.value = sRtn;
				elTarget.focus();
			}
		} else
			alert('Internet Explorer 4.0 ou superior é obrigatório.');
	}
	
	/*------------------------------------------------------
	'Método: abrePopUp
	'Finalidade: Abrir janela pop-up
	'Parametros: pLink: nome da página que será aberta
	'			 nome: nome da janela
	'			 parameters: parametros de configuração
	'Retorno: Não há
	------------------------------------------------------*/
	function abrePopUp(pLink,nome,parameters) {
		window.open(pLink,nome,parameters);
	}

	/*------------------------------------------------------
	'Método: calculaTexto
	'Finalidade: Contar quantos caracteres um campo pode ter
	'Parametros: campo (objeto)
	'			 numtotal: número máximo de caracteres
	'Retorno: Não há
	'Exemplo: onKeyUp="javascript:calcula(this, numtotal);"
	------------------------------------------------------*/
	function calculaTexto(campo, numtotal) {
		var valor = document.getElementById(campo.id).value.length
		var contar = (valor)
		//document.getElementById(contador.id).value = contar;
		if (contar > numtotal)	{ 
			document.getElementById(campo.id).value = document.getElementById(campo.id).value.substring(0, numtotal);
			//document.getElementById(contador.id).value = 0;
		}
	}

	/*------------------------------------------------------
	'Método: FormataCEP
	'Finalidade: Formatar CEP
	'Parametros: campo: objeto formulário
	'			 teclapres: tecla pressionada
	'Retorno: String CEP (00000-000)
	'Exemplo: onKeyPress="javascript:return FormataCEP(this,event);"
	------------------------------------------------------*/
	function FormataCEP(Campo,teclapres) {
		if (tratarNumero(teclapres,'') == true) {
			tecla = teclapres.keyCode;
			vr = Campo.value;
			tam = vr.length + 1;
			if ( tecla != 9 && tecla != 8 ) {
				if ( tam > 5 && tam < 8 )
					Campo.value = vr.substr(0,5) + '-' + vr.substr(7,tam);
			}
		}
		else
			return false;
	}

	/*------------------------------------------------------
	'Método: FormataHora
	'Finalidade: Formatar Hora
	'Parametros: campo: objeto formulário
	'			 teclapres: tecla pressionada
	'Retorno: String hora (00:00)
	'Exemplo: onKeyPress="javascript:return FormataHora(this,event);"
	------------------------------------------------------*/
	function FormataHora(Campo,teclapres) {
		if (tratarNumero(teclapres,'') == true) {
			tecla = teclapres.keyCode;
			tam = Campo.value.length;

			if ((tam == 0) && (tecla > 50)) 
				return false;
			else if ((tam == 1) && (Campo.value == 2) && (tecla > 51)) 
				return false;
			else if (tam == 2) {
				Campo.value = Campo.value.toString() + ":";

				if (tecla > 53) 
					return false;
			}
			else if ((tam == 3) && (tecla > 53)) 
				return false;
			else if (tam == 5)
				return false;
		}
		else
			return false;
	}

	/*------------------------------------------------------
	'Método: validaHorario
	'Finalidade: validar campo horário
	'Parametros: obj: objeto formulário
	'Retorno: -
	'Exemplo: onBlur="javascript:validaHorario(campo);"
	------------------------------------------------------*/
	function validaHorario(obj) {
		if ((obj.value.length != 5) && (Trim(obj.value) != '')) {
			alert('O campo Horário deve ser no formato HH:MM');
			obj.focus();
			return false;
		}
	}
	
	/*------------------------------------------------------
	'Método: validaCEP
	'Finalidade: validar campo CEP
	'Parametros: obj: objeto formulário
	'Retorno: -
	'Exemplo: onBlur="javascript:validaCEP(campo);"
	------------------------------------------------------*/
	function validaCEP(obj) {
		if ((obj.value.length != 9) && (Trim(obj.value) != '')) {
			alert('O campo CEP deve ser no formato 00000-000');
			obj.focus();
			return false;
		}
	}
	
	/*------------------------------------------------------
	'Método: selecionarPais
	'Finalidade: selecionar o país Brasil (padrão) e carregar estados
	'Parametros: obj: objeto formulário
	'Retorno: -
	'Exemplo: onLoad="javascript:selecionarPais(campo);"
	------------------------------------------------------*/
	function selecionarPais(obj) {
		obj.value = 31; //BRASIL
		if (document.getElementById('estado')) {
			atualizaEstado(31);
		}
	}

	/*------------------------------------------------------
	'Método: navegaGrid
	'Finalidade: navegar pelas páginas do grid
	'Parametros: -
	'Retorno: -
	'Exemplo: -
	------------------------------------------------------*/
	function navegaGrid(url,pagina,campoOrderBy,Order) {
		location.href = url + '?vNumeroPagina='+pagina+'&campoOrderBy='+campoOrderBy+'&OrderBy='+Order;
	}

	function navegaGrid_pesquisa(url,pagina,campoOrderBy,Order,str) {
		location.href = url + '?vNumeroPagina='+pagina+'&campoOrderBy='+campoOrderBy+'&OrderBy='+Order+'&str='+str;
	}
	
	/*------------------------------------------------------
	'Método: verifica_tecla
	'Finalidade: submit no formulário quando clicar <enter> para filtrar
	'Parametros: Form: nome do formulário
	'			 campoFiltro: nome do campo
	'Retorno: -
	'Exemplo: <form action="cidades_lista.asp" name="form1" method="post" onKeyPress="javascript:verifica_tecla('form1','filtro');">
	------------------------------------------------------*/
	function verifica_tecla(Form,campoFiltro){
		if (event.keyCode==13) {
			event.keyCode=0;
			var texto = Trim(document.getElementById(campoFiltro).value);
			var campo = document.getElementById(campoFiltro);
			if (texto.length < 3) {
				alert('Digite no mínimo 3 caracteres para buscar.');
				campo.focus();
				return false;
			}
			event.returnValue=document.getElementById(Form).submit();
		}
	}
	
	function exibe_ajuda()
	{
	   if (ajuda1.style.display == "none")
	   {
		 document.getElementById('btn_Ajuda').value = "OCULTAR AJUDA";
		 document.getElementById('ajuda1').style.display = "";
		 document.getElementById('ajuda2').style.display = "";
	   }
	   else
	   {
		 document.getElementById('btn_Ajuda').value = "EXIBIR AJUDA";
		 document.getElementById('ajuda1').style.display = "none";
		 document.getElementById('ajuda2').style.display = "none";
	   }
	}
	
	function exibe_excluir()
	{
	  if (document.getElementById("preview").src == 'http://www.rnginformatica.com.br/admin/img/spacer.gif')	  
	  {
		 document.getElementById("btn_Excluir").style.display = "none";
	  }
	  else
	  {
		 document.getElementById("btn_Excluir").style.display = "inline";
	  }
	}
	
	function excluir_imagem()
	{
	  document.getElementById("preview").src = '../img/spacer.gif';
	  document.getElementById("foto").value = '';
	  document.getElementById("btn_Excluir").style.display = "none";
	}
