Array.prototype.in_array = function(p_val) {
	for(var i = 0, l = this.length; i < l; i++) {
		if(this[i] == p_val) {
			return true;
		}
	}
	return false;
}













function check_esp() {
	if (!document.getElementById('esp_sel')) {
		alert('Você precisa escolher um modelo para o produto!');	
		return false;
	}
}



function chkcep(ok){
	var cep1 = document.getElementById('cep1').value;
	
	if  (cep1.length == 5) {
		document.getElementById('cep2').focus();
	}
}

function verificacep() {
	var cep1;
	cep1 = document.getElementById('cep1').value.length;
	
	if (cep1 == 5) {
		document.getElementById('cep2').focus();
	}
}

function chkform() {
	var parcela = document.getElementById('mparcela').value;
	if (parcela == "") {
		alert('Você precisa selecionar a parcela');
	} else {
		document.formcart.submit();
	}
}

function setaval(){
	document.getElementById('mparcela').value = '123';
}

function vervale(id, ped_cli) {
	var op = document.getElementById('vale_desconto').value;
	location.href='index.php?op=pedidos&id='+id+'&ped_cli='+ped_cli+'&serie='+op;
}



















function removeObj(selection) {
   selection.parentNode.removeChild(selection);
}




function fill_valores (conteudo) {
	var area = document.getElementById('valores');
	area.innerHTML = conteudo;
	
	var div = document.getElementById('hidden_div');
	var iframe = document.getElementById('hidden_iframe');
	removeObj(iframe);
	removeObj(div);
	
	document.getElementById('continuar_link').href = 'javascript: continuar();';
}





function continuar() {
	var submit = true;
	var elements;
	var e;
	var i;
	var a;
	var prod_entmatch;
	var entrega_key = '';
	var ent_nome = '';
	var el_val = '';
	
	for (e = 0; e < entregas_keys.length; e++) {
		
		entrega_key = entregas_keys[e];
		entrega_count = entregas_ids[entrega_key];
		
		if (prod_count == entrega_count) {
			submit = false;
			prod_entmatch = 0;
			for (i = 1; i <= prod_count; i++) {
				ent_nome = 'entrega' + i;
				
				elements = document.getElementsByName(ent_nome);
				for (a = 0; a < elements.length; a++) {
					el_val = elements[a].value;
					var reg = '^'+entrega_key+'\\|';
					if (elements[a].checked == true && (el_val == entrega_key || el_val.match(reg))) {
						prod_entmatch++;
					}
				}
			}
			
			if (prod_entmatch == entrega_count) {
				submit = true;
				break;
			}
		}
	}
	
	if (submit) {
		//alert('submit');
		var form = document.getElementById('pagamento');
		form.action = 'index.php?op=pagamento';
		form.target = '';
		form.submit();
	} else {
		alert('Por favor, selecione a forma de envio que é disponível a todos os produtos.');
	}
}





function calc_frete(el) {
	
	document.getElementById('continuar_link').href = '#';

	var elements;
	if (!el) {
		elements = document.getElementsByName('entrega1');
		el = elements[0];
	}
	
	var prod_entmatch = 0;
	
	var i;
	var a;
	var ent_nome = '';
	
	for (i = 1; i <= prod_count; i++) {
		ent_nome = 'entrega' + i;
		if (el.name == ent_nome) {
			prod_entmatch++;
			continue;
		}
		
		elements = document.getElementsByName(ent_nome);
		for (a = 0; a < elements.length; a++) {
			if (elements[a].value == el.value) {
				prod_entmatch++;
			}
		}
		
	}
	
	if (prod_count == prod_entmatch) {
		for (i = 1; i <= prod_count; i++) {
			ent_nome = 'entrega' + i;
			if (el.name == ent_nome) { continue; }
			
			elements = document.getElementsByName(ent_nome);
			for (a = 0; a < elements.length; a++) {
				if (elements[a].value == el.value) {
					elements[a].checked = true;
				} else {
					elements[a].checked = false;
				}
			}
			
		}
	}
	
	var area = document.getElementById('valores');
	area.innerHTML = '<b>Calculando valores...</b>';
	
	var span = document.getElementById('hidden_span');
	span.innerHTML = '<div id="hidden_div"><iframe src="calcula_frete.php" frameborder="0" id="hidden_iframe" name="hidden_iframe"></iframe></div>';
	
	var form = document.getElementById('pagamento');
	form.action = 'calcula_frete.php';
	form.target = 'hidden_iframe';
	form.submit();
}




















function str_replace (search, replace, subject, count) {
    // Replaces all occurrences of search in haystack with replace  
    // 
    // version: 909.322
    // discuss at: http://phpjs.org/functions/str_replace    // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   improved by: Gabriel Paderni
    // +   improved by: Philip Peterson
    // +   improved by: Simon Willison (http://simonwillison.net)
    // +    revised by: Jonas Raoni Soares Silva (http://www.jsfromhell.com)    // +   bugfixed by: Anton Ongson
    // +      input by: Onno Marsman
    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +    tweaked by: Onno Marsman
    // +      input by: Brett Zamir (http://brett-zamir.me)    // +   bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   input by: Oleg Eremeev
    // +   improved by: Brett Zamir (http://brett-zamir.me)
    // +   bugfixed by: Oleg Eremeev
    // %          note 1: The count parameter must be passed as a string in order    // %          note 1:  to find a global variable in which the result will be given
    // *     example 1: str_replace(' ', '.', 'Kevin van Zonneveld');
    // *     returns 1: 'Kevin.van.Zonneveld'
    // *     example 2: str_replace(['{name}', 'l'], ['hello', 'm'], '{name}, lars');
    // *     returns 2: 'hemmo, mars'    var i = 0, j = 0, temp = '', repl = '', sl = 0, fl = 0,
            f = [].concat(search),
            r = [].concat(replace),
            s = subject,
            ra = r instanceof Array, sa = s instanceof Array;    s = [].concat(s);
    if (count) {
        this.window[count] = 0;
    }
     for (i=0, sl=s.length; i < sl; i++) {
        if (s[i] === '') {
            continue;
        }
        for (j=0, fl=f.length; j < fl; j++) {            temp = s[i]+'';
            repl = ra ? (r[j] !== undefined ? r[j] : '') : r[0];
            s[i] = (temp).split(f[j]).join(repl);
            if (count && s[i] !== temp) {
                this.window[count] += (temp.length-s[i].length)/f[j].length;}        }
    }
    return sa ? s : s[0];
}

function isCPF(cpf) {
        cpf = str_replace('.', '', cpf);
        cpf = str_replace('/', '', cpf);
        cpf = str_replace('-', '', cpf);
      var numeros, digitos, soma, i, resultado, digitos_iguais;
      digitos_iguais = 1;
      if (cpf.length < 11)
            return false;
      for (i = 0; i < cpf.length - 1; i++)
            if (cpf.charAt(i) != cpf.charAt(i + 1))
                  {
                  digitos_iguais = 0;
                  break;
                  }
      if (!digitos_iguais)
            {
            numeros = cpf.substring(0,9);
            digitos = cpf.substring(9);
            soma = 0;
            for (i = 10; i > 1; i--)
                  soma += numeros.charAt(10 - i) * i;
            resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;
            if (resultado != digitos.charAt(0))
                  return false;
            numeros = cpf.substring(0,10);
            soma = 0;
            for (i = 11; i > 1; i--)
                  soma += numeros.charAt(11 - i) * i;
            resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;
            if (resultado != digitos.charAt(1))
                  return false;
            return true;
            }
      else
            return false;
}

function isCNPJ(cnpj) {
        cnpj = str_replace('.', '', cnpj);
        cnpj = str_replace('/', '', cnpj);
        cnpj = str_replace('-', '', cnpj);
      var numeros, digitos, soma, i, resultado, pos, tamanho, digitos_iguais;
      digitos_iguais = 1;
      if (cnpj.length != 14)
            return false;
      for (i = 0; i < cnpj.length - 1; i++)
            if (cnpj.charAt(i) != cnpj.charAt(i + 1))
                  {
                  digitos_iguais = 0;
                  break;
                  }
      if (!digitos_iguais)
            {
            tamanho = cnpj.length - 2
            numeros = cnpj.substring(0,tamanho);
            digitos = cnpj.substring(tamanho);
            soma = 0;
            pos = tamanho - 7;
            for (i = tamanho; i >= 1; i--)
                  {
                  soma += numeros.charAt(tamanho - i) * pos--;
                  if (pos < 2)
                        pos = 9;
                  }
            resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;
            if (resultado != digitos.charAt(0))
                  return false;
            tamanho = tamanho + 1;
            numeros = cnpj.substring(0,tamanho);
            soma = 0;
            pos = tamanho - 7;
            for (i = tamanho; i >= 1; i--)
                  {
                  soma += numeros.charAt(tamanho - i) * pos--;
                  if (pos < 2)
                        pos = 9;
                  }
            resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;
            if (resultado != digitos.charAt(1))
                  return false;
            return true;
            }
      else
            return false;
}
      
      
      
function onlyNum(event, keyRE) {
	
	var keyc = event.keyCode;
	var charc = event.charCode;
    
    if ( typeof(charc) != 'undefined' && charc > 0 && String.fromCharCode(charc).search(keyRE) != (-1) ) {
        return true;
    }
	
    if ( typeof(keyc) != 'undefined' ) {
	    if ( keyc > 0 && String.fromCharCode(keyc).search(keyRE) != (-1) ) {
	        return true;
	    }
	    
	    if ( charc != keyc && keyc.toString().search(/^(8|9|13|45|46|35|36|37|39)$/) != (-1) ) {
	        return true;
	    }
	    
	    if ( typeof(charc) != 'undefined' && charc == keyc && keyc.toString().search(/^(8|9|13)$/) != (-1) ) {
	        return true;
	    }
    }
    
    return false;
}


function formatCNPJ(i, event) {
	
	var key = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;
	
	var return_val = onlyNum(event, /[0-9]/);
	
	var fieldLen = i.value.length;
	if (return_val && ((key >= 48 && key <= 57) || (key >= 96 && key <=105))) {
		if (fieldLen == 2 || fieldLen == 6) {
			i.value = i.value + '.';
		}
		if (fieldLen == 10) {
			i.value = i.value + '/';
		}
		if (fieldLen == 15) {
			i.value = i.value + '-';
		}
	}
	
	return return_val;
}


function formatCPF(i, event) {
	
	var key = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;
	
	var return_val = onlyNum(event, /[0-9]/);
	
	var fieldLen = i.value.length;
	if (return_val && ((key >= 48 && key <= 57) || (key >= 96 && key <=105))) {
		if (fieldLen == 3 || fieldLen == 7) {
			i.value = i.value + '.';
		}
		if (fieldLen == 11) {
			i.value = i.value + '-';
		}
	}
	
	return return_val;
}