/**
 * Envia um produto para o carrinho de compras.
 */
function buyIt(idProperty) {
	$('idProperty').value = idProperty;
	$('formBuy').submit();
}

/**
 * Método para mostrar e esconder algum display
 */
function showHide(target,image) {
	if($(target).style.display == 'none') {
		Effect.SlideDown(target);
		$(image).src = 'data/shop/img/btMenuUp.gif';
	} else {
	
	Effect.SlideUp(target);
		$(image).src = 'data/shop/img/btMenuDown.gif';
	}
	return false;
}

//------------------------------------------------------------------------------
//
// Validação do CPF 
//
//------------------------------------------------------------------------------
function checkCPF(CPF) {
	
	
	
	// Retira os pontos.
	pontos = CPF.value.split('.').join('');
	// Retira o traço.
	CPF = pontos.split('-').join('');
	
	if (CPF.length != 11 || CPF == "00000000000" || CPF == "11111111111" ||
		CPF == "22222222222" ||	CPF == "33333333333" || CPF == "44444444444" ||
		CPF == "55555555555" || CPF == "66666666666" || CPF == "77777777777" ||
		CPF == "88888888888" || CPF == "99999999999")return false;
	
	soma = 0;
	
	for (i=0; i < 9; i ++)
		soma += parseInt(CPF.charAt(i)) * (10 - i);
	resto = 11 - (soma % 11);
	if (resto == 10 || resto == 11)
		resto = 0;
	if (resto != parseInt(CPF.charAt(9)))
		return false;
	soma = 0;
	for (i = 0; i < 10; i ++)
		soma += parseInt(CPF.charAt(i)) * (11 - i);
	resto = 11 - (soma % 11);
	if (resto == 10 || resto == 11)
		resto = 0;
	if (resto != parseInt(CPF.charAt(10)))
		return false;
	return true;
}

/**
 * Valida o CPF.
 */
function validateCPF(cpf){
	return true;
	if(cpf.value == "") return false;
	
	if(!checkCPF(cpf)){
		$('aguarde').innerHTML = "CPF ("+cpf.value+") inválido!";
		$('cpfInput').value = "";
	} else {
		// Chama a função que verica se o cpf ja está cadastrado 
		searchCPF(cpf.value);
	}
	
}

/**
  * Verifica (via Ajax) se o CPF ja esstá cadastrado.
  */
 function searchCPF(cpf){
 	
 	// Endereço PHP.
	url = '/entryPoint.php?plugin=shop&package=web&form=ajax&ajaxAction=searchCPF'; 
	
	// Parametros via POST.
	parametros = 'cpf='+cpf;
	
	// Requisição Ajax pelo Prototype.
	new Ajax.Request(url , {
		
			method:'post',
			parameters: parametros,
			
			onCreate: function() {
				
				$('aguarde').innerHTML = "Aguarde...";
				
			},
			
			onSuccess: function(transport){
				
				var response = transport.responseText || "não foi retornado valor";
				
				// Verifica o conteúdo retornado.
				if(response.length <= 10){
					
					$('aguarde').innerHTML = "";
					$('cpfInput').style.background = '';
				
				}else{
					
					$('cpfInput').value = "";
					$('cpfInput').style.background = "#FF0000";
					$('cpfInput').focus();
					$('aguarde').innerHTML = "CPF ("+cpf+") já cadastrado.";
				}
			},
		    
		    onFailure: function(){ 
		    		alert('Não foi possível realizar a requisição.') 
		    	}
		});
}



//------------------------------------------------------------------------------
//
// Validação do CNPJ
//
//------------------------------------------------------------------------------
 function validateCNPJ(CNPJ) {
	
	if (CNPJ.length < 18) return false;
	
	if ((CNPJ.value.charAt(2) != ".") || (CNPJ.value.charAt(6) != ".") || (CNPJ.value.charAt(10) != "/") || (CNPJ.value.charAt(15) != "-")){
		return false;
	}
	
	//substituir os caracteres que não são números
	CNPJ = CNPJ.value.replace(".","");
	CNPJ = CNPJ.replace(".","");
	CNPJ = CNPJ.replace("-","");
	CNPJ = CNPJ.replace("/","");
	
	var nonNumbers = /\D/;
	if (nonNumbers.test(CNPJ)) return false;
	var a = [];
	var b = new Number;
	var c = [6,5,4,3,2,9,8,7,6,5,4,3,2];
	for (i=0; i<12; i++){
		a[i] = CNPJ.charAt(i);
		b += a[i] * c[i+1];
	}
	
	if ((x = b % 11) < 2) { a[12] = 0 } else { a[12] = 11-x }
	b = 0;
	for (y=0; y<13; y++) {
		b += (a[y] * c[y]);
	}
	
	if ((x = b % 11) < 2) { a[13] = 0; } else { a[13] = 11-x; }
	if ((CNPJ.charAt(12) != a[12]) || (CNPJ.charAt(13) != a[13])){
		return false;
	}
	if (erro.length > 0){
		return false;
	} else {
		return true;
	}
	return true;
}

function checkCNPJ(cnpj) {
	return true;
	if(cnpj.value == "") return false;
	
	if(!validateCNPJ(cnpj)) {
		$('aguarde').innerHTML = "CNPJ ("+cnpj.value+") inválido!";
		$('cnpjInput').value = "";
		return false;
	} else {
		
	}
	
	$('aguarde').innerHTML = "";
	
	searchCNPJ(cnpj.value);
}

function searchCNPJ(cnpj){
 	
 	// Endereço PHP.
	url = '/entryPoint.php?plugin=shop&package=web&form=ajax&ajaxAction=searchCNPJ'; 
	
	// Parametros via POST.
	parametros = 'cnpj='+cnpj;
	
	// Requisição Ajax pelo Prototype.
	new Ajax.Request(url , {
		
			method:'post',
			parameters: parametros,
			
			onCreate: function() {
				
				$('aguarde').innerHTML = "Aguarde...";
				
			},
			
			onSuccess: function(transport){
				
				var response = transport.responseText || "não foi retornado valor";
				
				// Verifica o conteúdo retornado.
				if(response.length <= 10){
					
					$('aguarde').innerHTML = "";
					$('cnpjInput').style.background = '';
				
				}else{
					
					$('cnpjInput').value = "";
					$('cnpjInput').style.background = "#FF0000";
					$('cnpjInput').focus();
					$('aguarde').innerHTML = "CNPJ ("+cnpj+") já cadastrado.";
					
				}
				
									  	
		    },
		    
		    onFailure: function(){ 
		    		alert('Não foi possível realizar a requisição.') 
		    	}
		});
 	
 }

//------------------------------------------------------------------------------
//
// Validação do E-mail
//
//------------------------------------------------------------------------------
/**
 * Efetua a validção de um email
 */
function checkMail(email){
	var er = new RegExp(/^[A-Za-z0-9_\-\.]+@[A-Za-z0-9_\-\.]{2,}\.[A-Za-z0-9]{2,}(\.[A-Za-z0-9])?/);
    if(typeof(email) == "string"){
        if(er.test(email)){ 
        	return true;
        }
    }else if(typeof(email) == "object"){
        if(er.test(email.value)){
        	return true;
        	
        }
    }else{
        return false;
	}
}

//------------------------------------------------------------------------------
//
// Funções para mascaramento de campos
//
//------------------------------------------------------------------------------

/**
 * Método principal para mascarar campos.
 */
function mask(o,f){
    v_obj = o
    v_fun = f
    setTimeout ("execMask()",1)
}

/**
 * Efetua a execução
 */
function execMask(){
    v_obj.value=v_fun(v_obj.value)
}

/**
 * 
 */
function leech(v){
    v=v.replace(/o/gi,"0")
    v=v.replace(/i/gi,"1")
    v=v.replace(/z/gi,"2")
    v=v.replace(/e/gi,"3")
    v=v.replace(/a/gi,"4")
    v=v.replace(/s/gi,"5")
    v=v.replace(/t/gi,"7")
    return v
}

/**
 * Somente números
 */
function numberOnly(v){
    return v.replace(/\D/g,"")
}

/**
 * Formato de telefone com ddd
 */
function telphone(v){
    v=v.replace(/\D/g,"")                 //Remove tudo o que não é dígito
    v=v.replace(/^(\d\d)(\d)/g,"($1) $2") //Coloca parênteses em volta dos dois primeiros dígitos
    v=v.replace(/(\d{4})(\d)/,"$1-$2")    //Coloca hífen entre o quarto e o quinto dígitos
    return v
}

/**
 * Formato de telefone com ddd
 */
function date(v){
	v = v.replace(/\D/g,"")               //Remove tudo o que não é dígito
   	v = v.replace(/(\d{2})(\d)/,"$1/$2"); //Coloca uma barra entre o segundo e o terceiro dígitos
   	v = v.replace(/(\d{2})(\d)/,"$1/$2"); //Coloca uma barra entre o quarto e quinto digito.
    return v
}

/**
 * Método para formatação de cpf com pontos
 */
function cpf(v){
    v=v.replace(/\D/g,"")                    //Remove tudo o que não é dígito
    v=v.replace(/(\d{3})(\d)/,"$1.$2")       //Coloca um ponto entre o terceiro e o quarto dígitos
    v=v.replace(/(\d{3})(\d)/,"$1.$2")       //Coloca um ponto entre o terceiro e o quarto dígitos
                                             //de novo (para o segundo bloco de números)
    v=v.replace(/(\d{3})(\d{1,2})$/,"$1-$2") //Coloca um hífen entre o terceiro e o quarto dígitos
    return v
}

/**
 * Método para formatação de cep
 */
function cep(v){
    v=v.replace(/D/g,"")                //Remove tudo o que não é dígito
    v=v.replace(/(\d{5})(\d)/,"$1-$2") //Esse é tão fácil que não merece explicações
    return v
}

/**
 * Método para mascara de cpnj
 */
function cnpj(v){
    v=v.replace(/\D/g,"")                           //Remove tudo o que não é dígito
    v=v.replace(/^(\d{2})(\d)/,"$1.$2")             //Coloca ponto entre o segundo e o terceiro dígitos
    v=v.replace(/^(\d{2})\.(\d{3})(\d)/,"$1.$2.$3") //Coloca ponto entre o quinto e o sexto dígitos
    v=v.replace(/\.(\d{3})(\d)/,".$1/$2")           //Coloca uma barra entre o oitavo e o nono dígitos
    v=v.replace(/(\d{4})(\d)/,"$1-$2")              //Coloca um hífen depois do bloco de quatro dígitos
    return v
}

/**
 * Mascara para formatação de website
 */
function site(v){                                   //Faça seu comentário
    v=v.replace(/^http:\/\/?/,"")
    dominio=v
    caminho=""
    if(v.indexOf("/")>-1)
        dominio=v.split("/")[0]
        caminho=v.replace(/[^\/]*/,"")
    dominio=dominio.replace(/[^\w\.\+-:@]/g,"")
    caminho=caminho.replace(/[^\w\d\+-@:\?&=%\(\)\.]/g,"")
    caminho=caminho.replace(/([\?&])=/,"$1")
    if(caminho!="")dominio=dominio.replace(/\.+$/,"")
    v="http://"+dominio+caminho
    return v;
}

/**
 * Abre popup com informações sobre o frete.
 */
 function freightPopup(value) {
 	//alert(value);
 	window.open('/entryPoint.php?plugin=shop&package=web&popup='+value,
 				'Dúvidas',
 				'toolbar=no,location=no,status=no,menubar=no,scrollbars=no,resizable=no,width=300,height=350'
 				);
 }

//------------------------------------------------------------------------------
//
// Validação de caracteres.
//
//------------------------------------------------------------------------------
/**
 * Permite apenas a digitação de números.
 */	
function isNumber() {
	
	
}


 
