//-------------------------------------------------------------------------------------------------
// Константы

	__ORDER_BUTTON_ID_SUBMIT__ 		=	"sendorder";
	//-------------------------------------------------------------------------------------------------
	__CONTENT_MODE_INDEX__   = 0; // Первая страница
	__CONTENT_MODE_CMS__		 = 1; // Контент из Си-Лейк
	__CONTENT_MODE_AF__			 = 2; // Афиша филармония
	__CONTENT_MODE_AO__			 = 3; // Афиша зал
	__CONTENT_MODE_DISKS__	 = 4; // Дискография
	__CONTENT_MODE_GL__			 = 5; // Галлерея

	//-------------------------------------------------------------------------------------------------
	__LANG__								 = 'uk'; // Язык
	//-------------------------------------------------------------------------------------------------
	__SUBMENU_IDLE_TIMEOUT__     = 40; // Время открытия меню
	__SUBMENU_WAIT_TIMEOUT__     = 20; // Время ожидания синхронизации: открытие - закрытие
	__SUBMENU_IDLE_STEP__	 			 = 5;  // Шаг изменения
	__SUBMENU_WAIT_DEFOPEN__		 = 100;
	//-------------------------------------------------------------------------------------------------
	__SUBMENU_STATE_CLOSE__     = 0;
	__SUBMENU_STATE_OPEN__	    = 1;
	__SUBMENU_STATE_IDLEOPEN__  = 2;
	__SUBMENU_STATE_IDLECLOSE__ = 3;
	//-------------------------------------------------------------------------------------------------
	//__COLOR_LINK__				= "#fff";
	//__COLOR_LINK_HOVER__	= "#663";
	__COLOR_LINK__				= "#BC2824";
	__COLOR_LINK_HOVER__	= "#E8868F";
	__CLASS_ITEMA__				= "itema";
	__CLASS_SUBITEMA__		= "subitema";
	__COLOR_PERIOD_CHANGE__ = 700;


//-------------------------------------------------------------------------------------------------
// Обработчики событий
handlers = [];


//-------------------------------------------------------------------------------------------------

//-------------------------------------------------------------------------------------------------
// Поддержка Ajax
	is_supported_ajax = function() {
		return (typeof XMLHttpRequest != "undefined" || typeof window.ActiveXObject != "undefined");
	}

//-------------------------------------------------------------------------------------------------
// Ajax-Обработчики
function set_ajax_handlers() {
 	jQuery("#menu > a").click(handlers[__LINK_ITEM_CLICK__]);
 	jQuery("#pagebar > a").click(handlers[__LINK_ITEM_CLICK__]);
}

//-------------------------------------------------------------------------------------------------
// Разбор строки url и формирования хеша параметров
function get_content_params() {
	var params = new Object();
	var href = document.location.href.replace(/#.*$/, '');
	if (href.indexOf("?") != -1) {
		var vars = href.substring(href.indexOf("?") + 1,href.length).split(/\?|&/);
		for(var v=0; v<vars.length;v++) {
				var p = vars[v].split('=');
				params[p[0]] = p[1];
			}
	}
	return params;
}

//-------------------------------------------------------------------------------------------------
// Настройка интерфейса
function setup_interface() {

}

//-------------------------------------------------------------------------------------------------
// Обработчик после загрузки страницы
function event_body_onload() {
	// Настройка интерфейса
	setup_interface();
	// Позиционирование подменю
	positioning_submenu();
	// Установка обработчиков
	set_html_handlers();

}

//-------------------------------------------------------------------------------------------------
// Обычные обработчики
function set_html_handlers() {
	// Меню - триггер для закрытия меню
		var menu = new objMenu(jQuery("#menubind div"), params.aid);
		
		jQuery("a.foto").fancybox({'zoomSpeedIn':	0, 'zoomSpeedOut':	0,  'overlayShow':	true});	
			
			jQuery("#menu").mouseover(function(e){
					if(menu.curi != null) {
						menu.curi = null;
						menu.closeall(menu.aidi);
					}
			});
			// Блокировать сработку событий
			jQuery("#menuarea").mouseover(function(e) {
					$Q.stopBubble(e);
					return true;
			});
			jQuery("#submenuarea").mouseover(function(e) {
					// Блокировать обработку событий
					$Q.stopBubble(e);
					return true;
			});
			// Спец.эффект для ссылок - "зажигается цвет"
			/*jQuery("a").mouseover(function(){
								var class_ = jQuery(this).attr("class");
								if (typeof class_ == "undefined" ||
									(typeof class_ != "undefined" && class_.indexOf('item') == -1)
								)
									jQuery(this).stop().animate( { color: __COLOR_LINK_HOVER__ }, __COLOR_PERIOD_CHANGE__);
							});
			// Спец.эффект для ссылок - "гаснет цвет"
			jQuery("a").mouseout(function(){
								var class_ = jQuery(this).attr("class");
								if (typeof class_ == "undefined" ||
										(typeof class_ != "undefined" && class_.indexOf('item') == -1)
									)
									jQuery(this).stop().animate( { color: __COLOR_LINK__ }, __COLOR_PERIOD_CHANGE__);
							});
			*/
	
			
			jQuery("div.seats a").mouseover(function(){ if (jQuery(this).attr("class")!= "svobod selected") {   jQuery(this).toggleClass("curr"); }   });
			jQuery("div.seats a").mouseout(function(){ if (jQuery(this).attr("class")!= "svobod selected") {  jQuery(this).toggleClass("curr"); } });
 			/*jQuery("div.seats a").click(function(){ if ((jQuery(this).attr("class")!= "svobod selected") &&  (jQuery(this).attr("class")!= "svobod selected curr"))
																		  {  jQuery(this).addClass("selected");}
																		  });
			jQuery("div.seats a").click(function(){ if ((jQuery(this).attr("class")== "svobod selected") ||  (jQuery(this).attr("class")== "svobod selected curr"))
																		  {   jQuery(this).removeClass("selected");}
																		  }); */
			//jQuery("a.svbod").mouseout(function(){ jQuery(this).animate({ backgroundColor: "#fff" }, "fast") });
			//jQuery("a.svbod").mouseover(function(){ jQuery(this).animate({ backgroundColor: "green" }, "fast")    });
			// Новости - открыть полный текст
			jQuery("a.newsopen").click(function() {
																		var newstext = jQuery(this).parent('.newstext');
																		var news =  jQuery(newstext).parent('.news');
																		if (typeof news != 'undefined') {
																			var newstextf = jQuery(news).children('.newstextf');
																			jQuery(newstext).hide();
																			jQuery(newstextf).show();
																		}
																		return false;
																	});
			// Новости - закрыть полный текст
			jQuery("a.newsclose").click(function() {
																		var newstextf = jQuery(this).parent('.newstextf');
																		var news =  jQuery(newstextf).parent('.news');
																		if (typeof news != 'undefined') {
																			var newstext = jQuery(news).children('.newstext');
																			jQuery(newstextf).hide();
																			jQuery(newstext).show();
																		}
																		return false;
																	});
			// Дискография
			if (params.mode == __CONTENT_MODE_DISKS__ || params.mode == __CONTENT_MODE_GL__) {
				disksb_status = true;
				disksbimg = new Image();
				jQuery(".diskssm").click(function(){
																				if(jQuery(this).attr('class') != "diskssma") {
																					var eid = jQuery(this).attr('id').replace('sm','');
																					jQuery(".diskssma").attr('class','diskssm');
																					jQuery(this).attr('class','diskssma');
																					disksbimg.src = $disks[eid.toString()].srcb;
																					hide_disksb();
																					disksbimg.onload = function() {
																						(!disksbimg) ? show_disksb(disksbimg.src) : setTimeout(function(){
																																																	 show_disksb(disksbimg.src)
																																																	 }, 1000) ;
																					};
																				}
																			});
			}
	}

//-------------------------------------------------------------------------------------------------
// Показать картинку дискографии
function show_disksb(src) {
	jQuery("#loader").hide();
	jQuery("#disksb").attr("src", src);
	jQuery("#disksb").animate({opacity: 1},
														1000,
														function(){
																disksb_status = true;
														});

}

//-------------------------------------------------------------------------------------------------
// Спрятать картинку дискографии
function hide_disksb() {
	jQuery("#loader").show();
	jQuery("#disksb").animate({opacity: 0.01},
														1000,
														function(){
																disksb_status = false;
														});
}


//-------------------------------------------------------------------------------------------------
// Позиционирование подменю
function positioning_submenu(mid) {
	jQuery("#menuarea div").each(function(){
				var m = jQuery(this).attr('id');
				var subm = "sub" + m;
				if(jQuery("#"+subm).size() > 0) {
				  // Сдвиг центральной области
					var offsetinner = jQuery("#inner").offset().left;

					var borderl = jQuery("#menubind div:first").offset().left - offsetinner;
					var borderr = jQuery("#menubind div:last").offset().left + jQuery("#menubind div:last").width() - offsetinner;
					var submw = jQuery("#" + subm + " .submenubind").width();

					var offset =  (jQuery("#" + m).offset().left - offsetinner) +
												Math.ceil(jQuery("#" + m).width()/2) -
												Math.ceil(submw/2);

					// Корректировка сдвига
					(offset < borderl) ? offset = borderl : false;
					(offset + submw > borderr) ? offset = borderr - submw: false;
					jQuery("#" + subm).css("left", offset + "px");
				}
				});
}

/* Объект меню */
var objMenu = function(items, aid) {
	this.items = items; // Єлементы меню - DOM-єлементы
	this.aid = aid;     // Пункт активный
	this.aidi = -1;     // Пункт активный - индекс
	this.curi = null;   // Выбранный пункт меню
	this.deftimer = null; // Таймер открытия дефолтного пукнта меню
	/* Инициализация */
	this.init = function() {

		var items = this.items;
		var self = this;
		items.each(function(i){
		  var submid ='#sub'+ jQuery(this).attr('id') ;
		  items[i].submid = (jQuery(submid).size() > 0) ? submid : null;
			items[i].state = __SUBMENU_STATE_CLOSE__;
			items[i].otimer = null;
			items[i].ctimer = null;
			jQuery(items[i]).mouseover(function() {self.curi = i; (self.items[i].submid) ? self.open(i) : false;})
		/*	jQuery(items[i]).mouseout(function() {(self.aidi >=0) ? self.deftimerStart() : false; })*/
			if(self.aid == jQuery(this).attr('id')) {
				self.aidi = i;
				self.open(i);
			}
		})
	};
	/* Открыть подменю - циклический процесс */
	this.open = function(i) {
		var self = this;
		var item = this.items[i];
		/* Закрываем все открытые пункты меню, кроме текущего  */
		/* Если нет подменю - тогда не закрываем */
		this.closeall(i);
		/* Должно быть подменю и подменю необходимо открывать */
		if (item.submid && this.needopen(i)) {
			if(this.canopen(i)) {
				// Открываем
				item.state = __SUBMENU_STATE_IDLEOPEN__;
				if(!this.openEffect(jQuery(item.submid))) {
				 	// Необходимо продолжить открывание
					items[i].otimer = setTimeout(function(){
																					self.items[i].otimer = null;
																					self.open(i);
																			 },
															 				 __SUBMENU_IDLE_TIMEOUT__);
				}else {
					item.state = __SUBMENU_STATE_OPEN__;
				}
			}
			// Нельзя открывать - будем ждать
			else{
				items[i].otimer = setTimeout(function(){
																					self.items[i].otimer = null;
																					self.open(i);
																			 },
															 				 __SUBMENU_WAIT_TIMEOUT__);
			}
		}
	};
	/* Закрыть подменю - циклический процесс */
	this.close = function(i) {
		var self = this;
		var item = this.items[i];
		/* Закрываем все открытые пункты меню */
		if (item.submid && this.needclose(i)) {
			if(this.canclose(i)) {
				// Закрываем
				item.state = __SUBMENU_STATE_IDLECLOSE__;
				if(!this.closeEffect(jQuery(item.submid))) {
				 	// Необходимо продолжить закрывание
				 	var self = this;
					items[i].ctimer = setTimeout(function(){
																					self.items[i].ctimer = null;
																					self.close(i);
																			 },
															 				 __SUBMENU_IDLE_TIMEOUT__);
				}else {
					item.state = __SUBMENU_STATE_CLOSE__;
					/* Запустим таймер ожидания, чтобы открыть активное подменю */
					if(i == this.aidi && !self.deftimer) {
						self.deftimerStart();
					}
				}
			}
			else {
				// Нельзя закрывать - будем ждать
				items[i].ctimer = setTimeout(function(){
																					self.items[i].ctimer = null;
																					self.close(i);
																			 },
															 				 __SUBMENU_WAIT_TIMEOUT__);
			}
		}
	};
	/* Проверка - надо открывать подменю или нет: если открыто или открывается - не надо */
	this.needopen = function(i) {
		var item = this.items[i];
		return (item.otimer == null &&
						item.state != __SUBMENU_STATE_OPEN__
						);
	};
	/* Проверка - надо закрывать подменю или нет */
	this.needclose = function(i) {
		var item = this.items[i];
		return (item.ctimer == null &&
						item.state != __SUBMENU_STATE_CLOSE__ );
	};
	/* Проверка - можно открыть подменю или нет */
	this.canopen = function(i) {
		var item = this.items[i];
		return (item.state != __SUBMENU_STATE_IDLECLOSE__);
	};
	/* Проверка - можно закрыть подменю или нет */
	this.canclose = function(i) {
		var item = this.items[i];
		return (item.state != __SUBMENU_STATE_IDLEOPEN__);
	};
	/* Закрыть все пункты, кроме данного */
	this.closeall= function(ni) {
			for(var i=0; i < items.length; i++) {
				if(i!=ni && i!= this.curi) {
					 this.close(i);
				}
			}
	};
	/* Еффект открывания */
	this.openEffect= function(e) {
		e.css("visibility", "visible");
		return true;
	};
	/* Еффект закрывания */
	this.closeEffect= function(e) {
		e.css("visibility", "hidden");
		return true;
	};
	/* Запустить таймер открытия пункта по умолчанию */
	this.deftimerStart = function() {
		var self = this;
		this.deftimer = setInterval(function(){
																					for(var i=0; i < self.items.length; i++) {
																						if(self.items[i].state != __SUBMENU_STATE_CLOSE__) {
																							return false;
																						}
																					}
																					self.deftimerStop();
																					self.open(self.aidi);
																			 },
															 				 __SUBMENU_WAIT_DEFOPEN__);
	};
	/* Запустить таймер открытия пункта по умолчанию */
	this.deftimerStop = function() {
		clearInterval(this.deftimer);
		this.deftimer = null;
	};

	this.init();
}


// Добавить (удалить) товар из корзины
function cartProduct(id, price, discount,nm) {

	if(isItemInCart(id)) {
		// Удаляем из корзины
		deleteItemCart(id);
		//setCartToAdd(id);
		//window.alert ("Товар '"+nm+"' удален из корзины!");
	} else {
		// Добавляем в корзину
		addItemCart(id,price,discount);
		//setCartToDelete(id);
		//window.alert ("Товар '"+ nm+"' добавлен в корзину!");
	}
	refreshCart();
	//window.alert ("swq");
	return false;
}

// Обновить информацию корзины
function refreshCart() {
	jQuery("#cart_poz").text(  getCartSize() );
	jQuery("#shortcartCost").text(  getTotalCartCost().toFixed(2));
	//xGetElementById("cart_poz").innerHTML = getCartSize();	
	//xGetElementById("shortcartDiscount").innerHTML = getTotalCartDiscont().toFixed(2);	
	//xGetElementById("shortcartCost").innerHTML = getTotalCartCost().toFixed(2);	
}

