var $ = jQuery.noConflict();
jQuery(document).ready(function($) {

	$("ul#top-nav-items").supersubs({ 
	    minWidth:    15,   // minimum width of sub-menus in em units 
	    maxWidth:    30,   // maximum width of sub-menus in em units 
	    extraWidth:  1     // extra width can ensure lines don't sometimes turn over 
	                       // due to slight rounding differences and font-family 
	}).superfish({ 
		delay: 500,
		animation: {opacity:'show', height:'show'},
		speed: 'fast',
		autoArrows: false,
		dropShadows: false
	});  // call supersubs first, then superfish, so that subs are 
	                 // not display:none when measuring. Call before initialising 
	                 // containing tabs for same reason. 
	                 
	                 
	                 
	// Set starting slide to 1
	var startSlide = 1;
	// Get slide number if it exists
	if (window.location.hash) {
		startSlide = window.location.hash.replace('#','');
	}
	// Initialize Slides
	$('#slider').slides({
					preload: false,
					generatePagination: true,
					effect: 'slide, fade',
					crossfade: false,
					play: 5000,
					slideEasing: "easeInSine",
					pause: 2500,
					hoverPause: true,
					generateNextPrev: true
	});
	
	$('#slider').hover(
		function () {
		    $('#slider .prev, #slider .next').fadeIn('fast');
		  }, 
		function () {
		    $('#slider .prev, #slider .next').fadeOut('fast');
		}
	);
	
	
	// Initialize Slides
	$('#tests').slides({
		preload: false,
		effect: 'fade',
		crossfade: false,
		generatePagination: false,
		play: 5000,
		pause: 2500,
		hoverPause: true,
		generateNextPrev: true
	});
	
	
	// Thumbnail hover
	function kiss_project_hover() {
	
		$(".proj_list li a.image img").before('<span class="imghover"></span>');
		$(".proj_list li a.video img").before('<span class="vidhover"></span>');
		
		$('.proj_list li a span').css('opacity', '0').css('display', 'block');
			
		$(".proj_list li a.image, .proj_list li a.video").hover(
				function () {
					$(this).find('.imghover, .vidhover').stop().fadeTo('slow', .5); }, 
				function () {
					$('.imghover, .vidhover').stop().fadeOut('slow', 0);
		});
	
	}
	
	kiss_project_hover();
	
	
	// colorBox
	function kiss_colorbox() {
	
		$(".proj_list li a[rel='quickview']").colorbox({width:"1000", height:"600", iframe:true, scrolling:false, title:true});	
	
	}
	
	if($().colorbox) {
		
		kiss_colorbox(); 
				
	}
	
	
	
	
	
	if ($().quicksand) {

		(function($) {
			
			$.fn.sorted = function(customOptions) {
				var options = {
					reversed: false,
					by: function(a) {
						return a.text();
					}
				};
		
				$.extend(options, customOptions);
		
				$data = jQuery(this);
				arr = $data.get();
				arr.sort(function(a, b) {
		
					var valA = options.by($(a));
					var valB = options.by($(b));
			
					if (options.reversed) {
						return (valA < valB) ? 1 : (valA > valB) ? -1 : 0;				
					} else {		
						return (valA < valB) ? -1 : (valA > valB) ? 1 : 0;	
					}
			
				});
		
				return $(arr);
		
			};
		
		})(jQuery);
		
		jQuery(function() {
		
			var read_button = function(class_names) {
				
				var r = {
					selected: false,
					type: 0
				};
				
				for (var i=0; i < class_names.length; i++) {
					
					if (class_names[i].indexOf('selected-') == 0) {
						r.selected = true;
					}
				
					if (class_names[i].indexOf('cat-') == 0) {
						r.cat = class_names[i].split('-')[1];
					}
				};
				
				return r;
				
			};
		
			var determine_sort = function($buttons) {
				var $selected = $buttons.parent().filter('[class*="selected-"]');
				return $selected.find('a').attr('data-value');
			};
		
			var determine_kind = function($buttons) {
				var $selected = $buttons.parent().filter('[class*="selected-"]');
				return $selected.find('a').attr('data-value');
			};
		
			var $preferences = {
				duration: 500,
				adjustHeight: 'auto'
			}
		
			var $list = jQuery('#quicksand_d');
			var $data = $list.clone();
		
			var $controls = jQuery('#quicksand_s');
		
			$controls.each(function(i) {
		
				var $control = jQuery(this);
				var $buttons = $control.find('a');
		
				$buttons.bind('click', function(e) {
		
					var $button = jQuery(this);
					var $button_container = $button.parent();
					var button_properties = read_button($button_container.attr('class').split(' '));      
					var selected = button_properties.selected;
					var button_cat = button_properties.cat;
		
					if (!selected) {
		
						$buttons.parent().removeClass();
						$button_container.addClass('selected-cat');
		
						var sorting_type = determine_sort($controls.eq(1).find('a'));
						var sorting_kind = determine_kind($controls.eq(0).find('a'));
		
						if (sorting_kind == 'all') {
							var $filtered_data = $data.find('li');
						} else {
							var $filtered_data = $data.find('li.' + sorting_kind);
						}
		
						var $sorted_data = $filtered_data.sorted({
							by: function(v) {
								return $(v).find('strong').text().toLowerCase();
							}
						});
		
						$list.quicksand($sorted_data, $preferences, function() {
							kiss_project_hover();
							kiss_colorbox();
						});
			
					}
			
					e.preventDefault();
					
				});
			
			}); 
			
		});
	
	}

	
});
