(function($) {
	$(document).ready(function() {
		dis();
	});  
})(jQuery);

function dis() {
	
	/***** If cookie exists, loads saved value of fontLevel *****/
	var $cookie_fontLevel = "disFontLevel";
	if($.cookie($cookie_fontLevel)) {
		var fontLevel = $.cookie($cookie_fontLevel),
		fontSize = parseFloat($("body").css("font-size"));
		$("body").css("font-size", fontSize + (fontLevel * 1.5) + "px");
  	} else {
		var fontSize = parseFloat($("body").css("font-size")),
		fontLevel = 0;
	}
	
	/***** TEXT RESIZE *****/
	$('#text-size').click(function(e) {
		e.preventDefault();
		if (fontLevel == 3) {
            fontLevel = 0;
		} else {
            fontLevel++;
		}
		$("body").css("font-size", fontSize + (fontLevel * 1.5) + "px");
      	$.cookie($cookie_fontLevel, fontLevel, { path: '/' });
      });
	
	/***** SITE SEARCH FOCUS TEXT *****/
	if ($('#sitewide-search .searchinput').length) {
		$('#sitewide-search .searchinput').focusin(function() {
			if ($(this).val() == 'Search website and directories') {
				$(this).val('');
			}
		});
		$('#sitewide-search .searchinput').focusout(function() {
			if ($(this).val() == '') {
				$(this).val('Search website and directories');
			}
		});
  	}
	
	/***** IF COOKIE EXIXTS, LOADS SAVED VALUED OF FONTLEVEL *****/
	var $cookie_AccessVersion = "disAccessVersion";
	if($.cookie($cookie_AccessVersion)) {
		var accessVersion = $.cookie($cookie_AccessVersion);
		$('body').addClass(accessVersion);
	}
	
	/***** TEXT ONLY *****/
	$('#text-only').click(function(e) {
		e.preventDefault();
		$('body').addClass('text-only');
      	$.cookie($cookie_AccessVersion, 'text-only', { path: '/' });
	});
	
	/***** HIGH CONTRAST *****/
	$('#contrast').click(function(e) {
		e.preventDefault();
		$('body').addClass('high-contrast');
      	$.cookie($cookie_AccessVersion, 'high-contrast', { path: '/' });
	});
	
	/***** DEFAULT VERSION *****/
	$('#default').click(function(e) {
		e.preventDefault();
		$('body').attr('class', '');
      	$.cookie($cookie_AccessVersion, null, { path: '/' });
	});
	
  /***** PREVENT FORM SUBMITTING ON ENTER KEY PRESS *****/
	$('#content-wrap input').keypress(function(e){
		if (e.which == 13) {
			if ($('a.submit-link').length) {
				e.preventDefault();
				$('a.submit-link').click();
			}
		}
	});

	/***** GENERAL VALIDATION *****/
	$("#validate-submit").click(function (e) {
		e.preventDefault();
		var parent = $(this).closest('form');
		validation(parent);
		if ($("span.requirederror").length) {
			return false;
		} else {
			if ($(".form-submit-right span #sq_commit_button").length) {
				$(".form-submit-right span #sq_commit_button").click();
			} else if ($('.form-submit-right span input[type=submit]').length) {
				$('.form-submit-right span input[type="submit"]').click();
			}
		};
	});
}; // Ends DIS

  /***** Form Validation Function - Finds each field with class="requiredField", checks if completed and if not, finds associated label and changes required note to error note. *****/
function validation(parent) {
	$('label .requirederror').each(function(){
		$(this).removeClass('requirederror').text('(Required)');
	});
	$('.form-error').remove();
	var hasError = false;
	$('input[type=text].requiredField, input[type=file].requiredField, textarea.requiredField', parent).each(function() {
		if ($(this).is(':visible')) {
			if (jQuery.trim($(this).val()) == '') {
				$(this).prev('label').find('span').addClass('requirederror').text('is required');
				hasError = true;
			}
		}
	});
	$('select.requiredField', parent).each(function() {
		if ($(this).is(':visible')) {
			var selectval = $(this).val();
			if (!selectval.length) {
				$(this).prev('label').find('span').addClass('requirederror').text('is required');
				hasError = true;
			}
		}
	});
	$('select.requiredMultiSelect', parent).each(function() {
		if ($(this).is(':visible')) {
			var multiselectval = $(this).val();
			if (!multiselectval.length) {
				if (!$(this).siblings('label').find('span.requirederror').length) {
					$(this).siblings('label').find('span').addClass('requirederror').text('is required');
					hasError = true;
				}
			}
		}
	});
	$('input[type=text].requiredMultiText', parent).each(function() {
		if ($(this).is(':visible')) {
			if (jQuery.trim($(this).val()) == '') {
				if (!$(this).siblings('label').find('span.requirederror').length) {
					$(this).siblings('label').find('span').addClass('requirederror').text('is required');
					hasError = true;
				}
			}
		}
	});
	$('ul.requiredField', parent).each(function() {
		if ($(this).is(':visible')) {
			var radios = $(this).find('input');
			var radiocount = 0;
			$(radios).each(function() {
				if ($(this).is(':checked')) {
					radiocount++;
				}
			});
			if (!(radiocount >= 1)) {
				$(this).prev('label').find('span').addClass('requirederror').text('is required');
				hasError = true;
			}
		}
	});
	$('input.requiredTerms', parent).each(function() {
		if (!$(this).is(':checked')) {
			$(this).next('label').find('span').remove();
			var labelText = $(this).next('label').html();
			$(this).next('label').html(labelText+' <span class="requirederror"><br />(Please accept the terms and conditions to continue)</span>');
			hasError = true;
		}
	});
	if(hasError) {
		if ($('form').length) {
			$('form .submit-link').parent().append('<span class="form-error">Please correct the marked errors</span>');
		}
		return false;
	}
}; // Ends Validation
