ModalPopup = function (elem,options) {
	//option default settings
	
	options = options || {};
	var HasBackground = (options.HasBackground!=null)?options.HasBackground:true;
	var BackgroundColor = options.BackgroundColor || '#000000';
	var BackgroundOpacity = options.BackgroundOpacity || 60; // 1-100
	BackgroundOpacity = (BackgroundOpacity > 0) ? BackgroundOpacity : 1;
	var BackgroundOnClick = options.BackgroundOnClick || function(){};
	var BackgroundCursorStyle = options.BackgroundCursorStyle || "default";
	var Zindex = options.Zindex || 100000;
	var AddLeft = options.AddLeft || 0; //in px
	var AddTop = options.AddTop || 0; //in px
	
	function _Convert(val) {
		if (!val) {return;}
		val = val.replace("px","");
		if (isNaN(val)) {return 0;}
		return parseInt(val);
	}
	var popup = document.getElementById(elem);
	if (!popup) {return;}
	//set the popup layer styles
	var winW = (document.layers||(document.getElementById&&!document.all)) ? window.outerWidth : (document.all ? document.body.clientWidth : 0);
	var winH = window.innerHeight ? window.innerHeight :(document.getBoxObjectFor ? Math.min(document.documentElement.clientHeight, document.body.clientHeight) : ((document.documentElement.clientHeight != 0) ? document.documentElement.clientHeight : (document.body ? document.body.clientHeight : 0)));
	//display the popup layer
	popup.style.display = "block";
	popup.style.visibility = "visible";
	var currentStyle;
	if (popup.currentStyle)	{ 
		currentStyle = popup.currentStyle; 
	}
	else if (window.getComputedStyle) {
		currentStyle = document.defaultView.getComputedStyle(popup, null);
	} else {
		currentStyle = popup.style;
	}
	
	var elemW = popup.offsetWidth -
		_Convert(currentStyle.marginLeft) -
		_Convert(currentStyle.marginRight) -
		_Convert(currentStyle.borderLeftWidth) -
		_Convert(currentStyle.borderRightWidth);

	var elemH = popup.offsetHeight -
		_Convert(currentStyle.marginTop) -
		_Convert(currentStyle.marginBottom) -
		_Convert(currentStyle.borderTopWidth) -
		_Convert(currentStyle.borderBottomWidth);
	if (/MSIE (\d+\.\d+);/.test(navigator.userAgent))
	{ //test for MSIE x.x;
	 	var ieversion=new Number(RegExp.$1) // capture x.x portion and store as a number
	 	if (ieversion == 6)
	  	{
	  	
	  	popup.style.position = "absolute";
		}
		else
		{
		popup.style.position = "fixed";
		}
	}

	if(navigator.appName == "Netscape")
	popup.style.position = "fixed";
	popup.style.left = (winW/2 - elemW/2 + AddLeft) + "px";
	popup.style.top = (winH/2 - elemH/2 + AddTop - 10) + "px";
	popup.style.zIndex = Zindex + 2;
    //popup.style.zIndex = 1000;
	if (HasBackground) {		
		if (!ModalPopup._BackgroundDiv)
		 {
			ModalPopup._BackgroundDiv = document.createElement('div');
			ModalPopup._BackgroundDiv.style.display = "none";
			ModalPopup._BackgroundDiv.style.width = "100%";
			ModalPopup._BackgroundDiv.style.position = "absolute";
			ModalPopup._BackgroundDiv.style.top = "0px";
			ModalPopup._BackgroundDiv.style.left = "0px";
			document.body.appendChild(ModalPopup._BackgroundDiv);
			
		}
		ModalPopup._BackgroundDiv.onclick =  BackgroundOnClick;
		ModalPopup._BackgroundDiv.style.background = BackgroundColor;	
		ModalPopup._BackgroundDiv.style.height = Math.max(Math.max(document.documentElement.offsetHeight, document.documentElement.scrollHeight), Math.max(document.body.offsetHeight, document.body.scrollHeight))+ "px";
		ModalPopup._BackgroundDiv.style.filter = "progid:DXImageTransform.Microsoft.Alpha(opacity=" + BackgroundOpacity +")";
		//ModalPopup._BackgroundDiv.style.filter = 'alpha(opacity=" + BackgroundOpacity +")';
		ModalPopup._BackgroundDiv.style.MozOpacity = BackgroundOpacity / 100;
		ModalPopup._BackgroundDiv.style.opacity = BackgroundOpacity / 100;
		ModalPopup._BackgroundDiv.style.zIndex = Zindex;
		ModalPopup._BackgroundDiv.style.cursor = BackgroundCursorStyle;
		//Display the background
		ModalPopup._BackgroundDiv.style.display = "";
		
if (/MSIE (\d+\.\d+);/.test(navigator.userAgent))
{ //test for MSIE x.x;	
var ieversion=new Number(RegExp.$1)
if (ieversion==6)
{
  var iframepopup=document.getElementById('iframepop');
  
  iframepopup.style.display = "none";
	iframepopup.style.width = "100%";
	iframepopup.style.position = "absolute";
	iframepopup.style.top = "0px";
	iframepopup.style.left = "0px";
		iframepopup.style.background = BackgroundColor;	
		iframepopup.style.height = Math.max(Math.max(document.documentElement.offsetHeight, document.documentElement.scrollHeight), Math.max(document.body.offsetHeight, document.body.scrollHeight))+ "px";
		iframepopup.style.filter = "progid:DXImageTransform.Microsoft.Alpha(opacity='0')";
		//ModalPopup._BackgroundDiv.style.filter = 'alpha(opacity=" + BackgroundOpacity +")';
		iframepopup.style.MozOpacity = 0;
		iframepopup.style.opacity = 0;
		iframepopup.style.zIndex = Zindex + 1;
		iframepopup.style.cursor = BackgroundCursorStyle;
		//Display the background
		iframepopup.style.display = "";

}
}	
	}
}

ModalPopup.Close = function(id) {
	if (id) {
		document.getElementById(id).style.display = "none";
		document.getElementById(id).style.visibility = "hidden";
		if (/MSIE (\d+\.\d+);/.test(navigator.userAgent))
       { //test for MSIE x.x;	
var ieversion=new Number(RegExp.$1)
if (ieversion==6)
{
  var iframepopup=document.getElementById('iframepop');

iframepopup.style.display = "none";
		}
		}
	} 
	if  (ModalPopup._BackgroundDiv) {
		ModalPopup._BackgroundDiv.style.display = "none";
	}
	//location.reload(true);
}