var Chess = {};

/**
 * URL изображений
 */
Chess.IMG_ROOT = "";

/**
 * Расширение изображений для текущей доски
 */
Chess.IMG_EXT = ".gif";
Chess.popup = false;
Chess.enabled = false;

Chess.NeedAlphaLoader = (/MSIE [56]\./.test(navigator.userAgent));

Chess.BOARD_MODE_SETUP = 0;
Chess.BOARD_MODE_STATIC = 1;
Chess.BOARD_MODE_PGNVIEW = 2;
Chess.BOARD_MODE_EXAMINE = 3;
Chess.BOARD_MODE_OBSERVE = 4;
Chess.BOARD_MODE_ANALYZE = 5;
Chess.BOARD_MODE_STDPLAY = 6;
Chess.BOARD_MODE_STDAJAX = 7;
Chess.BOARD_MODE_AJAX = 8;

Chess.PollFreq = [[3600, 30, 5, 30], [3600, 15, 1, 5]];

Chess.BOARD_COMMAND_NONE = 0;
Chess.BOARD_COMMAND_POLL = 1;
Chess.BOARD_COMMAND_MOVE = 2;
Chess.BOARD_COMMAND_RELOAD = 3;
Chess.BOARD_COMMAND_ACCEPT_DRAW = 4;
Chess.BOARD_COMMAND_REJECT_DRAW = 5;
Chess.BOARD_COMMAND_ACCEPT_CHLG = 6;
Chess.BOARD_COMMAND_REJECT_CHLG = 7;
Chess.BOARD_COMMAND_ACCEPT_JOIN = 8;
Chess.BOARD_COMMAND_REJECT_JOIN = 9;

Chess.BOARD_MESSAGE_NONE = 0;
Chess.BOARD_MESSAGE_CHALLENGE_ACCEPT = 1;
Chess.BOARD_MESSAGE_DRAW_OFFER = 2;
Chess.BOARD_MESSAGE_JOIN_ACCEPT = 3;
Chess.BOARD_MESSAGE_OTHER = 99;

Chess.RESULT_None = 0;
Chess.RESULT_White = 1;
Chess.RESULT_Black = 2;
Chess.RESULT_Draw = 3;
Chess.RESULT_LongStr = ['*', '1&ndash;0', '0&ndash;1', '&frac12;&ndash;&frac12;'];

var GamePanel = Class.create();
GamePanel.prototype = {
	/**
	 * Инициализация класса
	 */ 
 	initialize : function() {
 		this.tabs = new Array();
 		this.activeTab = "";
 	},
 	
 	register : function(tab) { 		
		if (!this.tabs.include(tab))
			this.tabs.push(tab);
		if (!this.activeTab)
			this.activeTab = tab;
 	},
 	
 	unregister : function(tab) { 		
 		this.tabs = this.tabs.without(tab)
		if (this.activeTab == tab) {
			this.activeTab = "";
		}
 	},
 	
 	hide : function(tab) {
 		var tabElm = $("id-board-btn-" + tab);
 		if (tabElm) tabElm.removeClassName("selected");
 		var tabPg = $("id-board-pg-" + tab);
 		if (tabPg) tabPg.hide();
 	},
 	
 	show : function(tab) {
 		if (this.activeTab == tab) return;
 		this.register(tab); 		 
 		this.activeTab = tab;
 		
 		this.tabs.without(this.activeTab).each(this.hide);
 		var tabElm = $("id-board-btn-" + this.activeTab);
 		tabElm.removeClassName("blinked");
 		if (tabElm) tabElm.addClassName("selected");
 		var tabPg = $("id-board-pg-" + this.activeTab);
 		if (tabPg) tabPg.show();
 	}
}

var gp = new GamePanel();