
currentWin = null;
var blackScrim = null;

function showBlackScrim(win)
{

	currentWin = win;
	blackScrim = currentWin.document.createElement("div");
	blackScrim.setAttribute("id", "blackScrim");
	blackScrim.style.backgroundColor = "#000000";
    
    var wd = getFullCoverageDimensions();
    blackScrim.style.height = wd.height + "px";
    blackScrim.style.height = wd.height + "px";
    
    blackScrim.style.width = wd.width + "px";
    
	blackScrim.style.position = "absolute";
	blackScrim.style.left = 0;
	blackScrim.style.top = 0;
	
    var opacityPercentage = 80;
	blackScrim.style.opacity = (opacityPercentage / 100); 
	blackScrim.style.filter = "alpha(opacity=" + opacityPercentage + ")"; 
	
	currentWin.document.body.appendChild(blackScrim);
    
	hideForScrim(win);
	
	addEvent(currentWin, "resize", resizeBlackScrim, true);
	
	return blackScrim;
	
}

function showSpinner(x, y) {

	var spin = document.getElementById("spinner");
	
	spin.style.display = "inline";
	
	if (x == null
	|| y == null) {
	
		var left =  (clientWidth(window)/2)  - (spin.clientWidth/2);
		var top = (clientHeight(window) - spin.clientHeight)/2;
		spin.style.left = left + "px";
		spin.style.top = top + "px";
		//centerIt(spin);
	} else {
	
		spin.style.left = (x - (spin.clientWidth/2)) + "px";
		spin.style.top = (y + (spin.clientHeight/2)) + "px";
		
	}
	
	spin.style.visibility = "visible";
	
}

function hideSpinner() {

	var spin = document.getElementById("spinner");
	
	spin.style.visibility = "hidden";
	spin.style.display = "none";

}


function closeAndRemoveIframe(id, win) {
		
	var iframe = win.document.getElementById(id);
	if (iframe) {
		iframe.setAttribute("src", "");
		win.document.body.removeChild(iframe);
		iframe.style.display = "none";
		iframe = null;
	}	
}

function getFullCoverageDimensions() {

    var winDimensions = { width:0, height:0 };

    var sh = currentWin.document.body.scrollHeight;
    var ch = clientHeight(currentWin);
    if (currentWin.document.body.scrollHeight > ch)  {
        winDimensions.height = sh - 6;
    } else winDimensions.height = ch;
    
    var sw = currentWin.document.documentElement.scrollWidth;
    var cw = clientWidth(currentWin);
    if (currentWin.document.documentElement.scrollWidth > currentWin.document.documentElement.clientWidth)  {
	        winDimensions.width = sw - 21;
    } else winDimensions.width = cw;
    
    return winDimensions;
   
}

function hideForScrim(win) {

    var tags = currentWin.document.getElementsByTagName("select");
	for (var i = 0; i < tags.length; i++) 
	{
		if (tags[i].style.visibility != "hidden") {
			tags[i].setAttribute("scrimInvisible", "true");
			tags[i].style.visibility = 'hidden';
		}
	}
    
}

function unhideForScrim(win) {

	var tags = currentWin.document.getElementsByTagName("select");
	for (var i = 0; i < tags.length; i++) 
	{
		var invisible = tags[i].getAttribute("scrimInvisible");
		if (invisible == "true") {
			tags[i].style.visibility = 'visible';			
		}
	}

}

function resizeBlackScrim() {

    if (blackScrim) {
        var wd = getFullCoverageDimensions();
        blackScrim.style.height =  wd.height + "px";
        blackScrim.style.width = wd.width + "px";
    }
	
}

function restoreFromBlackScrim() {
    
    removeEvent(currentWin, "onresize" , resizeBlackScrim, false);
	
    if (blackScrim) {
        currentWin.document.body.removeChild(blackScrim);
        blackScrim = null;
    }
    
    hideSpinner();
    
    unhideForScrim();

}

function addEvent(object, eventName, functionPointer, useCapture) {

	if (window.attachEvent) {
		object.attachEvent(eventName, functionPointer);
	} else object.addEventListener(eventName, functionPointer, useCapture);

}

function removeEvent(object, eventName, functionPointer, useCapture) {

	if (window.detachEvent) {
		object.detachEvent(eventName, functionPointer);
	} else object.removeEventListener(eventName, functionPointer, useCapture);

}

function createFloatingIframe(windowObj, height, width, id, url) {
		
	var iframe = windowObj.document.createElement("iframe");
	iframe.setAttribute("src", url);
	iframe.setAttribute("name", id);
	iframe.setAttribute("id", id);
	iframe.setAttribute("width", String(width));
	iframe.setAttribute("height", String(height));
	iframe.setAttribute("scrolling", "no");
	iframe.setAttribute("frameborder", "0");
	
	iframe.src = url;
	iframe.style.position = "absolute";			
	iframe.style.zIndex = 1000;
	iframe.style.top = ((windowObj.document.body.clientHeight/2) - (height/2)) + "px";
	iframe.style.left = ((windowObj.document.body.clientWidth/2) - (width/2)) + "px";;
	windowObj.document.body.appendChild(iframe);
	
	return iframe;
	
}

var fnScrimClose = null;
var fnScrimCloseDefault = function() { return true };
var fnBeforeScrimClose = fnScrimCloseDefault;

	