$(function()
{

    var ac_elements = new AC_Elements();

    $.each($('form[id]'), function(){
	var form_name = $(this).attr('id');

	switch(form_name)
	{
	    case 'register_venue':
	    case 'search_venue':
	    case 'add_banner' :
		
		var context = 'form#' + form_name;

		ac_elements.factory('#city', context);
		ac_elements.factory('#zip', context);

		$('#state', context).change(function()
		{
		    $(this).changeSuggestions(context, ac_elements);
		}).change();
		$('#city', context).blur(function()
		{
		    $(this).changeSuggestionsZips(context, ac_elements);
		});


		if ('search_venue' != form_name) {
		    ac_elements.factory('#cc_zip_code', context);
		    $('#cc_state', context).change(function()
		    {
			$(this).changeSuggestionsCCZips(context, ac_elements);
		    }).change();
		}

		break;


	    case 'register_peer' :
	    case 'search_peer':
		var context = 'form#' + form_name;

		ac_elements.factory('#city', context);
		$('#state', context).change(function()
		{
		    $(this).changeSuggestionsCities(context, ac_elements);
		}).change();

		break;


	    case 'prolongate_venue_2':
	    case 'prolongate_venue_3':
		var context = 'form#' + form_name;
		
		ac_elements.factory('#cc_zip_code', context);
		$('#cc_state', context).change(function()
		{
		    $(this).changeSuggestionsCCZips(context, ac_elements);
		}).change();
		
		break;
	}

    });


});
