$j(function(){
    Carrinho.constructor();
	$j('a[rel*=facebox]').facebox();
	if($j('#aviso')){
		setTimeout(function() {	abrir_banner(); }, 500);
	}
});
var Carrinho = {  
    constructor: function(){
		this.url_carrinho = 'carrinho.php';
        this.url_finaliza = 'finaliza.php';
        this.nao_gerencia_carrinho = 0;
        this.subtotal = new Array();
        this.produto = new Array();
		$j('#f-clientes #senha').val('');
    },
    
    nao_gerenciar: function(){
        new ajax(Carrinho.url_carrinho + '?op=nao_gerenciar', {
            onComplete: function(o){
                Carrinho.nao_gerencia_carrinho = o.responseText;
            }
        });
    },
    
    gerenciar: function(){
        location = 'index.php?opm=carrinho';
        return false;
    },
    
    encomendar: function(produto){
        $j.ajax({
            url: Carrinho.url_carrinho + '?op=adicionar&produto=' + produto,
            success: function(response){
                if (response != 1) {
                    $j.alert({
                        html: 'Item adicionado ao carrinho de encomendas! <a href="?carrinho&cpt=42&op=carrinho">Ir para meu carrinho</a>',
                        timeout: 3000
                    });
                    Carrinho.qdtitem();
                }
                else {
                    $j.alert({
                        type: 'alert',
                        html: 'Item j&aacute; existe no carrinho de encomendas!',
                        timeout: 3000
                    });
                }
            }
            
        });
        
        return false;
    },
    
    cancelar: function(){
        $j.ajax({
            url: '?cpt=42&op=cancela'
        });
        location = 'index.php';
    },
    
    finalizar: function(){
        location = '?finalizar&cpt=42&op=finaliza';
        return false;
    },
	
	concluir: function(form){
		$j('#enviando').show();
		$j('#finalizar-compra').attr({'disabled':true});
		$j.ajax({url:'carrinho.php?op=inserebanco', type: 'post', data: $j(form).serialize(),
			success: function(response){
				if (response != 1) {
                    $j.alert({html: 'Seu pedido foi concluido com sucesso', timeout: 3000});
					$j('#enviando').hide();
					$j('#enviado').show();
					//setTimeout(function(){location.href = '?';},3000);
                }
                else {
                    $j.alert({type: 'erro', html: 'Seu pedido n&atilde;o pode ser realizado tente mais tarde', timeout: 3000});
                }
            }
		});
		
	},
	concluir_total: function(form){
		if ($Form.validate(form) != false) {
			$j.ajax({url:'carrinho.php', type: 'post', data: $j(form).serialize(),
				success: function(response){
					if (response != 1) {
						$j.alert({html: 'Seu pedido foi concluido com sucesso', timeout: 3000});
						$j('#enviando').hide();
						$j('#enviado').show();
						setTimeout(function(){location.href = '?';},3000);
					}
					else {
						$j.alert({type: 'erro', html: 'Seu pedido n&atilde;o pode ser realizado tente mais tarde', timeout: 3000});
					}
				}
			});
		}
		return false;
	},
    
    inserebanco: function(form){
		$j.alert({
			type: 'loadin',
			html: 'Processando dados...',
			modal: true,
			hide: false
		});
        $j.ajax({
			url:'carrinho.php?op=inserebanco',
            method: 'post',
            data: $j(form).serialize(),
            success: function(response){
                $j.alert({type:'success', html:'Dados processados com sucesso!'});
				$j('#conteudo').html(reponse);
            }
        })
    },
    
    del_item: function(produto){
        $j.ajax({
            url: Carrinho.url_carrinho + '?op=excluir&produto=' + produto,
            success: function(response){
                $j('#produto_' + produto).remove();
                Carrinho.subtotal.splice(produto, 1, 0);
                Carrinho.produto.splice(produto, 1, 0);
                Carrinho.calcula_total();
                var total_itens = $j('#total_itens').html();
                $j('#total_itens').html(parseInt(total_itens) - 1);
                Carrinho.qdtitem();
            }
        });
        return false;
    },
    
    get_subtotal_produtos: function(){
        var inputs = $j('#carrinho input'), input;
        
        for (var i = 0; i < inputs.length; i++) {
            input = inputs[i];
            
            if (input.name.indexOf('sub_') != -1) {
                var split = input.name.split('_');
                
                this.subtotal[split[1]] = input.value;
                this.produto[split[1]] = split[1];
            }
        }
    },
    
    calcula_total: function(){
        var total = 0;
        
        for (var i = 0; i < this.subtotal.length; i++) {
            if (typeof(this.subtotal[i]) != 'undefined') {
                total = total + parseFloat(this.subtotal[i]);
            }
        }
        $j('#valor_total').html(formata_moeda(total));
    },
    
    set_formato_moeda: function(valor){
        var exp = /\./g;
        return valor.replace(exp, ",");
    },
    
    calcula_subtotal: function(cod, qtd){
        $j.ajax({
            url: Carrinho.url_carrinho + '?op=altera_quantidade&produto=' + cod + '&quantidade=' + qtd
        });
        
        var val_unitario = $j('#val_produto_' + cod).html();
        var subtotal = formata_decimal(val_unitario) * qtd;
        this.subtotal[cod] = subtotal;
        $j('#subtotal_' + cod).html(formata_moeda(subtotal));
        this.calcula_total(cod);
    },
    
    qdtitem: function(){
        $j.ajax({
            url: 'qtdcarrinho.php',
            success: function(response){
                $j('#qtdcar').html(response);
            }
        });
    }
}
var Cliente = {

    login: function(form){
		if ($Form.validate(form) != false) {
            $j.ajax({
                url:'carrinho.php?op=logar', type: 'POST', data: $j(form).serialize(),
                success: function(response){
					if(response == "logado") {
						if (form.name == "login") {location = 'index.php';}				
						else {
							//location = "index.php?finalizar&cpt=42&op=finaliza";
							location.reload();
						}
						
					} else {
						$j.alert({type:'error', html:'Seu E-mail e/ou Senha est&aacute; incoreto!', timeout:3000});
					}
                }
            });
        }
		return false;
    },
	tipo_pessoa: function(tipo){
        $j('#dados').show();
        if (tipo == 'pj') {
            $j('#pf').slideUp('normal', function(){
                $j('#pj').slideDown();
                $j('#cpf_cliente').val("");
            });
        }
        else {
            $j('#pj').slideUp('normal', function(){
                $j('#pf').slideDown();
                $j('#cnpj_cliente').val("");
            });
        }
    },
	logout:function(url){
		$j.ajax({
			type: "post", url:'carrinho.php?op=logout',
			success: function(html){ 
			 	location=url;
		   }
		});
	},
    
    validar: function(form){
		$j('#enviando').show();
        if ($Form.validate(form) != false) {				
            if (form.cnpj_cliente.value != '' || form.cpf_cliente.value != '') {
					
				if(form.name == "f-novo-cadastro" || (form.name == "f-clientes" && form.id_cliente.value == '')) {
					acao = 'inserirCliente';
				}else{
					acao = 'atualizarCliente';	
				} 
				$j.ajax({
                    url: 'carrinho.php?op='+acao, type: 'post', data: $j(form).serialize(),
                    success: function(response){
						if(response == ''){
							$j.alert({html:'Dados salvos com sucesso! Aguarde...', timeout:3000});
							setTimeout(function(){
									if(form.name == "f-clientes"){location = "?";}				
									else{
										location = location+'&op=conclusao';
									}
								},3000
							);							
						}else if(response.indexOf('Duplicate entry') != -1){
							$j.alert({type:'alert' , html:'Este e-mail j&aacute; est&aacute; cadastrado!', timeout:3000});
						}else{
							$j.alert({type:'error' , html:'N&atilde;o foi possivel salvar seus dados, tente mais tarde!', timeout:3000});
						}
						$j('#enviando').hide();
						$j('#enviado').show();
						return false;
                    }
                });;
				
            }else{
				$j.alert({type:'error', html:'Tipo de pessoa deve ser preenchido!', timeout:3000});
			}
        }
		return false;
    }
}
/* Monte Seu Micro */
var Monte={

	detalhe_processador:function(id, obj){
		$j('.processadores a').css("background","none");
		$j('.detalhe_processador').hide(function(){
			$j('#processador_'+id+', #ContinuarMonte').show();
			$j('#icone_'+id).css("background","#F2F2F2");
			$j('#idProcessador').val(id);
		});
	}, 
	
	addProcessador:function(){
		id = $j('#idProcessador').val();
		url = $j('#urlMonte').val();
				
		$j.ajax({
			url:'acoes_monte.php?acao=add_familia_processador&familia_processador='+id,
			success: function(response){
				location.href = '?'+url+'&perfil=P';
			}
		});
	},
	
	pmae:function(processador,valor){
		modal({display:1});
		$j('#loading-total').html('Carregando Placas-mãe');
		$j('#valor_monte').show();
		$j('#memorias .content_produto').html("");
		$j('#memorias div').hide();
		$j('.equipamentos .content_produto').html("");
		$j('.equipamentos div').hide();
		$j('#pmae div').hide();
		$j.ajax({
			url:'acoes_monte.php?acao=add_processador&processador='+processador+'&valor='+valor,
		 	success: function(response){
				$j('#pmae .content_produto').html(response);
				$j('#pmae a[rel*=facebox]').facebox();
				$j('#pmae div').slideDown();
				Monte.valor_total();
			}
		});
	},
	memoria:function(pmae,valor){
		modal({display:1});
		$j('#loading-total').html('Carregando memórias');
		$j('#memorias div').slideUp();
		$j.ajax({
			url:'acoes_monte.php?acao=add_pmae&pmae='+pmae+'&valor='+valor,
		 	success: function(response){
				dados = response.split('|');
				$j('#memorias .content_produto').html(dados[0]);
				$j('#memorias a[rel*=facebox]').facebox();
				$j('#memorias div').slideDown();
				Monte.get_equipamentos(dados,pmae);
			}
		});
	},
	
	add_memoria:function(memoria, objeto, valor, qtde){
		modal({display:1});
		if(objeto.checked==true){
			$j('#men_'+memoria).attr({'disabled':false});
			$j('#men_'+memoria).selectOptions("1", true);
			$j('#men_'+memoria+' option:first').attr({'disabled':true});
			$j.ajax({
				url:'acoes_monte.php?acao=add_memoria&memoria='+memoria+'&valor='+valor+'&qtde='+qtde,
					success: function(response){
					}
			});
		}else{
			$j('#men_'+memoria).attr({'disabled':true});
			$j('#men_'+memoria).selectOptions("");
			$j.ajax({
				url:'acoes_monte.php?acao=del_memoria&memoria='+memoria,
					success: function(response){
					}
			});
		}
		Monte.valor_total();
	},
	add_qtde_memoria:function(memoria, valor, qtde){
		modal({display:1});
		$j.ajax({
			url:'acoes_monte.php?acao=add_memoria&memoria='+memoria+'&valor='+valor+'&qtde='+qtde,
				success: function(response){
					Monte.valor_total();
				}
		});
	},
		
	get_equipamentos:function(dados,pmae){
		$j('#loading-total').html('Carregando demais equipamentos...');
		for(i=1;i<dados.length;i++){
			$j.ajax({
				url:'acoes_monte.php?acao=get_equipamento&pmae='+pmae+'&equipmaneto='+dados[i],
				success: function(response){
					dados = response.split('|');
					$j('#equipamento_'+dados[0]+' .content_produto').html(dados[1]);
					$j('#equipamento_'+dados[0]+' a[rel*=facebox]').facebox();
					$j('#equipamento_'+dados[0]+' div').show();
				}
			});
			
		}
		Monte.valor_total();
	},
	add_produto:function(tipo, produto, objeto, nome_tipo, valor, qtde){
		modal({display:1});
		if(tipo == 'check'){
			if(objeto.checked==true){
				$j('#prd_'+produto).attr({'disabled':false});
				$j('#prd_'+produto+' option:first').attr({'disabled':true});
				$j('#prd_'+produto).selectOptions("1", true);
				$j.ajax({
					url:'acoes_monte.php?acao=add_produto&produto='+produto+'&tipo='+tipo+'&nome_tipo='+nome_tipo+'&valor='+valor+'&qtde='+qtde,
						success: function(response){
							Monte.valor_total();
						}
				});
			}else{
				$j('#prd_'+produto).attr({'disabled':true});
				$j('#prd_'+produto).selectOptions("");
				$j.ajax({
					url:'acoes_monte.php?acao=del_produto&produto='+produto+'&tipo='+tipo+'&nome_tipo='+nome_tipo+'&valor='+valor+'&qtde='+qtde,
						success: function(response){
							Monte.valor_total();
						}
				});
			}	
		}else{
			$j.ajax({
				url:'acoes_monte.php?acao=add_produto&produto='+produto+'&tipo='+tipo+'&nome_tipo='+nome_tipo+'&valor='+valor+'&qtde='+qtde,
					success: function(response){
						Monte.valor_total();
					}
			});
		}
	},
	add_qtde_produto:function(produto, valor, qtde, nome_tipo){
		modal({display:1});
		$j.ajax({
			url:'acoes_monte.php?acao=add_produto&produto='+produto+'&valor='+valor+'&qtde='+qtde+'&tipo=check&nome_tipo='+nome_tipo,
				success: function(response){
					Monte.valor_total();
				}
		});
	},
	
	valor_total:function(){
		$j.ajax({
			url:'acoes_monte.php?acao=total_monte',
				success: function(response){
					$j('#valor_monte').html(response);
					modal({display:0});
				}
		});	
	},
	concluir:function(){
		$j('#enviando').show();
		$j('#finalizar-compra').attr({'disabled':true});
		$j.ajax({url:'acoes_monte.php?acao=inserebanco', 
			success: function(response){
				if (response != 1) {
                    $j.alert({html: 'Sua cotação foi concluida com sucesso', timeout: 4000});
					$j('#enviando').hide();
					$j('#enviado').show();
					setTimeout(function(){location.href = '?';},3000);
                }
                else {
                    $j.alert({type: 'erro', html: 'Seu pedido n&atilde;o pode ser realizado tente mais tarde', timeout: 3000});
                }
            }
		});	
	},
	concluir_total: function(form){
		if ($Form.validate(form) != false) {
			$j.ajax({url:'acoes_monte.php?acao=inserebanco', type: 'post', data: $j(form).serialize(),
				success: function(response){
					if (response != 1) {
						$j.alert({html: 'Cotação foi concluida com sucesso', timeout: 3000});
						$j('#enviando').hide();
						$j('#enviado').show();
						setTimeout(function(){location.href = '?';},3000);
					}
					else {
						$j.alert({type: 'erro', html: 'Cotação n&atilde;o pode ser realizado tente mais tarde', timeout: 3000});
					}
				}
			});
		}
		return false;
	}
}

function formata_moeda(num){
    num = num.toString().replace(/\$|\,/g, '');
    if (isNaN(num)) 
        num = "0";
    sign = (num == (num = Math.abs(num)));
    num = Math.floor(num * 100 + 0.50000000001);
    cents = num % 100;
    num = Math.floor(num / 100).toString();
    if (cents < 10) 
        cents = "0" + cents;
    for (var i = 0; i < Math.floor((num.length - (1 + i)) / 3); i++) 
        num = num.substring(0, num.length - (4 * i + 3)) + '.' +
        num.substring(num.length - (4 * i + 3));
    return (((sign) ? '' : '-') + num + ',' + cents);
}

function formata_decimal(num){
    var valor = num.replace(/\./g, '');
    return valor.replace(/\,/g, '.');
}
function modal(obj){
	if(obj.display == 1){
		$j('#loading-total').show();
		if($j.browser.msie){
			var largura = $j(document).width()-15;
		}else{
			var largura = $j(document).width();
		}
		$j('#modal').css({height:$j(document).height(),width:largura});
		
		$j('#modal').show();
	}else{
		$j('#loading-total').hide();
		$j('#modal').hide();
	}
}
function fechar_banner() {
	$j('#aviso').hide();
}
function abrir_banner(){
	$j('#aviso').show();
}