$(document).ready(function(){
	
	// set parametrs ***********************************************************
	var _bottomArea = $('#bottom-area');
	var _minimized = $('a.minimized', _bottomArea);
	var _openVisual = $('a.open-visual', _bottomArea);
	var _scrolling = $('ul.scrolling', _bottomArea);
	var _right = $('a.right', _scrolling);
	var _left = $('a.left', _scrolling);
	var _holderImage = $('div.holder-image', _bottomArea);
	var _holderGidsArea = $('div.holder-gids-area', _bottomArea);
	var _column = $('div.holder-list > ul > li', _holderGidsArea);
	var _slideEl = $('div.holder-list > ul', _holderGidsArea);
	var _bgL = $('#holder-schedule, #holder-schedule .schedule-area', _bottomArea);
	var _bgR = $('#gids, #gids .holder-gids', _bottomArea);
	var _linkForDrop = $('a.nog', _bottomArea);
	var _step = 350;
	var _fadeDuration = 400;
	var _slideDuration = 500;
	var _hours = $('.hour');
	var _rc = $('#rc');

	// open/close visual *******************************************************
	_openVisual.click(function(){
		_openVisual.fadeOut(_fadeDuration);
		_holderImage.fadeOut(_fadeDuration, function(){
			_holderGidsArea.animate({
				marginLeft:0,
				marginRight:0
			},{duration:_slideDuration, complete:function(){
				_minimized.fadeIn(_fadeDuration);
				_scrolling.fadeIn(_fadeDuration);
			}});
		});
		return false;
	});
	_minimized.click(function(){
		_minimized.fadeOut(_fadeDuration);
		_scrolling.fadeOut(_fadeDuration, function(){
			_holderGidsArea.animate({
				marginLeft:314,
				marginRight:-24
			},{duration:_slideDuration, complete:function(){
				_openVisual.fadeIn(_fadeDuration);
				_holderImage.fadeIn(_fadeDuration);
			}});
		});
		return false;
	});
	
	// set width for column ****************************************************
	_column.each(function(i, _col){
		var _li = $(_col).find('ul > li');
		var _max = 0;
		_li.each(function(){
			//alert(_li.width());
			if (_max < $(this).width()) {
				_max = $(this).width();
			} 
		});
		$(_col).css('width',_max);
		_li.css('width',_max);
	});
	_bottomArea.addClass('non-float');
	
	// line hover **************************************************************
	_column.each(function(i, _col){
		var _c = $(_col).find('ul > li');
		var _index;
		_c.hover(function(){
			_index = _c.index($(this));
			_column.find('ul > li:eq('+_index+')').addClass('hover');
		}, function(){
			if (_hideDrop)
				_column.find('ul > li:eq('+_index+')').removeClass('hover');
		});
	});
	
	// scale slide *************************************************************
	var _maxMargin = 0;
	var _margin = 0;
	var _slideWidth = 809;
	var slideLocations = new Object();
	var slideIntervals = new Object();
	var currentPos = -1;
	
	_column.each(function(){
		_maxMargin += $(this).width();
	});
	
	_right.click(function(){
		currentPos++;
		_margin = slideLocations[currentPos]; 
//		alert(currentPos+" "+_margin);
		if (_margin > _maxMargin-_slideWidth) _margin = _maxMargin-_slideWidth;
		//else _margin += _step;
		
                $('#remote').fadeOut('slow', function() {
			_bgL.removeClass('disable-bg');
			_slideEl.animate({marginLeft:-_margin},{queue:false, duration:_slideDuration, complete: function(){
				if (_margin == _maxMargin-_slideWidth) _bgR.addClass('disable-bg');
                                $('#remote').fadeIn('slow');
			}});
		});
                return false;
	});
	_left.click(function(){
		currentPos--;
		_margin = slideLocations[currentPos];
		if (_margin-_step < 0) {
			_margin = 0;
			currentPos = 0;
		}
                $('#remote').fadeOut('slow', function() {
			//else _margin -= _step;
			_bgR.removeClass('disable-bg');
			_slideEl.animate({marginLeft:-_margin},{queue:false, duration:_slideDuration, complete: function(){
				if (_margin == 0) _bgL.addClass('disable-bg');
				$('#remote').fadeIn('slow');
			}});
		});
		return false;
	});

	_rc.change(function() {
		var loc = slideLocations[$(this).val()];
		currentPos = $(this).val();
		if (typeof(loc)=="undefined") loc = 0;
		$('#remote').fadeOut('slow', function() {
			_margin = loc;// - _margin;
			_bgR.removeClass('disable-bg');
        	        _slideEl.animate({marginLeft:-_margin},{queue:false, duration:_slideDuration*2, complete: function(){
        	                if (_margin == 0) _bgL.addClass('disable-bg');
                     		$('#remote').fadeIn('slow');
        	        }});
		});	
	}); 

        _hours.each(function() {
                var offset = $(this).offsetParent().position().left+$(this).position().left;
		var hour = $(this).html().split(":");
		hour = hour[0];
		if (currentPos == -1) currentPos = hour;
		slideLocations[hour] = offset;
       		slideIntervals[hour] = $(this).position().left;
	 });
	
	// drop ********************************************************************
	var _drop;
	_linkForDrop.hover(function(){
		var _href = $(this).attr('href');
		_drop = _href.substr(_href.indexOf('#'));
		var _pos = $(this).offset();
		if (this.timer) clearTimeout(this.timer);
		if (_drop.length > 1) {
			$(this).addClass('link-hover');
			if ($(_drop).length) {
				$(_drop).css({
					position:'absolute',
					top:_pos.top + 20,
					left:_pos.left - 40
				}).show();
			}
		}
	}, function(){
		this.timer = setTimeout(function(){
			if (_drop.length > 1) {
				if ($(_drop).length && _hideDrop && _drop.length > 1) {
					$('a.link-hover').removeClass('link-hover');
					$(_drop).hide();
				}
			}
		}, 100);
	});
	var _hideDrop = true;
	var _dropBox = $('div.drop-box');
	_dropBox.hover(function(){
		_hideDrop = false;
	}, function(){
		_dropBox.hide();
		$('a.link-hover').removeClass('link-hover');
		_hideDrop = true;
	});
	
});
