$(document).ready(function(){
	
	$('#top_items .item').fadingImage({
		'time': 3000,
		'nav': $('#top_nav li')
	});
	
	$('.vThumbLink').vThumbLink({
		'more_label': '// more',
		'more_width': 50,
		'more': true
	});
	
	$('.tabs').tabs();
	$('.accordion').accordion({
		'collapsible': true
	});
	
	$('#top_menu li').each(function(index, el){
		if($(el).find('ul').length > 0){
			$(el).mouseover(function(){
				$(this).find('ul').css('display', 'block');
			});
			
			$(el).mouseout(function(){
				$(this).find('ul').css('display', 'none');
			});
		}
	});
	
	Cufon.replace('#top_menu li a', 
	{
		'fontFamily': 'Trebuchet MS', 
		'hover': true 
	});
	
	Cufon.replace($('h3:not(.home_top_boxes h3)'), 
	{
		'fontFamily': 'Arial'
	});
		
});


(function($){
	$.fn.vThumbLink  = function(options){
		
		var settings = {
			'more': false,
			'more_label': '',
			'more_width': 50
		}
		
		$.extend(settings, options);
		
		
		var elements = $(this);
		
		generate();
		attach();
		
		function generate(){
			elements.each(function(index ,el){
				var span = $('<span></span>').addClass('vThumbLink_hover').css({
					'height': $(el).find('img').height(),
					'width': $(el).find('img').width(),
					'top': $(el).css('padding-top'),
					'opacity': 0
				});
				
				if(settings['more']){
					var label = $('<span></span>').addClass('vThumbLink_hover_label').text(settings['more_label']).css('width', settings['more_width']);
					label.appendTo(span);
				}
				
				span.insertBefore($(el).find('img'));
			});
		}
		
		function attach(){
			elements.hover(
				function(){
					$(this).find('.vThumbLink_hover').animate({'opacity': 1}, {'queue': false});
				}, 
				function(){
					$(this).find('.vThumbLink_hover').animate({'opacity': 0}, {'queue': false});
				}
			);
		}
		
	};
})(jQuery);

(function($){
	$.fn.fadingImage = function(options){
		
		var settings = {
			"time": 3000,
			"nav":null
		}
		
		$.extend(settings, options);
				
		var current_image = 0;
		var length = this.length;
		var elements = $(this);
				
		elements.css("display", "none");
		elements.first().css("display", "block");
		
		settings["nav"].eq(0).addClass("active");
					
		add_events();
						
		var interval = setTimeout(next_image, settings["time"]);
		is_playing = true;
		
		function add_events(){
				
			if(settings["nav"]){
				settings["nav"].each(function(index, el){
					$(el).click(function(event){
						event.preventDefault();
						stop_interval()
						move_to(index);
					});
				});
			}

		}
		
		function stop_interval(){
			if(is_playing == true){
				clearInterval(interval);
			}
		}
		
		function next_image(){
			var cur_el = current_image;
			
			if(current_image == length-1){
				current_image = 0;
			}
			else {
				current_image += 1;
			}
			
			show_image(cur_el, current_image);
		}
		
		function prev_image(){
			var cur_el = current_image;
			if(current_image == 0){
				current_image = length-1;
			}
			else {
				current_image -= 1;
			}
			
			show_image(cur_el, current_image);
		}
		
		function move_to(to){
			show_image(current_image, to);
			current_image = to;
		}
		
		
		function show_image(prev, next){
			if(settings["nav"]){
				settings["nav"].removeClass("active");
				settings["nav"].eq(next).addClass("active");
			}
			
			$($(elements).get(prev)).fadeOut(500, function() {
				if(is_playing)
					interval = setTimeout(next_image, settings["time"]);
			});
			$($(elements).get(next)).fadeIn(500);
		}
		
		
		
	};
})(jQuery);
