/* Глобальні змінні обробника помилок : */
var is_ok = false;
var err_text;

if (parent)
	parent.document.onkeypress=on_key_press;
document.onkeypress=on_key_press;
is_ok = true;

/* Обробник помилок */
function on_key_press(key_press)
{
  if(is_ok){
    var kC;
    var cK;
    var kM;
    if(window.event)
			{kC=window.event.keyCode;cK=window.event.ctrlKey;kM=2;}
    else
      if(parent&&parent.event)
				{kC=parent.event.keyCode;cK=parent.event.ctrlKey;kM=2;}
      else
				{kC=key_press.keyCode;cK=key_press.ctrlKey;
        if(key_press.modifiers!=undefined)
					{kM=key_press.modifiers;cK=2;kC=key_press.wh}
        else
					kM=2;
      }
    if(cK&&kM==2&&(kC==13||kC==10))send_error();
  }
} // on_key_press

function send_error() {
  var form=document.err_send_form;
  if(!form) return;

  var wnd = (window.name=='send_frame')?parent:window;
  var sel_text = null;
  if (wnd.getSelection) err_text=wnd.getSelection();
  else
    if (wnd.document.getSelection) err_text=wnd.document.getSelection();
    else sel_text = wnd.document.selection;

  if(sel_text) {
    err_text = sel_text.createRange().text;
    var b_text= sel_text.createRange();
    var a_text= sel_text.createRange();
    sel_text = err_text;
    b_text.moveStart("word",-10);
    b_text.moveEnd("character",-err_text.length);
    a_text.moveStart("character",err_text.length);
    a_text.moveEnd("word",10);
    sel_text = b_text.text+' >>>'+err_text+'<<< '+a_text.text;
  }
  else {
    if (window.document.body != undefined) {
      if (wnd.document.body.innerText != undefined)
        sel_text=wnd.document.body.innerText;
      else
        sel_text=wnd.document.body.innerHTML;

      var nn=sel_text.indexOf(err_text);
      if (nn != -1){
        var tmp_str=err_text+"";
        sel_text = sel_text.substring(nn-70, nn)+' >>>'+err_text+'<<< ' + sel_text.substring(nn + tmp_str.length, nn + tmp_str.length + 70);
      }
      else sel_text = ' >>>'+err_text+'<<< ';
    }
    else sel_text = ' >>>'+err_text+'<<< ';
  }

  if(err_text.length==0 || err_text==" " || err_text=="") return;
  if(confirm("Фрагмент тексту, в якому Ви помітили помилку:\n     " + sel_text + "\n\nАдреса сторінки:\n     " + wnd.document.location + "\n\nВідправити повідомлення редактору сайта?")){
    form["URL"].value=unescape(wnd.document.URL);
    form["ERR_TEXT"].value=sel_text;
    form["REF_URL"].value=unescape(top.document.URL);
    form.submit();
  }
} // send_error

function GetLevelStr(Level) {
var i;
	LevelStr = "";
	for (i=Level-1; i >= 0 ; i--)
		LevelStr = LevelStr + "../";
	return (LevelStr);
} // GetLevelStr

function DisplayTitle(Level) {
var LevelStr, S;
	LevelStr = GetLevelStr(Level);
	S = '<p><a href="' + LevelStr + 'index.shtml">';
	S = S + '<img src="' + LevelStr + 'images/mdlogo.jpg" border="0" width="31"';
	S = S + 'height="84" alt="Стартова сторінка" /></a></p>';
	S = S + '<div id="TitleElt" class="MDTitle">';
	S = S + '<img src="' + LevelStr + 'images/mdtitle.gif" border="0" width="358" height="98" alt="Мислене древо : ми робимо Україну – українською !" />';
	S = S + '</div>';
	document.writeln(S);
} // DisplayTitle

function DisplayReclama(Level) {
} // DisplayReclama

function DisplayCE() {
var S;
/* Обробка помилок :*/
	S = '<hr><p class="BodyCenter">Якщо ви помітили помилку набору на цiй сторiнцi,<br>видiлiть її мишкою та натисніть <span class="Attention">Ctrl+Enter</span>.</p>';
	document.write(S);
	S = '<div style="display:none">' +
'<form name="err_send_form" action="http://myslenedrevo.com.ua/cgi/mdpomylka.pl" method="post">' +
'  <input type=hidden name="URL" value="">' +
'  <input type=hidden name="ERR_TEXT" value="">' +
'  <input type=hidden name="REF_URL" value="">' +
'</form></div>';
	document.write(S);
} // DisplayCE

function RemoveScripts(Node) {
var i, X;
	if (Node.childNodes.length == 0)
	  return;
	for (i = Node.childNodes.length - 1; i >= 0; i--) {
		X = Node.childNodes[i];
		if (X.nodeType == 1 && X.nodeName == 'SCRIPT') {
			Node.removeChild(X);
		}
		else {
			RemoveScripts(X);
		}
	}
}  // RemoveScripts

function GetStuff() {
	var X = document.getElementById('Stuff');
	RemoveScripts(X);
	return X;
} // GetStuff

function CopyStyleSheets(SrcDoc, DestDoc) {
var i, k, R;
	for (i = 0; i < SrcDoc.styleSheets.length; i++) {
		var SrcStyleSheet = SrcDoc.styleSheets[i];
    var DestStyleSheet = DestDoc.createStyleSheet();
		for (k = 0; k < SrcStyleSheet.rules.length; k++) {
    	var SrcRule = SrcStyleSheet.rules[k];
      R = ' (' + SrcRule.style.cssText + '} ';
    	DestStyleSheet.addRule(SrcRule.selectorText, R);
    }
  }
} // CopyStyleSheets

function PrepareToPrint() {
var	windowVar = window.open('', 'PrintWin');
var Doc = windowVar.document;
	Doc.open('text/html', true);
var Stuff = GetStuff();
var V = '<html><head><meta http-equiv="Content-Type" content="text/html; charset=windows-1251"></head><body style="background: #FFFFFF">';
	Doc.writeln(V);
  V = new String(Stuff.innerHTML);
	Doc.write(V);
  V = '</body></html>';
	Doc.write(V);
	Doc.title = document.title;
  CopyStyleSheets(document, Doc);
  V = Doc.getElementById('PrnWin');
  if (V != null) {
  	var Pr = V.parentNode;
		Pr.removeChild(V);
  }
  V = Doc.getElementById('AdvImg');
  if (V != null) {
  	var Pr = V.parentNode;
		Pr.removeChild(V);
  }
  V = Doc.getElementById('AdvText');
  if (V != null) {
  	var Pr = V.parentNode;
		Pr.removeChild(V);
  }
  windowVar.focus();
	return(false);
} // PrepareToPrint

function ToggleBlockNote(Sender) {
var ID = Sender.id;
var IDNote = ID + 'Div';
var Elem = document.getElementById(IDNote);
	if (Elem != null) {
  var ToggleOn = Elem.style.display;
	if (ToggleOn == 'none')
		Elem.style.display = 'block'
	else
	  Elem.style.display = 'none';
	}
} // ToggleBlockNote

function ToggleInlineNote(Sender, HTML, CSS) {
var ID = Sender.id;
var IDNote = ID + 'Note';
var Pr = Sender.parentNode;
var Elem = document.getElementById(IDNote);
	if (Elem == null) {
  	var Dsc = document.createElement('span');
		Dsc.setAttribute('id', IDNote);
		Dsc.style.cssText = CSS;
		Pr.insertBefore(Dsc, Sender.nextSibling);
		Elem = document.getElementById(IDNote);
		Elem.innerHTML = HTML;
	}
	else {
		Pr.removeChild(Elem);
	}
} // ToggleInlineNote

function MenuItem(ID, Ref, Descr) {
	this.ID = ID;
	this.Ref = Ref;
	this.Descr = Descr;
	return this;
} // MenuItem

var MainMenu = null;

ConstructMainMenu();

function ConstructMainMenu() {
	MainMenu = new Array();
	MainMenu.push(new MenuItem('cds', 'cds/index.html', 'Видання на CD'));
/*	MainMenu.push(new MenuItem('eprod', 'eproducts/index.php', 'Е-продукти'));*/
	MainMenu.push(new MenuItem('programs', 'recom/programs.html', 'Програми'));
	MainMenu.push(new MenuItem('md_studies', 'studies/md_studies.html', 'Студії'));
	MainMenu.push(new MenuItem('lu', 'studies/lesja/index.html', 'Леся Українка'));
	MainMenu.push(new MenuItem('about', 'general/about.html', 'Про нас'));
	MainMenu.push(new MenuItem('newlinks', 'links/newlinks.html', 'Корисні сайти'));
	MainMenu.push(new MenuItem('index', 'index.shtml', 'Початок'));
}  // ConstructMainMenu

function DisplayMainMenu(Level, Position, LocalMenu) {
var i, S, LevelStr;
	LevelStr = GetLevelStr(Level);
	S = '';
	for (i=0; i < MainMenu.length; i++)
	{
		S = S + '<p class="InternalHeader2"';
		if (i == 0) {
			S = S + 'style="margin-top: 0 px"'
		}
		S = S + '><a href="' + LevelStr + MainMenu[i].Ref + '">';
		S = S + MainMenu[i].Descr + '</a></p>';
		if (LocalMenu != '') {
			if (Position == i) {
				S = S + LocalMenu;
			}
		}
	}
	document.writeln(S);
} // DisplayMainMenu

function MenuToStr(Coll, Style, Level, ID, Position, LocalMenu) {
var i, S, LevelStr;
	LevelStr = GetLevelStr(Level);
	S = '';
	for (i=0; i < Coll.length; i++)
	{
		S = S + '<p class="' + Style + '">'
		if (Coll[i].ID == ID) {
			S = S + Coll[i].Descr;
		}
		else {
			S = S + '<a href="' + LevelStr + Coll[i].Ref + '">';
			S = S + Coll[i].Descr + '</a>';
		}
		S = S + '</p>';
		if (LocalMenu != '') {
			if (Position == i) {
				S = S + LocalMenu;
			}
		}
	}
	return (S);
}  // MenuToStr

