(function($) {
	$.fn.pad_to_vertical_center = function() {
		this.each(function() {
			var	diff		= $(this).parent().height() - $(this).height(),
				pad_top	= parseInt(diff/2);
			
			$(this).css('padding-top', pad_top + 'px');
		});
	}
	
	$.get_filename = function(url) {
		if(url) {
			var matches = url.toString().match(/.*\/(.+?)\./);
			if(matches && matches.length > 1)
				return matches[1];
		}
		return "index";
	}
})(jQuery)

// ONLOAD
$(document).ready(function() {
	var	nav_width	= 0,
		file_name	= $.get_filename(window.location.pathname);
	
	$('#nav li').each(function() {
		nav_width = nav_width + $(this).width();
		// alert ($(this).width());
	});
	var padding = 980 - nav_width;
	// alert ("980 - " + nav_width + " = " + padding);
	if(nav_width <= 980) {
		$('#nav').css("padding-left", padding);
		$('#nav').css("width", nav_width);
	}

	$('#slideshow').before('<div id="slideshowNav">').cycle({ 
			timeout: 5000,
			pager:  '#slideshowNav' 
	});
	
	$('#container').addClass(file_name);
	$('#nav li a.' + file_name).addClass('selected');
	$('#subnav li a.' + file_name).addClass('selected');
	
	// adds selected class to parent link
	$('#nav li a').each(function() {
		if(file_name.match(new RegExp('^' + this.className + '.*', 'i')))
			$(this).addClass('selected');
	});
	
	if(window.gallery_images && gallery_images.length > 0) {
		$("#gallery_link").click(function() {
			$.fancybox(gallery_images.slice(0), {
				'transitionIn' : 'elastic',
				'transitionOut' : 'elastic',
				'speedIn' : 600,
				'speedOut' : 200,
				'overlayShow' : true,
				'cyclic' : true,
				'type' : 'image'
			});
			return false;
		});
	} 
	
	$('.target_blank').each(function() {
		$(this).attr('target', '_blank');
		$(this).attr('title', 'Link opens in new tab or window.');
	});
	
	$('#awards_list .info_holder, #awards_list .badge_holder').pad_to_vertical_center();
	
	$('#cf_submit').click(function() {
		var myAlert = '';
		$('p.required input').each(function() {
			if($(this).val().length < 1)
				myAlert = myAlert + '\r\n' + this.id.replace(/cf\_/ig,'').replace(/\_/ig,' ');
		});
		
		$('fieldset.required').each(function() {
			var blank_count = 0;
			var fields = [];
			
			$(this).find('input').each(function() {
				fields.push(this.id.replace(/cf\_/ig,'').replace(/\_/ig,' '));
				
				if ($(this).val().length < 1) blank_count += 1;
			});
			
			if(blank_count == fields.length) {
				myAlert += '\r\n' + 'one of: ';
				myAlert += fields.join(', ');
			}
		});
		
		if (myAlert.length > 0) {
			alert('You must fill in the following fields:' + myAlert);
			return false;
		}
	});
});

