//Allow you to add multiple events to the onload event handler
function addLoadEvent(func) {
	var oldonload = window.onload;
	if (typeof window.onload != 'function') {
		window.onload = func;
	} else {
		window.onload = function() {
			oldonload();
			func();
		}
	}
}

//Makes link elements with class 'popup' open in a new browser window
function doPopups() {
  if (!document.getElementsByTagName) return false;
  var links = document.getElementsByTagName("a");
  for (var i=0; i < links.length; i++) {
	if (links[i].className.match("popup")) {
	  links[i].onclick = function() {
		window.open(this.getAttribute("href"));
		return false;
	  }
	}
  }
}
addLoadEvent(doPopups);

function urlArseEnder(url) {
	var url = url.toString();	//convert to a string
	
	var url_array = new Array();	
	url_array = url.split('/');	//split the url into an array of parts
	
	var arseend = url_array[(url_array.length)-1]; //get the last part
	return arseend;
}

function showOnState () {
	if (!document.getElementById('nav2')) return false;
	
	var thispage = urlArseEnder(location);
	
	var navblock = document.getElementById('nav2');
	
	var links = navblock.getElementsByTagName("a");
	for (i=0; i<links.length; i++) {
		var linkurl = links[i].href;
		var linkpage = urlArseEnder(linkurl);
		if(thispage == linkpage) {
			links[i].style.color="#0078BD";
		}
	}
}
addLoadEvent(showOnState);

/* Client-side access to querystring name=value pairs
	Version 1.2.3
	22 Jun 2005
	Adam Vandenberg
	
	API Reference

	new Querystring([qs])
		Creates a new Querystring object, optionally passing a string qs to parse. If qs is omitted, the querystring from the current page is used. If qs is passed, it should not begin with a "?".
	
		// Parse the current page's querystring
		var qs = new Querystring()
	
		// Parse a given querystring
		var qs2 = new Querystring("name1=value1&name2=value2")
	
	Querstrying.get(name[, default_value])
		Returns the value of querystring parameter name if it exists, or default_value if it doesn't. If default_value is omitted and parameter name doesn't exist, returns null.
	
		var v1 = qs2.get("name1")
		var v3 = qs2.get("name3", "default value")
	
	Note: If a name appears more than once in a querystring only the last value is kept. 
	
	*/
function Querystring(qs) { // optionally pass a querystring to parse
	this.params = new Object()
	this.get=Querystring_get
	
	if (qs == null)
		qs=location.search.substring(1,location.search.length)

	if (qs.length == 0) return

// Turn <plus> back to <space>
// See: http://www.w3.org/TR/REC-html40/interact/forms.html#h-17.13.4.1
	qs = qs.replace(/\+/g, ' ')
	var args = qs.split('&') // parse out name/value pairs separated via &
	
// split out each name=value pair
	for (var i=0;i<args.length;i++) {
		var value;
		var pair = args[i].split('=')
		var name = unescape(pair[0])

		if (pair.length == 2)
			value = unescape(pair[1])
		else
			value = name
		
		this.params[name] = value
	}
}

function Querystring_get(key, default_) {
	// This silly looking line changes UNDEFINED to NULL
	if (default_ == null) default_ = null;
	
	var value=this.params[key]
	if (value==null) value=default_;
	
	return value
}
//end of client side query string access code


function getInnerText(target)
{
	var text = target.firstChild;

	while (text.nodeValue.match(/^\s*$/)) {
		text = text.nextSibling;
	}

	textString = text.nodeValue.replace(/^\W*(.*\w)\W*$/, "$1");

	return textString;
}

//----------------------------------------

//initiate form type buttons based on toggle value given in query string
function initEnqForm(){
	if (!document.getElementById) return false;
	if (!document.fmEnq) return false;
	if (!document.fmEnq.enqtype) return false;
	if (!document.getElementById("enqcat")) return false;
	if (!document.getElementById("enqrange")) return false;
	if (!document.getElementById("enqhdr")) return false;
	if (!document.getElementById("genstrap")) return false;
	
	var qs = new Querystring();
	var gen = qs.get('gen','F');
	if (gen == "T") {
		document.getElementById("enqhdr").firstChild.nodeValue = "Generator Enquiry";
		document.getElementById("enqtype").setAttribute("value", 'Generator Enquiry');
		document.getElementById("enqcat").style.display = 'none';
		document.getElementById("enqrange").style.display = 'block';
		document.getElementById("genstrap").style.display = 'block';
	}
	else {
		document.getElementById("enqtype").setAttribute("value", 'General Enquiry');
		document.getElementById("enqcat").style.display = 'block';
		document.getElementById("enqrange").style.display = 'none';
		document.getElementById("genstrap").style.display = 'none';
	}
	
	var ran = qs.get('ran','F');
	if (ran != "F") {
		document.getElementById("range")[ran].selected = 'selected';
	}
	
}
addLoadEvent(initEnqForm);