oGassyWindowMng = new gassyWindowMng();

//gassy window manager
function gassyWindowMng(){
  //properties
  this.aGassyWindows = new Array();
  this.maxZIndex = 2;
  
  //methods
  this.addGassyWindow = addGassyWindow;
  this.closeGassyWindow = closeGassyWindow;
}

function addGassyWindow(content,title){
  var oGassyWindow = new gassyWindow(this.maxZIndex,content,title);
  this.maxZIndex++;
  this.aGassyWindows.push(oGassyWindow);
}

function closeGassyWindow(){
  var oLastGassyWindow = this.aGassyWindows.pop();
  var aBody = document.getElementsByTagName('body');
  var oBody = aBody[0];
  //delete content
  var oContent = document.getElementById('gwc_'+oLastGassyWindow.zIndex);
  oBody.removeChild(oContent);
  //delete container
  var oContainer = document.getElementById('gw_'+oLastGassyWindow.zIndex);
  oBody.removeChild(oContainer);
  this.maxZIndex--;
}

//gassy window instance
function gassyWindow(maxZIndex,content,title){
  this.zIndex = maxZIndex;
  this.content = content;
  this.title = title;
  this.drawGassyWindow = drawGassyWindow;
  this.drawGassyWindow();
}

function drawGassyWindow(){

  var aBody = document.getElementsByTagName('body');
  var oBody = aBody[0];
  //gassy window container
  var oContainer = document.createElement('div');
  jsGlob.setAttribute(oContainer,'class','gassy_window');
  jsGlob.setAttribute(oContainer,'id','gw_'+this.zIndex);
  oContainer.style.zIndex = this.zIndex;
  //header div
  var oHeader = document.createElement('div');
  jsGlob.setAttribute(oHeader,'class','gassy_window_header');
  oHeader.innerHTML = '<div class="gassy_window_close" onclick="oGassyWindowMng.closeGassyWindow();">X</div>'
                     +'<span class="gassy_window_title">'+this.title+'</span>';
  
  //content div
  var oContent = document.createElement('div');
  var contentId = 'gwc_'+this.zIndex;
  jsGlob.setAttribute(oContent,'class','gassy_window_content');
  jsGlob.setAttribute(oContent,'id',contentId);
  oContent.style.zIndex = this.zIndex;
  var sContent = new String(this.content);
  var aContent = sContent.split('#js#');
  oContent.appendChild(oHeader);
  oContent.innerHTML += aContent[0];
  oBody.appendChild(oContainer);
  oBody.appendChild(oContent);
  if(aContent[1] != ''){
    var jsScript = document.createElement('script');
    jsGlob.setAttribute(jsScript,'type','text/javascript');
    jsGlob.setAttribute(jsScript,'src','../libs/scripts/js.php?script='+aContent[1]);
    oBody.appendChild(jsScript);
  }
    
  jsGlob.centerElement(contentId);

}
