var menu_selected_id = null;
var menu_showtimer_id = null;
var menu_showtimer_on = false;
var menu_timer_id = null;
var menu_timer_on = false;
var menu_show_timeout = 500;
var menu_hide_timeout = 500;

function menu_show(id) {
	menu_timer_stop();
	if (menu_selected_id == id)
		return true;
	else {
		if (!menu_selected_id) menu_selected_id = menu_start_id;
		if (menu_selected_id) {
			var submenu_id = document.getElementById('submenu_' + menu_selected_id);
			if (submenu_id) submenu_id.style.display = 'none';
		}

		submenu_id = document.getElementById('submenu_' + id);
		if (submenu_id) submenu_id.style.display = 'block';

		menu_selected_id = id;
		return false;
	}
}

function menu_showtimer_start(id) {
	menu_timer_stop();
	menu_showtimer_id = setTimeout('menu_show(\'' + id + '\')', menu_show_timeout);
	menu_showtimer_on = true;
}

function menu_showtimer_stop() {
	if (menu_showtimer_on) {
		clearTimeout(menu_showtimer_id);
		menu_showtimer_on = false;
	}
}

function menu_timer_start() {
	menu_showtimer_stop();
	menu_timer_id = setTimeout('menu_show(menu_start_id)', menu_hide_timeout);
	menu_timer_on = true;
}

function menu_timer_stop() {
	if (menu_timer_on) {
		clearTimeout(menu_timer_id);
		menu_timer_on = false;
	}
}

function connector_tab(new_id) {
	if (new_id == connector_current_id) return false;
	if (connector_current_id) {
		try {document.getElementById('connector_tab_' + connector_current_id).className = 'normal'} catch(err) {}
		try {document.getElementById('connector_layer_' + connector_current_id).style.display = 'none'} catch(err) {}
	}
	try {document.getElementById('connector_tab_' + new_id).className = 'active'} catch(err) {}
	try {document.getElementById('connector_layer_' + new_id).style.display = 'block'} catch(err) {}
	connector_current_id = new_id;
}

function middle_tab(new_id) {
	if (new_id == middle_current_id) return false;
	if (middle_current_id) {
		try {document.getElementById('middle_tab_' + middle_current_id).className = 'middle_tab_common'} catch(err) {}
		try {document.getElementById('middle_layer_' + middle_current_id).style.display = 'none'} catch(err) {}
	}
	try {document.getElementById('middle_tab_' + new_id).className = 'middle_tab_active'} catch(err) {}
	try {document.getElementById('middle_layer_' + new_id).style.display = 'block'} catch(err) {}
	middle_current_id = new_id;
}

function msgbox_activate(content, type)
{
	msgbox_deactivate('confirm_reg');
	var ele_msgbox_window = document.getElementById('msgbox_' + type);
	if (!ele_msgbox_window) return false;
	var ele_msgbox_content = document.getElementById('msgbox_' + type + '_content');
	if (!ele_msgbox_content) return false;
	var ele_flashcontent_pers = document.getElementById('flashcontent_pers');
	if (ele_flashcontent_pers) ele_flashcontent_pers.style.visibility = 'hidden';
	var ele_msgbox = document.getElementById('msgbox');
	if (/MSIE ((5\.5)|6)/.test(navigator.userAgent))
	{
		var ele_html = document.getElementsByTagName('html')[0];
		var ele_body = document.getElementsByTagName('body')[0];
		ele_msgbox.style.position = 'absolute';
		window.scrollTo(0, 0);
		if (ele_body) ele_body.style.overflow = 'hidden';
		if (ele_html) ele_html.style.overflow = 'hidden';
	}
	ele_msgbox_content.innerHTML = content;
	ele_msgbox_window.style.display = 'block';
	ele_msgbox.style.display = 'block';
}

function msgbox_deactivate(type)
{
	ele = document.getElementById('msgbox_' + type);
	if (ele) ele.style.display = 'none';
	var ele_msgbox = document.getElementById('msgbox');
	ele_msgbox.style.display = 'none';
	if (/MSIE ((5\.5)|6)/.test(navigator.userAgent)) {
		var ele_html = document.getElementsByTagName('html')[0];
		var ele_body = document.getElementsByTagName('body')[0];
		if (ele_html) ele_html.style.overflow = '';
		if (ele_body) ele_body.style.overflow = '';
	}
	var ele_flashcontent_pers = document.getElementById('flashcontent_pers');
	if (ele_flashcontent_pers) ele_flashcontent_pers.style.visibility = '';
}

function msgbox_confirm(content, callback)
{
	window.msgbox_callback = callback;
	msgbox_activate(content, 'confirm');
}

function msgbox_confirm_close(status)
{
	if (window.msgbox_callback) { if(window.msgbox_callback(status)) { msgbox_deactivate('confirm'); } }

}

function msgbox_confirm_reg(callback)
{
	window.msgbox_callback = callback;
	msgbox_activate('', 'confirm_reg');
}

function msgbox_confirm_reg_close(status)
{
	if (window.msgbox_callback) {if(window.msgbox_callback(status)) { msgbox_deactivate('confirm_reg'); } }
}

function msgbox(content) { msgbox_activate(content, 'ok'); }
function msgbox_close() { msgbox_deactivate('ok'); }

//Browsercheck (needed) ***************
function get_browser_type()
{
	var ver = navigator.appVersion;
	var agent = navigator.userAgent;
	var dom = document.getElementById ? 1 : 0;

	var bw = '';
  	var opera = agent.indexOf("Opera")>-1;
	var ie = ((ver.indexOf("MSIE")>-1 && dom && !opera) || (document.all && !dom && !opera)) ? 1 : 0;
	var ff = (agent.indexOf("Firefox")>-1);

	if (opera) { return 'opera'; }
	else if (ie) { return 'ie'; }
	else if (ff) { return 'ff'; }
	else { return 'unknown'; }
}


// AXER

function setCookie (name, value, expires, path, domain, secure) {
	document.cookie = name + "=" + escape(value) +
		((expires) ? "; expires=" + expires : "") +
		((path) ? "; path=" + path : "") +
		((domain) ? "; domain=" + domain : "") +
		((secure) ? "; secure" : "");
}

function getCookie(name) {
	var cookie = " " + document.cookie;
	var search = " " + name + "=";
	var setStr = null;
	var offset = 0;
	var end = 0;
	if (cookie.length > 0) {
		offset = cookie.indexOf(search);
		if (offset != -1) {
			offset += search.length;
			end = cookie.indexOf(";", offset)
			if (end == -1) {
				end = cookie.length;
			}
			setStr = unescape(cookie.substring(offset, end));
		}
	}
	return(setStr);
}

// При первом вызове возвращает false и устанавливает in_progress для переданной формы
// Затем в течении 15 секунд возвращает true для этой же формы - по прошествии опять всё снова
function doubled(form_obj)
{
	if (!form_obj.is_submitted)
	{
		form_obj.is_submitted = true;
		setTimeout(function() { form_obj.is_submitted = false; }, 15000);
		return true;
	}
	else { return false; }
}

function confirm_auth(confirmed, url, easy_reg_num, redirect, vote_mode, work_id)
{
	if (confirmed)
	{
		document.body.style.cursor = "wait";
		login = document.getElementById('form_reg_login');
		password = document.getElementById('form_reg_password');
		gender = document.getElementById('form_reg_gender');
		email = document.getElementById('form_reg_email');
		is_agree = document.getElementById('is_agree_reg');

		form = document.getElementById('easy_reg_form');


		var check_new_user = function(transport)
		{
			if (transport.responseText=="reg")
			{
				document.body.style.cursor = "";
				msgbox_deactivate('confirm_reg');
				window.location.reload();
				return true;
			}
			else
			{
				document.body.style.cursor = "";
				AJAX.update('id_login',url + '/ajax',{login_check: login.value});
				AJAX.update('id_password',url + '/ajaxpassword',{password_check: password.value});
				AJAX.update('id_email',url + '/ajaxmail',{email_check: email.value});
				AJAX.update('id_agree',url + '/ajaxagree',{is_agree_check: is_agree.checked});
				return false;
			}
		}
		if (vote_mode && work_id)
		{
			AJAX.request(check_new_user,"GET",url + "/ajax-easy-reg/?easy_reg_num=" + easy_reg_num + "&redirect=" + redirect.replace(/&/g, "%26") + "&vote_mode=" + vote_mode + "&work_id=" + work_id,{login_check: login.value, password_check: password.value, email_check: email.value, gender: gender.value, is_agree_check: is_agree.value});
		}
		else
		{
			AJAX.request(check_new_user,"GET",url + "/ajax-easy-reg/?easy_reg_num=" + easy_reg_num + "&redirect=" + redirect.replace(/&/g, "%26"),{login_check: login.value, password_check: password.value, email_check: email.value, gender: gender.value, is_agree_check: is_agree.checked});
		}
		return false;
		//alert('Yes!'+t);
		// нужно проверить форму на правильность заполнения
		// нужно отправить форму на сайте - аякс
		// нужно получить ответ от сервера
		// нужно разрешить пользователю действие
		// нужно отключить заполненность профиля для голоса
		//form.submit();
	}
	else
	{
		msgbox_deactivate('confirm_reg');
		return false;
	}
}