function DialogWindow_OpenDialog(url,name,features) {
	if ( window.DialogWindow_CurrentDialog != null ) {
		window.DialogWindow_CurrentDialog.focus();
	}
	window.DialogWindow_CurrentDialogName = name;
	window.DialogWindow_CurrentDialog = window.open(url, name, features);
	window.setTimeout(DialogWindow_CatchClose,500);
}
function DialogWindow_CatchClose() {
	var dialog = DialogWindow_CurrentDialog;
	if ( dialog != null ) {
		if ( dialog.closed ) {
			DialogWindow_DoDialogPostBack(null);
		} else {
			if ( dialog.screenTop < 0 ) {
				DialogWindow_ModalFocus();
			}
			window.setTimeout(DialogWindow_CatchClose,500);
		}
	}
}
function DialogWindow_ModalFocus(e) {
	var dialog = DialogWindow_CurrentDialog;
	if ( dialog != null && !dialog.closed ) {
		dialog.focus();
		if ( window.event ) {
			window.event.cancelBubble = true;
		}
		if ( e && e.stopPropagation ) {
			e.stopPropagation();
		}
		if ( typeof ( dialog.DialogWindow_ModalFocus ) != "undefined" ) {
			dialog.DialogWindow_ModalFocus(e);
		}
		return false;
	}
	return true;
}
function DialogWindow_DoDialogPostBack(result) {
	if ( window.DialogWindow_PostingBack ) {
		return;
	}
	window.DialogWindow_PostingBack = true;
	window.DialogWindow_CurrentDialog = null;
	var theScript = '';
	for( var i = 0; i < DialogWindows.length; i = i + 3 ) {
		if ( DialogWindows[i] == window.DialogWindow_CurrentDialogName ) {
			theScript = DialogWindows[i+1];
			if ( result == null ) {
				result = DialogWindows[i+2];
			}
		}
	}
	eval( theScript.replace('@dialogResult@',result.replace("'", "\\'")) );
}
function DialogWindow_Init() {
	window.DialogWindow_CurrentDialog = null;
	window.DialogWindow_PostingBack = false;
	if ( typeof( window.addEventListener ) != "undefined" ) {
		window.addEventListener("focus",DialogWindow_ModalFocus,true);
		document.addEventListener("mouseover",DialogWindow_ModalFocus,true);
	} else if ( typeof( window.attachEvent ) != "undefined" ) {
		window.attachEvent("onfocus",DialogWindow_ModalFocus);
		document.attachEvent("onmouseover",DialogWindow_ModalFocus);
	} else {
		window.onfocus = DialogWindow_ModalFocus;
		document.onmouseover = DialogWindow_ModalFocus;
	}
}

function DialogWindow_Close(results) {
	if ( window.opener != null && typeof( window.opener.DialogWindow_DoDialogPostBack) != 'undefined' ) {
		window.opener.DialogWindow_DoDialogPostBack(results);
	} else {
		window.alert('The page that this dialog belonged to is no longer available. The results may not be what was expected');
	}
	window.close();
}

