var dlg, dlg_is_open = false, dlg_eval, dlg_val;

//checks if a dialog window is open- if so, chcnages focus to it
function dlg_check() {
	try {
	  if (dlg_is_open) {
	    dlg.focus();
	    return false;
	  }
  }
  catch(e) {}
  return true;
}

//opens a new dialog window
function dlg_open(url,width,height,return_eval) {
  if (!dlg_is_open) {
    dlg_load();
    dlg_eval=return_eval;
    
    var sx=(screen.availWidth-width)/2, sy=(screen.availHeight-height)/2;                    
    dlg = window.open(url,"","left="+sx+",top="+sy+",directories=no,width="+width+",height="+height+",location=no,menubar=no,resizable=no,scrollbars=yes,toolbar=no,status=no");  
  }
}

//called when opening a dialog window
function dlg_load() {
  dlg_is_open=true;
  
  //hide all select items to prevent postbacks
	var col = document.getElementsByTagName ("SELECT");
	for (i=0; i<col.length; i++) col[i].disabled = true;//style.visibility = "hidden";
}

//called by dialog window in onunload
function dlg_return(val) {
  dlg_is_open=false;
    
  //show all select items
	var col = document.getElementsByTagName ("SELECT");
	for (i=0; i<col.length; i++) col[i].disabled = false;//style.visibility = "visible";
  
  if (val!='') {
    dlg_val=val;
    eval(dlg_eval);
  }
}

//release dialog
function dlg_release() {
	dlg = null;
	dlg_is_open = false;
}

//events try to ensure that the dialog will keep focus
window.onfocus = dlg_check; 
window.onclick = dlg_check;
document.onmousedown = dlg_check;
document.onkeydown = dlg_check;


