$(function () {
	
	//--IE6 Warning-------------------------------------------------------------------------------
		if ($('#rootIE6').html() != null) {
			$('body').wrapInner('<div id="mainContainer"></div>');
			$('body').css({
				width: '100%',
				marginTop: '0'
			});
			$('body').prepend('<div id="IEwarning" style="border-bottom: 1px solid #f7941d; background: #feefda; text-align:center; position: relative; z-index: 100; display: none; font: normal 11px Arial, sans-serif; padding: 3px;"><p>You are using an outdated browser. For the best experience using this site, please upgrade to a modern web browser.</p></div>');
			
			$('#IEwarning').slideDown("slow");
		}
	
	
	
	//--Error messages used in form validation-------------------------------------------------------------------------------
	var validationErrorMessage = {};
		validationErrorMessage['email'] = 'Invalid email address';	
		validationErrorMessage['phone'] = 'XXX-XXX-XXXX';	
	
	
	//--Validation checks--------------------------------------------------------------------------------------------------------  
		
		function isRequired(formField) {
			switch ($(formField).attr('type')) {
				case 'text':
				case 'textarea':
				case 'select-one':
					if ($(formField).val()) {
						return true;
					}
				return false;
			}
		}
		
		function isPattern(formField, pattern) {
			var regExp = new RegExp("^" + pattern + "$");
			
			var correct = regExp.test($(formField).val());
	
			return correct;
		}
		
		function isValidEmail(formField) { return isPattern(formField, "[a-zA-Z0-9._+%-]+@([a-zA-Z0-9-]+\\.)+[a-zA-Z]{2,6}$"); }
		
		function isValidPhone(formField) { return isPattern(formField, "^[0-9]{3}-[0-9]{3}-[0-9]{4}$"); }
	
	//-----------------------------------------------------------------------------------------------------END Validation checks



	//--Form validation---------------------------------------------------------------------------------------------------------
		
		function removeError() {
			if (!$(this).data('errorMessage')) return;
			
			$(this).removeClass('errorMessage');	
			$(this).next().remove();
			$(this).removeData('errorMessage');
		}
		
		function validate (step) {
			var validForm = true;
			
			if (step == "stepOne") {
				var formFields = $('#stepOne :input');
			} else {
				var formFields = $(':input');	
			}
			
			for (var i = 0; i < formFields.length; i++) {
				var validation = $(formFields[i]).attr('validation');
				var fieldID = $(formFields[i]).attr('id');
				var OK, requiredFirst = true;
												
				switch (fieldID) {
					case "email":
						OK = isRequired(formFields[i]);
						if (OK) { 
							OK = isValidEmail(formFields[i]);
							requiredFirst = false;
						}
					break;
						
					case "phone":
						OK = isRequired(formFields[i]);
						if (OK) { 
							OK = isValidPhone(formFields[i]);
							requiredFirst = false;
						}
					break;				
						
					default:
						OK = isRequired(formFields[i]);
					break;
				};
				
				if (!OK) {
					var errorMessage = "Required"; 
					
					if (!requiredFirst) {
						errorMessage =  validationErrorMessage[fieldID] || "";
					}
					
					writeError(formFields[i], errorMessage);
					
					validForm = false;
				}
				
			}
			
			return validForm;
		}
		
		function writeError(formField, message) {
			var fieldID = $(formField).attr('id');
			var fieldWidth = $(formField).attr('offsetWidth');
			var fieldHeight = $(formField).attr('offsetHeight')-2;
			
			$(formField).addClass('errorMessage');
							
			$(formField).focus(removeError);
			
			if ($(formField).data('errorMessage')) return;
					
			$(formField).parent().append('<label style="width:'+fieldWidth+'px; height: '+fieldHeight+'px;" class="errorMessage" for="'+fieldID+'" htmlFor="'+fieldID+'">'+message+'</label>');
			
			$(formField).data('errorMessage', message);
		}
	
	//-------------------------------------------------------------------------------------------------------END Form validation
	
	
	
	
	
	
	//--Page initialization----------------------------------------------------------------------------------------------------
	
		var currentPage = $('body').attr('id');
		
		$('#link_'+currentPage).attr({
			src: '_Presentation/Images/nav_'+currentPage+'-Selected.png'							
		});
		
		$('#navigation a').each(function () {
			$(this).mouseover(function () {
				var currentNav = $(this).children('img');
				
				$(currentNav).attr({
					src: $(currentNav).attr('src').replace(/\.png/, '-Selected.png')				   
				});
			});	
			
			$(this).mouseout(function () {
				var currentNav = $(this).children('img');
				
				$(currentNav).attr({
					src: $(currentNav).attr('src').replace(/-Selected\.png/, '.png')				   
				});
			});		
		});
	
	//--------------------------------------------------------------------------------------------------END Page initialization
	
	
	
	//--Form initialization----------------------------------------------------------------------------------------------------	
	
		$('#phone_AreaCode').keyup(function () {
			if( $('#phone_AreaCode').val().length == 3 ) {
				$('#phone').focus();	
			}
		});
				
		$('#btn_Next').click(function () {
			var validStepOne = validate('stepOne');
			
			if (validStepOne) {
				$('#stepOne').hide();
				$('#stepTwo').show();
			}
		});
		
		$('#btn_Submit').click(function () {
			if ($('#case1').attr('checked') || $('#case2').attr('checked')) {
				var case_study_selection = "Search:";
				
				$(':checkbox').each(function () {
					if ($(this).attr('checked') == true) {
						case_study_selection += $(this).val()+",";
					}
				});
				
				case_study_selection = case_study_selection.substr(0, case_study_selection.length - 1)
				$('#00N30000003plbE').val(case_study_selection);
												
				$('#requestForm').submit();
			} else {
				$('#stepTwo').append('<p id="downloadError">Please select a case study.</p>');
			}
		});
		
		$(':checkbox').click(function () {
			if ($('#downloadError').length > 0) {
				$('#downloadError').remove();
			}
		});
	
	//--------------------------------------------------------------------------------------------------END Form initialization
	
});