/**
 * (c) Copyright Ashantiplc Limited.
 * All Rights Reserved. Duplication prohibited.
 * Redistribution, Transmission, displayed by any means prohibited.
 * You may not alter or remove any trademark, copyright or other notices.
 * Author: Vyacheslav Shindin, Roman Glebov
 */
function setDialog(id, text, x, y) {
	var dialog = document.getElementById(id);
	if (dialog.contentDocument == undefined) {
		var content = window.frames[id].document;
	} else {
		var content = dialog.contentDocument;
	};
	content.getElementById('dialogText').innerHTML = text.toString().replace(/\n/g, '<br>');
	container = content.getElementById('dialogContainer');
	dialog.style.position = 'absolute';
	dialog.style.display = 'block';
	dialog.width = container.offsetWidth;
	dialog.height = container.offsetHeight;
	if (x && y) {
		if (document.documentElement.offsetWidth + document.documentElement.scrollLeft - dialog.width - x < 0) { x = document.documentElement.offsetWidth + document.documentElement.scrollLeft - dialog.width; }
		if (document.documentElement.offsetHeight + document.documentElement.scrollTop - dialog.height - y < 0) { y = document.documentElement.offsetHeight + document.documentElement.scrollTop - dialog.height; }
		if (x < 0) { x = 0; }
		if (y < 0) { y = 0; }
		dialog.style.left = x+'px';
		dialog.style.top = y+'px';
	} else {
		dialog.style.left = (document.documentElement.offsetWidth-dialog.offsetWidth)/2+document.documentElement.scrollLeft + 'px';
		dialog.style.top = (document.documentElement.offsetHeight-dialog.offsetHeight)/2+document.documentElement.scrollTop + 'px';
	}
	
	return content;
}

function cDialog(text, x, y, callback) {
	var content = setDialog('confirmDialog', text, x, y);
	content.getElementById('confirmOk').onclick = callback;
	content.getElementById('confirmClose').onclick = function () {
		content.getElementById('dialogText').value = '';
		document.getElementById('confirmDialog').style.display = 'none';
	}
}

function alertMoved(text, x, y) {
	alert(text, null, x, y);
}

var old_alert = alert;
var alert = function (text, _func, x, y) {
	var content = setDialog('alertDialog', text, x, y);
	content.getElementsByTagName('INPUT')[0].onclick = function () {
		content.getElementById('dialogText').value = '';
		document.getElementById('alertDialog').style.display = 'none';
		if (_func) _func ();
	}

}

