function showDialog(contents) {
  renderOverlay();
  renderDialog(contents);
}

function hideDialog() {
  $('popup_dialog').style.display = 'none';
  $('dialog_overlay').style.display = 'none';
}

function renderOverlay() {
  // Render overlay
  var overlayDivId = 'dialog_overlay';
  var overlayDivNode = $(overlayDivId);
  if(!overlayDivNode) { // If overlay div not found, create one
    overlayDivNode = document.createElement('div');
    overlayDivNode.id = overlayDivId;
    overlayDivNode.style.position = 'absolute';
    overlayDivNode.style.top = 0;
    overlayDivNode.style.left = 0;
    overlayDivNode.style.zIndex = 100;
    overlayDivNode.style.width = '100%';
    overlayDivNode.style.backgroundColor = '#000';
    overlayDivNode.style.filter='alpha(opacity=25)'; // IE
    overlayDivNode.style.opacity='0.25'; // FF
    overlayDivNode.onclick=hideDialog;
    document.body.insertBefore(overlayDivNode, document.body.childNodes[0]);
  }
  // Set the height
  overlayDivNode.style.height = document.body.clientHeight+'px';
  overlayDivNode.style.display = 'block';
}

function renderDialog(contents) {
  var dialogDivId = 'popup_dialog';
  var dialogDivNode = $(dialogDivId);
  if (!dialogDivNode) {
    dialogDivNode = document.createElement('div');
    dialogDivNode.id = dialogDivId;
    dialogDivNode.style.position = 'absolute';
    /*dialogDivNode.style.width = '495px';*/
    dialogDivNode.style.zIndex = 101;
    dialogDivNode.style.backgroundColor = '#FFF';
    //dialogDivNode.style.margin = '50px 250px';
    dialogDivNode.style.border = '1px solid #000';
    document.body.insertBefore(dialogDivNode, document.body.childNodes[0]);
  }
  dialogDivNode.style.display = 'block';
  dialogDivNode.innerHTML = contents;
  var x = Math.round((document.body.clientWidth - dialogDivNode.offsetWidth) / 2);
  var y = Math.round((document.body.clientHeight-dialogDivNode.offsetHeight) / 4 + document.documentElement.scrollTop);
  dialogDivNode.style.left = x + "px";
  dialogDivNode.style.top = y + "px";
}
