var entry = new Array();
var id = "ez_";
var menuID;
var panelopt=new Array ('paneltype', 'panel3D','fonttype','fontsize','fontcol','fontcolhi','tfonttype','tfontsize','tfontcol','bgcol','bgcolhi','tbgcol','borcol', 'outerborsize', 'innerborsize', 'textpad', 'bgimg','arrow', 'arrowhi', 'arrowsz', 'xover', 'yover');
document.write('<scr' + 'ipt>' + menuArrays() + '</scr' + 'ipt>');
function menuArrays() {
    var MenuNum = -1;
    var ItemNum = -1;
    var menu = new Array();
    var root = new Array();
    var rootProp = new Array();
    var rootNum = -1;
    var bar=false;
    var isBar = new Array();
    var panelname=new Array();
    var panelWd = new Array();
    menuID = new Array();
    readEntries();
    for (var i=0; i< entry.length; i++) {
        if (entry[i].substring(0,5) == "Type:") {
            rootNum++;
            root[rootNum] = MenuNum+1;
            rootProp[rootNum] = entry[i];
            if (entry[i].substring(0,8) == "Type:Bar") bar=true; else bar=false;
        }
        else if (entry[i].substring(0,6) == "Panel=") {
            MenuNum++;
            menu[MenuNum] = new Array();
            pnw = entry[i].substring(6).split(",");
            menuID[MenuNum] = pnw[0];
            if (pnw.length>1) panelWd[MenuNum] = pnw[1]-0; else panelWd[MenuNum]=0;
            ItemNum = -1;
            isBar[MenuNum] = bar;
        }

        else {
            ItemNum++;
            menu[MenuNum][ItemNum] = entry[i];
        }
    }
    for (var i=0; i< menu.length; i++) {
        for (var j =0; j < menu[i].length; j++) {
            var contents = menu[i][j].split("^");
            if (contents.length >= 3) { //i.e. there is a child menu
                var childIndex = -1;
                var pname = contents[2].split(",")[0];
                for (k=0; k< menu.length; k++) if (menuID[k] == pname) childIndex = k;
                menu[i][j] = contents[0] + "^" + contents[1] + "^" + childIndex + contents[2].substring(pname.length);
            }
        }
    }
    var output = "var "+id+"Menu = new Array();\n";
    for (var i=0; i< menu.length; i++) {
        output += id+'Menu['+i+']= new Array(';
        for (var j =0; j < menu[i].length; j++) {
            output += '"' + menu[i][j];
            if (j < menu[i].length-1) output += '", '; else output+= '");';
        }
        output += "\n";
    }
    var ez_fontInfo = "var ez_fontInfo = new Array(";
    var ez_tfontInfo = "var ez_tfontInfo = new Array(";
    var ez_colInfo = "var ez_colInfo = new Array(";
    var ez_borSize = "var ez_borSize = new Array(";
    var ez_txtPad = "var ez_txtPad = new Array(";
    var ez_arrow = "var ez_arrow = new Array(";
    var ez_root = "var ez_root = new Array(";
    var ez_xover = "var ez_xover = new Array(";
    var ez_yover = "var ez_yover = new Array(";
    var ez_bg = "var ez_bg = new Array(";
    var ez_sfx = "var ez_sfx = new Array(";
    var ez_animate = "var ez_animate = new Array(";
    var ez_3D = "var ez_3D = new Array(";
    for (var i=0; i <= rootNum; i++) {
        var rprop = rootProp[i].split(",{");
        var panelprop = rprop[0].split(",");
        if (i == rootNum) var term = ");\n" ; else var term = ", ";
        var prop=new Array();
        for (j=0; j<panelopt.length; j++){
            prop[panelopt[j]]= panelprop[j];
        }
        ez_fontInfo += '"' + prop['fonttype'] + ',' + prop['fontsize'] + 'pt,#' + prop['fontcol'] + ',#' + prop['fontcolhi'] + '"' + term;
        ez_tfontInfo += '"' + prop['tfonttype'] + ',' + prop['tfontsize'] + 'pt,#' + prop['tfontcol'] + '"' + term;
        ez_colInfo += '"#' + prop['bgcol'] + ',#' + prop['bgcolhi'] + ',#' + prop['tbgcol'] + ',#' + prop['borcol'] + '"' + term;
        ez_borSize += '"' + prop['outerborsize'] + ',' + prop['innerborsize'] + '"' + term;
        ez_txtPad += '"' + prop['textpad'] + '"' + term;
        ez_arrow += '"' + prop['arrow'] + ',' + prop['arrowhi'] + ',' + prop['arrowsz'] + '"' + term;
        ez_root += '"' + root[i] + '"' + term;
        ez_xover += '"' + prop['xover'] + '"' + term;
        ez_yover += '"' + prop['yover'] + '"' + term;
        ez_bg += '"' + prop['bgimg'] + '"' + term;
        ez_3D += '"' + prop['panel3D'] + '"' + term;
        ez_animate += '"' + rprop[1].split("}")[0] + '"' + term;
        ez_sfx += '"' + rprop[2].split("}")[0] + '"' + term;
    }
    var ez_isBar = "var ez_isBar = new Array(";
    var ez_pname = "var ez_pname = new Array(";
    var ez_pwidth = "var ez_pwidth = new Array(";
    for (var i=0; i< menu.length; i++) {
        ez_pname += '"' + menuID[i] + '"';
        ez_pwidth += '"' + panelWd[i] + '"';
        if (isBar[i]) ez_isBar += "true"; else ez_isBar += "false";
        if (i == menu.length-1) term = ');\n' ; else term = ', ';
        ez_isBar+=term;
        ez_pname+=term;
        ez_pwidth+=term;
    }
    return (output + ez_fontInfo + ez_tfontInfo + ez_colInfo + ez_borSize + ez_txtPad + ez_arrow + ez_root + ez_isBar + ez_xover + ez_yover + ez_bg + ez_pname + ez_pwidth + ez_3D + ez_sfx + ez_animate );
}
function readEntries() {
    lines = menuStr;
    entry = new Array();
    if (lines.indexOf('\n') > -1)
        { var testlines=lines.split('\n');}
    else
        { var testlines=lines.split('\r');}
    var numLines = 0;
    for (var i=0; i<testlines.length; i++) {
        if (testlines[i] != "\r" && testlines[i] != "") {
            numLines++;
            if (testlines[i].substring(testlines[i].length-1,testlines[i].length) == "\r")  {
                testlines[i] = testlines[i].substring(0,testlines[i].length-1);
            }
            while(testlines[i].substring(testlines[i].length-1,testlines[i].length) == " ") {
                testlines[i] = testlines[i].substring(0,testlines[i].length-1);
            }
            entry[numLines-1] = testlines[i];
        }
    }
}

// offsetTop and offsetLeft corrections
// note: IE5 Mac will not include page margins in calculations.
function getOffsetTop(element, deep) {
    return getOffsetProperty(element, 'Top', deep);
}

function getOffsetLeft(element, deep) {
    return getOffsetProperty(element, 'Left', deep);
}

function getOffsetProperty(element, property, deep) {
    var offsetValue = 0;
    offsetProperty = 'offset' + property;

    do {
        offsetValue += element[offsetProperty];
        element = element.offsetParent;
    } while (deep == true && element != document.body && element != null);
    return offsetValue;
}

