if (!Array.prototype.indexOf) {
    Array.prototype.indexOf = function(elt /*, from*/) {
        var len = this.length;

        var from = Number(arguments[1]) || 0;
        from = (from < 0)
         ? Math.ceil(from)
         : Math.floor(from);
        if (from < 0)
            from += len;

        for (; from < len; from++) {
            if (from in this &&
          this[from] === elt)
                return from;
        }
        return -1;
    };
}

var menu = [
	{
		"text": "HOME",
		"url": "index.aspx"
	},
	{
		"text": "PRODUCTS",
		"url": "clayton_p1_products.html",
		"groupclass": "products",
		"submenu": [
				{
				"text": "SigmaFire Boilers",
				"url": "clayton_p2_sigmafire.html",
				    "cssclass": "reduce_leading"
				},
				{
				"text": "E-Series Boilers",
				"url": "clayton_p3_eseries.html",
				    "cssclass": "reduce_leading"
				},
				{
				"text": "Superheat Steam Generators",
				"url": "clayton_p4_superheat.html",
				    "cssclass": "reduce_leading"
				},
				{
				"text": "Heat Recovery Steam Generator",
				"url": "clayton_p5_heat_recovery.html",
				    "cssclass": "reduce_leading"
				},
				{
				"text": "Packaged Boiler Systems",
				"url": "clayton_p6_packaged.html",
				    "cssclass": "reduce_leading"
				},
				{
				"text": "Feedwater Treatment Systems",
				"url": "clayton_p7_feedwater_treatment.html",
				    "cssclass": "reduce_leading"
				},
				{
				"text": "Water Treatment Chemicals",
				"url": "clayton_p8_water_treatment.html",
				    "cssclass": "reduce_leading"
				},
				{
				"text": "Hydro Steam Cleaners",
				"url": "clayton_p9_hydrosteam.html",
				    "cssclass": "reduce_leading"
				},
				{
				"text": "Rental Boilers",
				"url": "clayton_p10_rental.html",
				    "cssclass": "reduce_leading"
				}
			]
	},
	{
		"text": "DESIGN FEATURES",
		"url": "clayton_d1_design_features.html",
		"groupclass": "designfeatures",
		"submenu": [
				{
				"text": "How We Make Steam",
				"url": "clayton_d2_how.html",
				    "cssclass": "reduce_leading"
				},
				{
				"text": "Clayton Feedwater Pump",
				"url": "clayton_d3_feedwater_pump.html",
				    "cssclass": "reduce_leading"
				},
				{
				"text": "Clayton Heat Exchanger",
				"url": "clayton_d4_heat_exchanger.html",
				    "cssclass": "reduce_leading"
				},
				{
				"text": "Clayton Steam Separator",
				"url": "clayton_d5_steam_separator.html",
				    "cssclass": "reduce_leading"
				},
				{
				"text": "PLC Control Systems",
				"url": "clayton_d6_plc.html",
				    "cssclass": "reduce_leading"
				},
				{
				"text": "Low NOx Burner Systems",
				"url": "clayton_d7_low_nox.html",
				    "cssclass": "reduce_leading"
				}
			] 
	},
	{
		"text": "DESIGN ADVANTAGES",
		"url": "clayton_da1_design_advantages.html",
		"groupclass": "designadvantages",
		"submenu": [
				{
				"text": "Low Space &amp; Weight",
				"url": "clayton_da2_low-spaceweight.html",
				    "cssclass": "reduce_leading"
				},
				{
				"text": "High Efficiency",
				"url": "clayton_da3_high-efficiency.html",
				    "cssclass": "reduce_leading"
				},
				{
				"text": "Rapid Startup &amp; Load Response",
				"url": "clayton_da4_rapid-startup.html",
				    "cssclass": "reduce_leading"
				},
				{
				"text": "Reduced Blowdown",
				"url": "clayton_da5_reduced-blowdown.html",
				    "cssclass": "reduce_leading"
				},
				{
				"text": "High Quality Steam",
				"url": "clayton_da6_hq-steam.html",
				    "cssclass": "reduce_leading"
				},
				{
				"text": "Inherent Safety",
				"url": "clayton_da7_inherent_safety.html",
				    "cssclass": "reduce_leading"
				}
 			]
	},
	{
		"text": "CUSTOMER SERVICE",
		"url": "clayton_cu1_customer_service.aspx"
	},
	{
		"text": "OFFSHORE/MARINE",
		"url": "clayton_om1_marine.html"
	},
	{
		"text": "ENHANCED OIL RECOVERY",
		"url": "clayton_or1_oil_recovery.html"
	},
	{
		"text": "BOILER &amp; STEAM BASICS",
		"url": "clayton_bs1_boiler_steam_basics.html",
		"groupclass": "basics",
		"submenu": [
				{
			   	"text": "Steam &amp; Boiler Definitions",
			   	"url": "clayton_bs2_definitions.html",
				    "cssclass": "reduce_leading"
			   	},
				{
				"text": "Boler Efficiency",
				"url": "clayton_bs3_terms.html",
				    "cssclass": "reduce_leading"
				},
				{
				"text": "Steaming Rate",
				"url": "clayton_bs4_steaming_rate.html",
				    "cssclass": "reduce_leading"
				},
				{
				"text": "Boiler Blowdown Considerations",
				"url": "clayton_bs5_blowdown.html",
				    "cssclass": "reduce_leading"
				},
				{
				"text": "Properties of Water &amp; Steam",
				"url": "clayton_bs6_properties.html",
				    "cssclass": "reduce_leading"
				},
				{
				"text": "Conversion Factors",
				"url": "clayton_bs7_conversion.html",
				    "cssclass": "reduce_leading"
				}
			]
	},
	{
	    "text": "INDUSTRIES SERVED",
	    "url": "clayton_is1_indserved.html"
	},
	{
	    "text": "ARTICLES &amp; CASE STUDIES",
	    "url": "clayton_ac1_case_studies.aspx"
	},
	{
	"text": "INDUSTRY LINKS",
	"url": "clayton_l1_links.html"
	},
	{
	"text": "VIDEOS",
	"url": "clayton_v1_videos.html"
	},
	{
	"text": "CLAYTON WEBSITES",
	"url": "clayton_w1_websites.html",
	"groupclass": "highlight"
	},
		{
	"text": "LANGUAGES",
	"url": "clayton_lg1_languages.html"
	}
]

var currentel;
var current_parent_list = new Array();

function insert_menu (menu)
{
    var html = "";
    for (el in menu) {
	if (menu[el].hasOwnProperty("cssclass")) {
	    cssclass = menu[el].cssclass;
	} else {
	    cssclass = "";	    
	}

	if (menu[el].hasOwnProperty("groupclass")) {
	    cssclass += " " + menu[el].groupclass;
	}
	if (current_parent_list.indexOf(el) != -1) {
	    cssclass += " parent";
	}
	if (menu[el].parent == currentel.parent) {
	    if (currentel.parent) {
		cssclass += " sibling";
	    }
	}
	if (current_parent_list.indexOf(menu[el]) != -1) {
	    cssclass += " parent";
	}
	else if (menu[el].hasOwnProperty("submenu")) {
		cssclass += " closed";}
	if (menu[el] == currentel) {
	    id = "id='currentel'";
	} else {
	    id = "";
	}
	if (menu[el].text != undefined) {
	    html += "<div class='menuel " + cssclass + "' " + id + ">\n<a href='"
	    + menu[el].url + "'>" + menu[el].text + "</a>\n</div>\n";
	}
	if (current_parent_list.indexOf(menu[el]) != -1) {
	    if (menu[el].hasOwnProperty ("submenu")) {
		html += insert_menu (menu[el].submenu);
	    }
	}
    }
    return html;
}

function build_parents (menu, parent)
{
    for (el in menu) {
	menu[el].parent = parent;
	if (parent) {
	    if (parent.hasOwnProperty("groupclass")) {
		if (menu[el].hasOwnProperty("groupclass")) {
		    menu[el].groupclass += " " + parent.groupclass;
		} else {
		    menu[el].groupclass = parent.groupclass;
		}
	    }
	}
	if (menu[el].hasOwnProperty("submenu")) {
	    build_parents (menu[el].submenu, menu[el]);
	}
    }
}

function find_current (menu, url)
{
    for (el in menu) {
	if (menu[el].url == url) {
	    return menu[el];
	}
	if (menu[el].hasOwnProperty("submenu")) {
	    attempt = find_current (menu[el].submenu, url);
	    if (attempt) {
		return attempt;
	    }
	}
    }
    return false;
}

function get_current_parents (el)
{
    current_parent_list.push (el);
    if (el.parent != null) {
	get_current_parents (el.parent);
    }
}

function init ()
{
    var html = "";

    build_parents (menu, null);

    currentel = find_current (menu, window.location.pathname.substring
			      (window.location.pathname.lastIndexOf("/") + 1));

    get_current_parents (currentel);

    html = insert_menu (menu);

    document.getElementById ("nav").innerHTML = html;
}

window.onload = init;

