jQuery.fn.region_select = function(options) {

	settings = {
		type: 2,
		visible: 1,
		deleted: 0,
		with_env: 1,
		with_stat: 1
	};
	if ( !$("#div_region_select").length )
		$("body").prepend('<div id="div_region_select"></div>');
	$("#div_region_select").css({"background-color":"#ebebeb", "border":"1px solid #c8c8c8", "position":"absolute"}).hide();
	$("body").click(function(){
    $("#div_region_select").slideUp(100);
	});
  return this.each(function(){
  	$(this).click(function(){
  		settings = $.extend(settings, options);
  		var url = $(this).attr("href");
			var link = $(this);
      $.ajax({
	    	url: '/service/source/db.sections',
				dataType: 'json',
				type: 'post',
				data: settings,
				error: function(){
					alert('Не удалось сделать запрос к серверу');
				},
				success: function(json){
          $("#div_region_select").css({"top" : "", "left" : ""});
					html = '<p style="color: #064c74; margin: 10px;"><strong>Выберите город:</strong></p>';
					html += '<table style="margin-left: 7px;" cellpadding="3"><tr>';
					var j = 0;
					var cols = Array();
					for ( var i in json )
					{
						j++;
					}
					cols[0] = parseInt(j/3)+1;
					cols[1] = cols[0]*2;
					html = '<div style="padding: 5px; font-weight: normal;"><span style="color: #064C74; font-weight: bold; padding-left: 5px;">Выберите город:</span><br /><br />';
					html += '<table cellpadding="0" cellspacing="0"><tr><td valign="top"><table cellpadding="3" cellspacing="0">';
          j = 0;
					for ( var i in json )
					{
						if (j == cols[0] || j == cols[1])
							html += '</table></td><td valign="top"><table cellpadding="3" cellspacing="0">';
						html += '<tr><td><a style="padding: 5px;" href="' + json[i].link + url + '" target="_blank">' + json[i].env.name + '</a></td></tr>';
						j++;
					}
					html += '</table></td></tr></table></div><div style="float: right;"><span style="cursor: pointer; color: #b3b3b3;" onclick="$(\'div_region_select\').slideUp(100);">закрыть (x)</span></div>';
					link.after($("#div_region_select"));
					$("#div_region_select").html(html).show();
          var div_coord = {left:0, top:0, width:0, height:0};
					div_coord.left = $("#div_region_select").offset().left;
					div_coord.top = $("#div_region_select").offset().top;
					div_coord.width = $("#div_region_select").width();
					div_coord.height = $("#div_region_select").height();
					if ( ( div_coord.top + div_coord.height ) > ( $(window).height() + $(window).scrollTop() - 200 ) )
						$("#div_region_select").css({"top" : ( ( $(window).height() + $(window).scrollTop() ) - div_coord.height - 200 ) + "px"});

          if ( ( div_coord.left + div_coord.width ) > ( $(window).width() + $(window).scrollLeft() - 20 ) )
						$("#div_region_select").css({"left" :  ( $(window).width() + $(window).scrollLeft() - div_coord.width - 20 ) + "px"});
				}
	    });
  	});
  });
};
