function fPopWinOpen(e, obj){
	if (!e){var e=window.event;}
	e.cancelBubble=true;var appFltr=(e.srcElement&&e.type=='mouseenter');
	if(e.stopPropagation){e.stopPropagation();}
	var sObj;var tObj;var ie="srcElement";var moz="target";var propVar="targetObj";var x="posX";var y="posY";var posX=null;var posY=null;var srcAlign;var tPos;
	// "target" for Mozilla, Netscape, Firefox et al. ; "srcElement" for IE
	sObj=obj?null:e[moz]?e[moz]:e[ie];
	if (sObj&&sObj.nodeType==3)sObj=sObj.parentNode;// defeat Safari bug. see: http://www.quirksmode.org/js/events_properties.html
	tObj=obj?obj:sObj[propVar];posX=sObj?sObj[x]:0;posY=sObj?sObj[y]:0;srcAlign=sObj?sObj["sAlign"]:"";tPos=sObj?sObj["pos"]:"absolutecentered";
	if(tObj&&tObj.style){
		if(appFltr){tObj.style.filter="progid:DXImageTransform.Microsoft.Fade(duration=0.25,overlap=1.00)";tObj.filters[0].apply();}
		tObj.style.display=(tObj.style.display!="block")?"block":"none";
		if(appFltr)tObj.filters[0].play();
		var xpos=0;var ypos=0;
		if(tPos=="absolutecentered"||obj){var oH=tObj.offsetHeight;var oW=tObj.offsetWidth;
			ypos=(getWinHeight()/2)-(oH/2)+getScrollTop();
			xpos=(getWinWidth()/2)-(oW/2)+getScrollLeft();
			ypos=ypos<0?0:ypos;
			xpos=xpos<0?0:xpos;
		}
		else{
			var phObj=document.getElementById(tObj.id+"_PlaceHolder");
			if(phObj){sObj=phObj;}
			xpos=(getposOffset(sObj,"left")-3) - (srcAlign=="right"?tObj.offsetWidth-sObj.offsetWidth-4:0) + (posX!=null?parseInt(posX):0);
			ypos=(getposOffset(sObj,"top")+(phObj?0:sObj.offsetHeight)) + (posY!=null?parseInt(posY):0);
		}
		tObj.style.left=xpos+"px";
		tObj.style.top=ypos+"px";
	}
	rIfm();
	if(tObj&&tObj.focus());
	return false;
}
function rIfm(){
	var iObj=document.getElementById("popwinIframe");
	if(iObj){
		var sbt=16;var sbl=24;
		var sH=document.body.parentNode.scrollHeight-sbt;var sW=document.body.parentNode.scrollWidth-sbl;
		var wH=window.innerHeight-sbt;var wW=window.innerWidth-sbl;
		if(sH&&sW&&wH&&wW){//This is needed to resize the iframe to the window area in FireFox.
			if(sH<wH){document.body.style.height=wH+'px';iObj.style.height=wH+'px';}
			else{document.body.style.height=sH+'px';iObj.style.height=sH+'px';}
			if(sW<wW){document.body.style.width=wW+'px';iObj.style.width=wW+'px';}
			else{document.body.style.width=sW+'px';iObj.style.width=sW+'px';}
		}
		iObj.style.display='block';
	}
}
function fPopWinClose(obj){//traverses parent nodes until parent window is found.
	if(typeof(fPopWinCloseExtended)=='function')fPopWinCloseExtended();
	while (obj!=null){
		if(obj.className=='PopWinDiv'){closeObj(obj);closeObj(document.getElementById("popwinIframe"));return;}
		obj=obj.offsetParent;
	}
}
function fPopWinCloseAll(){
	if(typeof(fPopWinCloseAllExtended)=='function')fPopWinCloseAllExtended();
	var iFobj=document.getElementById("popwinIframe");
	if(iFobj&&iFobj.style.display=="block"){
		closeObj(iFobj);
		var aColl=document.getElementsByTagName("DIV");var cObj;var srcElm;
		for (var i=0;i<aColl.length;i++){
			cObj=aColl[i];
			if (cObj.className=="PopWinDiv"){closeObj(cObj);}
		}
	}
}
function getScrollTop(){
	if(document.documentElement.scrollTop) return document.documentElement.scrollTop;
	if(document.body.scrollTop) return document.body.scrollTop;
	if(window.pageYOffset) return window.pageYOffset;
	return 0;
}
function getScrollLeft(){
	if(document.documentElement.scrollLeft) return document.documentElement.scrollLeft;
	if(document.body.scrollLeft) return document.body.scrollLeft;
	if(window.pageXOffset) return window.pageXOffset;
	return 0;
}
function getWinHeight(){
	if(window.innerHeight) return window.innerHeight;
	if(document.documentElement.clientHeight) return document.documentElement.clientHeight;
	if(document.body.clientHeight) return document.body.clientHeight;
	return 0;
}
function getWinWidth(){
	if(window.innerWidth) return window.innerWidth;
	if(document.documentElement.clientWidth) return document.documentElement.clientWidth;
	if(document.body.clientWidth) return document.body.clientWidth;
	return 0;
}
function getposOffset(overlay, offsettype){
	var totaloffset=(offsettype=="left")?overlay.offsetLeft:overlay.offsetTop;
	var parentElm=overlay.offsetParent;
	while (parentElm!=null){
		totaloffset=(offsettype=="left")?totaloffset+parentElm.offsetLeft:totaloffset+parentElm.offsetTop;
		parentElm=parentElm.offsetParent;
	}
	return totaloffset;
}
function closeObj(obj){
	if(obj){obj.style.display="none";}
}
function fPopWinCloseDelay(objId){
	closeObj(document.getElementById(objId));closeObj(document.getElementById("popwinIframe"));
}
function fPopWinOnClick(obj,tObjStr){
	var tObj=document.getElementById(tObjStr);
	if(tObj){
		tObj.style.left=getposOffset(obj,"left")+"px";
		tObj.style.top=getposOffset(obj,"top")+obj.offsetHeight+"px";
		tObj.style.display="block";
	}
	rIfm();
}
function fRegisterPopUpPanel(sObjStr,tObjStr,evt){var srcElm;var cObj;
	srcElm=document.getElementById(sObjStr);
	cObj=document.getElementById(tObjStr);
	if(srcElm&&cObj){
		srcElm.targetObj=cObj;
		if(cObj.getAttribute("offsetLeft")){srcElm.posX=cObj.getAttribute("offsetLeft");}
		if(cObj.getAttribute("offsetTop")){srcElm.posY=cObj.getAttribute("offsetTop");}
		if(cObj.getAttribute("srcAlign")){srcElm.sAlign=cObj.getAttribute("srcAlign");}
		if(cObj.getAttribute("position")){srcElm.pos=cObj.getAttribute("position");}
		if(window.addEventListener){
			if(srcElm.tagName=="A"&&evt=="click"){srcElm.href="javascript:void(0)";} //Needed for FireFox because the function doesn't return false to the onclick handler.
			srcElm.addEventListener(evt, fPopWinOpen, false);
		}
		else{srcElm.attachEvent('on'+evt, fPopWinOpen);}
	}
}
//Used for non-IE browsers, because of childElements firing the event. 
//IE uses its proprietary "onmouseleave" which does not bubble.
function fPopUpMouseOut(e,sender) {
	if(!e)var e=window.event;
	if(sender.className!='PopWinDiv')return;
	var reltg=(e.relatedTarget)?e.relatedTarget:e.toElement;
	while(reltg!=sender&&reltg.nodeName!='BODY'){
		reltg=reltg.parentNode;
		if(reltg==sender)return;
	}
//	fPopWinClose(sender);
	setTimeout("fPopWinCloseDelay('"+sender.id+"');",250);
	///// bills attemp to close safari iframe May 14, 2008
	//document.getElementById('QuickLinksContainer').style.display="none";
	//document.getElementById('QuickLinksContainer').close();
}

