function grayOut(vis, options) {
  var options = options || {};
  var zindex = options.zindex || 50;
  var opacity = options.opacity || 70;
  var opaque = (opacity / 100);
  var bgcolor = options.bgcolor || '#000000';
  var dark=document.getElementById('darkenScreenObject');
  if (!dark) {
    var tbody = document.getElementsByTagName("body")[0];
    var tnode = document.createElement('div');           // Create the layer.
        tnode.style.position='absolute';                 // Position absolutely
        tnode.style.top='0px';                           // In the top
        tnode.style.left='0px';                          // Left corner of the page
        tnode.style.overflow='hidden';                   // Try to avoid making scroll bars
        tnode.style.display='none';                      // Start out Hidden
        tnode.id='darkenScreenObject';                   // Name it so we can find it later
    tbody.appendChild(tnode);                            // Add it to the web page
    dark=document.getElementById('darkenScreenObject');  // Get the object.
  }
  if(vis)
  {
    dark.style.opacity=opaque;
    dark.style.MozOpacity=opaque;
    dark.style.filter='alpha(opacity='+opacity+')';
    dark.style.zIndex=zindex;
    dark.style.backgroundColor=bgcolor;
    dark.style.width= gsize(1);
    dark.style.height= gsize(0);
    dark.style.display='block';
    addEvent(window, "resize", function(){dark.style.height=gsize(0);dark.style.width=gsize(1);});
  } else {
     dark.style.display='none';
   removeEvent(window, "resize", function(){dark.style.height=gsize(0);dark.style.width=gsize(1);});
  }
}
function gsize(ptype)
{  var h=document.compatMode=='CSS1Compat' && !window.opera?document.documentElement.clientHeight:document.body.clientHeight;
   var w=document.compatMode=='CSS1Compat' && !window.opera?document.documentElement.clientWidth:document.body.clientWidth;
 //  alert("scroll:"+document.body.scrollHeight+" offset:" +document.body.offsetHeight+" window:"+h);
   if( document.body && ( document.body.scrollWidth || document.body.scrollHeight ) )
     {
       var pageWidth  =(w>(t=document.body.scrollWidth))?(""+w+"px"):(""+(t)+"px");
       var pageHeight =(h>(t=document.body.scrollHeight))?(""+h+"px"):(""+(t)+"px");
     }else if( document.body.offsetWidth ) {
       var pageWidth  =(w>(t=document.body.offsetWidth))?(""+w+"px"):(""+(t)+"px");
       var pageHeight =(h>(t=document.body.offsetHeight))?(""+h+"px"):(""+(t)+"px");
     } else {
       var pageWidth='100%';var pageHeight='100%';
     }
   return (ptype==1)?pageWidth:pageHeight;
}

function addEvent( obj, type, fn ) {
  if ( obj.attachEvent ) {
    obj['e'+type+fn] = fn;
    obj[type+fn] = function(){obj['e'+type+fn]( window.event );}
    obj.attachEvent( 'on'+type, obj[type+fn] );
  } else
    obj.addEventListener( type, fn, false );
}
function removeEvent( obj, type, fn ) {
  if ( obj.detachEvent ) {
    obj.detachEvent( 'on'+type, obj[type+fn] );
    obj[type+fn] = null;
  } else
    obj.removeEventListener( type, fn, false );
}


