/**
* SUBMODAL v1.5
* Used for displaying DHTML only popups instead of using buggy modal windows.
*
* By Seth Banks
* http://www.subimage.com/
*
* Contributions by:
* Eric Angel - tab index code
* Scott - hiding/showing selects for IE users
* Todd Huss - inserting modal dynamically and anchor classes
*
* Up to date code can be found at http://www.subimage.com/dhtml/subModal
*
*
* This code is free for you to use anywhere, just keep this comment block.
*/
var gPopupMask = null;
var gPopupContainer = null;
var gPopFrame = null;
var gReturnFunc;
var gPopupIsShown = false;
var gDefaultPage = "/OpenModal_Loading.html";
var gHideSelects = false;
var gReturnVal = null;
var gTabIndexes = new Array();
var gTabbableTags = new Array("A","BUTTON","TEXTAREA","INPUT","IFRAME");
if (!document.all) {
document.onkeypress = keyDownHandler;
}
function initPopUp() {
theBody = document.getElementsByTagName('BODY')[0];
popmask = document.createElement('div');
popmask.id = 'popupMask';
popmask.onclick = HideAllPopups;
popcont = document.createElement('div');
popcont.id = 'popupContainer';
popcont.innerHTML = '' +
'
';
theBody.appendChild(popmask);
theBody.appendChild(popcont);
gPopupMask = document.getElementById("popupMask");
gPopupContainer = document.getElementById("popupContainer");
gPopFrame = document.getElementById("popupFrame");
var brsVersion = parseInt(window.navigator.appVersion.charAt(0), 10);
if (brsVersion <= 6 && window.navigator.userAgent.indexOf("MSIE") > -1)
{ gHideSelects = true; }
var arrLinksOnPage = document.getElementsByTagName('a');
for (nLink=0; nLink= 0)
{
arrLinksOnPage[nLink].onclick = function()
{
var width = 500;
var height = 400;
arrClassNames = this.className.split(' ');
for (nClass=0; nClass theBody.scrollHeight)?fullHeight:theBody.scrollHeight;
popWidth = (fullWidth > theBody.scrollWidth )?fullWidth:theBody.scrollWidth;
/*
if (fullHeight > theBody.scrollHeight) {
popHeight = fullHeight;
} else {
popHeight = theBody.scrollHeight;
}
if (fullWidth > theBody.scrollWidth) {
popWidth = fullWidth;
} else {
popWidth = theBody.scrollWidth;
}
*/
$("#popupMask").css("height", popHeight + "px");
$("#popupMask").css("width", popWidth + "px");
}
/**
* @argument callReturnFunc - bool - determines if we call the return function specified
* @argument returnVal - anything - return value
*/
function hidePopWin(callReturnFunc) {
gPopupIsShown = false;
var theBody = document.getElementsByTagName("BODY")[0];
theBody.style.overflow = "";
restoreTabIndexes();
if (gPopupMask == null) {
return;
}
$("#popupMask").hide();
$("#popupContainer").hide();
if (callReturnFunc == true && gReturnFunc != null) {
// Set the return code to run in a timeout.
// Was having issues using with an Ajax.Request();
gReturnVal = window.frames["popupFrame"].returnVal;
window.setTimeout('gReturnFunc(gReturnVal);', 1);
}
gPopFrame.src = gDefaultPage;
// display all select boxes
if (gHideSelects == true) {
displaySelectBoxes();
}
}
/**
* Sets the popup title based on the title of the html document it contains.
* Uses a timeout to keep checking until the title is valid.
*/
function setPopTitle() {
return;
if (window.frames["popupFrame"].document.title == null) {
window.setTimeout("setPopTitle();", 10);
} else {
document.getElementById("popupTitle").innerHTML = window.frames["popupFrame"].document.title;
}
}
function keyDownHandler(e) {
if (gPopupIsShown && e.keyCode == 9) return false;
}
function disableTabIndexes() {
if (document.all) {
var i = 0;
for (var j = 0; j < gTabbableTags.length; j++) {
var tagElements = document.getElementsByTagName(gTabbableTags[j]);
for (var k = 0 ; k < tagElements.length; k++) {
gTabIndexes[i] = tagElements[k].tabIndex;
tagElements[k].tabIndex="-1";
i++;
}
}
}
}
function restoreTabIndexes() {
if (document.all) {
var i = 0;
for (var j = 0; j < gTabbableTags.length; j++) {
var tagElements = document.getElementsByTagName(gTabbableTags[j]);
for (var k = 0 ; k < tagElements.length; k++) {
tagElements[k].tabIndex = gTabIndexes[i];
tagElements[k].tabEnabled = true;
i++;
}
}
}
}
function hideSelectBoxes() {
for(var i = 0; i < document.forms.length; i++) {
for(var e = 0; e < document.forms[i].length; e++){
if(document.forms[i].elements[e].tagName == "SELECT") {
document.forms[i].elements[e].style.visibility="hidden";
}
}
}
}
function displaySelectBoxes() {
for(var i = 0; i < document.forms.length; i++) {
for(var e = 0; e < document.forms[i].length; e++){
if(document.forms[i].elements[e].tagName == "SELECT") {
document.forms[i].elements[e].style.visibility="visible";
}
}
}
}