(function($){
	// TODO: make this more flexible
	$.fn.createSelect = function(options) {
		
		var defaults = {}
		
		var options = $.extend(defaults, options);
		
		return this.each(function() {
			var selectEl = $(this).before('<select></select');
			var master = $(this).prevAll('select');
			var lbl = $(this).children('h5');
			if(lbl.length > 0) {
				master.append('<option value="">' + lbl.text() + '</option>');
			}
			var slaves = $(this).children('ul');
			for (var i = 0; i < slaves.length; i++) {
				// if there's a title on the ul/element use that as optgroup label
				if($(slaves[i]).attr('title') != "") {
					master.append('<optgroup label="' + $(slaves[i]).attr('title') + '"></optgroup>');
					var optFlag = 1;
				}
				var slaveEls = $(slaves[i]).children();
				slaveEls.each(function() {
					if(optFlag == 1) {	
						$(master).children('optgroup').eq(i).append('<option value="' + $(this).children('a').attr('href') + '">' + $(this).children('a').text() + '</option>');
					}
					else {
						$(master).append('<option value="' + $(this).children('a').attr('href') + '">' + $(this).children('a').text() + '</option>');
					}
				});
			}
			
			$(this).before('<a class="download-btn download-btn-disabled" href="#"><span>Download</span></a>');
			$(this).remove();
								  
		});
	};

})(jQuery);

$(document).ready(function () {
	$('div.download-content').hide();
	$('a#download-vid').addClass('download-vid-closed');
	$('a#download-vid').click(function(e) {
		e.preventDefault();
		if ($("div.download-content").is(":hidden")) {
			$('a#download-vid').removeClass('download-vid-closed');
			$('a#download-vid').addClass('download-vid-open');
       		$("div.download-content").slideDown("slow");
     	} else {
			$('a#download-vid').removeClass('download-vid-open');
			$('a#download-vid').addClass('download-vid-closed');
      		$("div.download-content").slideUp("slow");
     	}
	});
	
	var initVal = $('input.input-text').val();

	$("input.input-text").focus(function() {
		if($(this).hasClass("empty")) {
			$(this).val('');
		}
	});

	$("input.input-text").blur(function() {
		if($(this).val()) {
			$(this).removeClass("empty");
		}
		else {
			if($(this).val() == initVal) {
				$(this).val('');
			}
			$(this).val(initVal);
		}
	});	
	
	if($('a#watch-hd').length > 0) {
		
		$("a#watch-hd").fancybox({
			'hideOnContentClick': false,
			'overlayOpacity': 0.8, 
			'frameWidth': 960,
			'frameHeight': 540,
			'zoomSpeedIn': 300, 
			'zoomSpeedOut': 300
		});
	}
	
	// Wallpapers
	if ($('#wallpapers').length > 0) {
		$('div.dl').createSelect();
				
		// create select elements from list
		
		
		// 'Disable' btns until something is selected
		var btns = $('.download-btn');
		btns.addClass('download-btn-disabled');
		
		btns.each(function(i) {
			$(this).click(function(e) {
				if($(this).hasClass('download-btn-disabled')) {
					e.preventDefault();
				}
			});
		});
		
		$('.download select').each(function(i) {
			$(this).change(function(e) {
				var btn = $(this).nextAll('a.download-btn');					
				if($(this).val() !== "") {
					btn.attr('href', $(this).val());
					btn.removeClass('download-btn-disabled');
					btn.attr('target', '_blank');
				}
				else {
					btn.attr('href', '#');
					btn.addClass('download-btn-disabled');
					btn.attr('target', '_self');
				}
				
			});
		});
	}
	
	
	
	$('.fancybox').fancybox({
			'overlayOpacity': 0.8
		});
	
	if($('#concept-art').length > 0) {
		$('div.concept-art a').fancybox({
			'overlayOpacity': 0.8
		});
	}
	
});