﻿var QuickNav = function()
{
	return {
		init: function(id)
		{
			var d = id ? document.getElementById(id) : document;

			var sel = d.getElementsByTagName("div");
			for (var i = 0; i < sel.length; i++)
			{
				var ds = sel[i];
				if (ds.className == "selectable")
				{
					var c = "<fieldset><select id=\"sel_qn_" + i + "\" onchange=\"QuickNav.load(this.options[this.selectedIndex]);\"><option value=\"\">";

					for (var hi = 1; hi <= 6; hi++)
					{
						var h = ds.getElementsByTagName("h" + hi);
						if (h.length > 0)
						{
							c += h[0].innerHTML;
							break;
						}
					}

					c += "</option>";

					var lnks = ds.getElementsByTagName("a");
					for (var j = 0; j < lnks.length; j++)
					{
						var lnk = lnks[j];
						var cn = "";
						if (lnk.getAttribute("target") && lnk.getAttribute("target").toLowerCase() == "_blank")
							cn = " class=\"qn_newWin\"";

						c += "<option value=\"" + lnk.getAttribute("href") + "\"" + cn + ">" + lnk.innerHTML + "</option>\n";
					}

					c += "</select></fieldset>";

					ds.innerHTML = c;
				}
			}

			var f = document.createElement("form");
			f.setAttribute("id", "f_quicklinks");
			f.setAttribute("action", "");
			f.setAttribute("method", "get");
			if (window.addEventListener)
				window.addEventListener("load", function() { document.body.appendChild(f); }, false);
			else if (window.attachEvent)
				window.attachEvent("onload", function() { document.body.appendChild(f); });
		},

		loadPage: function(url, inNewWindow)
		{
			var n = inNewWindow || false;
			var f = document.getElementById("f_quicklinks");
			if (f)
			{
				f.setAttribute("action", url);
				f.setAttribute("target", n ? "_blank" : "_self");
				f.submit();
			}
			else
			{
				if (n)
				{
					if (window.open(url))
						return;
				}
				self.location = url;
			}
		},

		load: function(opt)
		{
			if (!opt)
				return;

			if (opt.value.length > 0)
				this.loadPage(opt.value, (opt.className && opt.className == "qn_newWin"));
		}
	}
}();