﻿//--------------------------------------------------------------------------------------------------------------------
// Configuracao
//--------------------------------------------------------------------------------------------------------------------
var URL_WP   = TratamentoProtocol("http://" + document.domain + "/");
//var URL_API = TratamentoProtocol("http://" + document.domain + "/api/");

var URL_API = TratamentoProtocol("http://www.shoulder.com.br/API/");

//var URL_LOJA = TratamentoProtocol("http://" + document.domain + "/design04/loja/");
//var URL_LOJA = TratamentoProtocol("http://" + document.domain + "/estore/");


var lojaDir = location.hostname.search('swf') >= 0 ? '/design04/loja/': '/estore/';
//var URL_LOJA = TratamentoProtocol("http://" + document.domain + lojaDir);
var URL_LOJA = TratamentoProtocol("http://www.shoulder.com.br/estore/");



var PATH_IMG = "geral/linxshop/fotos/thumbs/";
var codigo = null;

//'112134201'

//--------------------------------------------------------------------------------------------------------------------
// LOAD   
//--------------------------------------------------------------------------------------------------------------------
$(document).ready(function() {

    codigo = $('input[name^="product"]').val();

   EventButton();
   ProdRelacionado();
   LookRelacionado();
   VerificaAcesso();
   breadcumbsAba();
   ProdLavagem();
   linksAbasLaterais();
   
   bindCarrinhoPopup();
});

//--------------------------------------------------------------------------------------------------------------------
// EVENTO BUTTON
//--------------------------------------------------------------------------------------------------------------------

function EventButton(){
	$("#esqueciSenha").click(function () {
		EnviarSenhaCliente();
	});
        
    
	$("#entrar").click(function () {
		FazerLoginAcesso();
	});

	$('#criarConta').click(function() {
	location.href = "http://www.shoulder.com.br/estore/cadastro.aspx?pais=BRASIL&cep=" + $('#cep').attr('value');
    });

    $("#cadastrarNewsletter").click(function() {
        NewsLetter();
    });

	$('#entrarCpf').click(function() {
	location.href = "http://www.shoulder.com.br/estore/login.aspx";
    });
    

	
}  

//--------------------------------------------------------------------------------------------------------------------
// PROPRIEDADE
//--------------------------------------------------------------------------------------------------------------------

var LookRelacionado;
var ProdRelacionado;
var ProdWishList;
var ProdLavagem;

function ProdLavagemModel(produto,descricao,fotolavagem) {
    this.Produto = produto;
    this.Descricao = descricao;
    this.LinkFotoProduto = fotolavagem;
}


function ProdWishListViewModel(link, foto, titulo, preco, codigoprod,codigoclie) {
    this.LinkProduto     = URL_LOJA + link;
    this.LinkFotoProduto = foto;
    this.Titulo          = titulo;
    this.Preco = preco;
    this.CodigoProd = codigoprod;
    this.CodigoClie = codigoclie;
}


function LookRelViewModel(link, foto, titulo, preco) {
	this.LinkProduto      = URL_LOJA + link;
	this.LinkFotoProduto  = foto;
	this.Titulo           = titulo;
	//this.Preco 			  = preco;
}


function ProdRelViewModel(link, foto, titulo, preco) {
	this.LinkProduto = URL_LOJA + link;
	this.LinkFotoProduto = foto;
	this.Titulo = titulo;    
	this.Preco = preco;
}
//--------------------------------------------------------------------------------------------------------------------
// CHAMADA DOS METODOS JSON
//--------------------------------------------------------------------------------------------------------------------
function ProdWishList(codigocliente) {

    if ($('body[id="telaWishListFrame"]').length == 0) return;

    if (codigocliente == 0) {
        $("#divMsgErroWishlist").html("");
        $("#divMsgErroWishlist").append("<span id='spnMsgErroWishlist' class='TitleEmptyCatalog'>Nao existe produtos na WishList.</span>");
        return;
    }
    
    
    
    //http: //shoulder.linxsaas.com.br/API/Contador/voto/cliente.xml?c=1&cli=1212
    $.getJSON(
		URL_API + "Contador/voto/cliente.json",
		{
		    c: 1,  //WishList Contador 1
		    cli: codigocliente
		},
		function(data) {
		    ProdWishList = new Array();

		    for (var i = 0; i < data.Resultado[0].length; i++) 
		    {
		        ProdWishList.push(new ProdWishListViewModel(
		                                                  'produto-' + data.Resultado[0][i].CodigoProduto + '-0-0-0.aspx',
														   PATH_IMG + data.Resultado[0][i].FotoCatalogo,
														   data.Resultado[0][i].NomeProduto,
														   0, data.Resultado[0][i].CodigoProduto, codigocliente
														  ));
		    }

		    CallBack_ProdWishList();
		}
	).error(function() {
		$("#divMsgErroWishlist").html("");
		$("#divMsgErroWishlist").append("<span id='spnMsgErroWishlist' class='TitleEmptyCatalog'>Nao existe produtos na WishList.</span>");
		return;
    });
   
	
}


function ProdLavagem() {

    if ($('body[id="telaComprar"]').length == 0) return;

    //codigo = '112084302';

    $.getJSON(
		URL_API + "produto/lavagem.json",
		{
		    p: codigo
		},
		function(data) {
		
		ProdLavagem = new Array();

	        for (var i = 0; i < data.Resultado[0].length; i++) {
	            ProdLavagem.push(new ProdLavagemModel(data.Resultado[0][i].Codigo,
												      data.Resultado[0][i].DescricaoLavagem,
												      data.Resultado[0][i].PathFoto));
	        }

	        CallBack_ProdLavagem();
		}
	).error(function() {
	    //alert(""); 
	});
}



function LookRelacionado() {

	if ($('body[id="telaComprar"]').length == 0) return;

	//teste Look relacionados
	//codigo = '112010164';
	
	$.getJSON(
		URL_API + "Look/consultar.json",
		{
		    codigoProduto:codigo
		},
		function (data) {
			LookRelacionado = new Array();
			
			//detalhe-LOOK00000305-LOOKBOOK-HAMPTONS-08.aspx
			
			for (var i = 0; i < data.Resultado[0].length; i++) {

			   	    //if (i < 3) 
			   	    LookRelacionado.push(new LookRelViewModel('detalhe-' + data.Resultado[0][i].CodProdRelacionado + '-LOOKBOOK.aspx',
														  PATH_IMG + 'look_' + data.Resultado[0][i].CodProdRelacionado + '_000_' + data.Resultado[0][i].ImagensLook[0].NumeroFoto + '_c.jpg', 
														  data.Resultado[0][i].DescProdRelacionado));
			}		    

			CallBack_LookRelacionado();
		}
	).error(function () {
		$("#lirelLook-titulo").html("");
		showRelacionados() 
		    //alert(""); 
		});
}


function ProdRelacionado() {

    if ($('body[id="telaComprar"]').length == 0) return;

    //teste produtos relacionados
    //codigo = '112134201';

	    
	$.getJSON(
	 URL_API + "Produto/relacionado.json",
		{
		    p: codigo
		},
		function (data) {

			ProdRelacionado = new Array();

			for (var i = 0; i < data.Resultado[0].length; i++) {
			    //if (i < 3) 
				ProdRelacionado.push(new ProdRelViewModel(
														  data.Resultado[0][i].UrlDetalhe, 
														  PATH_IMG + data.Resultado[0][i].ImagemPrincipal.PathFotoCatalogo, 
														  data.Resultado[0][i].TituloB2C, 
														  data.Resultado[0][i].Preco, 
														  data.Resultado[0][i].Preco
														  ));
			}

			CallBack_ProdRelacionado();
		}
	).error(function () {
		$("#lirelprod-titulo").html("");
		showRelacionados()
		 //alert(""); 
	});
}


//--------------------------------------------------------------------------------------------------------------------
// CHAMADA DO TEMPLATE
//--------------------------------------------------------------------------------------------------------------------
function CallBack_ProdWishList() {
    $("#ProdWishListTemplate").tmpl(ProdWishList).appendTo("#listaProdWishlist");
}


function CallBack_LookRelacionado() {
	$("#LookRelacionadoTemplate").tmpl(LookRelacionado).appendTo("#relacionadolook");
}


function CallBack_ProdRelacionado() {
	$("#ProdRelacionadoTemplate").tmpl(ProdRelacionado).appendTo("#relacionadoproduto");
}

function CallBack_ProdLavagem() {
    $("#DicasLavagemTemplate").tmpl(ProdLavagem).appendTo("#lista-cuidados");
}




//--------------------------------------------------------------------------------------------------------------------
// CHAMADA DOS METODOS AJAX
//--------------------------------------------------------------------------------------------------------------------


//Metodo RemoverWishList
function RemoverWishList(codigoprod,codigoclie) {

    //Contador=1 WishList
    var param = { CodigoContador: 1, CodigoProduto: codigoprod, CodigoCliente: codigoclie };

    // chamada do tipo FORM (HTML)
    $.post(
    URL_API + "contador/removervoto.json/form",
    param,
    function(data) {
    },
    "json"
    );

    //ProdWishList();
	$('#prod' + codigoprod).fadeOut('slow',function(){$(this).remove()});
    

}

function AdicionarWishListCliente(Contador, Produto, Cliente) {

    
    // parametro para API do contador
    var param = { CodigoContador: Contador, CodigoProduto: Produto, CodigoCliente: Cliente };

    //alert(param);


    // chamada do tipo FORM (HTML)
    $.post(
    URL_API + "Contador/voto.json/form",
    param,
    function(data) {
    },
    "json"
    );
}

function AdicionarProduto(Contador, Produto) {
    // parametro para API do contador
    var param = { CodigoContador: Contador, CodigoProduto: Produto };

    // chamada do tipo FORM (HTML)
    $.post(
    URL_API + "contador/voto.json/form",
    param,
    function(data) {
        //alert(data);
    },
    "json"
    );
}


function AdicionarWishList(Contador, Produto, event) {
    
    $.ajax({
        url: URL_LOJA + "api.aspx?tipo=attverificaacesso",
        dataType: ($.browser.msie) ? "text" : "xml",
        success: function(data) {
            var xml;
            if (typeof data == "string") {
                xml = new ActiveXObject("Microsoft.XMLDOM");
                xml.async = false;
                xml.loadXML(data);
            }
            else {
                xml = data;
            }

            //alert(xml.xml);

            if (xml != null) {
                $(xml).find('attverificaacesso').each(function() {
                    var ativo = $(this).find("ATIVO").text();
                    var apelido = $(this).find("APELIDO").text();
                    var codCliente = $(this).find("CODIGO_CLIENTE").text();

                    if (ativo == "1") {
                        AdicionarWishListCliente(Contador, Produto, codCliente);
                        compartilharLinkAmei("O produto foi adicionado na sua Wish List.", event);

                    }
                    else {
                        compartilharLinkAmei("Fa&#231;a seu login para adicionar o produto na Wish List.", event);
                        AdicionarProduto(Contador, Produto);
                    }

                });
            }
        }
    });
}

function compartilharLinkAmei(texto, e) {
    $("#Conteudo").remove();
    $("<div id='Conteudo' style='display:none' onmouseover='EfeitoAmeiStop(this)' onmouseout='EfeitoAmeiSair(this)' >" + texto + "</div> ").appendTo("body");

    var box = "#Conteudo";

    var x = $(e).offset().left;  // posicao x do link
    var y = $(e).offset().top;   // posicao y do link
    var w = $(box).width() - $(e).width(); // largura do box - largura do link

    w = ($('body').attr('id') == "telaComprar") ? (w + 13) : (w + 13);

    $(box).css({ 'top': y - ($(box).height() / 0.90) + 13, 'left': x - w });

    $("#Conteudo").css({ display: 'block' }).fadeOut(9000);
}


function EfeitoAmeiStop(e) {
    $(e).stop(true, true).fadeIn(1000);
}

function EfeitoAmeiSair(e) {
    $(e).fadeOut(5000);
}




//Metodo Esqueci a senha
function EnviarSenhaCliente() {

	var strEmail = $("#emailLogin").attr("value");
		//$('.clear').empty();

	if (strEmail.indexOf("@") < 0) {
		alert("Digite um e-mail valido.");
		//$('.clear').html("Digite um e-mail v&#225;lido").css("display", "block");
		return;
	}

	$.ajax({
		url: URL_LOJA + "api.aspx?tipo=attEmailSenhaCliente&email=" + strEmail,
		dataType: "xml",
		success: function (xml) {
			var codigo = $(xml).find("codigo").text();
			var mensagem = $(xml).find("mensagem").text();
			$("#msgErroLogin").empty();
			if (codigo == "0") {
				alert("Em instantes sera enviado um e-mail com o seu login e senha.");
				//$('.emailorpass').html("Em instantes ser&#225; enviado um e-mail com o seu login e senha.").css("display", "block");
			}
			else {
				alert(mensagem);
				//$('.emailorpass').html(mensagem);
			}
		}
	});
}


function NewsLetter() {
	var strUrl = URL_LOJA + "newsletter.aspx?";
	var strNome = $('#emailNewsletter').attr('value');
	var strEmail = $('#emailNewsletter').attr('value');
	var NomeLoja = 'Shoulder';

	if ((strNome == "" || strEmail == "") || (strNome == "Digite seu e-mail" || strEmail == "Digite seu e-mail")) {
		alert("Por favor, preencha Nome e E-mail!");
		return;
	}

	strUrl += "nome=" + strNome + "&email=" + strEmail;

	$.ajax({
		type: "POST",
		url: strUrl,
		success: function(data) {
			if (data == "Realizado com sucesso.") {
			    alert("Obrigado por se cadastrar!");
				//$().css('display', 'none');
				//var Mensagem = "Obrigado por se cadastrar " + nomeloja;
				//$("#divNewsLetterContainer").html("");
				//$("#divNewsLetterContainer").append("<span class='spnMensagemNewletter'>" + Mensagem + "</span>");
			}
			else {
				alert(data);
			}
		}
	});
}

//Fazer o Login e Logoff
function FazerLoginAcesso() {
	var strEmail = $('#emailLogin').attr('value');
	var strSenha = $('#senhaLogin').attr('value');

	if (strEmail == "") {
		alert("Favor preencher o campo Email.");
		//$(".clear").html("Favor preencher o campo Email.");
		//$(".clear").css("display", "block");
		return;
	}
	else if (strSenha == "") {
		alert("Favor preencher o campo Senha.");
		//$(".clear").html("Favor preencher o campo Senha.");
		//$(".clear").css("display", "block");
		return;
	}

	var strPagina = "apilogin.aspx?email=" + strEmail + "&senha=" + strSenha + "&url=";

	$.ajax({
		type: "GET",
		url: URL_LOJA + strPagina,
		data: "xml",
		success: function (xml) {
			$(xml).find('attverificaacesso').each(function () {
				var ativo   = $(this).find("ATIVO").text();
				var apelido = $(this).find("APELIDO").text();
				var erro    = $(this).find("MSG").text() != "" ? $(this).find("MSG").text() : $(this).find("ERRO").text();
				
				if (ativo == "1") {
					ControleLogado(apelido);
				}
				else {
				    alert(erro);
				}
			});
		}
	});
}


function VerificaAcesso() {
	$.ajax({
		url: URL_LOJA + "api.aspx?tipo=attverificaacesso",
		dataType: "xml",
		success: function (xml) {
			$(xml).find('attverificaacesso').each(function () {
				var ativo = $(this).find("ATIVO").text();
				var apelido = $(this).find("APELIDO").text();
				var codigocliente = $(this).find("CODIGO_CLIENTE").text();
				
				if (ativo == "1") {
				    ProdWishList(codigocliente);
				    ControleLogado(apelido);

				}            
			});
		}
	});
}


//--------------------------------------------------------------------------------------------------------------------
// CHAMADA DOS METODOS COMUM
//--------------------------------------------------------------------------------------------------------------------

function ControleLogado(apelido) {
	$("#infoUser .abas p").empty();

	$("#infoUser .abas p").eq(0).html("<p><a class='sair' href=\"" + URL_LOJA + "Login.aspx?logout=1\">Sair</a></p>\n " +
									  "<p><a class='nomeUser fechado' href='#'><span>Ol&aacute;, " + apelido + " </span><strong><img src='content/images/iconLogin.png' alt='' /></strong></a></p>");
	/*$('a.nomeUser').transform({ 'rotate': '-90deg' });*/
	$("#login").css("display", "none");
	/*setTimeout(function(){
		var altura = $('a.nomeUser').height()+80;
		$('a.nomeUser').css({top:altura+'px'});
	},2000);*/
			$('a.nomeUser span').transform({'rotate':'-90deg'});
			$('a.nomeUser span').css('font-weight','normal');
			$('a.nomeUser span').width($('a.nomeUser span').text().length*11);
			$('a.nomeUser').height(($('a.nomeUser span').text().length*7)+40);
	//init()

}

function TratamentoProtocol(caminho) {
	return ("https:" == document.location.protocol) ? caminho.replace("http", "https") : caminho;
}

// Ajuste migalha de p�o abas laterais
function breadcumbsAba(){
	$('#iframepagina').load(function(){
		if($('#iframepagina').contents().get(0).location.pathname.search('NovoEnderecoFrame.aspx') >= 0){
			$('#cadastro header h3').children('.breadcumb-aba').remove();
			$('#cadastro header h3').append('<a href="#" class="breadcumb-aba"><span class="breadcumb-aba-sep"></span><span>NOVO</span></a>');
		}else{
			$('#cadastro header h3').children('.breadcumb-aba').remove();	
		}
	});
}

// INÍCIO: Sacola de compras (topo) ---------------------------------------------------------------------------------------------------

function bindCarrinhoPopup() {
	qtdItensCarrinho();
	itensCarrinho();
   	   
}
function itensCarrinho() {
    $.ajax({
        url: URL_LOJA +  "api.aspx?tipo=attcarrinho",
        dataType: 'xml',
        success: function (xml) {
            $('.sacola .contentSacola .scroll').empty();
            $(xml).find('carrinho').each(function () {
                var quant = $(this).find("totalItens").text();
                var carrinho = $(this).find("valorTotalCarrinho").text();
                $(".cesta-item em").text(quant);
                $(".cesta-valor em").text(carrinho);

                $(this).find('item').each(function () {
                    var codigo = $(this).find("produto").text();
                    var descricao = $(this).find("descricao").text();
                    var cor = $(this).find('cor').text();
                    var tamanho = $(this).find('tamanho').text();
                    var quantidade = $(this).find('quantidade').text();
                    var valor = $(this).find('valor').text();
                    var valorTotalItem = $(this).find('valorTotalItem').text();
                    var imagem = $(this).find('imagem').text();
                    var link = $(this).find('link').text();
                    if (valorTotalItem != "") {
                        var templateProd = '<div class="produto"> <img src="' + URL_LOJA + imagem + '" alt="' + descricao + '" />';
                        templateProd += '<h3><a href="">' + descricao + '</a></h3>';
                        templateProd += '<p>ref ' + codigo + '</p>';
                        templateProd += '<p><span>Tamanho:</span> ' + tamanho + '</p>';
                        //templateProd += '<p><span>Quantidade:</span>'+ quantidade +'</p>';
                        templateProd += '<p><span>Valor:</span> R$ ' + valor + '</p>';
                        templateProd += '<div class="clear"></div></div>';
                        $('.sacola .contentSacola .scroll').append(templateProd);
                    }
                });
                $('.sacola .contentSacola .scroll').append('<div class="height50"></div>');
            });
        }
    });
}
function qtdItensCarrinho() {
    $.ajax({
        url: URL_LOJA +  "api.aspx?tipo=attsacola",
        dataType: 'xml',
        success: function (xml) {
            $('.pop_up .listing #toolsCarrinho').empty();
            $(xml).find('attsacola').each(function () {
                var QtdeItens = $(this).find("QTD_ITENS").text();
                var ValorTotal = $(this).find("VALOR_TOTAL").text();
                var SubTotal = $(this).find("SUB_TOTAL").text();
                $('.sacola-subtotal').html(SubTotal);
                $('.sacola .numItens span').html('(' + QtdeItens + ')');
            });
        }
    });
}

// FIM: Sacola de compras (topo) ---------------------------------------------------------------------------------------------------

function linksAbasLaterais() {
    $('#meusdados a').not('.fecharAba').click(function(e) {
        e.preventDefault();
        $('#iframepagina').attr('src', $(this).attr('href'));
        $('#cadastro header h3').html($(this).text());
        $('#cadastro').animate({ left: '300px' }, function() { $('span.bgInfoUser').fadeIn(); });
        $('#cadastro').fadeIn(400);

    });
    $('.fecharCadastro, #cancelarCadastro').bind('click', function(event) {

        event.preventDefault();
        $('#cadastro').fadeOut(400);
        $('span.bgInfoUser').fadeOut();
        $('#cadastro').animate({ left: '0' });
        $('.fazerLogin, .cadastreAgora, .nomeUser').removeClass('aberto').addClass('fechado');
    });
    $('.fecharAba').click(function() { $('.aberto').trigger('click'); });
}


