var divPopupHolder;
var divPopupHolderHeight;
var divMaskHolder;
var divPopupHolderTop;
var blnPopupMask;

function getY(oElement){
	var iReturnValue = 0;
	while( oElement != null ) {
		iReturnValue += oElement.offsetTop;
		oElement = oElement.offsetParent;
	}
	return iReturnValue;
}

function getX(oElement){
	var iReturnValue = 0;
	while( oElement != null ) {
		iReturnValue += oElement.offsetLeft;
		oElement = oElement.offsetParent;
	}
	return iReturnValue;
}

function createPopUp (pwidth,pheight,blnMask,obj,ptop,href,bColor,blnBorder,mColor,opacity ) 
{
	
	if(ptop < 0){
		ox = getX(obj);
		oy = getY(obj) + 13;
	}
	
	divPopupHolderTop = ptop;
	blnPopupMask = blnMask;
	if(blnPopupMask) {
		ptop = ptop
	} else {
		ptop = ptop;
	}
	divPopupHolderHeight = pheight;
	
	if (blnPopupMask) {
		pBorderWidth = 1;
	} else {
		pBorderWidth = 1;
	}
		
	if (typeof blnBorder == 'undefined'){
	} else {
		if(!blnBorder) {
			pBorderWidth = 0;
		}
	}
	
	if (typeof bColor == 'undefined'){
		if (blnPopupMask) {
			borderColor = "E2E0DB";
		} else {
			borderColor = "9dd5cf";
		}
	} else {
		borderColor = bColor;
	}
	
	var destURL = href;
	var isSafari = (navigator.userAgent.toLowerCase().indexOf("safari") != -1);true;false;
	
	txtPopUpContent = '<iframe id="popupiframe" src="'+destURL+'" style="border:0; width:'+pwidth+'px; height:'+pheight+'px" frameborder="0" scrolling="no"></iframe>';
	
	divPopupHolder = document.createElement("div");
	divPopupHolder.id = "divPopUp";
	divPopupHolder.className= "divPopUp";
	divPopupHolder.style.position = "absolute";
	divPopupHolder.style.width = pwidth +"px";
	if(ptop < 0){
		divPopupHolder.style.left = ox + "px";
		divPopupHolder.style.top = oy + "px";	
	} else {
		divPopupHolder.style.marginLeft = Math.round((pwidth+(pBorderWidth*2))/2)*-1 + "px"
		divPopupHolder.style.left = "57%";
		divPopupHolder.style.top = ptop +"px";
	}
	divPopupHolder.style.borderWidth = pBorderWidth +"px";
	divPopupHolder.style.borderColor = borderColor;
	divPopupHolder.style.borderStyle = "solid";
	divPopupHolder.innerHTML = txtPopUpContent;
	
	document.body.insertBefore(divPopupHolder, document.body.firstChild);
	document.getElementById('popupiframe').src = href;
	document.getElementById('popupiframe').id = new Date().getTime();
	
	//Create Mask
		
	divMaskHolder = document.createElement("div");
	divMaskHolder.id = "divMask";
	divMaskHolder.style.height = getPageSizeWithScroll();;
	divMaskHolder.style.overflow = "hidden";
	divMaskHolder.style.top = "0px";
	divMaskHolder.innerHTML = "&nbsp;";
	divMaskHolder.onclick = closePopUp;
	
	if (blnPopupMask) {
		
		divMaskHolder.className= "divMask";
		
		if (typeof mColor == 'undefined'){
		} else {
			divMaskHolder.style.backgroundColor = mColor;
		}
		
	} else {
		divMaskHolder.className= "divClearMask";
	}
	
	document.body.insertBefore(divMaskHolder, document.body.firstChild);
	
	//IE 6 hack to make the mask cover over select elements
	if (isIE6()) {
		divMaskIframeHolder = document.createElement("iframe");
		divMaskIframeHolder.id = "divShimMask"
		divMaskIframeHolder.className= "divShimMask"
		divMaskIframeHolder.src=""
		divMaskIframeHolder.scrolling="no"
		divMaskIframeHolder.frameBorder="0"
		divMaskIframeHolder.style.width = "960px";
		divMaskIframeHolder.style.height = (getPageHeight() + pagebtmPad) +"px";
		document.body.insertBefore(divMaskIframeHolder, document.body.firstChild);
	}
	
}

function isIE6() {

	var agt=navigator.userAgent.toLowerCase();
    var appVer = navigator.appVersion.toLowerCase();
    var is_minor = parseFloat(appVer);
    var is_major = parseInt(is_minor);
    var iePos  = appVer.indexOf('msie');
    if (iePos !=-1) {
       is_minor = parseFloat(appVer.substring(iePos+5,appVer.indexOf(';',iePos)));
       is_major = parseInt(is_minor);
    }
	if ((iePos!=-1) && is_major<7) {
		return true;
	} else {
		return false;
	}
	
}

function getPageHeight() {
	return document.body.offsetHeight;
}

function getPageWidth() {
	return document.body.offsetWidth;
}

function closePopUp() {
	if (typeof(divPopupHolder) != "undefined"){
		divPopupHolder.innerHTML = "";
		document.body.removeChild(divPopupHolder);
		divMaskHolder.innerHTML = "";
		document.body.removeChild(divMaskHolder);
		if (isIE6()) {document.body.removeChild(divMaskIframeHolder);}
		window.onscroll = "";
	}
}

function getPageScrollTop(){
	
	var yScrolltop;
	
	if (self.pageYOffset ) {
		yScrolltop = self.pageYOffset;
	} else if (document.documentElement && document.documentElement.scrollTop ){
		yScrolltop = document.documentElement.scrollTop;
	} else if (document.body) {// all other Explorers
		yScrolltop = document.body.scrollTop;
	}
	
	if(getPageHeight() - divPopupHolderHeight - yScrolltop -25 < 0) {
		yScrolltop = yTestScrolltop
	} else {
		yTestScrolltop = yScrolltop
	}
	
	return yScrolltop;
	
}

function getPageScrollBottom(){
	
	var yScrollbottom;
	
	if (self.pageYOffset ) {
		yScrollbottom = self.pageYOffset;
	} else if (document.documentElement && document.documentElement.scrollBottom ){
		yScrollbottom = document.documentElement.scrollBottom;
	} else if (document.body) {// all other Explorers
		yScrollbottom = document.body.scrollBottom;
	}
	
	return yScrollbottom;
	
}

function getPageSizeWithScroll(){     
	
	if (window.innerHeight && window.scrollMaxY) { // Firefox         		
		yWithScroll = window.innerHeight + window.scrollMaxY;         
		xWithScroll = window.innerWidth + window.scrollMaxX;     
	} else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
		yWithScroll = document.body.scrollHeight;         
		xWithScroll = document.body.scrollWidth;     
	} else { // works in Explorer 6 Strict, Mozilla (not FF) and Safari
		yWithScroll = document.body.offsetHeight;         
		xWithScroll = document.body.offsetWidth;       
	}     
	
	arrayPageSizeWithScroll = new Array(xWithScroll,yWithScroll);     
	//alert( 'The height is ' + yWithScroll + ' and the width is ' + xWithScroll );     

	return yWithScroll; 
	
} 