// Popup window.
function OpenPopUp(url, name, options)
{
	window.open(url, name, options);
} 
/* C#...
#region Popup Navigation    
string sNavigateURL =  ResolveUrl("~/Project/GroupMemberAdd.aspx?GroupID=" + lblGroupID.Text);
string sWindowOptions = "resizable=yes,height=600,width=1060,top=100,left=160,scrollbars=yes,status=yes,toolbar=no,directories=no,menubar=no,location=no";
ibAddGroupMember.Attributes.Add("onClick", "OpenPopUp('" + sNavigateURL + "', '', '" + sWindowOptions + "');");
#endregion
*/

// Popup help text. 
var ctPopupsOpen = 0;  // Only ONE popup can be open at any time.
function overlay(curobj, subobj) {
 if( ctPopupsOpen != 0 ) { return; } // Only ONE popup can be open at any time.
 if( document.getElementById ) {
  var subobj = document.getElementById(subobj);
  subobj.style.left=getposOffset(curobj, "left")+"px";
  subobj.style.top=getposOffset(curobj, "top")+"px";
  subobj.style.display="block";
  // Move the Help Window left if it is too far right
  // Keep the Help Window inside the browser window
  var left  = parseInt( subobj.style.left );
  var width = parseInt( subobj.style.width );
  // NOTE: MSIE doesn't support "document.width" method, Mozilla does
  var browserwidth = document.width ? document.width : document.documentElement.offsetWidth;
  if( (left + width) > browserwidth ) {
    subobj.style.left = (browserwidth - (width+10)) +"px";
  }
  ctPopupsOpen = 1; // Only ONE popup can be open at any time.
  return false;
 } else return true;
}
function getposOffset(overlay, offsettype) {
 var totaloffset=(offsettype=="left")? overlay.offsetLeft : overlay.offsetTop;
 var parentEl=overlay.offsetParent;
 while (parentEl!=null) {
  totaloffset=(offsettype=="left")? totaloffset+parentEl.offsetLeft : totaloffset+parentEl.offsetTop;
  parentEl=parentEl.offsetParent;
 }
 return totaloffset;
}
function overlayclose(subobj){
 document.getElementById(subobj).style.display="none"
 ctPopupsOpen = 0; // Only ONE popup can be open at any time.
}

// Other functions.
function addEvent(obj, evType, fn){
	if (obj.addEventListener){
		obj.addEventListener(evType, fn, true);
		return true;
	} else if (obj.attachEvent){
		var r = obj.attachEvent("on"+evType, fn);
		return r;
	} else {
		return false;
	}
}

function removeEvent(obj, evType, fn, useCapture){
	if (obj.removeEventListener){
		obj.removeEventListener(evType, fn, useCapture);
		return true;
	} else if (obj.detachEvent){
		var r = obj.detachEvent("on"+evType, fn);
		return r;
	} else {
		alert("Handler could not be removed");
	}
}

// Functions below are used by SubModal window.
function getViewportHeight() {
	if (window.innerHeight!=window.undefined) return window.innerHeight;
	if (document.compatMode=='CSS1Compat') return document.documentElement.clientHeight;
	if (document.body) return document.body.clientHeight; 
	return window.undefined; 
}

function getViewportWidth() {
	if (window.innerWidth!=window.undefined) return window.innerWidth; 
	if (document.compatMode=='CSS1Compat') return document.documentElement.clientWidth; 
	if (document.body) return document.body.clientWidth; 
	return window.undefined; 
}