/*CAROUSEL LOOKBOOK*/
function carouselLookbook(objParam){
	/*VARS*/
	var obj = objParam.obj;
	var dimension = objParam.dimension;
	var scroll = objParam.scroll;
	var size = objParam.size;
	var loop = objParam.loop;
	var itemList = objParam.itemList;
	var carouselSpeed = objParam.speed;

	if($(obj).is(':visible')){
		/*ARRAY POS CAROUSEL*/
		var pos = [];

		/*VIEW ARRAY POS*/
		var view = 0;

		/*OBJ CAROUSEL*/
		var obj = $(obj);

		/*OBJ ADDCLASS DIMENSION*/
		obj.addClass(dimension);

		/*OBJCURRENT CAROUSEL*/
		var objCurrent = obj.find('.carousel_current');

		/*LIST  CAROUSEL*/
		var list = objCurrent.find('ul:first, ol:first');

		/*LI CAROUSEL*/
		var li = list.find('li');

        if(itemList){
		    li = list.find(itemList);
		}

		var liTotalInit = li.length;

        if(loop){
            /*CLONE*/
    	    for(var i = 0; i < liTotalInit; i++){
    	        li.eq(i).attr('data-index', i);

    	        if(liTotalInit > size && i < size){
    	            list.append(li.eq(i).clone());
    	        }
    	    }
        }

        if(itemList){
		    li = list.find(itemList);

		}else{
		    li = list.find('li');
		}

		/*LI*/
		var liTotal = li.length;
		var liWidth = li.outerWidth(true);
		var liHeigth = li.outerHeight(true);

		/*WIDTH | HEIGHT LIST*/
		var listWidth = liWidth * liTotal;
		var listHeight = liHeigth * liTotal;

		/*SCROLL TOP | LEFT*/
		var scrollLeft = liWidth * scroll;
		var scrollTop = liHeigth * scroll;

		/*WIDTH | HEIGTH OBJ CURRENT*/
		var objCurrentWidth = liWidth * size;
		var objCurrentHeight = liHeigth * size;

		/*BT NEXT*/
		var next = obj.find('.bt_next, .bt_right, .bt_down, .bt_proximo, .bt_proxima');
		var prev = obj.find('.bt_prev, .bt_left, .bt_up, .bt_anterior');

		/*SPEED CAROUSEL*/
		var speed = 300;

		if(carouselSpeed){
		    speed = carouselSpeed;
		}

		/*VERIFICATION QUANT*/
		var quant = Math.ceil(liTotal / scroll);

		/*HORIZONTAL*/
		if(dimension == 'horizontal'){
			objCurrent.css({width: objCurrentWidth + 'px'});
			list.css({width: listWidth + 'px'});

			for(var i = 0; i < quant; i++){
				pos.push(-scrollLeft * i);
			}

		}else{
			objCurrent.css({height: objCurrentHeight + 'px'});
			list.css({height: listHeight + 'px'});

			for(var i = 0; i < quant; i++){
				pos.push(-scrollTop * i);
			}
		}

		/*NEXT | PREV*/
		if(liTotal > size){
			if(loop){
    		    prev.addClass('visible');
    		}

			next.addClass('visible');    		

		}else{
		    next.addClass('hidden');
			prev.addClass('hidden');
		}

		var imgNextAndPrev = function(){
		    var imgNavPrev = view - 1;
		    var imgNavNext = view + 1;

		    if(view == 0){
                imgNavPrev = liTotalInit - 1;
            }

            if(view == liTotalInit){
                imgNavNext = 1;
            }

            var _imgPrev = li.eq(imgNavPrev).find('img').attr('src');
            var _imgNext = li.eq(imgNavNext).find('img').attr('src');

		    next.find('img').attr('src', _imgNext);
		    prev.find('img').attr('src', _imgPrev);
		}

		if(objParam.view){
		    view = eval($('.look_index_' + objParam.view).attr('data-index'));

		    list.css({marginLeft: pos[view]});

            setTimeout(function(){
		        li.eq(view).find('a').jqzoom();
		    }, speed);
		}

		imgNextAndPrev();

		/*PREV*/
		var prevDisableClick = false;

		prev.click(function(){
			if(prevDisableClick == false){
			    prevDisableClick = true;

			    /*VERIFICATION*/
    			if(view == 0){
    			    view = liTotalInit;
                    list.css({marginLeft: pos[view]});
    			}

    			view -= 1;

    			if(!loop && view <= parseInt(liTotal - size) && !next.is('.visible')){
        		    next.removeClass('hidden');
        		    next.addClass('visible');
        		}

    			if(!loop && view == 0){
        		    prev.removeClass('visible');
        		    prev.addClass('hidden');
        		}

    			/*DIMENSION*/
    			list.animate({marginLeft: pos[view]}, speed, function(){
				    prevDisableClick = false;
				});
                
                imgNextAndPrev();

				setTimeout(function(){
    			    li.eq(view).find('a').jqzoom();
    			}, speed);
			}

			return false;
		});

		/*NEXT*/
		var nextDisableClick = false;
		
		next.click(function(){
			if(nextDisableClick == false){
			    nextDisableClick = true;

			    /*VERIFICATION*/
    			if(view == liTotalInit){
    		        view = 0;
    		        list.css({marginLeft: pos[view]});
    		    }

    			view += 1;

    			if(!loop && view > 0 && !prev.is('.visible')){
        		    prev.removeClass('hidden');
        		    prev.addClass('visible');
        		}

        		if(!loop && view == parseInt(liTotal - size)){
        		    next.removeClass('visible');
        		    next.addClass('hidden');
        		}

    			list.animate({marginLeft: pos[view]}, speed, function(){
				    nextDisableClick = false;
				});

                imgNextAndPrev();

				setTimeout(function(){
    			    li.eq(view).find('a').jqzoom();
    			}, speed);
			}

			return false;
		});
	}
}

/*GET QUERY VARIABLE*/
function getQueryVariable(url, variable){
	var url = url.toLowerCase();
	var variable = variable.toLowerCase();
	var vars = url.replace('?', '&').split('&');

	for(var i = 0; i < vars.length; i++){
		if(vars[i].split('=')[0] == variable){
			return vars[i].split('=')[1];
		}
	}
}

function lookDefinition(id){
    setTimeout(function(){
        var url = window.location.href;
    	var look = 'masculino';

    	if(url.split('#')[1]){
    	    look = url.split('#')[1].split('/')[0];
    	}

        $('#lookbook-fotos #masculino, #lookbook-fotos #feminino').hide();
    	$('#' + look).show();

    	$('.masc-fem .bt_masculino, .masc-fem .bt_feminino').removeClass('ativo');
    	$('.masc-fem').find('.bt_' + look).addClass('ativo');

    	$('.masc-fem .nlooks-masculino, .masc-fem .nlooks-feminino').hide();
    	$('.masc-fem .nlooks-' + look).show();

        if(!$('#lookbook-fotos #' + look + ' .carousel').is('.horizontal')){
            if(!id){
                id = eval($('#lookbook-fotos #' + look + ' .carousel').find('li').eq(0).attr('class').replace('look_index_', ''));
            }

            carouselLookbook({obj: $('#lookbook-fotos #' + look + ' .carousel'), dimension: 'horizontal', scroll: 1, size: 1, loop: true, view: id});
        }
    }, 300);
}

Routes = {
	// COMMON //
	common: function(){
		$('a[rel=external]').attr('target', '_blank');
		
		$('#footer .subir').click(function(e){
			e.preventDefault();
			window.scrollTo(0,0);
		});
		
		//INNERLABEL
		$('form').find('input,textarea').innerLabel();

		//SELECT-REPLACE
		$('.page-fale-conosco, .page-trabalhe-conosco').find('select').selectReplace();
		
		// paginacao
		$('.wp-paginate li:last-child').addClass('last-child');
	},

	// HOME //
	home: function(){
		// colorbox settings
		$.extend($.fn.colorbox.settings, {
			current: "imagem {current} de {total}",
			close: "fechar",
			next: "próxima",
			previous: "anterior"
		});
		
		$('#colecao-home .carousel').jcarousel();
		
		var conceitual = $('#conceitual')
		  , ccarr = conceitual.find('.carousel')
		  , last = ccarr.find('li').length
		  , links = conceitual.find('.links a')
		  , ativo = links.filter('.ativo')
		  , activeWidth = ativo.width()
		  , normalWidth = links.not('.ativo').eq(0).width()
		  , clicked = false
		  , ctimer;

		ccarr.jcarousel({
			vertical: true,
			start: last,
			initCallback: function(carousel){
				links.click(function(e, auto){
					clearTimeout(ctimer);
					if (!auto) clicked = true;
					e.preventDefault();

					var pos = +$(this).text();
					carousel.scroll(pos);

					links.filter('.ativo').stop().animate({ width:normalWidth }, 300).removeClass('ativo');
					$(this).addClass('ativo').stop().animate({ width:activeWidth }, 200);
				});
			}
		});

		// automatico
		var curlink = last-1;
		ctimer = setTimeout(function(){
			curlink--;
			
			if(curlink < 0){
				curlink = last-1;
			}

			links.eq(curlink).trigger('click', ['auto']);

			if(!clicked){
			    setTimeout(arguments.callee, 7000);
			}	

		}, 10000);
	},

	// LOOKBOOK //
	lookbook: function(){
		// Foto pela URL
		(function() {
		    var url = window.location.href;
		    var lookId = url.split('#')[1];

			if(lookId && lookId.split('/')[1]){
			    lookDefinition(lookId.split('/')[1]);

			}else{
			    lookDefinition();
			}
		})();

		$('.masc-fem a').click(function(){
		    lookDefinition();
		});
	},

	// LOJAS //
	lojas: function(){
		
	},

	// POST
	post: function(){
		$('.text p').filter(function(){
			return $(this).find('img').length >= 2;
		}).addClass('gallery');
	},

	// CAMPANHA
	campanha: function(){
		var fotos = $('#fotos-campanha');
		fotos.find('.carousel').jcarousel({
			initCallback: function(carousel){
				
				fotos.find('.pages a').bind('click', function() {
					var pos = +$(this).text();
					pos = 1+( (pos-1) *3 );
					carousel.scroll(pos);
					return false;
				});
				
				carousel.container.find('.jcarousel-item a').colorbox({ rel: 'campanha', photo:true });
			}
		});
	}
}

jQuery(document).ready(function($){
	$('.img_rotate').click(function(){
	    var _entry = $(this);
	    var _parent = _entry.parents('li');

	    if(_parent.find('.img_frente').is(':visible')){
	        _parent.find('.img_frente').fadeOut(1000);
	        _parent.find('.img_verso').fadeIn(1000);

	    }else{
	        _parent.find('.img_frente').fadeIn(1000);
	        _parent.find('.img_verso').fadeOut(1000);
	    }

	    return false;
	});

	var section = $('.main').attr('id');
	Routes.common && Routes.common();
	Routes[section] && Routes[section]();
});
