function OpenWindow(sURL,sTargetName,sFeatures){
	var objW = window.open(sURL,sTargetName,sFeatures)
  objW.focus()
}
var WindowArray = new Array()
function OpenWindow_old(sURL,sTargetName,sFeatures){
	var objWindow = null
  for (var i = 0; i < WindowArray.length; i++){
		if (WindowArray[i].name == sTargetName){
			objWindow = WindowArray[i]
			break
		}
	}
	if ( !objWindow ){
		objWindow=window.open(sURL,sTargetName,sFeatures)
		WindowArray[WindowArray.length] = objWindow
	}
  objWindow.focus()
}

function SetFocus(obj_id){
	var obj = document.getElementById(obj_id)
	if ( obj ) {
		obj.focus()
		obj.select()
	}
}

function Show(obj_id){
	var obj = document.getElementById(obj_id)
	if ( obj ) {
		obj.style.visibility = "visible"
	}
}
function Hide(obj_id){
	var obj = document.getElementById(obj_id)
	if ( obj ) {
		obj.style.visibility = "hidden"
	}
}

function RefreshOpenerAndClose(){
	var isNav = (navigator.appName == 'Netscape')
	var isIE = (navigator.appName.indexOf('Microsoft') != -1)
	if (opener) {
		if (isNav) {
			parent.opener.document.location.reload(true)
		} else {
			parent.opener.document.execCommand('Refresh')
		}
	}
	window.close()
}
function RefreshDocument(){
	var isNav = (navigator.appName == 'Netscape')
	var isIE = (navigator.appName.indexOf('Microsoft') != -1)
	if (isNav) {
		document.location.reload(true)
	} else {
		document.execCommand('Refresh')
	}
}
function GetCookie(cookiename) {
  arrCookies = document.cookie.split("; ") //javascript automatically places a space after semi-colon to delimit the cookie array.
  for(c=0;c<arrCookies.length;c++){
    if(cookiename == arrCookies[c].split("=")[0]){
      return arrCookies[c].split("=")[1]
    }
  }
}
function SetCookie(cookiename,cookievalue,daysuntilexpiration) {
  expireDate = new Date
  expireDate.setDate(expireDate.getDate()+daysuntilexpiration)
	//javascript automatically places a space after semi-colon to delimit the cookie array (whether I add one in or not).
  //document.cookie = escape(cookiename) + '=' + escape(cookievalue) + ';expires=' + expireDate.toGMTString() 
  document.cookie = cookiename + '=' + cookievalue + ';expires=' + expireDate.toGMTString() 
}

// "TOOLTIP" FUNCTIONS
var mspanToolTip_Wrapper
var mspanToolTip_Title
var mspanToolTip_Desc
var msToolTip_Title
var msToolTip_Desc
var mlToolTip_Width = 450
var mlToolTip_Height = 100
function ToolTip_onmouseover(title,desc,parent,hovercolor,hovercursor){
	parent.style.color = hovercolor
	parent.style.cursor = hovercursor
	msToolTip_Title = title
	msToolTip_Desc = desc
  ShowToolTip();
}
function ToolTip_onmouseout(parent,returncolor,returncursor){
	parent.style.color = returncolor
	parent.style.cursor = returncursor
  HideToolTip();
}
function ShowToolTip(evt){
	evt = (evt) ? evt : event;
//	var target = (evt.target) ? evt.target : evt.srcElement;
	if ( !mspanToolTip_Wrapper ) {
    mspanToolTip_Wrapper = document.getElementById('ToolTip_Wrapper')
    mspanToolTip_Title = document.getElementById('ToolTip_Title')
    mspanToolTip_Desc = document.getElementById('ToolTip_Desc')
	}

  //mspanToolTip_Wrapper.style.left = getEventX(evt) + document.body.scrollLeft + 16
	var lMouseX = getEventX(evt) + document.body.scrollLeft
	var lViewedScreenWidth = getViewedScreenWidth() + document.body.scrollLeft
	if ( lViewedScreenWidth ) {
		if ( lMouseX + 8 + mlToolTip_Width + 5 > lViewedScreenWidth ) {
			mspanToolTip_Wrapper.style.left = lViewedScreenWidth - mlToolTip_Width - 5
		} else {
			mspanToolTip_Wrapper.style.left = lMouseX + 8
		}
	} else {
		mspanToolTip_Wrapper.style.left = lMouseX + 8 - mlToolTip_Width //for all the Macs or Netscape folks that just can't do this javascript for some reason.
	}

//  mspanToolTip_Wrapper.style.top = getEventY(evt) + document.body.scrollTop + 16
	var lMouseY = getEventY(evt) + document.body.scrollTop
	var lViewedScreenHeight = getViewedScreenHeight() + document.body.scrollTop
	if ( lViewedScreenHeight ) {
		if ( lMouseY + 8 + mlToolTip_Height + 5 > lViewedScreenHeight ) {
			mspanToolTip_Wrapper.style.top = lViewedScreenHeight - mlToolTip_Height - 5
		} else {
			mspanToolTip_Wrapper.style.top = lMouseY + 8
		}
	} else {
		mspanToolTip_Wrapper.style.top = lMouseY + 8 - mlToolTip_Height //for all the Macs or Netscape folks that just can't do this javascript for some reason.
	}

  mspanToolTip_Wrapper.style.width = mlToolTip_Width
  mspanToolTip_Title.innerHTML = msToolTip_Title
  mspanToolTip_Desc.innerHTML = msToolTip_Desc
  mspanToolTip_Wrapper.style.visibility = "visible"
}
function HideToolTip(){
  mspanToolTip_Wrapper.style.visibility = "hidden"
}
function getEventX(evt){
  if (evt.pageX || evt.pageX == 0) {
    return evt.pageX;
  } else if (evt.clientX || evt.clientX == 0) {
    return evt.clientX;
  }
}
function getEventY(evt){
  if (evt.pageY || evt.pageY == 0) {
    return evt.pageY;
  } else if (evt.clientY || evt.clientY == 0) {
    return evt.clientY;
  }
}
function getViewedScreenWidth(){
  if ( window.innerWidth ) {
    return window.innerWidth;
  } else if ( document.body.clientWidth ) {
    return document.body.clientWidth;
  } else {
    return null;
  }
}
function getViewedScreenHeight(){
  if ( window.innerHeight ) {
    return window.innerHeight;
  } else if ( document.body.clientHeight ) {
    return document.body.clientHeight;
  } else {
    return null;
  }
}


// Set / Reset Window.Status 
var prev_status = ''
function SetWindowStatus(new_status) {
	prev_status = window.status
	window.status = new_status
}
function ResetWindowStatus() {
	window.status = prev_status
}

//Control Panel functions
function ToggleCheckbox(checkbox_id) {
	var chk = document.getElementById(checkbox_id)
	chk.checked = !chk.checked
	return chk
}
function ToggleCheckboxArray(checkbox_id,value_of_checkbox_to_toggle) {
	var arr = document.getElementsByName(checkbox_id)
	for ( var i = 0 ; i < arr.length ; i++ ) {
		if ( arr[i].value == value_of_checkbox_to_toggle ) {
			arr[i].checked = !arr[i].checked
			break
		}
	}
	return chk
}
var previous_td_backgroundcolor
function AddHover(td) {
	previous_td_backgroundcolor = td.style.backgroundColor
	td.style.backgroundColor = "moccasin"
	td.style.cursor = "pointer"
}
function RemoveHover(td) {
	td.style.backgroundColor = previous_td_backgroundcolor
	td.style.cursor = "default"
}

