/* menu */
///*
function getCookie(name)
{
	var prefix = name + "=";
	var start = document.cookie.indexOf(prefix);
	if (start == -1)
	{
		return false;
	}
	var end = document.cookie.indexOf(";", start + prefix.length)
	if (end == -1)
	{
		end = document.cookie.length;
	}
	var value = document.cookie.substring(start + prefix.length, end);
	return unescape(value);
}

function setCookie(name, value)
{
	var newCookie = name + "=" + escape(value) + ";path=/;";
	document.cookie = newCookie;
}

/*
function load()
{
	var menu_cookie = getCookie('menu');
	if (menu_cookie != '')
	{
		var menu_array = new Array();
		menu_array = menu_cookie.split('[limiter]');
		for (var i = 0; i < menu_array.length; i++)
		{
			if (document.getElementById(menu_array[i]))
			{
				document.getElementById(menu_array[i]).style.display = 'block';
			}
		}
	}
}
*/
function save(block_name)
{
	var menu_cookie = getCookie('menu'); // считываем куку
	var menu_array = new Array();
	if (menu_cookie) // если считали превращаем в массив
	{
		menu_array = menu_cookie.split('[limiter]');
	}

	for (var i = 0; i < menu_array.length; i++) // проходим по массиву
	{
		var a = '';
		if (menu_array[i] == block_name) // если в массиве есть текущий блок
		{
			menu_array.splice(i, 1);
			var j = true;
			document.getElementById(block_name).style.display = 'none';
			break;
		}
	}

	if (!j)
	{
		menu_array[menu_array.length] = block_name;
		document.getElementById(block_name).style.display = '';
	}
	menu_string = menu_array.join ('[limiter]');
	alert(menu_string);
	setCookie('menu', menu_string);
}
//*/
function start()
{
	for(var i = 0; i < document.getElementsByTagName('ul').length; i++)
	{
		if(document.getElementsByTagName('ul')[i].className == 'submenu') document.getElementsByTagName('ul')[i].style.display = 'none';
	}
}

function rover(ob, picture)
	{
			ob.src = picture.toString();
	}

function getCookie(name)
{
	var prefix = name + "=";
	var start = document.cookie.indexOf(prefix);
	if (start == -1)
	{
		return false;
	}
	var end = document.cookie.indexOf(";", start + prefix.length)
	if (end == -1)
	{
		end = document.cookie.length;
	}
	var value = document.cookie.substring(start + prefix.length, end);
	return unescape(value);
}

function setCookie(name, value)
{
	var newCookie = name + "=" + escape(value) + ";path=/;";
	document.cookie = newCookie;
}


function load()
{
	var menu_cookie = getCookie('menu');
	if (menu_cookie != '')
	{
		var cur_menu = menu_cookie;
		for(var i = 0; i < document.getElementsByTagName('ul').length; i++)
			{
				if ((document.getElementsByTagName('ul')[i].className == 'submenu')&&(document.getElementsByTagName('ul')[i].style.display == '')) document.getElementsByTagName('ul')[i].style.display = 'none';
			}
		document.getElementById(cur_menu).style.display = '';

	}
	else
	{
	 start();
	}
}

function save(block_name)
{
	var menu_cookie = getCookie('menu'); // считываем куку
	if (menu_cookie == block_name || block_name == 'none')
	{
		setCookie('menu','');
	}
	else
	{
		setCookie('menu', block_name);
	}
}


function action_func(f_actions, f_id) // выполняет последовательность действий с группой объектов. 1-й аргумет -- действие или массив действий, 2-й аргумент -- id или массив id
{
	if (typeof f_actions == 'string') // если первый аргумент -- строка, преобразуем в массив
	{
		var f_actions = new Array(f_actions);
	}

	if (typeof f_id == 'string') // если второй аргумент -- строка, преобразуем в массив
	{
		var f_id = new Array(f_id);
	}

	for (i = 0; i < f_id.length; i++)
	{
		for (var j = 0; j < f_actions.length; j++)
		{
			eval('document.getElementById("' + f_id[i] + '").' + f_actions[j]);
		}
	}
}


function menu_hover(item, color)
{
	item.parentNode.style.backgroundColor = color;
}

function menu_expand(curr, ob)
{
	var tt = document.getElementById(ob);

	if (tt.style.display == "none")
	{
		if(getCookie('menu') != '')document.getElementById(getCookie('menu')).style.display = "none";
		tt.style.display = "";
		curr.blur();
	}

	else
	{
		tt.style.display = "none";
		curr.blur();
	}

}


function send_form(begin_msg, fields) // если нет ошибок -- отправляет форму, иначе нет
{
	var f_error = "";
	for (var i = 0; i < fields.length; i++)
	{
		f_error += (field_check(fields[i][0], fields[i][1]) != true) ? fields[i][2] : '';
	}

	if (f_error)
	{
		alert(begin_msg + f_error);
		return false;
	}

	else
	{
		return true;
	}
}


function field_check(f_type, f_id) // проверка полей формы перед отправкой
{
	if (f_type == 'f_blank' && document.getElementById(f_id)) // для проверки на заполнение поля
	{
		return (document.getElementById(f_id).value != '') ? true : false;
	}

	if (f_type == 'f_email' && document.getElementById(f_id)) // для проверки на email
	{
		var regexp = /[\w-\.]{1,255}@[\w-\.]{1,255}\.[a-zA-Z]{2,4}/;
		return regexp.test(document.getElementById(f_id).value);
	}

	if (f_type == 'f_radio') // для радиокнопок, передаем name, а не id
	{
		for (var i = 0; i < document.getElementsByName(f_id).length; i++)
		{
			if (document.getElementsByName(f_id)[i] && document.getElementsByName(f_id)[i].checked == true)
			{
				
				return true;
			}
		}
		return false;
	}

	if (f_type == 'f_password') // для сравнения пароля и подтверждания пароля, вместо id передаем массив из 2-х id
	{
		return (document.getElementById(f_id[0]).value == document.getElementById(f_id[1]).value) ? true : false;
	}

	if (f_type.indexOf('f_length') != -1) // для проверки длины строки. Значение передается как "f_length:число", где "число" необходимая длина строки
	{
		return (document.getElementById(f_id).value.length >= f_type.substr(9)) ? true : false;
	}

	return false;
}

document.onkeydown = catchKey;

function catchKey (event) {
//    var event;
	if (!document.getElementById) return;
	if (window.event) event = window.event;

	if (event.ctrlKey)
	{
		switch (event.keyCode ? event.keyCode : event.which ? event.which : null)
		{
			case 13:
                openMailWindow();
				break;
		}
	}
}

function openMailWindow() {
	var html = showDialog();
}

function showDialog(pagePath, args, width, height)
{
	 misprintWindow = window.open("misprint_dlg.html", "Misprint", 'width=400,height=400') 
}
