var lookbook = 0;
var lookcaps = new Array();
var alt_imgs = new Array();

(function($) {
	var cache = [];
  	$.preLoadImages = function() {
		for (var i = arguments.length; i--;) {
			var c = document.createElement('img');
     			c.src = arguments[i];
    			cache.push(c);
    	}
  	}

    if (!$) return;
    $.fn.extend({
        fixPNG: function(sizingMethod, forceBG) {
                if (!($.browser.msie)) return this;
                var emptyimg = "/q_images/sys/x.gif";
                sizingMethod = sizingMethod || "scale";
                this.each(function() {
                        var isImg = (forceBG) ? false : jQuery.nodeName(this, "img"),
                                imgname = (isImg) ? this.src : this.currentStyle.backgroundImage,
                                src = (isImg) ? imgname : imgname.substring(5,imgname.length-2);
                        this.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + src + "', sizingMethod='" + sizingMethod + "')";
                        if (isImg) this.src = emptyimg;
                        else this.style.backgroundImage = "url(" + emptyimg + ")";
                });
                return this;
        }
    });
})(jQuery);

$(document).ready(function() {
	$(document).fixPNG();
	if ($('#nav')) $.preLoadImages('/images/nav_o.png');
	
	$.easing.easeIn = function (x, t, b, c, d) { 
	    return c*(t/=d)*t + b;
	}
	$.easing.easeOut = function (x, t, b, c, d) { 
		return -c*(t/=d)*(t-2) + b;
	}

	$('#minicart span').html(("00"+$('#minicart span').html()).slice(-2));
	
	$('.product_box').hover(function() { $(this).children('.product_hover').fadeIn(); }, function() { $(this).children('.product_hover').fadeOut(100); })
	$('.product_hover').click(function() { window.location = $(this).children()[0].href; })

	if ($('#prod_slider')) {
		var pds = 0;
		$('a[rel=lightbox]').each(function(i){
			if (i) $('#prod_slider').append("<div><img src=\""+this.href+"\" title=\""+this.title+"\"></div>");
			pds=i;
		});
		$('#prod_slider').width(pds*785)
		if ($('a[rel=lightbox]').length == 1) $('.product_primary_image_valign').css('display', 'block');
		else $('.product_primary_image_valign').css('display', 'none');
		$('.product_primary_image_valign').click(function() { return false; })
		$('#prod_slider').append("<div class=clear></div>");
		if (pds) {
			$('#p_look_right').animate({opacity: .7}, {queue: false, duration: 400, easing:'easeIn', complete: function() {
					$('#p_look_right').animate({opacity: .4}, {duration: 600, easing:'easeIn', complete: function() {
							$('#p_look_right').animate({opacity: 1}, {duration: 1200, easing:'easeIn'});
						}
					});
				}
			});
			
			$('.p_look_love').click(function() {
				var l = $('#prod_slider').position().left
				lookbook = Math.ceil(Math.abs(l/780));

				if (this.id == "p_look_right" && lookbook == 0) $('#p_look_left').stop().animate({opacity: .5}, {queue: false, duration: 400, easing:'easeIn'});
				if (this.id == "p_look_right" && lookbook == (pds-2)) $('#p_look_right').stop().animate({opacity: 0}, {queue: false, duration: 400, easing:'easeOut'});
				if (this.id == "p_look_left" && lookbook == 1) $('#p_look_left').stop().animate({opacity: 0}, {queue: false, duration: 400, easing:'easeOut'});
				if (this.id == "p_look_left" && lookbook == (pds-1)) $('#p_look_right').stop().animate({opacity: .5}, {queue: false, duration: 400, easing:'easeIn'});

				if (this.id == "p_look_right") {					
					if ((lookbook+1) == pds) return;
					if (l > -($('#prod_slider').width()-780))
						$('#prod_slider').stop().animate({left: -((lookbook+1)*780)+'px'}, {queue: false, duration: 800, complete: cap_fade(0)});
				} else {
					if (l >= 0) return;
					if ((lookbook*780-(l*-1)) > 400 && (lookbook*780-(l*-1)) > 0) lookbook <= 1?1:lookbook--
					$('#prod_slider').stop().animate({left: -((lookbook-1)*780)+'px'}, { duration: 800, complete: cap_fade(1)});
				}
			});
		}
	}
	
	function cap_fade(i) {
		if ($('#look_caption')) $('#look_caption').fadeOut('slow', function() {$('#look_caption').html(lookcaps[i?lookbook-1:lookbook+1]); $('#look_caption').fadeIn();});
	}
	
	$('.look_click, .product_back_spn').click(function() { window.location = '/shop/sunglasses'; });
	
	if ($('#lookbook').length) {	
		var lb_im = $('#lookbook img').length;
		$('#lookbook').width($('#lookbook').width()*lb_im)
		if ($('#look_caption')) {
			var lb_cap = $('#look_caption')
			lb_cap.html(lookcaps[0]);
			lb_cap.fadeIn();
		}
		$('#look_right').animate({opacity: .7}, {queue: false, duration: 400, easing:'easeIn'});

		$('.look_love').click(function() {
			var l = $('#lookbook').position().left
			var lb_im = $('#lookbook img').length;
			lookbook = Math.ceil(Math.abs(l/825));

			if ((this.id == "look_right" || this.id == "look_right_p") && lookbook == 0) $('#look_left').stop().animate({opacity: .5}, {queue: false, duration: 400, easing:'easeIn'});
			if ((this.id == "look_right" || this.id == "look_right_p") && lookbook == (lb_im-2)) $(this).stop().animate({opacity: 0}, {queue: false, duration: 400, easing:'easeOut'});
			if (this.id == "look_left" && lookbook == 1) $('#look_left').stop().animate({opacity: 0}, {queue: false, duration: 400, easing:'easeOut'});
			if (this.id == "look_left" && lookbook == (lb_im-1)) $('#look_right_p, #look_right').stop().animate({opacity: .5}, {queue: false, duration: 400, easing:'easeIn'});

			if (this.id == "look_right" || this.id == "look_right_p") {
				if ((lookbook+1) == lb_im) return;
				if (l > -($('#lookbook').width()-825))
					$('#lookbook').stop().animate({left: -((lookbook+1)*825)+'px'}, {queue: false, duration: 800, complete: cap_fade(0)});
			} else {
				if (l >= 0) return;
				if ((lookbook*825-(l*-1)) > 400 && (lookbook*825-(l*-1)) > 0) lookbook <= 1?1:lookbook--
				$('#lookbook').stop().animate({left: -((lookbook-1)*825)+'px'}, { duration: 800, complete: cap_fade(1)});
			}
		});
	}
	
	$('.close_modal').click(function(){
	    $('#mask').fadeOut(500);
		$('#modalo').fadeOut(500);
		$('#modal_loading').css({ 'display' : 'none'});
	});
	
	$('.flickr-thumb a').click(function () {
		modal($(this).children("img")[0].src.replace("_s", ""), $(this).parent()[0].id);
		return false;
	});
});

function modal(im, t) {
	var cap = ""
	var top = ($(window).height()-$('#modal_loading').outerHeight())/2;
    var left = ($(window).width()-$('#modal_loading').outerWidth())/2;
	$('#modal_loading').css({'top' : top , 'left' : left});
	$('#modal_loading').css({ 'display' : 'block'});
	$('<img />').attr('src', im).load(function() {
			if ($('#'+t).next().children('a').length) cap += "<div><a href=\"javascript:void(0);\" onclick=\"$('#modalo').fadeOut(200, function(){ modal('"+$('#'+t).next().children('a').children('img')[0].src.replace("_s", "")+"', '"+$('#'+t).next()[0].id+"');});\">next</a> <strong>&raquo;</strong></div>";
			if ($('#'+t).children('a').length) cap += "<div><a href=\""+$('#'+t).children('a')[0].href+"/sizes/o/\" target=_new>view original</a></div>";
			if ($('#'+t).prev().children('a').length) cap += "<div><strong>&laquo;</strong> <a href=\"javascript:void(0);\" onclick=\"$('#modalo').fadeOut(200, function(){ modal('"+$('#'+t).prev().children('a').children('img')[0].src.replace("_s", "")+"', '"+$('#'+t).prev()[0].id+"');});\">prev</a></div>";
	        $('#modalo').html($(this));
			$('#modalo').append('<div class=modal_cap>'+cap+'<div class=clear></div></div>');
			var top = ($(window).height()-$('#modalo').outerHeight())/2;
		    var left = ($(window).width()-$('#modalo').outerWidth())/2;
			$('#modalo').css({'top' : top , 'left' : left});
			if ($('#mask').css('display') == 'none') $('#mask').css({ 'opacity' : 0});
			$('#mask').css({ 'display' : 'block'});
	        $('#mask').fadeTo(500,0.8);
	        $('#modalo').fadeIn(500);
	    });
}

