// global variables

var iexplor=document.all
var ns6=document.getElementById&&!document.all

 	function findPosX(obj) {
	  var curLeft = 0;
	  if (obj.offsetParent) {
	    do {
	      curLeft += obj.offsetLeft;
	    } while (obj = obj.offsetParent);
	  }
	  else if (obj.x) {
	    curLeft += obj.x;
	  }
	  return curLeft;
	}
	

	function findPosY(obj) {
	  var curTop = 0;
	  if (obj.offsetParent) {
	    do {
	      curTop += obj.offsetTop;
	    } while (obj = obj.offsetParent);
	  }
	  else if (obj.y) {
	    curTop += obj.y;
	  }
	  return curTop;
	}

	function setPosX(obj, xVal) {
	  var addLeft = 0;
	  if (obj.offsetParent) {
	  	var obj2 = obj
		while (obj2 = obj2.offsetParent) {
	      addLeft += obj2.offsetLeft;
		}
		obj.style.position="absolute"
		obj.style.left = xVal - addLeft + "px"
	  }
	  else if (obj.x) {
	    obj.x = xVal
	  }
	  return 1;
	}


	function setPosY(obj, yVal) {
	  var addTop = 0;
	  if (obj.offsetParent) {
	  	var obj2 = obj
		while (obj2 = obj2.offsetParent) {
	      addTop += obj2.offsetTop;
		}
		obj.style.position="absolute"
		obj.style.top = yVal - addTop + "px"
	  }
	  else if (obj.y) {
	    obj.y = yVal
	  }
	  return 1;
	}


	function setUnder(oTop, oUnder, os) {
	// sets oUnder underneath oTop by os
		setPosY(oUnder, findPosY(oTop) + oTop.offsetHeight + os)
	}

	function centerOn(refObj, targetObj) {
		// centers [targetObj] relative to [refObj]
		setPosX(targetObj, findPosX(refObj) + refObj.offsetWidth/2 - targetObj.offsetWidth/2)
	}
	
	
	function str_trim(s1)
	{
		var s2 = "" + s1 // cast content of s1 as string regardless of what it is
		var s3 = ""
		var i = 0
		var goFlag = true
		while (s2.substring(i, i+1) == " " && i < s2.length){
			i++
		}
		if (i >= s2.length)	{
				goFlag = false
			}
		if (goFlag)	{
			s3 = s3 + s2.substring(i, s2.length)
			s2 = "" + s3
			i = s2.length
			while (s2.substring(i-1, i) == " " && i > 0)	{
				i--
			}
			if (i <= 0)	{
				goFlag = false
			}
			if (goFlag){
				s3 = s2.substring(0, i)
			}
		}

		if (goFlag)
			return s3
		else
			return ""
	}	// End function str_trim()

	
	function telephone_validate(tn) {
		var rv = 1
		tn = tn.toLowerCase()
		while (tn.indexOf ("-") != -1){tn = tn.replace("-", "")}
		while (tn.indexOf (".") != -1){tn = tn.replace(".", "")}
		while (tn.indexOf (" ") != -1){tn = tn.replace(" ", "")}
		tn = tn.replace("ext", "")
		var falseness = /[^0-9]/.test(tn)
		if ((tn.length) && falseness) {
			rv = 0
			alert ("Telephone numbers must contain only digits, hyphens, periods, or \"Ext\"")
		}
		else if (!tn.length) {
			rv = 0
			alert ("Please enter a valid telephone number")
		}
		return rv
	}

	function emailValidate(em)	{
		if (str_trim(em).length == 0) {
			alert ("Please enter an email address")
			return 0
		}
		else {
			var re = /^[^@]+@([-\w]+\.)+[A-Za-z]{2,4}$/;
			if (!re.test(em))	{
				msg = "Sorry!\r\nYour email address:\r\n\n"
				msg += "[" + em + "]"
				msg += "\r\n\n"
				msg += "doesn't seem to conform to the usual pattern.\r\n\n"
				msg += "Please try again, or contact the LSRO Office at (301) 634-7030."
				alert (msg)
			}
			return (re.test(em))
		}
	}
	
	
	function makevis (o){
		if (o) {o.style.visibility="visible"}
	}

	function makeInvis (o){
		if (o) {o.style.visibility="hidden"}
	}

	function gebi (ids){
		return document.getElementById(ids)
	}

	