
org.apache.myfaces.custom.popup.resource.JSPopup.js Maven / Gradle / Ivy
var orgApacheMyfacesPopupCurrentlyOpenedPopup;
var orgApacheMyfacesPopupFrameUnder;
/**
* fix for the div over control bug in ie
*/
function orgApacheMyfacesPopupfixIE() {
if(document.all) {
if(orgApacheMyfacesPopupCurrentlyOpenedPopup == null) return false;
var iframe = document.getElementById(orgApacheMyfacesPopupCurrentlyOpenedPopup.id+"_IFRAME");
if(iframe == null) {
orgApacheMyfacesPopupFrameUnder = document.createElement("");
document.body.insertBefore(orgApacheMyfacesPopupFrameUnder);
} else {
orgApacheMyfacesPopupFrameUnder = iframe;
}
var popup = orgApacheMyfacesPopupCurrentlyOpenedPopup;
iframe = orgApacheMyfacesPopupFrameUnder;
if(popup != null &&
(popup.style.display == "block")) {
popup.style.zIndex = 99;
iframe.style.zIndex = popup.style.zIndex - 1;
iframe.style.width = popup.offsetWidth;
iframe.style.height = popup.offsetHeight;
iframe.style.top = popup.style.top;
iframe.style.left = popup.style.left;
iframe.style.marginTop = popup.style.marginTop;
iframe.style.marginLeft = popup.style.marginLeft;
iframe.style.marginRight = popup.style.marginRight;
iframe.style.marginBottem = popup.style.marginBottom;
iframe.style.display = "block";
iframe.style.visibility = "visible"; /*we have to set an explicit visible otherwise it wont work*/
} else {
iframe.style.display = "none";
}
}
return false;
}
function orgApacheMyfacesPopup(popupId,displayAtDistanceX,displayAtDistanceY)
{
this.popupId = popupId;
this.displayAtDistanceX=displayAtDistanceX;
this.displayAtDistanceY=displayAtDistanceY;
this.display = orgApacheMyfacesPopupDisplay;
this.hide = orgApacheMyfacesPopupHide;
this.redisplay=orgApacheMyfacesPopupRedisplay;
}
function orgApacheMyfacesPopupDisplay(ev)
{
if(orgApacheMyfacesPopupCurrentlyOpenedPopup!=null)
orgApacheMyfacesPopupCurrentlyOpenedPopup.style.display="none";
var elem;
var x;
var y;
if(document.all) /*ie browser detection already in place*/
{
if(orgApacheMyfacesPopupFrameUnder!=null)
orgApacheMyfacesPopupFrameUnder.style.display="none";
elem = window.event.srcElement;
x=window.event.clientX;
x+=orgApacheMyfacesPopupGetScrollingX();
y=window.event.clientY;
y+=orgApacheMyfacesPopupGetScrollingY();
}
else
{
elem = ev.target;
x=ev.pageX;
y=ev.pageY;
}
x+=this.displayAtDistanceX;
y+=this.displayAtDistanceY;
var popupElem = document.getElementById(this.popupId);
if(popupElem.style.display!="block")
{
popupElem.style.display="block";
popupElem.style.left=""+x+"px";
popupElem.style.top=""+y+"px";
orgApacheMyfacesPopupCurrentlyOpenedPopup = popupElem;
}
orgApacheMyfacesPopupfixIE();
}
/**
* hide function which
* hides the popup from the browser
*/
function orgApacheMyfacesPopupHide()
{
var popupElem = document.getElementById(this.popupId);
popupElem.style.display="none";
if(document.all && (orgApacheMyfacesPopupFrameUnder != null)) { /*ie specific popup under fix*/
orgApacheMyfacesPopupFrameUnder.style.display = "none";
}
orgApacheMyfacesPopupfixIE();
}
/**
* simple redisplay
* displays an already existing hidden popup
*/
function orgApacheMyfacesPopupRedisplay()
{
var popupElem = document.getElementById(this.popupId);
popupElem.style.display="block";
orgApacheMyfacesPopupCurrentlyOpenedPopup = popupElem;
orgApacheMyfacesPopupfixIE();
}
function orgApacheMyfacesPopupGetScrollingX() {
if (self.pageXOffset) {
return self.pageXOffset;
} else if (document.documentElement && document.documentElement.scrollLeft) {
return document.documentElement.scrollLeft;
} else if (document.body) {
return document.body.scrollLeft;
} else {
return 0;
}
}
function orgApacheMyfacesPopupGetScrollingY() {
if (self.pageYOffset) {
return self.pageYOffset;
} else if (document.documentElement && document.documentElement.scrollTop) {
return document.documentElement.scrollTop;
} else if (document.body) {
return document.body.scrollTop;
} else {
return 0;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy