var is_opera    = navigator.userAgent.indexOf('Opera/9') != -1 ? true : false;
var is_ie       = navigator.userAgent.indexOf("MSIE ") != -1 ? true : false;
var is_firefox  = navigator.appName == "Netscape" && navigator.userAgent.indexOf("Gecko") != -1 && navigator.userAgent.indexOf("Netscape") == -1 ? true : false;
var is_mac      = navigator.userAgent.indexOf('Macintosh') != -1 ? true : false;


var new_left = 0;
var new_top = 0;
var width = 0;
var height = 0;
var w_win = 0;
var h_win = 0;
var scroll_X = 0;
var scroll_Y = 0;
var win = window;

OpacityBox = function()
{

}

OpacityBox.prototype.Init = function(w, h, url)
{
  //debugger;
  width = w;
  height = h;

  w_win = is_ie ? win.document.documentElement.offsetWidth : window.outerWidth;
  h_win = is_ie ? win.document.documentElement.offsetHeight : window.outerHeight;// - window.scrollMaxY;

  scroll_X = is_ie ? document.body.scrollLeft : window.pageXOffset;
  scroll_Y = is_ie ? document.body.scrollTop : window.pageYOffset;

  this.Reposition();
  this.FadeScreen();

  FAjax(url, '', 'wrapper');
}

OpacityBox.prototype.Resize = function(obj)
{
  //debugger;
  w_win = is_ie ? win.document.documentElement.offsetWidth : window.outerWidth;
  h_win = is_ie ? win.document.documentElement.offsetHeight : window.outerHeight - window.scrollMaxY;

  this.Reposition();
  obj.style.left = new_left + 'px';
  var ntop = ((new_top/2)- (is_ie ? 0 : window.scrollMaxY))
  obj.style.top = ((ntop < 0 ? 5 : ntop)+ scroll_Y) + 'px';
  var nheight = (obj.style.height) + 'px';
  //obj.style.height = nheight;
}

OpacityBox.prototype.Reposition = function()
{
  new_left = (w_win/2) - (width/2);
  var y = (height == undefined?0:(height/2));
  new_top  = ((h_win/2)+scroll_Y) - y;
}

OpacityBox.prototype.FadeScreen = function()
{
      if(!document.getElementById('clona'))
      {
       		var div = document.createElement('div');
    	    div.id='clona';
       		document.body.appendChild(div);
   		}

   		div.style.height = (h_win + scroll_Y) + 'px';
   		div.style.width = '100%';
   		div.className = 'clona';
   		div.onclick = function(){

        if(document.getElementById('clona'))
        {
          document.getElementById('clona').style.display = 'none' ;
          document.body.removeChild(document.getElementById('clona'));
        }
        if(document.getElementById('wrapper'))
        {
          document.getElementById('wrapper').style.display = 'none' ;
          document.body.removeChild(document.getElementById('wrapper'));
        }

      }
      var el = document.getElementById('clona');
      if(el)
      {
     		this.SetOpacity(div, 50);
     		this.Render(div);
   		}
}

OpacityBox.prototype.Render = function(obj)
{
    //debugger;

  /*if (window.addEventListener) {
  	window.addEventListener('resize', this.Resize, false);
  } else {
  	window.attachEvent('onresize', this.Resize);
  }*/

    var overlay = document.createElement('div');
    overlay.style.display = 'block';
    //overlay.style.height = (overlay.style.height) + 'px';
    overlay.style.top = (overlay.style.top + scroll_Y) + 'px';

    overlay.id = 'wrapper';
    overlay.onclick = function(){

        if(document.getElementById('clona'))
        {
          document.getElementById('clona').style.display = 'none' ;
          document.body.removeChild(document.getElementById('clona'));
        }

        if(document.getElementById('wrapper'))
        {
          document.getElementById('wrapper').style.display = 'none' ;
          document.body.removeChild(document.getElementById('wrapper'));
        }

      }
    document.body.appendChild(overlay);
    overlay.className = 'wrapper';
    overlay.style.background = '#fff';

    overlay.style.width = width + 'px';
    overlay.style.height = height + 'px';

    this.Resize(overlay);

}

OpacityBox.prototype._Hide = function()
{
  document.getElementById('clona').style.display = 'none' ;
  var el = document.getElementById('clona');
  if(el)
  {
    document.body.removeChild(el);
  }
}

OpacityBox.prototype.SetOpacity = function(obj, value)
{
  obj.style.opacity = value/100;
  obj.style.filter = 'alpha(opacity=' + value + ')';
}

var OB = new OpacityBox;
