var lastZipCode = '';
function resetZipCode()
{
	lastZipCode = '';
	$('#zip_location').hide();
	$('#zip_label').html("Zipcode:");
	$('#form_zip').show();
	$('#form_zip').val('');
	$('#form_zip').focus();
}

function zipCodeLookup(e, zipCode)
{
	var key = (!e) ? window.event : e.which;

	if( jQuery.trim(zipCode.value).length == 5 )
	{
		console.log(zipCode + " : " + lastZipCode);
		if( zipCode.value == lastZipCode )
			return false;
		
		lastZipCode = zipCode.value;
		
		$.getJSON("/zipcode/lookup/"+jQuery.trim(zipCode.value), function(result)
    	{
			if (result.success)
			{
				$.post('registration/update', {field:'zip', value:jQuery.trim($('#form_zip').val())});
				$('#form_zip').hide();
				$('#zip_label').html("Location:");
				$('#zip_location').show();
				$('#zip_location').val(result.zip.CityMixedCase + ", " + result.zip.State);
				//$('#form_city').val(result.zip.CityMixedCase);
				//$('#form_state').val(result.zip.State);
				$('#shipping_method1').focus();
			}
			else
			{
				modalAlert('Please verify that the zipcode you entered is valid.', 'Oops! There was an issue...', $('#form_zip'));
			}
		});
	 }
}

function validateRegistration(step)
{
	if( !alphaNumericPlusCheck($('#form_first_name')) )
	{
		 modalAlert('You must provide an accurate <b>First Name</b>.', 'Oops! There was an issue...', $('#form_first_name'));
		 return false;
	}

	if( !alphaNumericPlusCheck($('#form_last_name')) )
	{
		modalAlert('You must provide an accurate <b>Last Name</b>.', 'Oops! There was an issue...', $('#form_last_name'));
		return false;
	}	

	if( !numericCheck($('#form_phone_areacode')) || $('#form_phone_areacode').val().length != 3 )
	{
		modalAlert('You must provide an accurate <b>Phone Number</b>.', 'Oops! There was an issue...', $('#form_phone_areacode'));
		return false;
	}

	if( !numericCheck($('#form_phone_prefix')) || $('#form_phone_prefix').val().length != 3 )
	{
		modalAlert('You must provide an accurate <b>Phone Number</b>.', 'Oops! There was an issue...', $('#form_phone_prefix'));
		return false;
	}

	if( !numericCheck($('#form_phone_suffix')) || $('#form_phone_suffix').val().length != 4 )
	{
		modalAlert('You must provide an accurate <b>Phone Number</b>.', 'Oops! There was an issue...', $('#form_phone_suffix'));
		return false;
	}
	
	if( !emailCheck($('#form_email')) )
	{
		modalAlert('You must provide a valid <b>Email Address</b>.', 'Oops! There was an issue...', $('#form_email'));
		return false;
	}

    return true;
}

function store_kit_request_input() {
    if(!$(this).val() || $(this).val().length > 0) {
        $.post('registration/update', {field:$(this).attr('name'), value:$(this).val()});
    }
}

$(document).ready(function() {
    var updateFields = ['first_name', 'last_name', 'email', 'address1', 'address2', 'zip', 'phone_areacode', 'phone_prefix', 'phone_suffix'];
    for(var i=0;i<updateFields.length;i++) {
        $('#form_'+updateFields[i]).blur(store_kit_request_input);
    }
	zipCodeLookup(window.event, document.getElementById('form_zip'));
});
