/* $Id$ */

var courtPopup = {
	
	DOM: {},
	
	
	/**
	 * Объявляем внутренние переменные и обработчики сообытий
	 */
	init: function() {
		//Запоминаем часто используемые DOM-элементы
		this.setDOM();
		//Объявляем событие загрузки скриптов шаблона всплывающего окна
		$(document).trigger('courtPopupLoad');
	},
	
	
	/**
	 * Запоминаем часто используемые DOM-элементы
	 */
	setDOM: function() {
		this.DOM.$document = $(document);
		
		//Всплывающие окна
		this.DOM.popup = {
			"$container": $('.js-court-popup')
		}
		//Область для перемещения всплывающего окна мышью
		this.DOM.popup.$move = this.DOM.popup.$container.children('.js-court-popup-mousemove');
	},
	
	
	/**
	 * Функция перемещения всплывающего окна
	 */
	move: function() {
		var self = this;
		
		this.DOM.popup.$move.mousedown(function(e) {
			var $popup = $(this).parent(),
				//координаты курсора мыши
				coord = {
					'x': e.pageX,
					'y': e.pageY
				},
				//отступы от экрана всплывающего окна
				offset = {
					'top': $popup
								.css('top')
								.replace(/px/, ""),
					'left': $popup
								.css('left')
								.replace(/px/, "")
				};
			
			//Обработчик движения мыши
			self.DOM.$document.mousemove(function(event) {
				var //разница координат мыши в момент клика и после передвижения
					coordDiff = {
						'x': coord.x - event.pageX,
						'y': coord.y - event.pageY
					},
					//новое положение окна
					offsetNew = {
						'top': offset.top - coordDiff.y,
						'left': offset.left - coordDiff.x
					};
				
				//задаем новое положение
				$popup.css(offsetNew);
			});
		});
		
		this.DOM.popup.$move.mouseup(function() {
			//Снимаем обработчик с движения мыши
			self.DOM.$document.unbind('mousemove');
		});
	}
}

$(function(){
	courtPopup.init();
});