<!--

//////////////////////////////////////////////////////////////////
/*
*	Some General functions.
*
*	Written by Dr. A. Prusevich (alex.proussevitch@unh.edu)
*
*	March, 2007
*	Last Modified	April, 2008
*/
///////////////////////////////////////////////////////////////////////

function paramClick(param,max,dir) {
  var parameter = Number(param.value)+dir;
  if (parameter == 0 || parameter > max.value) return false;

  param.form.param_step.value = dir;
  param.form.page.value = parent.top.guide.Main_Page;
  param.form.submit();
}

function param1Click(param,max,dir) {
  var parameter = Number(param.value)+dir;
  if (parameter == 0 || parameter > max.value) return false;

  param.form.param1_step.value = dir;
  param.form.page.value = parent.top.guide.Main_Page;
  param.form.submit();
}

//////////////////////////////////////////////////////////////////
/*
*
*	XML Block
*
*/
///////////////////////////////////////////////////////////////////////

function DownloadUrl(url,xml,func) {
  var req,responseData,responseCode;

  // branch for native XMLHttpRequest object
  if (window.XMLHttpRequest) {
	req = new XMLHttpRequest();
  // branch for IE/Windows ActiveX version
  } else if (window.ActiveXObject) {
	req = new ActiveXObject("Microsoft.XMLHTTP");
  }
  else {
    alert("This browser does not support AJAX -\nAsynchronous JavaScript and XML...");
    return false;
  }

  if (req) {
	req.open("GET", url, true);
	req.onreadystatechange = function() {
	  if (req.readyState == 4) {
	    responseCode = req.status;
		// only if "OK"
	    if (responseCode == 200) {
		responseData = xml ? req.responseXML : req.responseText;
	    }
	    else { alert("There was a problem retrieving the XML data:\n" + req.statusText); }

	    func(responseData,responseCode);
	  }
	}
	req.send(null);
  }
  else {
    alert("This browser does not support AJAX -\nAsynchronous JavaScript and XML...");
    return false;
  }
}

function loadXMLstring(text) {
  // code for IE
  if (window.ActiveXObject)
  {
	var xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
	xmlDoc.async="false";
	xmlDoc.loadXML(text);
  }
  // code for Mozilla, Firefox, Opera, etc.
  else if (window.DOMParser)
  {
	var parser=new DOMParser();
	var xmlDoc=parser.parseFromString(text,"text/xml");
  }
  else {
    alert("This browser does not support XML...");
    return false;
  }
  return xmlDoc;
}

//////////////////////////////////////////////////////////////////
/*
*
*	Helper functions
*
*/
///////////////////////////////////////////////////////////////////////

function $() {
	var elements = new Array();
	for (var i = 0; i < arguments.length; i++) {
		var element = arguments[i];
		if (typeof element == 'string')
			element = document.getElementById(element);
		if (arguments.length == 1)
			return element;
		elements.push(element);
	}
	return elements;
}

// -->

