var currentBullet = 0;
var rotateOverlayBulletsInterval = null;
var previousClicked = false;

$(document).ready
(
	function()
	{
		var themePath = 'landing/multistep/';
		
		if(typeof(theme) != 'undefined')
		{
			themePath += 'themes/' + theme + '/';
		}
		
		if($.browser.msie)
		{
			if($('img').size() > 0) $('img').ifixpng();
			if($('input[type*=image]').size() > 0) $('input[type*=image]').ifixpng();
			if($('#form-content').size() > 0) $('#form-content').ifixpng();
			
			$("#navigation-next").after('<div id="loader-container"><div id="loader-text">Your request is processing.<br />Please be patient.</div><div id="loader"></div></div>');
			
			$('#loader').flash
			(
				{
					wmode:'transparent',
					src:'flash/' + themePath + 'ajax-loader.swf',
					width:66,
					height:66
				}
			);			
		}
		else
		{
			$("#navigation-next").after('<div id="loader-container"><div id="loader-text">Your request is processing.<br />Please be patient.</div><div id="loader"><img src="images/' + themePath + 'ajax-loader.gif" /></div></div>');
		}
		
		$('#loader-container').hide();
		
		if($('#Previous').size() > 0)
		{
			$('#Previous').click
			(
				function()
				{
					previousClicked = true;
				}
			);
		}
		
		$('form').submit
		(
			function()
			{
				$('#navigation-next').hide();
				$('#loader-container').show();
				
				if((! previousClicked) && $('#overlay-content').size() > 0)
				{
					if($.browser.msie)
					{
						$("#overlay-loader").after('<div id="overlay-loader-container"></div>');
						
						$('#overlay-loader-container').flash
						(
							{
								wmode:'transparent',
								src:'flash/loading-bar.swf',
								width:220,
								height:19
							}
						);
						
						$('#overlay-loader').hide();
					}
					
					$.blockUI
					(
						{
							message:$('#overlay-content'),
							css:
							{ 
								padding:20,
								top:'20%',
								width:400,
								height:410,
								textAlign:'inherit',
								border:'1px solid #aaa', 
								backgroundColor:'#ffffff', 
								cursor:'wait' 
							},
							overlayCSS:
							{ 
								backgroundColor:'#000000', 
								opacity:0.5 
							},
							onBlock:function()
							{
								rotateOverlayBullets();
							}
						}
					);
				}
			}
		);
			
		var autoForwardSize = $('.auto-forward').size();

		if(autoForwardSize > 0)
		{
			var inputs = $(':input:not(:image):not(:submit)');
			var inputSize = $(':input:not(:image):not(:submit)').size();
			var lastInput = $(inputs[inputSize-1]).get(0);
			
			if($(lastInput).hasClass('auto-forward'))
			{
				var autoForwards = $('.auto-forward');
				var lastElement = $(autoForwards[autoForwardSize-1]).get(0);
				
				if(lastElement.tagName.toLowerCase() == 'input')
				{
					$(lastElement).click
					(
						function()
						{
							$('#navigation-next').hide();
							$('#loader-container').show();
							$('form').get(0).submit();
						}
					);
					
					if(autoForwardSize > 1)
					{
						var preLastElement = $(autoForwards[autoForwardSize-2]).get(0);
						
						if(preLastElement.tagName.toLowerCase() == 'input')
						{
							$(preLastElement).click
							(
								function()
								{
									$('#navigation-next').hide();
									$('#loader-container').show();
									$('form').get(0).submit();
								}
							);
						}
					}
				}
				else if(lastElement.tagName.toLowerCase() == 'select')
				{
					$(lastElement).change
					(
						function()
						{
							$('#navigation-next').hide();
							$('#loader-container').show();
							$('form').get(0).submit();
						}
					);
				}
			}
		}
		
		if($('#slfAreaStudyMajor').length > 0 && $('#slfAreaStudyMinor').length > 0)
		{
			var originalMinorValue = $('#slfAreaStudyMinor option').get(0).label;
			
			$('#slfAreaStudyMajor').change
			(
				function()
				{
					if($('.dependent').size() > 0)
					{
						$.each
						(
							$('.dependent'),
							function()
							{
								$(this).hide();
							}
						);
					}
					
					var selectedAreaStudy = $('#slfAreaStudyMajor').val();
					
					if(selectedAreaStudy != '')
					{
						$('#slfAreaStudyMinor option').remove();
						
						$('#slfAreaStudyMinor').append($('<option />').val('').text('- please select program of interest -'));
						
						$.each
						(
							areaStudies[selectedAreaStudy],
							function()
							{
								$('#slfAreaStudyMinor').append($('<option />').val(this.areastudyID).text(this.name));
							}
						);
						
						$('#slfAreaStudyMinor').removeAttr('disabled');
					}
					else
					{
						$('#slfAreaStudyMinor option').remove();
						$('#slfAreaStudyMinor').append($('<option />').val('').text(originalMinorValue));
						$('#slfAreaStudyMinor').attr('disabled', 'disabled');
					}
				}
			);
			
			if(typeof(triggers) != 'undefined')
			{
				$('#slfAreaStudyMinor').change
				(
					function()
					{
						var selectedAreaStudy = $('#slfAreaStudyMinor').val();
						
						if($('.dependent').size() > 0)
						{
							$.each
							(
								$('.dependent'),
								function()
								{
									$(this).hide();
								}
							);
						}
						
						if(triggers[selectedAreaStudy])
						{
							$.each
							(
								triggers[selectedAreaStudy],
								function(index, value)
								{
									$('#dependent-' + value).show();
								}
							);
						}
						else
						{
							$('form').submit();
						}
					}
				);
			}
		}
		
		if(typeof(excludes) != 'undefined')
		{
			var schools = $('.school');
			
			$.each
			(
				schools,
				function()
				{
					var current = $(this).find('select');
					var schoolID = parseInt($(current).attr('id').replace('slfProgramListing_', ''));
					
					$(this).change
					(
						function()
						{
							var excludedID = '#slfProgramListing_' + excludes[schoolID];
							
							if($(excludedID).size() > 0)
							{
								if($(current).val() != '')
								{
									$(excludedID).attr('disabled', true); 
								}
								else
								{
									$(excludedID).removeAttr('disabled'); 
								}
							}							
						}
					);
				}
			);
		}
	}
);

function rotateOverlayBullets()
{
	var bullets = $('#overlay-content-bullets li');
	var lastBulletIndex = bullets.size() - 1;
	
	if(currentBullet <= lastBulletIndex)
	{
		$(bullets[currentBullet]).fadeIn('slow');
	}
	else
	{
		$('#overlay-last-message').fadeIn('slow');
	}
	
	if(currentBullet > lastBulletIndex)
	{
		clearInterval(rotateOverlayBulletsInterval);
	}
	else
	{
		currentBullet++;
	}
	
	if(currentBullet == 1)
	{
		rotateOverlayBulletsInterval = setInterval(rotateOverlayBullets, 3000);
	}
}