$(document).ready(function(){ 
	// Preload images
	$.preloadCssImages();
	// Tooltip hover effect contact page
	tooltip();
	// Login
	$('.login').click(function(){
		$('#wrap-login').slideToggle();
		return false;
	});
	// Temporary setup until login is complete
	$("form#emp-login").submit(function() {
		if ($('#username').length > 0 || $('#username').val() == '') {
			$('#error-login').fadeIn('slow');
			return false;
		}
	return false;
	});	
	// External Links
	$('a[rel=external]').click(function(){ window.open(this.href); return false; });
	// Form field value swap
	swapValues = [];
		$(".swap-value").each(function(i){
			swapValues[i] = $(this).val();
			$(this).focus(function(){
				if ($(this).val() == swapValues[i]) {
					$(this).val("");
			}
		}).blur(function(){
			if ($.trim($(this).val()) == "") {
				$(this).val(swapValues[i]);
			}
		});
	});
	// Pullquote
	$('span.pullquote').each(function(index) { 
		var $parentParagraph = $(this).parent('p'); 
		$parentParagraph.css('position', 'relative'); 
		$(this).clone() 
			.addClass('pulledquote') 
			.prependTo($parentParagraph); 
	  }); 	
	// Newsletter
	$('form#newsletter #email').click(function(){
		$('#optional-fields').slideDown();									 
	});
	$("form#newsletter").submit(function() {
		// Validate
		var myEmail = $("#email").val(),
			myName = $("#name").val(),
			myZip = $("#zip").val();
		if (!checkEmail(myEmail)){
			$('#signup-error').remove();
			$('#signup-response')
				.append('<p id="signup-error">Please enter a valid email address.</p>')
				.css('display' , 'block');
			return false;
		}
		// Grab form values and place into array
		fieldArr = $("form#newsletter :input").serializeArray();
		// set arrays
		var fieldCount = fieldArr.length,
			dataStr = "";
		for(i = 0; i < fieldCount; i++){
			// check if fields have default values and remove if necessary
			if(fieldArr[i].value == "First Name" || fieldArr[i].value == "Zip Code"){
				fieldArr[i].value = "";
			}
			// This function encodes special characters. In addition, it encodes the following characters: , / ? : @ & = + $ #
			fieldArr[i].value = encodeURIComponent(fieldArr[i].value);
			// prepare to send
			dataStr += fieldArr[i].name + "=" + fieldArr[i].value + "&";
		}
		// Grab form action
		formAction = $("#newsletter").attr("action");
		// Add form action to end of serialized data		
		dataStr = dataStr + "action=" + formAction;
		
		$.ajax({
			type: "POST",
			url: "assets/includes/sform-send.php",
			data: dataStr,
			success: function(del){
				$('form#newsletter').hide();
				$('#signup-error').remove();
				$('#signup-response')
					.append('<p id="signup-success">You have successfully subscribed! Please check your email.</p>')
					.fadeIn();
			}
		});
	return false;
	});	
	// Validate Form
	//$('#application-form').validate();
	// Hover lists
	$('#application-form ul li').hover(function() {
		$(this).addClass('hover-row');
	}, function() {
		$(this).removeClass('hover-row');
	});
	// Date Picker
	Date.format = 'mm/dd/yyyy';
	$('.date-pick').datePicker({clickInput:true, startDate:'01/01/1970'});
	// Toggle form elements 
	$('.extra-fields').css('display' , 'none');
	// Employer
	$('.add-remove-emp').append('<a href="#">Add Employer</a>');
	$('.add-remove-emp a').click(function(){
		if($(this).html() == 'Add Employer'){
			$(this).html('Remove Employer');
		}else{
			$(this).html('Add Employer');
		}
		$(this).parents('.toggle').next('.toggle').slideToggle();
		return false;
	});	
	// School
	$('.add-remove-school').append('<a href="#">Add School</a>');
	$('.add-remove-school a').click(function(){
		if($(this).html() == 'Add School'){
			$(this).html('Remove School');
		}else{
			$(this).html('Add School');
		}
		$(this).parents('.toggle').next('.toggle').slideToggle();
		return false;
	});	
	// Handle hide / show of required form elements
	// Contact at work
	$("input[@name='contact_at_work']").click(function(){
		if($("input[@name='contact_at_work']:checked").val() == 'Yes'){
			$('#yes_contact_work').slideDown();
		}else{
			$('#yes_contact_work').slideUp();
		}
	});
	// Work permit
	$("input[@name='work_permit']").click(function(){
		if($("input[@name='work_permit']:checked").val() == 'No'){
			$('#no_work_permit').slideDown();
		}else{
			$('#no_work_permit').slideUp();
		}
	});
	// Previously submitted application
	$("input[@name='submit_app']").click(function(){
		if($("input[@name='submit_app']:checked").val() == 'Yes'){
			$('#yes_submit_app').slideDown();
		}else{
			$('#yes_submit_app').slideUp();
		}
	});
	// Work overtime
	$("input[@name='work_overtime']").click(function(){
		if($("input[@name='work_overtime']:checked").val() == 'No'){
			$('#no_work_overtime').slideDown();
		}else{
			$('#no_work_overtime').slideUp();
		}
	});
	// Convict
	$("input[@name='crime_convict']").click(function(){
		if($("input[@name='crime_convict']:checked").val() == 'Yes'){
			$('#yes_crime_convict').slideDown();
		}else{
			$('#yes_crime_convict').slideUp();
		}
	});
	// Processing application message
	$('#submit-application').click(function(){ 
		$(this).css({'opacity' : '.4', 'filter' : 'alpha(opacity=40)'});
		$('#process-app').css('display' , 'block');
	});
	// Employment Services
	$('#show-emp').click(function(){
		$('#employer-services').slideToggle();
		return false;
	});
	// Character limit of input fields for application
	$('#emp_name_1').limit('40','#emp_name_1_lmt');
	$('#emp_sup_name_1').limit('20','#emp_sup_name_1_lmt');
	$('#emp_sup_title_1').limit('20','#emp_sup_title_1_lmt');
	$('#emp_title_1').limit('25','#emp_title_1_lmt');
	$('#emp_leave_1').limit('50','#emp_leave_1_lmt');
	$('#emp_work_type_1').limit('960','#emp_work_type_1_lmt');

	$('#emp_name_2').limit('40','#emp_name_2_lmt');
	$('#emp_sup_name_2').limit('20','#emp_sup_name_2_lmt');
	$('#emp_sup_title_2').limit('20','#emp_sup_title_2_lmt');
	$('#emp_title_2').limit('25','#emp_title_2_lmt');
	$('#emp_leave_2').limit('50','#emp_leave_2_lmt');
	$('#emp_work_type_2').limit('960','#emp_work_type_2_lmt');

	$('#emp_name_3').limit('40','#emp_name_3_lmt');
	$('#emp_sup_name_3').limit('20','#emp_sup_name_3_lmt');
	$('#emp_sup_title_3').limit('20','#emp_sup_title_3_lmt');
	$('#emp_title_3').limit('25','#emp_title_3_lmt');
	$('#emp_leave_3').limit('50','#emp_leave_3_lmt');
	$('#emp_work_type_3').limit('960','#emp_work_type_3_lmt');

	$('#emp_name_4').limit('40','#emp_name_4_lmt');
	$('#emp_sup_name_4').limit('20','#emp_sup_name_4_lmt');
	$('#emp_sup_title_4').limit('20','#emp_sup_title_4_lmt');
	$('#emp_title_4').limit('25','#emp_title_4_lmt');
	$('#emp_leave_4').limit('50','#emp_leave_4_lmt');
	$('#emp_work_type_4').limit('960','#emp_work_type_4_lmt');
	
	$('#emp_hist_comments').limit('435','#emp_hist_comments_lmt');
	$('#emp_skills').limit('435','#emp_skills_lmt');
}); 

function checkEmail(email)
{	
	var pattern = /^([a-zA-Z0-9_\.\-\+])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	return pattern.test(email);
}