	// CNPJ											: remove máscara nn.nnn.nnn/nnnn-nn
	// Parâmetros								: cnpj = value do objeto origem
	// Chamada									: var cnpj = removeMaskCNPJ(objetoCNPJ.value);
	function removerMaskCNPJ(cnpj) {
		var sCNPJ = retornarNumero(cnpj);
		sCNPJ = sCNPJ.replace(/\./g,'');
		sCNPJ = sCNPJ.replace(/\//g,'');
		sCNPJ = sCNPJ.replace(/-/g,'');
		return sCNPJ;
	}

// CNPJ											: validação
// Parâmetros								: StrCGC = objeto origem
	function validarCNPJ(StrCGC){
		var vaCharCGC = false;
		StrCGC = StrCGC.replace(/\./g,"");
		StrCGC = StrCGC.replace(/\//g,"");
		StrCGC = StrCGC.replace(/-/g,"");
		var varFirstChr = StrCGC.charAt(0);
		var vlMult,vlControle,s1, s2 = "";
		var i,j,vlDgito,vlSoma = 0;
		for ( var i=0; i<=13; i++ ){
			var c = StrCGC.charAt(i);
			if(!(c>="0") && (c<="9")){
				return false;
			}
			if(c!=varFirstChr){
				vaCharCGC = true;
			}
		}
		if(!vaCharCGC){
			return false;
		}
		s1 = StrCGC.substring(0,12);
		s2 = StrCGC.substring(12,15);
		vlMult = "543298765432";
		vlControle = "";
		for (j=1; j<3; j++){
			vlSoma = 0;
			for (i=0; i<12; i++){
				vlSoma += eval( s1.charAt(i) )* eval( vlMult.charAt(i) );
			}
			if(j == 2){
				vlSoma += (2 * vlDgito);
			}
			vlDgito = ((vlSoma*10) % 11);
			if(vlDgito == 10){
				vlDgito = 0;
			}
			vlControle = vlControle + vlDgito;
			vlMult = "654329876543";
		}
		if(vlControle != s2){
			return false;
		} else {
			return true;
		}
	}
	
	function formatarText(objeto, sMask, evtKeyPress) {
		var i, nCount, sValue, fldLen, mskLen,bolMask, sCod, nTecla;
		if(document.all) { // Internet Explorer
			nTecla = evtKeyPress.keyCode;
		} else if(document.layers) { // Nestcape
			nTecla = evtKeyPress.which;
		} else {
			nTecla = evtKeyPress.which;
			if (nTecla == 8) {
					return true;
			}
		}
		sValue = objeto.value;
		if (sMask.length <= objeto.value.length){
			sCod = objeto.value.substring(0, sMask.length);
		}
		// Limpa todos os caracteres de formatação que
		// já estiverem no campo.
		sValue = sValue.toString().replace( "-", "" );
		sValue = sValue.toString().replace( "-", "" );
		sValue = sValue.toString().replace( ".", "" );
		sValue = sValue.toString().replace( ".", "" );
		sValue = sValue.toString().replace( "/", "" );
		sValue = sValue.toString().replace( "/", "" );
		sValue = sValue.toString().replace( ":", "" );
		sValue = sValue.toString().replace( ":", "" );
		sValue = sValue.toString().replace( "(", "" );
		sValue = sValue.toString().replace( "(", "" );
		sValue = sValue.toString().replace( ")", "" );
		sValue = sValue.toString().replace( ")", "" );
		sValue = sValue.toString().replace( " ", "" );
		sValue = sValue.toString().replace( " ", "" );
		fldLen = sValue.length;
		mskLen = sMask.length;
		i = 0;
		nCount = 0;
		sCod = "";
		mskLen = fldLen;
		while (i <= mskLen) {
			bolMask = ((sMask.charAt(i) == "-") || (sMask.charAt(i) == ".") || (sMask.charAt(i) == "/") || (sMask.charAt(i) == ":"))
			bolMask = bolMask || ((sMask.charAt(i) == "(") || (sMask.charAt(i) == ")") || (sMask.charAt(i) == " "))			
			if (!isNaN(sMask.charAt(i)) && isNaN(sValue.charAt(nCount))){
				sCod = '';		
				break;
			}
			if (bolMask) {
				sCod += sMask.charAt(i);
				mskLen++; }
			else {
				sCod += sValue.charAt(nCount);
				nCount++;
			}
			i++;
		}
		objeto.value = sCod;
		if (nTecla != 8) { // backspace
			if (sMask.charAt(i-1) == "9") { // apenas números...
				return ((nTecla > 47) && (nTecla < 58)); } 
			else { // qualquer caracter...
				return true;
			} 
		}
		else {
			return true;
		}
	}

	// Data											: validação
	// Parâmetros								: Data = value do objeto
	function isDate(Data){
		var dma = -1;
		var data = Array(3);
		var ch = Data.charAt(0);
		for(i=0; i < Data.length && (( ch >= '0' && ch <= '9' ) || ( ch == '/' && i != 0 ) ); ){
			data[++dma] = '';
			if(ch!='/' && i != 0) return false;
			if(i != 0 ) ch = Data.charAt(++i);
			if(ch=='0') ch = Data.charAt(++i);
			while( ch >= '0' && ch <= '9' ){
				data[dma] += ch;
				ch = Data.charAt(++i);
			}
		}
		if(ch!='') return false;
		if(data[0] == '' || isNaN(data[0]) || parseInt(data[0]) < 1) return false;
		if(data[1] == '' || isNaN(data[1]) || parseInt(data[1]) < 1 || parseInt(data[1]) > 12) return false;
		if(data[2] == '' || isNaN(data[2]) || ((parseInt(data[2]) < 0 || parseInt(data[2]) > 99 ) && (parseInt(data[2]) < 1900 || parseInt(data[2]) > 9999))) return false;
		if(data[2] < 50) data[2] = parseInt(data[2]) + 2000;
		else if(data[2] < 100) data[2] = parseInt(data[2]) + 1900;
		switch(parseInt(data[1])){
			case 2: { if(((parseInt(data[2])%4!=0 || (parseInt(data[2])%100==0 && parseInt(data[2])%400!=0)) && parseInt(data[0]) > 28) || parseInt(data[0]) > 29 ) return false; break; }
			case 4: case 6: case 9: case 11: { if(parseInt(data[0]) > 30) return false; break;}
			default: { if(parseInt(data[0]) > 31) return false;}
		}
		return true;
	}
	
	function trim(str){
		str = str.replace(/ /g,'');
		str = str.replace(/^ /,'');
		str = str.replace(/ $/,'');
		return str;
	}
	
	// CPF											: validação
	// Parâmetros								: StrCPF = objeto origem
	function validarCPF(StrCPF){
		StrCPF = StrCPF.replace( ".", "" );
		StrCPF = StrCPF.replace( ".", "" );
		StrCPF = StrCPF.replace( "-", "" );
		
		var sStr = StrCPF.slice(0,1)
		var indStr = 1
		var trocou = false;
		
		while (indStr < StrCPF.length){
		if(sStr != StrCPF.substr(indStr,1)){
		trocou = true;
		}
		indStr++;
		}
		
		if (!trocou){
		return false
		}
		
		x = 0;
		soma = 0;
		dig1 = 0;
		dig2 = 0;
		texto = "";
		StrCPF1="";
		len = StrCPF.length;
		x = len -1;
		
		for (var i=0; i <= len - 3; i++){
			y = StrCPF.substring(i,i+1);
			soma = soma + ( y * x);
			x = x - 1;
			texto = texto + y;
		}
		
		dig1 = 11 - (soma % 11);
		if (dig1 == 10) dig1=0 ;
		if (dig1 == 11) dig1=0 ;
		StrCPF1 = StrCPF.substring(0,len - 2) + dig1 ;
		x = 11; soma=0;
		
		for (var i=0; i <= len - 2; i++){
			soma = soma + (StrCPF1.substring(i,i+1) * x);
			x = x - 1;
		}
		
		dig2= 11 - (soma % 11);
		
		if (dig2 == 10) dig2=0;
		if (dig2 == 11) dig2=0;
		if ((dig1 + "" + dig2) == StrCPF.substring(len,len-2)){
			return true;
		} else {
			return false;
		}
	}


// Arquivos									: validação
// Parâmetros								: frm = value do objeto origem
function validaArquivo(frm){
  if (frm.arquivo.value!='') {
    var arquivo = StrRev(frm.arquivo.value);
    arquivo = StrRev(arquivo.substring(0, arquivo.indexOf(".")));
		arquivo = arquivo.toLowerCase();
    if (arquivo!='jpg' && arquivo!='gif'){
      frm.reset();
      alert('Formato de arquivo inválido. Formatos válidos: jpg e gif.');
      return false;
    }
    else return true;
  }
}

	
	//retorna somente numeros de uma string
	function retornarNumero(str){
		var len = str.length;
		var char;
		var retorno = '';
		for ( var i = 0; i <= len-1; i++ ){
			char = str.substring(i, i+1);
			if (!isNaN(char)){
				retorno += char;	
			}
		}
		return trim(retorno);
	}
	
	// E-mail										: validação
	// Parâmetros								: src = value do objeto
	function validarEmail(src) {
		emailReg = '^[\\w-_\.]*[\\w-_\.]\@[\\w]\.+[\\w]+[a-zA-Z]$'
		var regex = new RegExp(emailReg);
		return regex.test(trim(src));
		//var teste = /^w+[+.w-]*@([w-]+.)*w+[w-]*.([a-z]{2,4}|d+)$/i.test(src);
		//return teste;
	}
			
	// Dígitos (números)				: validação
	// Evento										: OnKeyUp
	// Parâmetros								: event = objeto event
	// Chamada									: onKeyUp="digitos(event);"
	function digitos(event){
		if (window.event) {
			// IE
			key = event.keyCode;
		} else if ( event.which ) {
			// netscape
			key = event.which;
		}
		if ( key != 8 || key != 13 || key < 48 || key > 57 )
			return ( ( ( key > 47 ) && ( key < 58 ) ) || ( key == 8 ) || ( key == 13 ) );
		return true;
	}
	
	
/*
Funções do carrinho do site - INICIO
*/
	function verificarQuantidade(id,qt){
		if (qt =='' || isNaN(qt) || qt<1){
			document.getElementById(id).value = '1';
		}
	}
	
	//verifica se realmente é para postar o formulário
	function submeterQuantidade(posicao, idP, volt, qtde){
		if (document.getElementById('qtdInicial'+posicao).value != document.getElementById('qtd'+posicao).value && document.getElementById('qtd'+posicao).value > 0){
			window.location = 'carrinhoAcao.asp?acaoCarrinho=alterar&posicao='+posicao+'&idProduto='+idP+'&qtde='+qtde+'&voltagem='+volt+''
		}else if(document.getElementById('qtd'+posicao).value == 0){
			alert("A quantidade não pode ser zero.\nPara excluir o produto, selecione e clique no botão \"Excluir selecionados\".");
			document.getElementById('qtd'+posicao).value =  document.getElementById('qtdInicial'+posicao).value;
			return false;
		}
	}
	
	function validarCarrinhoExcluir(frm){
		frm = document.getElementById(frm);
		if (frm.excluir==undefined) {
			alert('Nenhum produto para excluir.');
		} else if (!selecionouCheck(frm.excluir)){
			alert('Selecione um produto do seu carrinho para excluir.');
		}else{
			if(!confirm('Confirma a exclusão do(s) produto(s)?')){
			}else{
				frm.submit()	
			}
		}
	}
	
	function validarCarrinhoFrete(frm){
		frm = document.getElementById(frm);
		if (frm.idFrete.value=='') {
			alert('Selecione um frete para continuar.');
		} else {
			frm.submit();
		}
	}
	
	function validarCarrinhoPagamento(frm){
		frm = document.getElementById(frm);
		if (!selecionouCheck(frm.idFormaPagamento)) {
			alert('Selecione uma forma de pagamento para continuar.');
		} else {
			frm.submit();
		}
	}
	
	function selecionaCarrinhoFrete(idFrete,valorFrete,valorTotalCompraComFrete){
		document.getElementById('idFrete').value = idFrete;
		document.getElementById('valorFrete').value = valorFrete;
		document.getElementById('valorCarrinhoFrete').innerHTML = valorTotalCompraComFrete;
		if(idFrete==3)
			document.getElementById('prazoEntregaMb').innerHTML = "Prazo de entrega: 2 dias úteis após a confirmação do pagamento.";
		else
			document.getElementById('prazoEntregaMb').innerHTML = "";
			
	}
	
	// Checkboxes/Radios				: validação
	// Parâmetros								: checkItem = nome do conjunto de checkboxes/radios
	// Chamada									: selecionouCheck(nomeObjeto);
	function selecionouCheck(checkItem){
		selecionou = false;
		if (isNaN(checkItem.length)){
			selecionou = checkItem.checked;
		}
		else {
			i = 0;
			while ( (i <= (checkItem.length -1)) && (!selecionou) ){
				selecionou = checkItem[i].checked;
				i++;
			}
		}
		return selecionou;
	}	
	
	function valueField (id,value,f) {
		if (value == '' && f == 1) {
			document.getElementById(id).style.backgroundPosition = '0 14px';
		}
		if (value == '' && f == 2) {
			document.getElementById(id).style.backgroundPosition = '0 3px';
		}
	}
	
	function validarLogin(frm){
		if (trim(frm.email.value) == '' ){
			alert('Preencha o E-mail de login');
			frm.email.focus();
			return false;
		}
		if (!validarEmail(frm.email.value)){
			alert('E-mail inválido');
			frm.email.focus();
			return false;
		}
		if (trim(frm.senha.value) == '' ){
			alert('Preencha a Senha de login');
			frm.senha.focus();
			return false;
		}
	}
	
	