			function subscribe_show ()
			{
				if ($('subscription').style.display == 'none')
				{
					Effect.BlindDown 	('subscription', 	{duration: 1.0	});
					if ($('msg'))
						$('msg').style.display = 'none';
				}
				else
				{
					$('subscription').style.display = 'none';
					if ($('msg'))
						$('msg').style.display = 'none';
					
				}
				
			}




			function search_slide ()
			{
				if (!is_leader_on)
				{
					is_leader_on = true;
					Effect.BlindRight ('search_field', 	{duration: 1.0	});
				}
				else
				{
					is_leader_on = false;
					$('search_field').style.display = 'none';
				}
				
			}

			is_leader_on = false;
			ie = false;

			
			
			Effect.BlindRight = function(element) {
			  element = $(element);
			  var elementDimensions = element.getDimensions();
			  return new Effect.Scale(element, 100, Object.extend({
				scaleContent: false,
				scaleY: false,
				scaleFrom: 0,
				scaleMode: {originalHeight: elementDimensions.height, originalWidth: elementDimensions.width},
				restoreAfterFinish: true,
				afterSetup: function(effect) {
				  effect.element.makeClipping().setStyle({
					width: '0px',
					height: effect.dims[0] + 'px'
				  }).show();
				},
				afterFinishInternal: function(effect) {
				  effect.element.undoClipping();
				}
			  }, arguments[1] || { }));
			};



			function wheel(event)
			{
				var delta = 0;
				if (!event) /* For IE. */
					event = window.event;
				if (event.wheelDelta) 
				{ 
					delta = event.wheelDelta/120;
					if (window.opera)
						delta = -delta;
				} else if (event.detail) { /** Mozilla case. */
					delta = -event.detail/2;
				}
				if (delta)
					handle(delta);
				if (event.preventDefault)
					event.preventDefault();
				
				event.returnValue = false;
			}
			
			function slider_init()
			{
				if ($('handle'))
				{
					if (ie)
					{
						slider = new Control.Slider('handle', 'track',
						{
							axis: 'vertical',
							range: $R(0, $('scroll_area').rows.length -15),
							onSlide: function(v)	{ $('rank').scrollTop =  ( v * 24) },
							onChange: function(v)	{ $('rank').scrollTop =  ( v * 24) }
						});
					}
					else
					{
						slider = new Control.Slider('handle', 'track',
						{
							axis: 'vertical',
							range: $R(0, $('scroll_area').rows.length -15),
							onSlide: function(v)	{ $('scroll_area').scrollTop =  ( v * 24) },
							onChange: function(v)	{ $('scroll_area').scrollTop =  ( v * 24) }
						});
					}
				}
			}
			
			function handle(delta) {
				slider.setValueBy(-delta * 4);
			}

			function nick_search (event)
			{
				if (event)
				{
					if (Event.KEY_RETURN == event.keyCode)
					{
						
					}
					var search_value = ($('find').value).toLowerCase();
					var table = $('scroll_area');
					
					if (search_value.length> 0)
					{
						var is_found = -1;
						var offset = 0;
						for (row_index = 0; row_index < table.rows.length; row_index++)
						{
							var current_row = table.rows[row_index];
							var nickname = current_row.getAttribute ('nickname');
							if (nickname)
							{
								nickname = nickname.toLowerCase();
								dom_class (current_row, 'selected', false);
								
								if (is_found==-1 && nickname.indexOf (search_value) != -1)
								{
									dom_class (current_row, 'selected', true);
									is_found = row_index;
									offset = current_row.offsetTop;
								}
							}
						}
						
						if (is_found != -1 && slider)
						{
							slider.setValue(is_found - 2);
						}
					}
					else
					{
						for (row_index = 0; row_index < table.rows.length; row_index++)
						{
							var current_row = table.rows[row_index];
							dom_class (current_row, 'selected', false);
						}
						
						if (slider)
							slider.setValue(0);
					}

				}
				return;
			}



			function init ()
			{
				if ($('handle'))
				{
					slider_init ();
					Event.observe('scroll_area', 	'DOMMouseScroll', wheel);
					Event.observe('scroll_area', 	'mousewheel', wheel);
				}
				if ($('find'))
				{
					Event.observe('find', 			'keyup', nick_search);
				}
			}
			

			Event.observe(window, 			'load', init);













