﻿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 = "<select id=\"sel_qn_" + i + "\" onchange=\"QuickNav.load(this.options[this.selectedIndex]);\"><option value=\"\">";
					
					var headerIsFound = false;
					var selectHeaderArr = ds.getElementsByTagName("div");
					for (var a = 0; a < selectHeaderArr.length; a++)
					{
						var divHeader = selectHeaderArr[a];
						if (divHeader.className == "selectHeader")
						{
							c += divHeader.innerHTML;
							headerIsFound = true;
							break;
						}
					}
					if(!headerIsFound)
					{
						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>";

					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)
		{
			//url = encodeURIComponent(url); /Pages/Page.aspx?pageId=19&versionId=1
//			var qString = new Array();
//			if(-1 != url.indexOf("?"))
//			{
//				qString = url.split("?");
//				qString[1] = escape("?" + qString[1]);
//				url = qString[0] + qString[1];
//			}

			var n = inNewWindow || false;
			var f = document.getElementById("f_quicklinks");
			if (false)
			{
//alert("f, url: " + url);				
				f.setAttribute("action", url);
//alert("f.action: " + f.action);				
				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"));
		}
	}
}();