$.include(JS_URL_BASE + 'jquery/jquery.history_remote.js');
$.include(JS_URL_BASE + 'jquery/jquery.zoom.js');
$.include(JS_URL_BASE + 'jquery/jquery.image-preload.js');
$.include(JS_URL_BASE + 'jquery/jquery.lightbox.js');
$.include(JS_URL_BASE + 'jquery/jquery.fade.js');
$.include(JS_URL_BASE + 'jquery/jquery.color.js');
//$.include(JS_URL_BASE + 'app.form.js');
//$.include(JS_URL_BASE + 'produtos/lista.js');

$(document).ready(function () {
							
	var $adicionar = $('a.btnCarrinho');
	
	$adicionar.click(function (e) {
		e.preventDefault();

		var $this = $(this);
		var action = App.url($this.attr('href'), {extension: 'js'});

		$this.parent().loading();
		        
		$.get(action, null, function () {}, 'script');
	});

	App.flash.bind('carrinho-adicionar', function (e, type, status, message, className, url) {
		$adicionar.parent().unloading();
		App.Carrinho.carregar();
		
		if (status === 'success') {
			$.getScript(App.url({extension: 'js'}));			
		} else {
			return true;
		}
		App.flash.cancelDisplay();

		var msg = $('<div id="notificacaoCarrinho"><h1>Carrinho</h1><p id="texto">Seu produto foi adicionado com sucesso ao Carrinho, clique em OK para continuar escolhendo seus produtos, ou em fechar pedido para finalizar sua compra.</p><p class="botoes"><span class="ok"><a href="#" class="continuar-comprando">Ok</a></span><span class="fechar"><a href="' + App.url('/carrinho') + '" class="fechar-pedido">Fechar Pedido</a></span></p></div>').appendTo('body').hide();

		$.blockUI(msg);

		$(msg).find('.continuar-comprando').click(function (e) {
			$.unblockUI();
		});
	});
	App.flash.bind('carrinho--verifica-estoque', function() {
		$adicionar.parent().unloading();		
	});

	var url = window.location;
	var matchs = /produtos\/detalhes\/(\d+)/.exec(url);
	var produtoId = null;
	if (matchs && matchs.length > 0 && matchs[1]) {
		produtoId = matchs[1];
	}

	$('<div class="produtoNotificacao">Carregando...</div>').hide().appendTo('body').load(App.url('/produtos/notificacoes/adicionar/' + produtoId,{extension:'ajax'}));
	$('<div class="produtoConsulta">Carregando...</div>').hide().appendTo('body').load(App.url('/produtos/consulta/' + produtoId, {extension: 'ajax'}));
	$('<div class="produtoIndique">Carregando...</div>').hide().appendTo('body').load(App.url('/produtos/indique/' + produtoId, {extension: 'ajax'}));

	$('a.produto-notificacao').click(function (e) {
		e.preventDefault();
		e.stopPropagation();
		var produtoNotificacao = $('body .produtoNotificacao').clone().appendTo('body');
		if ($(produtoNotificacao).find('form').size() === 0) {
			produtoNotificacao.load(App.url('/produtos/notificacoes/adicionar/' + produtoId, {extension: 'ajax'}));
		}		
		produtoNotificacao.displayBox();
	});

	App.flash.bind('produtos-notificacoes-adicionar', function () {
		$.unblockUI();
		return true;
	});

	$('a.produto-consulta').click(function (e) {
		e.preventDefault();
		e.stopPropagation();

		var produtoConsulta = $('body .produtoConsulta').clone().appendTo('body');

		if ($(produtoConsulta).find('form').size() === 0) {
			produtoConsulta.load(App.url('/produtos/consulta/' + produtoId, {extension: 'ajax'}));
		}

		produtoConsulta.displayBox();
	});

	App.flash.bind('produtos-consulta', function () {
		$.unblockUI();
		return true;
	});

	$('a.produto-indique').click(function (e) {
		e.preventDefault();
		e.stopPropagation();

		var produtoIndique = $('body .produtoIndique').clone().appendTo('body');

		if ($(produtoIndique).find('form').size() === 0) {
			produtoIndique.load(App.url('/produtos/indique/' + produtoId, {extension: 'ajax'}));
		}

		produtoIndique.displayBox();
	});

	App.flash.bind('produtos-indique', function () {
		$.unblockUI();
		return true;
	});
	
	$('a.produto-pagamento').click(function (e) {
		e.preventDefault();
		e.stopPropagation();
		
		window.open($(this).attr('href'), '', 'height=588, width=650, location=no, menubar=no, resizable=yes, scrollbars=yes, status=no, toolbar=no');
	});	
	
	if ($('.fotosProduto .fotoMaior img').size() > 0) {
		$.preloadImage(IMG_URL_BASE + 'icons/loading.gif');
		
		var w = $('body').width() - 100;
		var h = $('body').height() - 200;
		$('.fotosProduto .thumbs a').each(function () {
			var href = $(this).attr('href');
			$(this).attr('href', href.replace(/imagem\/(\d+)\/(\d+)\/\d+\/\d+\.(\w+)$/, 'imagem/$1/$2/' + w + '/' + h + '/.$3'));
			//var parts = /imagem\/(\d+)\/(\d+)\.(\w+)$/.exec(href);
			//$(this).attr('href', App.url('/produtos/imagem/' + parts[1] + '/' + parts[2] + '/' + w + '/' + h + '/' + parts[0]));
		});
		
		var thumbsLightBox = $('.fotosProduto .thumbs a').lightBox({
			autoBind: false,
			imageLoading:			URL_BASE + 'themes/default/img/lightbox-ico-loading.gif',
			imageBtnPrev:			URL_BASE + 'themes/default/img/lightbox-btn-prev.gif',
			imageBtnNext:			URL_BASE + 'themes/default/img/lightbox-btn-next.gif',
			imageBtnClose:			URL_BASE + 'themes/default/img/lightbox-btn-close.gif',
			imageBlank:				URL_BASE + 'themes/default/img/lightbox-blank.gif',
			txtImage:				'Imagem',
			txtOf:					'de'
		});

		$('.fotosProduto .fotoMaior a').livequery('click', function (e) {
			e.preventDefault();
			thumbsLightBox.initialize($('.fotosProduto .thumbs .selected').get(0));
		});
		
		$('.fotosProduto .thumbs a').click(function (e) {
			e.stopPropagation();
			e.preventDefault();
			if ($(this).is('.selected')) {
				return true;
			}

			function alteraImagem() {
				var fotoMaior = $('.fotosProduto .fotoMaior');
				fotoMaior.find('a').attr('href', meta.grande);
				var imgFrom = fotoMaior.find('img');
				imgFrom.replaceWith(img);
				//img.zoom(zoomSettings);
			}
	
			$('.fotosProduto .thumbs a').removeClass('selected');
	
			var $this = $(this).addClass('selected');
			var self = this;
			var meta = $this.metadata();
			var img = $.data(this, 'imgLarge');
			
			if (img) {				
				alteraImagem();
			} else {				
				/*var timer = setTimeout(function () {
					$('.fotosProduto .fotoMaior a').loading();
				}, 1000);*/
				
				$.preloadImage(meta.grande, function () {
					//clearTimeout(timer);
					img = $(this);					
					$.data(self, 'imgLarge', img);
					//$('.fotosProduto .fotoMaior a').unloading();
					alteraImagem();
				});
			}
		});
				
		$('#ampliar-imagem').click(function (e) {
			e.preventDefault();
			thumbsLightBox.initialize($('.fotosProduto .thumbs .selected').get(0));
		});
		
		if ($('.fotosProduto .thumbs a').size() == 1) {
			$('.fotosProduto .thumbs a').hide();
		}
		
	}		
	
	
});
