var xModalPopup = 
{
	height:null,
	width:null,
    bg:null,
    box:null,
    init:function(content)
    {
        var contentNode = content;
        if ( content instanceof String )
            contentNode = document.createTextNode(content);
        
        xModalPopup.bg = document.createElement('div');
        xModalPopup.bg.className = xModalPopup.bg.id = 'xModalPopupBackground';
       // xModalPopup.bg.appendChild(document.createTextNode('\u00a0'));
       
        xModalPopup.bg.onclick = function(){
        	xModalPopup.hide();
        }
        
        xModalPopup.box = document.createElement('div');
        xModalPopup.box.className = xModalPopup.box.id = 'xModalPopupBox';
    },
    show:function()
    {
        if ( xModalPopup.box.parentNode != document.body )
        {
			if ( document.documentElement && document.documentElement.scrollTop )
		    {
			   	xModalPopup.box.style.marginTop = -parseInt(xModalPopup.height)/2 + document.documentElement.scrollTop + "px";
			   	xModalPopup.bg.style.marginTop = document.documentElement.scrollTop + "px";
		    }
		    else if ( document.body )
		    {
				xModalPopup.box.style.marginTop = -parseInt(xModalPopup.height)/2 + document.body.scrollTop + "px";
				xModalPopup.bg.style.marginTop = document.body.scrollTop + "px";
		    }
			    
            document.body.appendChild(xModalPopup.bg);
            document.body.appendChild(xModalPopup.box);
            return false;
        }
    },
    isVisible:function()
    {
    	return ( xModalPopup.box.parentNode == document.body );
    },
    hide:function()
    {
        if ( xModalPopup.box.parentNode == document.body )
        {
         //   xModalPopup.switchInputState();
            document.body.removeChild(xModalPopup.bg);
            document.body.removeChild(xModalPopup.box);
        }
        return false;
    },
    switchInputState:function()
    {
        for ( i = 0; i < document.forms.length; i++ )
            for ( u = 0; u < document.forms[i].elements.length; u++ )
                document.forms[i].elements[u].disabled = !document.forms[i].elements[u].disabled;
    },
    fixCss:function(width, height, reset)
    {
    	xModalPopup.width = width;
    	xModalPopup.height = height;
    	//if IE
    	if ( document.all )
    		document.body.style.height = "100%";
    	
    	if ( !reset )
	    {
	    	with ( this.bg )
	    	{
	    		style.position = "absolute";
	    		style.top = "0px";
	    		style.left = "0px";
	    		style.height = "100%";
	    		style.width = "100%";
	    		style.zIndex = "999";
	    		
				//style.background = "#222";
				//style.opacity = "0.8";
				//style.MozOpacity = "0.8";
	   			//style.filter = "Alpha(opacity=80)";
	   			
	    	}
	    }
    	
    	with ( this.box )
    	{
    		style.border = "solid 2px #000";
    		//style.position = "absolute";
    		if ( reset )
    		{
				style.top = "50%";
				style.left = "50%";
				style.marginTop = -height/2 + "px";
				style.marginLeft = -width/2+"px";
    		}
    		style.height = height+"px";
    		style.width = width+"px";
    		style.zIndex = "999";
    		style.background = "#fff";
    	}
    },
    clearBox:function()
    {
    	var c = xModalPopup.box.firstChild;
    	while ( c )
    	{
    		xModalPopup.box.removeChild(c);
    		delete c;
    		c = xModalPopup.box.firstChild;
    	}
    },
    onScroll:function()
    {
	    if ( document.documentElement && document.documentElement.scrollTop )
	    {
		   	xModalPopup.box.style.marginTop = -parseInt(xModalPopup.height)/2 + document.documentElement.scrollTop + "px";
		   	xModalPopup.bg.style.marginTop = document.documentElement.scrollTop + "px";
	    }
	    else if ( document.body )
	    {
			xModalPopup.box.style.marginTop = -parseInt(xModalPopup.height)/2 + document.body.scrollTop + "px";
			xModalPopup.bg.style.marginTop = document.body.scrollTop + "px";
	    }
	    return false;
    }
}