var BodyFontSize = 12;

function warning() {
	var mesg = "Вы уверены?";
	if (!confirm(mesg)) return false;

	return true;
}

function setCookie(name, value) {
	var oDate = new Date();
	oDate.setFullYear(oDate.getFullYear() + 1);
	var domain = self.location.host; 
	document.cookie = name + "=" + value + "; path=/; domain=" + domain + "; expires=" + oDate.toGMTString();
}

function getCookie(name) {
	var prefix = name + "=";
	var cookieStartIndex = document.cookie.indexOf(prefix);
	if (cookieStartIndex == -1) {
		return null;
	}
	var cookieEndIndex = document.cookie.indexOf(";", cookieStartIndex + prefix.length);
	if (cookieEndIndex == -1) {
		cookieEndIndex = document.cookie.length;
	}
	return unescape(document.cookie.substring(cookieStartIndex + prefix.length, cookieEndIndex));
}
function body_font_resize(r) {
	BodyFontSize = parseInt(BodyFontSize);
	if (!r) {
		BodyFontSize = 12;
	}
	if (((BodyFontSize + r) > 15) || ((BodyFontSize + r) < 9)) {
 		r = 0;
	}
	BodyFontSize = BodyFontSize + r*1;
	document.getElementById("content").style.fontSize = BodyFontSize + 'pt';
	setCookie("BodyFontSize", BodyFontSize);
}
//-----------------------------------------------------------------------------------------
// view_block_wrap
//-----------------------------------------------------------------------------------------
function view_block_wrap(block_name, view) {
	var root_div = get_div_site_menu();
	if (root_div && (root_div.id == 'site_menu_top')) {
		view_block_top(block_name);
	} else {
		view_block(block_name, view);
	}
}
//-----------------------------------------------------------------------------------------
function view_block(block_name, view) {
	if (!document.getElementById(block_name)) {
		return null;
	}
	var custom_block_name = document.getElementById(block_name+'.1');

	if (view==undefined) {
		view = 0;
		if (document.getElementById(block_name).style.display) {
			view = 1;
		}
	}

	if (parseInt(view)) {
		document.getElementById(block_name).style.display = '';
		if (custom_block_name) {
			custom_block_name.innerHTML = '-';
		}
	} else {
		document.getElementById(block_name).style.display = 'none';
		if (custom_block_name) {
			custom_block_name.innerHTML = '+';
		}
	}
	setCookie("viewBlock_" + block_name, view);
}
//-----------------------------------------------------------------------------------------
var view_block_top_current = '';
function view_block_top(block_name, view) {
	var block = document.getElementById(block_name);
	var block_link = document.getElementById(block_name + '.link');

	var root_div = get_div_site_menu();
	if (root_div && (root_div.id != 'site_menu_top')) {
		return;
	}

	if (!block) {
		return null;
	}
	if (view==undefined) {
		view = 0;
		if (block.style.display == '' ||  block.style.display == 'none' ) {
			view = 1;
		}
	}

	if (parseInt(view)) {
		block.style.display = 'block';
		if (block_link) {
			block_link.style.color = 'red';
		}
		block.focus();

		if (view_block_top_current && (view_block_top_current != block_name)) {
			view_block_top(view_block_top_current, 0);
		}
		view_block_top_current = block_name;
	} else {
		block.style.display = 'none';
		if (block_link) {
			block_link.style.color = '';
		}
	}
}
//-----------------------------------------------------------------------------------------
// hide_block_wrap
//-----------------------------------------------------------------------------------------
function hide_block_wrap(id) {
	var root_div = get_div_site_menu();
	if (root_div && (root_div.id == 'site_menu_top')) {
		hide_block_top(id);
	} else {
		return;
	}
}
//-----------------------------------------------------------------------------------------
function hide_block_top(id) {
	setTimeout("view_block_top('"+id+"',0);", 200);
}
//-----------------------------------------------------------------------------------------
function parse_hide_view_block() {
	if (!site_menu_block_list) {
		return;
	}

	for (var i in site_menu_block_list) {
		var block_name = i;
		var view = getCookie("viewBlock_" + block_name);
		if ((view == null) || (view == undefined)) {
			view = site_menu_block_list[i];
		}
		view_block(block_name, view);
	}
}
//-----------------------------------------------------------------------------------------
function position_site_menu_bak (p) {
	var hash_css = new Object();
	hash_css['left'] = 'top';
	hash_css['right'] = 'left';
	hash_css['top'] = 'right';
	hash_css['left_toggle'] = '&#9668;';
	hash_css['right_toggle'] = '&#9658;';
	hash_css['top_toggle'] = '&#9650;';

	if (!hash_css[p]) {
		p = 'right';
	}

	for (var i=0; i<document.styleSheets.length; i++) {
		var s = document.styleSheets[i];
		var name_style = s.id || s.title;

		if (name_style == 'site_menu_'+p) {
			s.disabled = false;
		}
		for (var m in hash_css) {
			if ((m != p) && (name_style == 'site_menu_'+m)) {
				s.disabled = true;
			}
		}
	}

	toggle_position_site_menu = hash_css[p];
	document.getElementById("toggle_position_site_menu").innerHTML = hash_css[p+'_toggle'];
	setCookie("position_site_menu", p);

	var root_div = get_div_site_menu();

	if (root_div) {
		root_div.id = 'site_menu_' + p;
	}

	if (p != 'top') {
		parse_hide_view_block();
	}
}
function position_site_menu (p) {
	var hash_css = new Object();
	hash_css['left'] = 'top';
	hash_css['right'] = 'left';
	hash_css['top'] = 'right';
	hash_css['left_toggle'] = '&#9668;';
	hash_css['right_toggle'] = '&#9658;';
	hash_css['top_toggle'] = '&#9650;';
	hash_css['left_width'] = '790px';
	hash_css['right_width'] = '790px';
	hash_css['top_width'] = '997px';


	if (!hash_css[p]) {
		p = 'right';
	}

	toggle_position_site_menu = hash_css[p];
	document.getElementById("toggle_position_site_menu").innerHTML = hash_css[p+'_toggle'];
	setCookie("position_site_menu", p);

	var root_div = get_div_site_menu();

	if (root_div) {
		var m_top = document.getElementById('m_top');
		var m_left = document.getElementById('m_left');
		var m_right = document.getElementById('m_right');

		remove_all_child(m_top);
		remove_all_child(m_left);
		remove_all_child(m_right);

		root_div.id = 'site_menu_' + p;
		document.getElementById('m_' + p).appendChild(root_div);
		document.getElementById('m_' + p).style.display = 'block';
	}

	if (p != 'top') {
		parse_hide_view_block();
	}

	document.getElementById('content').style.maxWidth = hash_css[p + '_width'];
	fix_pre();
}
// <!-- fix PRE -->
function fix_pre() {
	//-- Process ---------------------
	var ary=document.getElementsByTagName('pre');
	for (var i=0; i<ary.length; i++) {
		ary[i].style.display = 'none';
	}
	for (var i=0; i<ary.length; i++) {
		var el = ary[i];

		el.style.height = '1px';

		var width = el.parentNode.offsetWidth - 16;
		el.style.width = width + 'px';

		el.style.display = 'block';
		var height = el.offsetHeight;
		var fix = 0;
		if (el.scrollWidth > el.offsetWidth) {
			fix = 8;
		}

		el.style.height = (el.scrollHeight + fix) + 'px';
	}
//	hljs.initHighlightingOnLoad();
}

function fix_pre_create_duble() {
	//-- check IE --------------------
	var this_ie = false;
	/*@cc_on
		/*@if (@_jscript)
			this_ie = (document.all && !window.opera) ? true : false;
		/*@else @*/
			this_ie = false;
		/*@end
	@*/

	//-- Process ---------------------
	var ary=document.getElementsByTagName('pre');
	var ary_dubl = new Array();
	for (var i=0; i<ary.length; i++) {
		ary_dubl[i] = ary[i];
	}
	for (var i=0; i<ary_dubl.length; i++) {
		var el = ary_dubl[i];
		var rgxp = /^\s*<code class/i;

		if (el.name == 'pre_fix_duble') {
			el.parentNode.removeChild(el);
		} else if (rgxp.test(el.innerHTML)) {
			el.parentNode.removeChild(el);
		} else {
			el.style.display = 'none';
			var width = el.parentNode.offsetWidth - 16;
			var height = el.parentNode.offsetHeight - 16;

			var txt = el.innerHTML;
			txt = txt.replace(/\r/g, "");
			txt = '<code class="">' + txt + '</code>';

			var el_new = document.createElement("pre");
			el_new.name = 'pre_fix_duble';
			el_new.style.width = width + 'px';
//			el_new.style.height = height + 'px';
//			el_new.appendChild(document.createTextNode(txt));
			if (this_ie) {
				txt = txt.replace(/\t/g, "&nbsp;&nbsp;&nbsp;&nbsp;");
				txt = txt.replace(/([^\n]*)\n/g, "<nobr>$1&nbsp;</nobr><br>");
				txt = txt.replace(/\n/g, "<br>");
			}
			el_new.innerHTML = txt;

			el.style.display = 'none';
			el.style.width = width + 'px';

			el.style.display = 'block';
//			el.parentNode.insertBefore(el_new, el);
		}
	}
//	hljs.initHighlightingOnLoad();
}
function remove_all_child(el) {
	el.style.display = 'none';
	var kids = el.childNodes;

	for (var k = 0; k < kids.length; k++) {
		el.removeChild(kids[k]);
	}
}
function get_div_site_menu() {
	var div_list = document.getElementsByTagName("div");

	for (var i=0; i<div_list.length; i++) {
		if (div_list[i].getAttribute("name") == 'div_site_menu') {
			return div_list[i];
		}
	}
	return 0;
}
function hide_form_show_loading( hide, show ) {
	if (document.getElementById(hide)) {
		document.getElementById(hide).style.display = 'none';
	}
	if (document.getElementById(show)) {
		document.getElementById(show).style.display = '';
	}
	if (document.getElementById("error_message")) {
		document.getElementById("error_message").style.display = 'none';
	}
	if (document.getElementById("success_message")) {
		document.getElementById("success_message").style.display = 'none';
	}
	return true;
}
//-----------------------------------------------------------------------------------------
// function for blink link
//
// <a href="" id="id_for_blink_element">
//
// var myBlink = new Blink("myBlink", "id_for_blink_element");
// myBlink.start_timer();
//
//-----------------------------------------------------------------------------------------

//-----------------------------------------------------------------------------------------
// init vars
//-----------------------------------------------------------------------------------------
function Blink(obj_name, blink_element_name) {
	this.obj_name = obj_name;
	this.blink_element_name = blink_element_name;
	this.init(blink_element_name);
}
Blink.prototype.init = function(blink_element_name) {
	this.blink_element = undefined;
	if (blink_element_name) {
		this.blink_element = document.getElementById(blink_element_name);
	}
	this.blink_interval = undefined;
	this.blink_element_hover = false;

	this.color_blink = 'red';
	this.color_ublink = '';

	this.color_this = this.color_blink;
}
Blink.prototype.set_event = function() {
	if (this.blink_element) {
		this.blink_element.onmouseover = new Function(this.obj_name + ".stop_timer(1);");
		this.blink_element.onmouseout  = new Function(this.obj_name + ".start_timer(1);");
	}
}
Blink.prototype.blink = function() {
	if (this.blink_element_hover) {
		return;
	}
	if (this.blink_element) {
		if (this.color_this == this.color_blink) {
			this.color_this = this.color_ublink;
		} else {
			this.color_this = this.color_blink;
		}
		this.blink_element.style.color = this.color_this;
	} else {
		this.stop_timer();
	}
}
Blink.prototype.start_timer = function(is_link) {
	if (is_link) {
		this.blink_element_hover = false;
	}
	if (!this.blink_interval) {
		this.blink_interval = setInterval(this.obj_name + ".blink()",500);
	}

	this.set_event();
}
Blink.prototype.stop_timer = function(is_link) {
	if (is_link) {
		this.blink_element_hover = true;
	}
	if (this.blink_interval) {
		clearInterval(this.blink_interval);
		this.blink_interval = undefined;
	}
	if (this.blink_element) {
		this.blink_element.style.color = '';
	}
}
Blink.prototype.search_element = function (el, who, parent_el) {
	var kids = el.childNodes;

	for (var k = 0; k < kids.length; k++) {
		if (kids[k].id && (kids[k].id == this.blink_element_name)) {
			if (who == 'start_blink') {
				kids[k].style.color = 'red';
				this.blink_element = kids[k];
				this.start_timer();
				if (parent_el) {
					parent_el.style.backgroundColor = '#FDFFE6';
				}
			} else if (who == 'stop_blink') {
				kids[k].style.color = '';
				this.stop_timer();
				this.blink_element = undefined;
				if (parent_el) {
					parent_el.style.backgroundColor = '';
				}
			}
			return;
		} 
		else {
			this.search_element(kids[k], who, parent_el);
		}
	}
}
//-----------------------------------------------------------------------------------------

