if (!warn)
	var warn = {};

/**
 * warn module
**/
warn = {
	title: null,
	intro: null,
	messages: Array(),
	button: "OK",
	className: "warn",
	parent: null,
	popup: null,
	content: false,
	set: {
		title: function(title) {
			warn.title = title;
		},
		intro: function(intro) {
			warn.intro = intro;
		},
		messages: function(messages) {
			warn.messages = messages;
		},
		className: function(className) {
			warn.className = className;
		},
		parent: function(parent) {
			warn.parent = parent;
		},
		message: function(message) {
			warn.messages[warn.messages.length] = message;
			if (!warn.content)
				warn.content = true;
		},
		button: function(message) {
			warn.message.button = message;
		}
	},
	display: function() {
		if (warn.popup) {
			warn.focus();
			return false;
		}
		
		warn.add.popup();
		warn.content = true;
		
		var title = document.createElement("div");
		warn.popup.appendChild(title);
		title.className = "title";
		
		warn.add.txt(warn.title, title);
		
		var content = document.createElement("div");
		warn.popup.appendChild(content);
		content.className = "content";
		
		if (warn.intro) {
			warn.add.span(warn.intro, content);
		}
		
		if (warn.messages) {
			var ul = warn.add.ul(content);
			var messages_n = warn.messages.length;
			for (var i = 0; i < messages_n; i++) {
				warn.add.li(warn.messages[i], ul);
			}
		}
		
		warn.add.button(warn.button, warn.popup);
		
		warn.parent.appendChild(warn.popup);
		warn.focus();
	},
	add: {
		txt: function(txt, parent) {
			var t = document.createTextNode(txt);
			parent.appendChild(t);
		},
		span: function(txt, parent) {
			var span = document.createElement("span");
			parent.appendChild(span);
			var t = warn.add.txt(txt, span);
			return span;
		},
		ul: function(parent) {
			var ul = document.createElement("ul");
			parent.appendChild(ul);
			return ul;
		},
		li: function(txt, parent) {
			var li = document.createElement("li");
			parent.appendChild(li);
			var t = warn.add.txt(txt, li);
			return li;
		},
		button: function(txt, parent) {
			var button = document.createElement("div");
			parent.appendChild(button);
			button.className = "button";
			button.innerHTML = "<input type=\"button\" id=\"warn_button\" value=\"" + txt + "\" onclick=\"warn.clear()\" />\r\n";
		},
		popup: function() {
			warn.iframe = document.createElement("iframe");
			warn.iframe.className = "warn_iframe";
			warn.parent.appendChild(warn.iframe);
			
			warn.popup = document.createElement("div");
			warn.popup.className = warn.className;
			warn.popup.onmouseover = function() {
				warn.focus();
			}
		}
	},
	focus: function() {
		var button = document.getElementById("warn_button");
		button.focus();
	},
	clear: function() {
		warn.iframe.parentNode.removeChild(warn.iframe);
		warn.popup.parentNode.removeChild(warn.popup);
		warn.popup = null;
		warn.messages = Array();
		warn.title = null;
		warn.intro = null;
		warn.parent = null;
		warn.content = false;
	}
}