Array.prototype.exists = function(o) {
    for(var i = 0; i < this.length; i++)
        if(this[i] === o)
            return true;
    return false;
}
function getColor(){
	var cor = document.location.toString().split('#');
	createCookie('cookieCor',cor[1],1);
}
$().ready(function() {
	 $('.nyro').nyroModal();
	// NYROMODAL DO LOOKBOOK
	$('a.LnkVideoLookbook').nyroModal({
	    autoSizable: false,
	    resizable: false,
	    windowResize: false,
	    width: 640,
	    height: 480
	});

	// TROCA A COR DO PRODUTO
	$("#box-produto-1>div>ul>li>a").click(function(e){
        $('ul.listaTamanhos > li').empty();
		var holderImagem = '#img-produto';
		var imagemGrande = holderImagem+'>img';
		// SUBSTITUI pequeno POR grande NO NOME DA IMAGEM CLICADA
		var imagemSRC = $(this).contents().attr('src').replace('pequeno', 'grande');

		// CARREGA A IMAGEM GRANDE
		var img = new Image();
		$(img).load(function(){
			// ESCONDE A IMAGEM GRANDE - O CARREGANDO ESTÁ EM BACKGROUND
			$(imagemGrande).hide();

			$(imagemGrande).attr('src', imagemSRC);
			// MOSTRA A IMAGEM GRANDE COM FADE
			$(imagemGrande).parent().css('visibility', 'visible');
			$(imagemGrande).fadeIn();
		}).attr('src', imagemSRC);
		
		//SETA FLAG 
		is360=false;

		// PEGA A COR CLICADA
		var corSelecionada = $(this).attr('rel');
		// DEFINE NO FORMULARIO A COR SELECIONADA
		$("#corSelecionada").val(corSelecionada);

		// TROCA O CODIGO DA COR 
		var elementoCodigo = $('#box-produto-2 > small:first');
		elementoCodigo.html(elementoCodigo.html().replace(/-.*/,'-'+corSelecionada));
		var elementoZoom = $('.LnkZoom');
		elementoZoom.attr('href', elementoZoom.attr('href').replace(/-.*\.jpg/,'-'+corSelecionada+'.jpg'))

		var aviso = false;
		var primeiroTamanhoDisponivel = false;
		var tamanhoSelecionado = false;

		aEstoque  = aCores[corSelecionada]['estoque'];

        var sHtml = "";
		var contador = 0;
		for(chave in aEstoque){
            var cor = chave;
            var urlcor = cor.replace("/","-");
            sHtml = sHtml + "<li><input type=\"radio\" name=\"tamanho\" id=\"tamanho-" + contador + "\" disabled=\"disabled\" />";
			sHtml = sHtml + "	<label for=\"tamanho-" + contador + "\"  class=\"Tam" + urlcor + " Disabled\">"+urlcor+"</label>";
			sHtml = sHtml + "	</li>";
			contador++;
		}
        $('ul.listaTamanhos').html(sHtml);

        $("ul.listaTamanhos>li>label").click(function(){
            if(!$(this).prev().attr('disabled')){
                $('ul.listaTamanhos>li>label').each(function(){
                    //				$(this).removeClass('Checked');
                    $(this).removeClass('Ativo');

                });
                var objeto = "#" + $(this).attr("for");
                $(objeto).attr("checked", true);
                $(this).addClass("Ativo");
                $("#tamanhoSelecionado").val($(this).html());
            }
        });
        // NAO PERMITE CLIQUE NOS DESABILITADOS / OPERA
        $('ul.listaTamanhos > li').click(function(e){
            e.preventDefault();
        });
		var contador = 0;
		var avisoTamanhoSemEstoque = false;

		// VARRE TODOS OS NUMEROS DA COR SELECIONADA
		for(chave in aEstoque){
			var elemento = $('#tamanho-'+contador);
			// SE NAO TIVER EM ESTOQUE, DESABILITA A OPCAO
			if(aEstoque[chave] == 'nao'){
				elemento.attr('disabled', true).next().addClass('Disabled');
				elemento.attr('disabled', true).next().hide();
				avisoTamanhoSemEstoque = true;
			}else{
				// SE É O PRIMEIRO NUMERO DISPONIVEL, GUARDA PRA TRAZER SELECIONADO
				if(!primeiroTamanhoDisponivel){
					primeiroTamanhoDisponivel = String(contador);
					tamanhoSelecionado = chave;
				}
				elemento.attr('disabled', false).next().removeClass('Disabled');
				elemento.attr('disabled', false).next().attr('selected', true)
				elemento.attr('disabled', false).next().addClass('Ativo');
				elemento.attr('disabled', false).next().show();
			}
			contador++;
		}

		// SE NAO TEM ALGUM NUMERO, MOSTRA A OPÇÃO DE AVISE-ME
		if (avisoTamanhoSemEstoque){
			$('#lnk-aviseme').fadeIn('slow');
			addCorURL('#lnk-aviseme',corSelecionada);
		}else{
			$('#lnk-aviseme').fadeOut('slow');
		}

		// SE NAO TIVER TAMANHOS DISPONIVEIS, TROCA BOTAO COMPRAR PELO AVISO
		if(!primeiroTamanhoDisponivel){
			$('#box-produto-2 > ul:first').slideUp();
			$('#estoqueIndisponivel').slideDown();
			$('#h3Tamanhos').hide();
		}else{ 
			// SE O BOTAO COMPRAR ESTIVER ESCONDIDO, MOSTRA
			if($('#box-produto-2 > ul:first').css('display') == 'none'){
				$('#estoqueIndisponivel').slideUp();
				$('#box-produto-2 > ul:first').slideDown();
				$('#h3Tamanhos').show();
			}

			$('ul.listaTamanhos>li>label').each(function(){
				$(this).removeClass('Ativo');
			});

			$('#tamanho-' + primeiroTamanhoDisponivel).attr("checked", true);
			$('#tamanho-' + primeiroTamanhoDisponivel).addClass("Ativo");
			$('#tamanho-' + primeiroTamanhoDisponivel).next().addClass("Ativo");
			$("#tamanhoSelecionado").val(tamanhoSelecionado);
		}

		addCorURLModal('.LnkEnvieParaAmiga',corSelecionada);
		addCorURL('.LnkAdicionarListaPresentes',corSelecionada);
		
		$(this).parent('li').parent('ul').each(function(){
			$('li>a',this).removeClass('Ativo');
		});
		$(this).addClass('Ativo');

		descricao_exessao='<strong>Cibelle para Melissa</strong><br /><br />A cantora e multinstrumentista Cibelle é a mais nova parceira da Melissa. Brasileira, porém globetrotter, a cantora virou a queridinha dos fashionistas com o seu estilo criativo e super colorido. Tornou-se promessa musical no cenário internacional – sempre ávido por novas musas! – quando algumas publicações começaram a listá-la entre suas apostas, como é o caso da edição inglesa da Grazia. Sua voz é doce e mistura pitadas de MPB, folk-pop e indie, mas o estilo é tão particular que fica difícil rotulá-la.<br /><br />Sempre antenada com as novidades das mais diversas cenas – música, design, moda, artes plásticas –, a equipe da Melissa convidou Cibelle para assinar a nova fachada e ambientação da Galeria Melissa e lançar uma cor exclusiva de um dos modelos da marca para o verão 2011. Inspirados em um dos hits de Cibelle – Sapato Azul – a equipe de criação incluiu o azul Klein na cartela da Melissa Amazonas, modelo de salto alto estruturado em meia pata, com arrojado design orgânico e revelador por conta do vazado no peito do pé. O modelo ganha embalagem especial em tiragem limitada de 400 pares, Melissa Amazonista by Cibelle La Sonja Khalecallon estará à venda apenas na Galeria Melissa e na loja virtual da marca, além de estar em exibição na Surface to Air São Paulo/ Paris.<br /><br />Morando em Londres há quase uma década, Cibelle volta à terrinha para celebrar a parceria com a Melissa. No dia 17 de outubro, a artista acompanha a transformação da nova fachada da Galeria e, com a colaboração dos artistas plásticos Rick Castro e Rafa Dejota, monta a instalação audiovisual no jardim de inverno do espaço. Para comemorar o lançamento da parceria, no dia 19 de outubro, Cibelle e Melissa recebem convidados especiais que acompanharão com exclusividade o clipe de Sapato Azul, além de curtirem as pick ups comandadas pela artista. Cibelle também já colaborou com instalações de artes plásticas mundo afora - como no MoMa de Miami com David Shrigley, na Tate Modern com Real Tuesday Weld ou na última Bienal de Artes de SP com o coletivo AVAF.';
		descricao_normal='<!--{$aProduto.descricao}-->';

		if(elementoCodigo.html()=='30569-1365'){
			$('#produto_descricao_normal').slideUp('slow');
			$('#produto_descricao_excessao').slideDown('slow');
		}else{
			$('#produto_descricao_normal').slideDown('slow');
			$('#produto_descricao_excessao').slideUp('slow');
		}

	});
	
	var uri = document.location.toString();
	var cor = uri.split('#');
    var listaUrlCor = aUrlCores.split(',');

    var nome_cor = new RegExp('('+ cor[1]+')','gi');
	
	//Define a Cor Atual em um Cookie
	getColor();
    if(listaUrlCor.exists(cor[1])){
        $('#box-produto-1>div>ul>li').each(function(){
            href = $('a',this).attr('href');
            //alert(nome_cor.test(href));
            if(nome_cor.test(href) ){
                $('a',this).click();
            }
        });
    }else{
        if(corAleatoria){
            $("#box-produto-1>div>ul>li>a[rel="+corAleatoria+"]").click();
        }
    }

	$("a.box-parcelas")
		.mouseover(function(){
			$("#box-parcelas").className = "Ativo";
			$("#box-parcelas").fadeIn('fast');
		})
		.mouseout(function(){
			$("#box-parcelas").removeClass("Ativo");
			$("#box-parcelas").hide();
		});

	$("#box-parcelas")
		.mouseover(function(){
			$("#box-parcelas").className = "Ativo";
			$(this).show();
		})
		.mouseout(function(){
			$(this).hide();
		});
	$("ul.listaTamanhos>li>label").click(function(){
		if(!$(this).prev().attr('disabled')){
			$('ul.listaTamanhos>li>label').each(function(){
//				$(this).removeClass('Checked');
				$(this).removeClass('Ativo');

			});
			var objeto = "#" + $(this).attr("for");
			$(objeto).attr("checked", true);
			$(this).addClass("Ativo");
			$("#tamanhoSelecionado").val($(this).html());			
		}
	});
	// NAO PERMITE CLIQUE NOS DESABILITADOS / OPERA
	$('ul.listaTamanhos > li').click(function(e){
		e.preventDefault();
	});

	// BOTAO COMPRAR
	$("a.LnkComprar").click(function(e){
		e.preventDefault();

		var prodSel = $("#produtoSelecionado").val();
		var corSel = $("#corSelecionada").val();
		var tamanhoSel = $("#tamanhoSelecionado").val().replace('/','_');
		var colecaoURL = $("#colecaoURL").val();
		var produtoURL = $("#produtoURL").val();

//		console.log('produtoCodigo ' + prodSel +  ' corCodigo ' +  corSel, ' tamanho ' + tamanhoSel +  ' colecaoURL ' +  colecaoURL +  ' produtoURL ' + produtoURL);
		$.post('http'+ siteHTTPSAtivo +'://'+ siteRaiz + "ajax/carrinho-adicionar", {produtoCodigo: prodSel, corCodigo: corSel, tamanho: tamanhoSel, colecaoURL: colecaoURL, produtoURL: produtoURL},function(data){
			if(data.resposta == 'adicionado'){
				window.location.href=siteURL + "carrinho/";
			}else{
				// TODO: MENSAGEM DE ERRO
			}
		}, 'json' );
	});
	$('a.nyroModal').attr('target','_blank');
	/**
	 * Funcao que adiciona a cor selecionada do produto a uma url
	 * @param {Object} elemento o elemento que se quer adicionar
	 * @param {Object} corURL a cor url para add
	 */
	function addCorURL(elemento,cor){
		var href = $(elemento).attr('href');
		var h = window.location.href.replace(/(\/\d).*/g,'');
		getColor();
		$(elemento).attr('href',h+'/'+ cor);
	}
	
	function addCorURLModal(elemento,cor){
        var href = $(elemento).attr('href');
     //   var h = href.replace(/\/(\d+)\/$ */,'');
        $(elemento).attr('href',href+'/'+cor+'/');
    }
	$('input[type="radio"]:selected').next().addClass("Ativo");
	
	// AO CARREGAR A PAGINA, SELECIONA A COR ALEATORIA
	if(corAleatoria && cor[1] == undefined){
			getColor();
			$("#box-produto-1>div>ul>li>a[rel="+corAleatoria+"]").click();
	}
	
	//hack by aleks : CARREGA A IMAGEM 360 PARA ALGUNS PRODUTOS
	var imagemSRC360 = getImagem360(); 
	$('#lnk360').click(
			function(e){
				e.preventDefault();
				if ( is360 ){
					var cor = $("#corSelecionada").val();
					$("#box-produto-1>div>ul>li>a[rel="+cor+"]").click();
				}else{
					aplicaGif360(imagemSRC360);
				}
			}
	);
	//fim hack
});

function aplicaGif360(imagemSRC360){
	if (imagemSRC360){
		is360=true;
		var holderImagem = '#img-produto';
		var imagemGrande = holderImagem+'>img';
		// CARREGA A IMAGEM 360
		var img360 = new Image();
		$(img360).load(function(){
			// ESCONDE A IMAGEM GRANDE - O CARREGANDO ESTÁ EM BACKGROUND
			$(imagemGrande).hide();
			$(imagemGrande).attr('src', imagemSRC360);
			// MOSTRA A IMAGEM GRANDE COM FADE
			$(imagemGrande).parent().css('visibility', 'visible');
			$(imagemGrande).fadeIn();
		}).attr('src', imagemSRC360);
	}
}

var is360=false;

  window.___gcfg = {lang: 'pt-BR'};
 
  (function() {
    var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;
    po.src = 'https://apis.google.com/js/plusone.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);
  })();
