
	var bar, menu;

	dom = (document.getElementById)? true : false;
	isMSIE = (document.all)? true : false;
	isNN6 = (dom && !document.all)? true : false;
	isNN4 = (document.layers)? true : false;
	var TimeOut1;

//**********************************************************************
function initMenu(menuShift) {
	var PosX, PosY;
	PosX=61;
	PosY=161;

	// Для начала создаем объекты меню.
	bar = new MenuBar(PosX,PosY);

	 menu = new Menu("a7", "Главная",	  1, 165, 85, "index.htm");
	 menu.addItem(new MenuItem('Карта сайта',	'cntn.htm'));
	 menu.addItem(new MenuItem('Автор',		'author.htm'));
	 bar.addMenu(menu);

	 menu = new Menu("a3", "Фотогафии",	 75, 98, 98, "foto.htm");
	 menu.addItem(new MenuItem('Композиции',	'compos.htm'));
	 menu.addItem(new MenuItem('Модели',		'foto-2.htm'));
	 menu.addItem(new MenuItem('Выставки',		'exhib-2.htm'));
	 bar.addMenu(menu);

	 menu = new Menu("a2", "Схемы",		175, 80, 80, "diagrams.htm");
	 menu.addItem(new MenuItem('Азбука',		'abc_start-2.htm'));
	 menu.addItem(new MenuItem('Базы',		'baseform.htm'));
	 menu.addItem(new MenuItem('Классика',		'classic.htm'));
	 menu.addItem(new MenuItem('Авторские',		'diagrams-2.htm'));
	 menu.addItem(new MenuItem('Ариадна',		'index-2.htm'));
	 bar.addMenu(menu);

	 menu = new Menu("a5", "Ариадна",	242, 75, 75, "index-2.htm");
	 menu.addItem(new MenuItem('Top 30',		'top.htm'));
	 menu.addItem(new MenuItem('Группы',		'gr.htm'));
	 menu.addItem(new MenuItem('Авторы',		'author-2.htm'));
	 menu.addItem(new MenuItem('Базы',		'baseform-2.htm'));
	 menu.addItem(new MenuItem('Новинки',		'new.htm'));
	 menu.addItem(new MenuItem('Поиск',		'search.htm'));
	 bar.addMenu(menu);

	 menu = new Menu("a1", "Лабиринт",  	319, 80, 80, "maze_main.htm");
	 menu.addItem(new MenuItem('Идея',		'maze_about.htm'));
	 menu.addItem(new MenuItem('Карта',		'maze_map.htm'));
	 menu.addItem(new MenuItem('Вход',		'maze.htm'));
	 bar.addMenu(menu);

	 menu = new Menu("a4", "Статьи",	401, 100, 100, "paper.htm");
	 menu.addItem(new MenuItem('Выставки',		'exhib.htm'));
	 menu.addItem(new MenuItem('Азбука',		'beginners.htm'));
	 menu.addItem(new MenuItem('МастерКласс',	'folds.htm'));
	 menu.addItem(new MenuItem('Математика',	'math.htm'));
	 bar.addMenu(menu);

	 menu = new Menu("a6", "Форум",		465, 64,  64, "community.htm");
	 menu.addItem(new MenuItem('Форум',		'index-3.html'));
//	 menu.addItem(new MenuItem('Гостевая',		'/cgi-bin/guest/guest.cgi'));
	 menu.addItem(new MenuItem('Автор',		'author.htm'));
	 menu.addItem(new MenuItem('Почта',		'mailto:vostal@narod.ru?subject=Путь оригами.'));
	 bar.addMenu(menu);

	 menu = new Menu("a8", "Ссылки",	531, 110, 110, "links.htm");
	 menu.addItem(new MenuItem('В России',		'russia.htm'));
	 menu.addItem(new MenuItem('Организации',	'organiz.htm'));
	 menu.addItem(new MenuItem('Персональные',	'en_per.htm'));
	 menu.addItem(new MenuItem('Начинающим',	'en_beg.htm'));
	 menu.addItem(new MenuItem('На японском',	'japan.htm'));
	 bar.addMenu(menu);

	// И, наконец, рисуем меню и все подменю.
	bar.make(bar);
}
//**********************************************************************
function hide(obj) {
	if (isNN4)   document.layers[obj].visibility = "hide";
	if (isNN6)   document.getElementById(obj).style.visibility = "hidden";
	if (isMSIE && document.all[obj])  document.all[obj].style.visibility = "hidden";
}
function show(obj) {
	clearTimeout(TimeOut1);
	if (isNN4)   document.layers[obj].visibility = "show";
	if (isNN6)   document.getElementById(obj).style.visibility = "visible";
	if (isMSIE && document.all[obj])  document.all[obj].style.visibility = "visible";
}
function chng_col(obj,col) {
	if (isNN6) document.getElementById(obj).bgColor = col;  
	if (isMSIE && document.all[obj])  document.all[obj].bgColor = col;
}
function act(obj){}
function pass(obj){}
function D_hide(obj) {
	TimeOut1=setTimeout("hide('"+obj+"')",300);
}
function D_show(obj) {
	var l, barPosX;
	barPosX = bar.posX;
	clearTimeout(TimeOut1);
	for (i = 0; i < bar.menus.length; i++) {
		if (bar.menus[i].name.indexOf(obj) >= 0) {
			l = (document.body.clientWidth-765)/2 + barPosX + bar.menus[i].offsetRight;
			if (isNN4)	document.layers[obj].left		= l;
			if (isNN6)	document.getElementById(obj).style.left	= l;
			if (isMSIE && document.all[obj])
					document.all[obj].style.left 		= l;
			show(obj);
		} else {
			hide(bar.menus[i].name);
		}
	}
}
function rsz(menuShift) {
}
//**********************************************************************
// Конструктор подменю Menu.
function Menu(name, text, offset, width, itemWidth, defLink, bar){
if(!offset)	offset	=10;
if(!text)	text	="text";
if(!itemWidth)	itemWidth=130;
if(!width)	width	=130;
if(!defLink)	defLink	="err";
if(!bar)	bar	="";
	// Свойства самого подменю.
	this.name= name;		// Наименование пункта меню.
	this.text=text;			// Caption.
	this.width=width;		// Ширина самой итемки меню.
	this.offsetRight= offset;	// Смещение отн базовой позиции.
	this.bgcolorPsv= "#CFDAEC";	// Цвет пассивный.
	this.bgcolorActv= "#EFF3F9";	// 	активный.
	this.borderCol= "#1D2857";	//	бордюра.
	this.className= "dropmenu";	// Название класса.
	this.zIndex= 100;		// Порядок по умолчанию.
	this.defLink=defLink;		// Ссылка по основному пункту меню.
	// Свойства общие для итемок подменю.
	this.minWidh= 772;			// ???
	this.itemWidth= itemWidth;	// Ширина всех итемок меню, но б.м. не самогО меню.
	this.itemHeight= 18;		// Высота итемки меню.
	this.itemHeightTop= 3;			// ???
	this.itemTextPadding = 4;		// ???
	// Ссылки на объекты.
	this.items= new Array();	// Массив итемок.
	this.bar=bar;			// Меню бар, которому принадлежит подменю.
	// Методы класса.
	this.addItem= menuAddItem;	// Добавление итемки.
	this.setZIndex = menuSetZIndex;	// Установление z порядка.
	this.make= menuMake;		// Отрисовка.
}
//**********************************************************************
// Конструктор итемки подменю MenuItem.
function MenuItem(text, link){
	this.text = text;
	this.link = link;
}
function menuAddItem(item){
	this.items[this.items.length] = item;
}
function menuSetZIndex(zI){
	this.zIndex = zI;
}
function menuMake(thisBar){

	var str="";
	if(this.items.length<1) return "";
	var X, Y;
	X = (((document.body.clientWidth-765)/2+thisBar.posX) + this.offsetRight);

	if(isNN4){
		str += '<layer visibility="hide" name="'+this.name+'" top="'+thisBar.posY+
		'" left="'+X+'" z-index="'+this.zIndex+'" onmouseover="show(\''+this.name+'\')" onmouseout="hide(\''+this.name+'\')">';
	}
	else{	
		str += '<div id="'+this.name+'" style="position: absolute; top: '+
		thisBar.posY+'px;left: '+X+'px; z-index: '+
		this.zIndex+';visibility: hidden; margin:0; padding:0;" onmouseover="show(\''+this.name+'\')" onmouseout="hide(\''+this.name+'\')">';
	}
	
	
	str+='<table cellpadding="0" cellspacing="2" border="0">';
	
	for (i = 0; i < this.items.length; i++){
		str+='<tr>';
		str+='<TD NOWRAP  WIDTH="'+this.itemWidth+'" STYLE="cursor:hand;"';

		if (!isNN4) 
			str+=' onmouseover="this.bgColor=\''+this.bgcolorActv+'\';" onmouseout="this.bgColor=\''+this.bgcolorPsv+'\';"';str+=' class="'+this.className+'">';
		if (isNN4) {
			str+='><ilayer><layer width="'+this.itemWidth+'" onmouseover="this.bgColor=\''+this.bgcolorActv+'\';" onmouseout="this.bgColor=\''+this.bgcolorPsv+'\';">';
		}

		str+='<TABLE WIDTH=100% cellpadding="0" cellspacing="0" border="0"><TR><TD WIDTH=3><IMG SRC="'+'http://www.origami-do.ru/'+'IMG/menu__left.bmp" align="absmiddle" BORDER=0 MARGIN=0 PADDING=0 WIDHT=3 HEIGHT=25 ALT=""></TD><TD CLASS="menuA" BACKGROUND="'+'http://www.origami-do.ru/'+'IMG/menu__fon.bmp">';
		str+='<CENTER><a CLASS="menuA" ALIGH=center href="'+'http://www.origami-do.ru'+this.items[i].link+'"'; 
		if (this.items[i].link.substring(0,5)=='index.html'){str+=' target="_blank" ';}
		str+='>';
		str+=this.items[i].text;
		str+='</a></CENTER>';
		str+='</TD><TD WIDTH=3><IMG SRC="'+'http://www.origami-do.ru/'+'IMG/menu__right.bmp" align="absmiddle" BORDER=0 MARGIN=0 PADDING=0 WIDHT=3 HEIGHT=25 ALT=""></TD></TR></TABLE>';


		if(isNN4) str+='</layer></ilayer>';
		str+='</td></a></tr>';
	}
	str+='</table>';
	
	if (isNN4)	{str+='</layer>';}
	else		{str+='</div>';}
	
	return str;
}
	
//**********************************************************************
// Конструктор меню MenuBar.
function MenuBar(posX,posY){
	this.menus = new Array();
	this.posX= posX;
	this.posY= posY;
	this.make = menuBarMake;
	this.addMenu = menuBarAddMenu;
}

// Обработчик метода addMenu объекта MenuBar.
// Добавляет объект Menu к MenuBar. 
function menuBarAddMenu(menu) {this.menus[this.menus.length] = menu;}
	
// Обработчик метода make объекта MenuBar.
// Рисует подменю уже заполненного MenuBar-а.
function menuBarMake(bar){

	// Рисуем верхний уровень меню.
	var str, ch, i;
	ch="'";

	str = "";
	if(isNN4) {str += '<ilayer><layer NAME="menubar" top="'+(bar.posY-28)+'" left="'+bar.posX+'px" z-index="100" STYLE="margin:0; padding:0;">'}
	else	  {str += '<div ID="menubar" style="position: absolute;top:'+(bar.posY-25)+'px;left:'+bar.posX+'px;z-index:100; margin:0; padding:0;">'};
	str+='<table cellpadding="0" cellspacing="1" border="0">';

	for (i = 0; i < bar.menus.length; i++){

str +='<TD nowrap WIDTH='+bar.menus[i].width+' BGCOLOR="'+bar.menus[i].bgcolorPsv+'" STYLE="cursor:hand;margin:0; padding:0;"';

		if(!isNN4) 
str+=
' onmouseout="D_hide('+ch+bar.menus[i].name+ch+');this.bgColor='+ch+bar.menus[i].bgcolorPsv+ch+';"'+
' onmouseover="D_show('+ch+bar.menus[i].name+ch+');this.bgColor='+ch+bar.menus[i].bgcolorActv+ch+';"'+
' class="'+this.className+'">';

		if(isNN4) {
str+='<ilayer><layer width="'+bar.menus[i].width+'"'+
' onmouseout="D_hide('+ch+bar.menus[i].name+ch+');this.bgColor='+ch+bar.menus[i].bgcolorPsv+ch+';"'+
' onmouseover="D_show('+ch+bar.menus[i].name+ch+');this.bgColor='+ch+bar.menus[i].bgcolorActv+ch+';">';
		}

		if(isNN4){
str+='<a CLASS="menuA" href="'+bar.menus[i].defLink+'"'; 
if (bar.menus[i].defLink.substring(0,5)=='index.html'){str+=' target="_blank" ';}
str+='>';
	str+='<img src="'+'http://www.origami-do.ru/'+'i/none.gif" width="'+bar.menus[i].itemTextPadding+'" height="1"'+' alt="" border="0" align="absmiddle">';
	str+=bar.menus[i].text;
	str+='<img src="'+'http://www.origami-do.ru/'+'i/none.gif" width="'+bar.menus[i].itemTextPadding+'" height="'+bar.menus[i].itemHeight+'" alt="" border="0" align="absmiddle">';
str +='</a>';
		}
		else {
	str+='<table cellpadding="0" cellspacing="0" border="0" width=100%>';
str+='<a href="'+bar.menus[i].defLink+'"'; 
if (bar.menus[i].defLink.substring(0,5)=='index.html'){str+=' target="_blank" ';}
str+='>';
	str+='<tr><td colspan="2"><img src="'+'http://www.origami-do.ru/'+'i/none.gif" width="1" height="'+bar.menus[i].itemHeightTop+'" alt="" border="0" align="absmiddle"></td></tr><tr><td><img src="'+'http://www.origami-do.ru/'+'i/none.gif" width="'+bar.menus[i].itemTextPadding+'" height="1"'+' alt="" border="0" align="absmiddle">';
	str+='</td><td>';
	str+='<FONT CLASS="menuA">'+bar.menus[i].text+'</FONT>';
	str+='</td></tr><tr><td colspan="2">';
	str+='<img src="'+'http://www.origami-do.ru/'+'i/none.gif" width="1" height="'+bar.menus[i].itemHeightTop+'" alt="" border="0" align="absmiddle">';
	str+='</td></tr>';
str +='</a>';
	str+='</table>';
		}
	}
	str +='</TR></TABLE>';
	if(isNN4) {str+='</layer></ilayer>'}
	else	  {str+='</div>'}

//////////////	document.write(str);

	// Формируем все подменю.
	strFul = "";
	for (j = 0; j < this.menus.length; j++){
		this.menus[j].setZIndex(100+j);
		strFul += "\n\n"+this.menus[j].make(this);
	}
	document.write(strFul);
}


