jQuery.fn.chainSelect = function( target, url, settings ) 
{

  return this.each( function()
  {
	$(this).change( function( ) 
	{
		settings = jQuery.extend(
		{
			after : null,
			before : null,
			usePost : false,
			defaultValue : null,
			parameters : {'_id' : $(this).attr('id'), '_name' : $(this).attr('name')}
        } , settings);

		settings.parameters._value =  $(this).val();
		settings.parameters._lang =  $('#lang').val();

		if (settings.before != null) 
		{
			settings.before( target );
		}

		ajaxCallback = function(data, textStatus) 
		{
			$(target).html("");
			data = eval(data);
			for (i = 0; i < data.length; i++)
			{
			  for ( key in data[i] )
			  {	
					$(target).get(0).add(new Option(data[i][key],[key]), document.all ? i : null);
              }
			}

			if (settings.defaultValue != null)
			{
				$(target).val(settings.defaultValue);
			} else
			{
				$("option:first", target).attr( "selected", "selected" );
			}

			if (settings.after != null) 
			{
				settings.after(target);
			}

			$(target).change();
		};

		if (settings.usePost == true)
		{
			$.post( url, settings.parameters, ajaxCallback );
		} else
		{
			$.get( url, settings.parameters, ajaxCallback );
		}
	});
  });
};

$(function()
{
        $('#country').chainSelect('#city','/ajax/get_cities.php',
        { 
                before:function (target)
                { 
                        $("#loading").css("display","block");
                        $("#city_caption").css("display","none");
                        $("#other_city_caption").css("display","none");
                        $("#other_city").css("display","none");
                        $(target).css("display","none");
                },
                after:function (target)
                { 
                        $("#loading").css("display","none");
                        $("#city_caption").css("display","block");
                        $("#other_city_caption").css("display","block");
                        $("#other_city").css("display","inline");
                        $(target).css("display","inline");
                }
        });
});

$(document).ready(function(){  
	$("#city").change(function() {
		if($("#city option:selected").val() == 'own_city')
			$("#other_city_block").css("display","block");
		else
			$("#other_city_block").css("display","none");
	});      
});  