var currentOccluder = null;
var currentPopIn = null;
var popInWidth = 0;
var popInHeight = 0;

var ieOccluder = null;

function getIEOccluder() {
	if(ieOccluder==null) {
		ieOccluder = document.getElementById('ie-occluder');
	}
	return ieOccluder;
}

function openPopInWhite(id) {
	openPopIn(id);
}

function openPopIn(id) {
	if(currentOccluder==null) {
	
		currentOccluder = document.getElementById(id);
		currentPopIn = getElementByClass(currentOccluder, 'popin');

        currentFrame = getElementByClass(currentPopIn, 'main-frame');
        
        width  = currentFrame.style.width;
        height = currentFrame.style.height;
        
        width  = width.substr(0, width.length-2);
        height = height.substr(0, height.length-2);
        
        popInWidth  = parseInt(width)  + 22;
        popInHeight = parseInt(height) + 22;
        
		if(isIE) {
			fullBody(getIEOccluder());
			show(getIEOccluder());
			currentOccluder.style.backgroundImage = "none";
		}

        center(currentPopIn);
        show(currentPopIn);

		
        fullBody(currentOccluder);
        show(currentOccluder);
	}
}

function closePopIn() {
	if(currentOccluder!=null) {
	
		if(isIE) {
			hide(getIEOccluder());
			reset(getIEOccluder());
		}
	
		hide(currentOccluder);
		currentOccluder = null;
	
		hide(currentPopIn);
		currentPopIn = null;
	}
}

function fullBody(element) {
    if(element) {
        var width;
        var height;
        
        if (isIE) {
            width = document.body.clientWidth;
            height = document.body.clientHeight;
        } else {
            width = window.innerWidth;
            height = window.innerHeight;
        }
        
        element.style.width = width+"px";
        element.style.height = height+"px";
    }
}
function show(block) {
    block.style.display = "block";
}
function hide(block) {
    block.style.display = "none";
}

function reset(popin) {
	popin.style.backgroundColor="black";
}

function getElementByClass(parent, classname) {
	var divs = parent.getElementsByTagName('div');

	for(var j=0; j<divs.length; j++) {
		if(divs[j].className == classname)
			return divs[j];
	}
	return null;
}

function center(element) {
    if(element) {
        var xOffset = 0;
        var yOffset = 0;
        
        if (isIE && !isIE7) {
            xOffset = document.documentElement.scrollLeft;
            yOffset = document.documentElement.scrollTop;
        }/* 
        else {
            xOffset = self.pageXOffset;
            yOffset = self.pageYOffset;
        }*/
        element.style.left = xOffset + (document.documentElement.clientWidth-popInWidth)/2.0 + "px";
        element.style.top = yOffset + (document.documentElement.clientHeight-popInHeight)/2.0 + "px";
    }
}

onscroll = function(){
    if(currentOccluder!=null) {
        center(currentPopIn);
    }
}
onresize = function() {
    if(currentOccluder!=null) {
		if(isIE) {
			fullBody(ieOccluder);
		}
        fullBody(currentOccluder);
        center(currentPopIn);
    }   
}


