// global variables //
var TIMER = 5;
var SPEED = 10;
var WRAPPER = 'wrapper';

// calculate the current window width //
function pageWidth() {
  return window.innerWidth != null ? window.innerWidth : document.documentElement && document.documentElement.clientWidth ? document.documentElement.clientWidth : document.body != null ? document.body.clientWidth : null;
}

// calculate the current window height //
function pageHeight() {
  return window.innerHeight != null? window.innerHeight : document.documentElement && document.documentElement.clientHeight ? document.documentElement.clientHeight : document.body != null? document.body.clientHeight : null;
}

// calculate the current window vertical offset //
function topPosition() {
  return typeof window.pageYOffset != 'undefined' ? window.pageYOffset : document.documentElement && document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop ? document.body.scrollTop : 0;
}

// calculate the position starting at the left of the window //
function leftPosition() {
  return typeof window.pageXOffset != 'undefined' ? window.pageXOffset : document.documentElement && document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft ? document.body.scrollLeft : 0;
}

// build/show the dialog box, populate the data and call the fadeDialog function //
function showDialog(title,message,type,autohide) {
  if(!type) {
    type = 'error';
  }
  var dim = getWindowDimensions();
  var dialog;
  var dialogheader;
  var dialogclose;
  var dialogtitle;
  var dialogcontent;
  var dialogmask;

	dialog = document.createElement('div');
	dialog.id = 'dialog';
	dialogheader = document.createElement('div');
	dialogheader.id = 'dialog-header';
	dialogtitle = document.createElement('div');
	dialogtitle.id = 'dialog-title';
	dialogclose = document.createElement('div');
	dialogclose.id = 'dialog-close'
	dialogcontent = document.createElement('div');
	dialogcontent.id = 'dialog-content';
	dialogmask = document.createElement('div');
	dialogmask.id = 'dialog-mask';
		document.body.appendChild(dialogmask);
		document.body.appendChild(dialog);	 
	dialog.appendChild(dialogheader);
	dialogheader.appendChild(dialogtitle);
	//dialogheader.appendChild(dialogclose);
	
	dialog.appendChild(dialogcontent);	
	dialogclose.setAttribute('onclick','hideDialog()');
	dialogclose.onclick = hideDialog;
	dialogmask.style.visibility = "visible";
	dialog.style.visibility = "visible";
	
  dialog.style.opacity = 1;
  dialog.style.filter = 'alpha(opacity=100)';
  dialog.alpha = 0;
  var width = pageWidth();
  var height = pageHeight();
  var left = leftPosition();
  var top = topPosition();
  var dialogwidth = dialog.offsetWidth;
  var dialogheight = dialog.offsetHeight;
  var topposition = top + (height / 3) - (dialogheight / 2);
  var leftposition = left + (width / 2) - (dialogwidth / 2);
  dialog.style.top = topposition + "px";
  dialog.style.left = leftposition + "px";
  dialogheader.className = type + "header";
  dialogtitle.innerHTML = title;
  dialogcontent.className = type;
  dialogcontent.innerHTML = message;
  dialogcontent.appendChild(dialogclose);
  dialogclose.innerHTML = 'Kapat';
  var content = document.getElementById(WRAPPER);
  dialogmask.style.height = content.offsetHeight + 'px';
  dialog.timer = setInterval("fadeDialog(1)", TIMER);
  if(autohide) {
    dialogclose.style.visibility = "hidden";
    window.setTimeout("hideDialog()", (autohide * 1000));
  } else {
    dialogclose.style.visibility = "visible";
  }  
}

// hide the dialog box //
function hideDialog() {
  var dialog = document.getElementById('dialog'); 
  clearInterval(dialog.timer);
  dialog.timer = setInterval("fadeDialog(0)", TIMER);
  if(typeof lastObj != 'undefined' && lastObj != null) lastObj.focus();

  var dialogMask = document.getElementById('dialog-mask');
  if (dialog) {
  	dialog.parentNode.removeChild(dialog);
  	dialogMask.parentNode.removeChild(dialogMask);
  }  
}

// fade-in the dialog box //
function fadeDialog(flag) {
  if(flag == null) {
    flag = 1;
  }

}

function getWindowDimensions() 
{
  var myWidth = 0, myHeight = 0;
  if( typeof( window.innerWidth ) == 'number' ) {
    //Non-IE
    myWidth = window.innerWidth;
    myHeight = window.innerHeight;
  } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
    //IE 6+ in 'standards compliant mode'
    myWidth = document.documentElement.clientWidth;
    myHeight = document.documentElement.clientHeight;
  } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
    //IE 4 compatible
    myWidth = document.body.clientWidth;
    myHeight = document.body.clientHeight;
  }
  return [myWidth, myHeight];
}