
/**
 * Hide and show the provider-specific fields 
 */
$(document).ready(function()
{
	var providerSpecificFields = $('#provider-specific');
	var providerButton = $('#user_type_provider')[0];
	var consumerButton = $('#user_type_consumer')[0];
	var alreadyHidden = true;
	
	if(providerButton.checked)
	{
		providerSpecificFields.show();
		$('#mailing-list-container .provider').show();
		$('#mailing-list-container .consumer').hide();
		alreadyHidden = false;
	}
	
	$('#user_type_provider, #user_type_consumer').click(function()
	{
		var willBeHidden = !providerButton.checked;
		if(willBeHidden != alreadyHidden)
		{
		    if(willBeHidden) 
		    {
		        $('#mailing-list-container .provider').hide();
        		$('#mailing-list-container .consumer').show();
		    }
		    else
		    {
		        $('#mailing-list-container .provider').show();
        		$('#mailing-list-container .consumer').hide();
		    }
			alreadyHidden = willBeHidden;
			if(willBeHidden) 
				providerSpecificFields.fadeOut('fast');
			else
				providerSpecificFields.fadeIn('fast');
		}
	});
});


/**
 * Auto-generate a provider path from the business name
 */
$(document).ready(function()
{	
	$('#provider_name').blur(function()
	{
		var name = $(this).val();
		var autoPath = name.replace(/[!?@#$%^&*(){}<>\[\]\'"]+/gi, '');
		autoPath = autoPath.replace(/[^A-Z0-9]+/gi, '-');
		autoPath = autoPath.replace(/(^_*|_*$)/, '');
		$('#provider_path').val(autoPath.toLowerCase());
	});
	
	$('#zip').blur(function() 
	{ 
		var code = $(this).val();
		$('#provider_zip').val(code);
		$.getJSON('/register/lookup-zipcode/', { code: code }, function(result)
		{
			if(result.success)
			{
				$('#provider_city').val(result.city);
				$('#provider_state').val(result.state);
			}
		});
	});
	
	$('#first_name, #last_name').blur(function()
	{
		$('#provider_contact').val($('#first_name').val() + ' ' + $('#last_name').val());
	});
});

