//---------------------------------------------------------------------------
// Utility routines used by various javascript functions to create new querys
// from existing urls.  If current browser url does not reflect current query,
// these functions are not useful (since they are not aware of the current
// application state.)  These functions are used sparingly in the reference
// implementation only in conjunction with modules that contain form element.
//---------------------------------------------------------------------------

function ConstructURL(url,removeterms,addterms) {
	var params = BuildURLArray(url);
	var newurl = "";
	for (var i=0; i<params.length; i++) {
		val = CheckArray(removeterms,params[i][0]);
		if (val == -1)
			newurl = newurl + "&" + params[i][0] + "=" + params[i][1];
	}
	for (var i=0; i<addterms.length; i++) {
		newurl = newurl + "&" + addterms[i];
	}
	if (newurl.length > 0) {
		newurl = newurl.substr(1);
		newurl = "?"+newurl;
	}
	else {
		newurl = "?N="+eneroot;
	}
	return newurl;
}
function BuildURLArray(oldurl) {
	var returnArray = new Array();
	var url;
	if (oldurl == "CURRENTURL")
		url = location.search;
	else if (oldurl == "BLANKURL") {

	}
	else {
		var tokens = oldurl.split("?");
		url = "?"+tokens[1];
	}		
	if (url) {
		url = url.substr(1);
		var params = url.split("&");
		for (var i=0; i<params.length; i++) {
			var param = params[i].split("=");
			returnArray[i] = param;
		}
	}
	return returnArray;
}
function CheckArray(removeterms,checkterm) {
	for (var i=0; i<removeterms.length; i++) {
		if (removeterms[i] == checkterm)
			return 1;
	}
	return -1;
}
function GetValue(url, term) {
	var params = BuildURLArray(url);
	for (var i=0; i<params.length; i++) {
		if (params[i][0] == term) {
			return params[i][1];
		}
	}
	return -1;
}
