if(typeof cms_page_effect == 'undefined') {
cms_page_effect = true;
if(typeof cms == 'undefined'){cms = {};}

cms.background = null;
cms.bg_clickEvent = null;
cms.bg_loadingCN = "content_loading";
cms.setBackgroundLoading = function (tf) {
	cms.background.className = cms.background.className.replace(cms.bg_loadingCN,"");
	if(tf) {cms.background.className += " " + cms.bg_loadingCN;}
};
cms.resizeBackground = function() {
	if(cms.background) {
        var dv = cms.background.style.display || "none", cb = cms.background;
	    cb.style.display = "block";
		var dim = cms.getScrollOffset();
		cb.style.display = dv;
        cb.style.top = dim.y + "px";
	}
};
cms.createBackground = function() {
    if(!cms.background) {
		var d = window.document;
		var div = i2rd.createElement("div");
        var body = i2rd.getBody();
		body.appendChild(div);
		div.style.textAlign = "center";
		div.style.position = "absolute";
		div.style.left = 0;
		div.style.top = 0;
        div.style.height = "100%";
		div.style.width = "100%";
		div.className = "page_background";
        div.style.display = "none";
		cms.background = div;
	}
};
i2rd.addEvent(window, 'load', cms.createBackground);
cms.showBackground = function(cn, zIndex, clickEvent) {
	zIndex = zIndex || "100";
	cms.createBackground();
    var cb = cms.background;
	cb.style.zIndex = "501";
	cb.className = "page_background";
	if(cn && !cms.background.className.match(' ' + cn)) {
		cms.background.className += (" " + cn);
	}
	cb.style.display = "block";
	i2rd.addEvent(window, "resize", cms.resizeBackground);
    i2rd.addEvent(window, "scroll", cms.resizeBackground);
	cms.bg_clickEvent = clickEvent;
	if(clickEvent) {i2rd.addEvent(cms.background, 'click', clickEvent);}
	cms.resizeBackground();
    cms.handleMacFirefox();
};
cms.handleMacFirefox = function() {
    var cb = cms.background;
    var ua = navigator.userAgent.toLowerCase();
    if((ua.indexOf('mac') != -1 && ua.indexOf('firefox')!=-1)) { // Pickup styles applied via cn
       var img = '/resources/all/docroot/cms/icons/black_opaque_65.png';
       cb.style.opacity = null;
       var opStr = cms.getStyle(cb, "opacity");
        if(opStr) {
            var op = parseFloat(opStr);
            if(op > 0.65) {img = '/resources/all/docroot/cms/icons/black_opaque_70.png';}
            if(op > 0.70) {img = '/resources/all/docroot/cms/icons/black_opaque_75.png';}
            cb.style.backgroundImage= 'url(' + img + ')';
            cb.style.backgroundRepeat="repeat";
        }
        cb.style.backgroundColor = "transparent";
        cb.style.opacity = 1;
    }
};
cms.hideBackground = function() {
	if(cms.background) {
		i2rd.removeEvent(window, "resize", cms.resizeBackground);
        i2rd.removeEvent(window, "scroll", cms.resizeBackground);
		cms.background.style.display = "none";
		if(cms.bg_clickEvent) {
			i2rd.addEvent(cms.background, 'click', cms.bg_clickEvent);
		}
	}
};
cms.pageLoadMessageDiv = null;
// TODO Remove once the page editor is replaced
cms._IDisplayPageLoadMessage = function(mesg) {
		if(!cms.pageLoadMessageDiv) {
			var div = i2rd.createElement("div");
			div.style.position='absolute';
			div.style.font='bold 3em Arial';
			div.style.textAlign="center";
			div.style.backgroundColor='white';
			div.style.padding='1em';
			div.style.border='1px black solid';
			div.style.visibility = "hidden";
			div.className = "wait_message";
            var body = i2rd.getBody();
			body.appendChild(div);
			div.style.zIndex = cms.ZIndex.HIGH * 2;
			cms.pageLoadMessageDiv = div;
		}
		var textNode = document.createTextNode(mesg);
		while(cms.pageLoadMessageDiv.childNodes.length > 0) {
			cms.pageLoadMessageDiv.removeChild(cms.pageLoadMessageDiv.firstChild);
		}
		cms.pageLoadMessageDiv.appendChild(textNode);
		cms.positionAtCenter(div);
		cms.pageLoadMessageDiv.style.visibility = "visible";
};
cms.hidePageLoadMessage = function() {
	if(cms.pageLoadMessageDiv){cms.pageLoadMessageDiv.style.visibility = "hidden";}
};
cms.displayPageLoadMessage = function(mesg, timeout) {
	mesg = mesg || "Please Wait...";
	try{
		if(timeout) {
			window.setTimeout('cms._IDisplayPageLoadMessage("' 
				+ mesg + '")', timeout);
		} else {
			cms._IDisplayPageLoadMessage(mesg);
		}
	} catch(e) { log4js.logger.info("Unable to display message.", e); }
};

}//End conditional eval
