var SiteNameStr = "http://tatary.boom.ru";//"C:/Work/Site";

var ToolBar_Supported = false;

if (navigator.userAgent.indexOf("MSIE")    != -1 &&
	navigator.userAgent.indexOf("Windows") != -1 &&
    navigator.appVersion.substring(0,1) > 3) {
	ToolBar_Supported = true;
}

if (ToolBar_Supported) {
    var y2;
    var ToolbarMenu = document.all["StartMenu"];

    var ToolbarLoaded = false;

    var HTMLString;
    var ToolbarBGColor = "white";
    //var MenuPaneBGColor = "#99AAFF"
    var MenuPaneBGColor = "#99AAFF"
    var ToolbarMinWidth;
    var MenuWidth;


    var MenuItems = new Array();
    var MenuItemsIdStrings = new Array();
    var SubMenuItems = new Array();
    var MenuDisplayStrLength = new Array();


    var LastMenu = "";
    var char34 = String.fromCharCode(34);
    var newLineChar = String.fromCharCode(10);

    var tagStr  = "<!--MENU_TITLES-->";
    var tagSubMenu = "<!-- SUB_MENUES -->";

    var cFont   = "bold xx-small Verdana";
    var cColor0 = "blue";
    var cColor1 = "white";
    var cColor2 = "red";

    document.write("<SPAN ID='StartMenu' STYLE='display:none;'></SPAN>");

    HTMLString =
        "<DIV ID='idToolbar' STYLE='background-color:white;width:100%'>" +
        "<DIV ID='idRow' STYLE='position:relative;height:20;width:100%'>" +
        "<DIV ID='idMenuPane' STYLE='position:absolute;top:0;left:0;height:20;background-color:black;' NOWRAP><!--MENU_TITLES--></DIV>" +
        "</DIV>" +
        "</DIV>" +
        "<SCRIPT TYPE='text/javascript'>" +
        "   var ToolbarMenu = StartMenu;" +
        "</SCRIPT>" +
        "<DIV WIDTH=100%>";
}

function drawToolbar() {

    HTMLString += "</DIV>" + tagSubMenu;

    drawMenu();
    document.write(HTMLString);
    ToolbarLoaded = true;
    //document.write("<textarea id=BB rows=20 cols = 100></textarea>");
    //document.write("<textarea id=AA rows=20 cols = 100></textarea>");
    //document.all["AA"].value=HTMLString;



    MenuWidth     = Math.max(idMenuPane.offsetWidth, (200+112));
    ToolbarMinWidth = (220) + MenuWidth;

    document.all["idToolbar"].style.backgroundColor = cColor0;
    document.all["idMenuPane"].style.backgroundColor = cColor0;

	resizeToolbar();
}

function resizeToolbar() {

	w = Math.max(ToolbarMinWidth, document.body.clientWidth) - ToolbarMinWidth;

    idMenuPane.style.width = ToolbarMinWidth + w;
}

function drawMenu() {

    finalizeMenu();

    MenuStr = newLineChar;

    for (i = 0; i < MenuItems.length; i++) {
        MenuStr += MenuItems[i];
    }

    finalizeSubMenu();

    SubMenuStr = newLineChar;

    for (i = 0; i < SubMenuItems.length; i++) {
        SubMenuStr += SubMenuItems[i];
    }

    HTMLString = HTMLString.replace(tagStr, MenuStr);
    HTMLString = HTMLString.replace(tagSubMenu, SubMenuStr);
}

function addMenu(MenuIDStr, MenuDisplayStr, MenuHelpStr, MenuURLStr, MenuURLTargetStr, bIsLocal) {

    var index = -1;
    var iLength = MenuItemsIdStrings.length;

    for (i = 0; i < iLength; i++) {
        if (MenuItemsIdStrings[i] == MenuIDStr) {
            index = i;
        }
    }

    if (index == -1) {// new menu

        MenuStr = newLineChar;

        MenuStr += "<A TARGET='" + MenuURLTargetStr + "' TITLE='" + MenuHelpStr + "'" +
                "   ID='A_MenuPane_" + MenuIDStr + "'" +
                "   STYLE='text-decoration:none;cursor:hand;font:" + cFont + ";background-color:" + cColor0 + ";color:" + cColor1 + ";'";
        if (bIsLocal) { // это ссылка на файл моего сайта
            MenuStr += " HREF='" + SiteNameStr + MenuURLStr + "'";
        } else { // это ссылка на другой сайт
            MenuStr += " HREF='" + MenuURLStr + "'";
        }

        MenuStr +=  " onmouseout="  + char34 + "mouseMenu('out' ,'" + MenuIDStr + "'); " + char34 +
                    " onmouseover=" + char34 + "mouseMenu('over','" + MenuIDStr + "'); doMenu('"+ MenuIDStr + "');" + char34 + ">" +
                    "&nbsp;" + MenuDisplayStr + "&nbsp;</A>";

        //MenuStr += "<SPAN STYLE='font:" + cFont + ";color:" + cColor1 + "'>&nbsp;|</SPAN>";

        MenuItemsIdStrings[iLength] = MenuIDStr;
        MenuItems[iLength] = MenuStr;
        MenuDisplayStrLength[iLength] = MenuDisplayStr.length;
        //alert(MenuDisplayStrLength[iLength]);
    } else {
        alert("Duplicate definition of menu " + MenuIDStr);
        return false;
    }

    return true;
}  // addMenu

function finalizeMenu() {

    for (i = 0; i < MenuItemsIdStrings.length - 1; i++) {
        MenuItems[i] += "<SPAN STYLE='font:" + cFont + ";color:" + cColor1 + "'>&nbsp;|</SPAN>";;
    }

} // finalizeMenu()

function addSubMenu(MenuIDStr, SubMenuDisplayStr, SubMenuURLStr, SubMenuURLTargetStr, bIsLocal) {

    var index = -1;

    for (i = 0; i < MenuItemsIdStrings.length; i++) {
        if (MenuItemsIdStrings[i] == MenuIDStr) {
            index = i;
        }
    }

    if (index == -1) {
        alert("No such parent menu " + MenuIDStr);
        return false;
    }

    SubMenuStr = newLineChar +
                "<A ID='A_" + MenuIDStr + "'" +
                "   STYLE='text-decoration:none;cursor:hand;font:" + cFont + ";color:" + cColor1 + "'";

    if (bIsLocal) { // это ссылка на файл моего сайта
        SubMenuStr += "   HREF='" + SiteNameStr + SubMenuURLStr;
    } else { // это ссылка на другой сайт
        SubMenuStr += "   HREF='" + SubMenuURLStr;
    }

    SubMenuStr += "' TARGET='" + SubMenuURLTargetStr + "'" +
                " onmouseout="  + char34 + "mouseMenu('out' ,'" + MenuIDStr + "');" + char34 +
                " onmouseover=" + char34 + "mouseMenu('over','" + MenuIDStr + "');" + char34 + ">" +
                "&nbsp;" + SubMenuDisplayStr + "</A><BR>";
    if (SubMenuDisplayStr.length > MenuDisplayStrLength[index]) {
        MenuDisplayStrLength[index] = SubMenuDisplayStr.length;
    }

    if (SubMenuItems[index] == null) {
        SubMenuItems[index] = SubMenuStr;
    } else {
        SubMenuItems[index] += SubMenuStr;
    }
    return true;

} // addSubMenu()

function finalizeSubMenu() {

    for (i = 0; i < MenuItemsIdStrings.length; i++) {

        iTmp = 0

        SubMenuStr = newLineChar;
        SubMenuStr = newLineChar +
                "<SPAN ID='" + MenuItemsIdStrings[i] + "'" +
                " STYLE='display:none;position:absolute;";
        var menuWidthNumber = MenuDisplayStrLength[i];
        menuWidthNumber = menuWidthNumber*7;

        SubMenuStr += "width:" + menuWidthNumber;
        /*if (MenuDisplayStrLength[i] > 25 && MenuDisplayStrLength[i] < 30) {
            SubMenuStr += "width:" + 200;
        } else if (MenuDisplayStrLength[i] >= 30) {
            //alert(MenuDisplayStrLength[i]);
            SubMenuStr += "width:" + 220;
        } else {
            SubMenuStr += "width:" + 160;
        } */
        SubMenuStr += ";background-color:" + cColor0 + ";padding-top:0;padding-left:0;padding-bottom:20;z-index:9;'" +
                " onmouseout='hideMenu();'>" +
                "<HR  STYLE='position:absolute;left:0;top:0;color:#99AAFF' SIZE=1><DIV STYLE='position:relative;left:0;top:8;'>";
        SubMenuItems[i] = SubMenuStr + SubMenuItems[i] + "</DIV></SPAN>";
    }

} // finalizeSubMenu()

function mouseMenu(ActionType, MenuIDStr) {

    if (ActionType == "over") {
        color = "red";
    } else {
        color = "white";
	}

	window.event.srcElement.style.color = color;
}

function doMenu(MenuIDStr) {

	var thisMenu = document.all(MenuIDStr);
    if (ToolbarMenu == null || thisMenu == null || thisMenu == ToolbarMenu)
	{
		window.event.cancelBubble = true;
		return false;
    }

    hideAll();
    // Reset dropdown menu
    window.event.cancelBubble = true;

    ToolbarMenu = thisMenu;

	x  = window.event.srcElement.offsetLeft +
         window.event.srcElement.offsetParent.offsetLeft -4;
    if (x<0) {
        x=0;
    }

    x2 = x + window.event.srcElement.offsetWidth;
    y  = 40;

    thisMenu.style.top  = y;
    thisMenu.style.left = x;
	thisMenu.style.clip = "rect(0 0 0 0)";
	thisMenu.style.display = "block";

	// delay 2 millsecond to allow the value of ToolbarMenu.offsetHeight be set
    window.setTimeout("showMenu()", 2);
	return true;
}

function showMenu() {
    if (ToolbarMenu != null) {
		y2 = y + ToolbarMenu.offsetHeight;
        if (ToolbarMenu.style != null) {
            ToolbarMenu.style.clip = "rect(auto auto auto auto)";
        }
	}
}

function hideMenu() {
    if (ToolbarMenu != null && ToolbarMenu != StartMenu) {
		// Don't hide the menu if the mouse move between the menu and submenus
        cY = event.clientY + document.body.scrollTop;

        if (y2 != null) {
            if (event.clientX >= (x+5) && event.clientX <= x2 && cY > (y-10) && cY <= y2) {
                window.event.cancelBubble = true;
                return;
            }
        } else {
            if (event.clientX >= (x+5) && event.clientX <= x2 && cY > (y-10)) {
                window.event.cancelBubble = true;
                return;
            }

        }

		ToolbarMenu.style.display = "none";
		ToolbarMenu = StartMenu;
		window.event.cancelBubble = true;
	}
}

function hideAll() {
    if (ToolbarMenu != null && ToolbarMenu != StartMenu) {
		ToolbarMenu.style.display = "none";
		ToolbarMenu = StartMenu;
		window.event.cancelBubble = true;
	}
}
