$(document).ready(function()
{
	var shadowbox_options = ''; // Will be appended to rel attribute for images and videos
	
	//---------------------------------------------START CUSTOM JS//
	
	if($.browser.webkit) // Sort sub nav menus for safari
	{
		if(navigator.userAgent.toLowerCase().search('chrome') < 0)
		{
			$('ul#nav li.subnav ul').css('top','28px');
		}
	}
	else if(navigator.appVersion.indexOf("Mac")!=-1) // Mac firefox
	{
		if($.browser.mozilla)
		{
			$('ul#nav li.subnav ul').css('top','29px');
		}
	}
	
	jQuery.fn.overlabel = function()
	{
		this.each(function(index)
		{
			var label = $(this); var field;
			var id = this.htmlFor || label.attr('for');
			if (id && (field = document.getElementById(id)))
			{
				var control = $(field);
				label.addClass("overlabel-apply");
				if (field.value !== '')
				{
					label.css("text-indent", "-1000px");
				}
				control.focus(function () {label.css("text-indent", "-1000px");}).blur(function ()
				{
					if (this.value === '')
					{
						label.css("text-indent", "0px");
					}
				});
				label.click(function()
				{
					var label = $(this); var field;
					var id = this.htmlFor || label.attr('for');
					
					if(label.parent().hasClass('warning'))
					{
						label.find('span').remove();
						label.parent().removeClass('warning');
					}
					
					if (id && (field = document.getElementById(id)))
					{
						field.focus();
					}
				});
			}
		});
	};
	
	$('label').overlabel();
	
	// Remove overlabel from select boxes as they cannot be selected properly then
	$('select option:first-child').each(function()
	{
		var parent_id = $(this).parent().attr('id');
		
		if($('label[for="'+parent_id+'"] span.warning').length > 0)
		{
			var warning = $('label[for="'+parent_id+'"] span.warning').html();
			
			$('label[for="'+parent_id+'"] span.warning').remove();
		}
		
		var label_text = $('label[for="'+parent_id+'"]').html();
		
		$(this).html(label_text);
		
		$('label[for="'+parent_id+'"]').removeClass('overlabel-apply').hide()
		
		if(warning != undefined)
		{
			$('select#'+parent_id).after('<span class="warning select">'+warning+'</span>');
		}
	});
	
	//---------------------------------------------END CUSTOM JS//
	
	$("li.subnav").hover(function()
	{
		$(this).addClass("active");
		
		if($("a.nav_search").hasClass("active"))
		{
			$("a.nav_search").removeClass("active");
			$("form.search").animate({ opacity: 0 }, 250);
			
			search_height_timeout = setTimeout(function()
			{
				$("form.search").css("height","0");
			}, 1000);
		}
	},
	function()
	{
		$(this).removeClass("active");
	});
	
	if($("ul#subnav").length > 0)
	{
		if(!$.browser.msie || $.browser.version != 5.5)
		{
			$("ul#subnav").css("display","none");
		}
	}
	
	$('a[rel*="external"]').click(function()
	{
		open($(this).attr('href'));
		return false;
	});
	
	$('a[rel*="shadowbox"]').each(function()
	{
		if(!$(this).hasClass('page_video'))
		{
			var enlarge_img = $(this).attr('rel').split(' ');
			
			if(enlarge_img != 'undefined' && enlarge_img != '')
			{
				$(this).removeAttr('rel');
				
				if(enlarge_img[1] != undefined)
				{
					$(this).attr('rel', enlarge_img[1]+shadowbox_options);
				}
				else
				{
					$(this).attr('rel', enlarge_img[0]+shadowbox_options);
				}
			}
		}
		else
		{
			var video_rel = $(this).attr('rel');
			
			$(this).removeAttr('rel');
			
			$(this).attr('rel', video_rel+shadowbox_options);
		}
	});
	
	$("ul.thumbs li a img").each(function()
	{
		$.preloadImages.add($(this).attr("src").replace("thumb", "mid"));
	});
	
	$("ul.thumbs li a").mouseover(function()
	{
		$("img#full").attr("src", ($(this).attr('href')).replace("full", "mid"));
		$("img#full").attr("alt", ($(this).attr('alt')));
		$("a#enlarge").attr("href", ($(this).attr('href')).replace("thumb", "full"));
		$("a#enlarge").attr("title", ($(this).attr('title')));
	});
	
	$("ul.thumbs li:first a").click(function()
	{
		$("a#enlarge").click();
	});
	
	$("ul.thumbs li a").click(function()
	{
		$("img#full").attr("src", ($(this).attr('href')).replace("full", "mid"));
		$("img#full").attr("alt", ($(this).attr('alt')));
		$("a#enlarge").attr("href", ($(this).attr('href')).replace("thumb", "full"));
		$("a#enlarge").attr("title", ($(this).attr('title')));
		return false;
	});
	
	if($('a.page_video').length > 0)
	{
		var page_video = $('a.page_video').attr('rel').split(' ');
		
		if(page_video != 'undefined' && page_video != '')
		{
			$('a.page_video').removeAttr('rel');
			$('a.page_video').attr('rel', page_video[1]);
		}
	}
	
	if($("li.help a").length > 0)
	{
		$("li.help a").click(function()
		{
			return false;
		});
		
		var help_timeout = 'undefined';
		
		$("li.help a").bind("mouseenter",function()
		{
			if(help_timeout != 'undefined')
			{
				clearTimeout(help_timeout);
			}
			$("li.help div").fadeOut();
			$(this).next().addClass('active').fadeIn();
		}).bind("mouseleave",function()
		{
			help_timeout = setTimeout(function()
			{
				$('li.help div.active').removeClass('active').fadeOut();
			},2000);
		});
		
		$('input').focus(function()
		{
			$('li.help div.active').removeClass('active').fadeOut();
		});
		
		$('select').focus(function()
		{
			$('li.help div.active').removeClass('active').fadeOut();
		});
		
		$('textarea').focus(function()
		{
			$('li.help div.active').removeClass('active').fadeOut();
		});
	}
	
	if($('a[rel*="shadowbox"]').length > 0)
	{
		if($('a.page_video').length > 0)
		{
			Shadowbox.init({
								continuous		:	true,
								ext				: 	{
														img		:	['png', 'jpg', 'jpeg', 'gif', 'bmp'],
														swf		:	['swf'],
														flv		:	['flv', 'm4v', 'mp4'],
														qt		:	['dv', 'mov', 'moov', 'movie'],
														wmp		:	['asf', 'wm', 'wmv'],
														qtwmp	:	['avi', 'mpg', 'mpeg']
													},
								players			: 	["img", "flv", "iframe"],
								useSizzle		: 	false
							});
		}
		else
		{
			Shadowbox.init({
								continuous		: 	true,
								players			: 	["img"],
								useSizzle		: 	false
							});
		}
	}
});
