var is_opera =  navigator.userAgent.indexOf('Opera') > -1;
var is_safari = navigator.userAgent.indexOf('AppleWebKit/') > -1;
var is_chrome = navigator.userAgent.indexOf('Chrome') > -1;
var is_firefox = navigator.userAgent.indexOf('Firefox') > -1;
var is_mac = navigator.platform.toLowerCase().indexOf('mac') > -1;
var is_linux = navigator.platform.toLowerCase().indexOf('linux') > -1;
var ie6 = false;
var ie7 = false;
var ie8 = false;


$(document).ready(function() {

	if(typeof slides_handler  == 'object') {
		slides_handler.setup();
	}   
	
	$(".product-item .thumb a").click(function() {
		$.fancybox({
				//'width'			: 460,																									
				'href'			: this.href,
				'overlayOpacity' : 0,
				'overlayColor': '#000',
				'padding': 20,
				'centerOnScroll': true,
				'onClosed': function() {
				},
				'onCleanup': function() {
				}					
			});
	
		return false;
	});
	
	$(".mini-product-left #product-gallery a").click(function() {
		$.fancybox({
				//'width'			: 460,																									
				'href'			: this.href,
				'overlayOpacity' : 0,
				'overlayColor': '#000',
				'padding': 20,
				'centerOnScroll': true,
				'onClosed': function() {
				},
				'onCleanup': function() {
				}					
			});
	
		return false;
	});
	
	$('#menu-header li').bind('mouseover', function(event) {
		$(event.currentTarget).addClass('over');
	});	
	$('#menu-header li').bind('mouseout', function(event) {
		$(event.currentTarget).removeClass('over');
	});	

    if(typeof navigation_handler == 'object') {
        //navigation_handler.setup();
    }

	if(is_safari) {
		$('body').addClass('browser-safari');
	}

	if(is_opera) {
		$('body').addClass('browser-opera');
	}
	
	/*$('#products-navigation a').map(function(i, el){
		var wl = window.location.href;
		if(wl.indexOf($(el).attr('href')) != -1) {
			$(el).parents('li').addClass('expanded');
		}
	})*/
	
	
});



var navigation_handler = {
    items: [],
    
    setup: function()  {
        this.items = $('#menu-top-menu').children();

		$(this.items).bind('mouseover', function(event) {
            if($(event.currentTarget).hasClass('over')) return;
            
            navigation_handler.items.map(function(i, el){
                if($(event.currentTarget) != el) {
                    $(el).removeClass('over');
                }
            })

            var submenu = $('ul', event.currentTarget)[0];
            if(submenu) {
                $(event.currentTarget).addClass('over');

                    if(!ie8 && !ie7 && !ie6) {
						$(submenu).css({'opacity':'0'});
						$(submenu).animate({
						opacity: 1.0
						  }, 300, function() {
						});
					}
            }
        });        

        $('body').bind('mouseover', function(event) {
            if($(event.target).parents('#menu-header').length > 0) return;
            navigation_handler.items.map(function(i, el){
                
				if($(el).hasClass('over')) {
					$(el).removeClass('over');
				}
				
            })
			
        });

    }
}


var slides_handler  = {
	container: null,
	nav_items: null,
	items: [],
	last_active: 0,
    animation_allowed: false,
	timeout: null,
	delay: 5000, //ms
	stopped: false,
	numbered_nav_items: [],
	
	
	setup: function() {
		
		this.container = $('#slideshow');
		if(this.container.length == 0) return;
		
		this.items = $('li', this.container);
		if(this.items.length < 2) return;

		this.animationStart();
		 
		var numbered_nav = '<ul class="numbered-nav">';
		this.items.map(function(i, el){
			numbered_nav += '<li><a href="#">' + (i+1) + '</a></li>';
		})
		numbered_nav += '</ul>';
		
		$(this.container).append(numbered_nav);
		
		var nav_pos = $('.numbered-nav').position();
		var nav_width = $('.numbered-nav').width();
		$('#slideshow .nav').css({'right': nav_width + 17 });
		
		$('.numbered-nav li:first-child').addClass('first-child first-active');
		$('.numbered-nav li:last-child').addClass('last-child');
		
		this.numbered_nav_items = $('.numbered-nav li a');
		
		$(this.items).bind('mouseover', function(event) {
			slides_handler.animationStop();
		});

		$('body').bind('mouseover', function(event) {
			if($(event.target).parents('#slideshow').length > 0 || slides_handler.animation_allowed == true) return;
			slides_handler.animationStart(true);
		});

		$(this.numbered_nav_items).bind('click', function(event) {
			event.preventDefault();
			
			var parents_active = $(event.currentTarget).parents('.active, .first-active, .last-active');
			if(parents_active.length > 0) return;
			
			var item_index = $(slides_handler.numbered_nav_items).index($(event.currentTarget));
			slides_handler.showSlide(item_index);
			slides_handler.last_active = item_index;
		});
			
	},
	
	setActiveNumber: function(slide_no) {
		var related_a = this.numbered_nav_items[slide_no];
		var related_li = $(related_a).parents('li')[0];
		
		this.numbered_nav_items.map(function(i, el){
			var parent_li = $(el).parents('li')[0];
			
			$(parent_li).removeClass('first-active');
			$(parent_li).removeClass('last-active');
			$(parent_li).removeClass('active');
		})
		
		if($(related_li).hasClass('first-child')) {
			$(related_li).addClass('first-active');	
		} else if($(related_li).hasClass('last-child')) {
			$(related_li).addClass('last-active');	
		} else {
			$(related_li).addClass('active');	
		}

		
	},
	
	showSlide: function(item_index) {
		
		var last_active = $('.items .active', slides_handler.container);
		var new_slide = slides_handler.items[item_index];

		slides_handler.setActiveNumber(item_index);

		if(false && (ie6 || ie7 || ie8)) {
			$(last_active).removeClass('active');
			$(new_slide).addClass('active');
		} else {
            $(new_slide).removeClass('ie-slide-over');
			$(last_active).animate({
			opacity: 0.0
			  }, 500, function() {
                $(last_active).removeClass('active');
			});			

			$(new_slide).addClass('active');
			$(new_slide).css({'opacity':'0'});
			$(new_slide).animate({
			opacity: 1.0
			  }, 500, function() {
                $(new_slide).addClass('ie-slide-over');
			// Animation complete.
			});
		}
	},
	
	animationStart: function(no_delay) {
		this.animationStop();
		this.animation_allowed = true;
		this.timeout = setTimeout(function(){ slides_handler.queItem(); }, no_delay ? 2000 : this.delay);
	},
	
	animationStop: function() {
		this.animation_allowed = false;
		clearTimeout(this.timeout);
	},
	
	queItem: function() {

		if(this.animation_allowed == false || this.stopped == true) {
			return;
		}
		this.showNexItem();
		this.timeout = setTimeout(function(){ slides_handler.queItem(); }, this.delay);
    },
	
	showNexItem: function() {
		var next_item = this.last_active + 1;
		if(next_item == this.items.length) {
			next_item = 0;
		}

		this.last_active = next_item;
		this.showSlide(next_item);
	}		
}
