// over-ride the alert method only if this a newer browser.
// Older browser will see standard alerts
//function originalAlertObject = alert;

var CustomAlert = function(title, button) {
	this.title = title;
	this.button = button;

	this.vIE = function() {
		return (navigator.appName=='Microsoft Internet Explorer')?parseFloat((new RegExp("MSIE ([0-9]{1,}[.0-9]{0,})")).exec(navigator.userAgent)[1]):-1;
	}		

	this.show = function(txt) {
		if (this.vIE() != 6)
			this.createCustomAlert(this.title, this.button, txt);
		else
			alert(txt);
	}

	this.createCustomAlert = function(ALERT_TITLE, ALERT_BUTTON_TEXT, txt) {
		// shortcut reference to the document object
		d = document;

		// if the modalContainer object already exists in the DOM, bail out.
		if(d.getElementById("modalContainer")) return;

		// create the modalContainer div as a child of the BODY element
		mObj = d.getElementsByTagName("body")[0].appendChild(d.createElement("div"));
		mObj.id = "modalContainer";
		 // make sure its as tall as it needs to be to overlay all the content on the page
		mObj.style.height = document.documentElement.scrollHeight + "px";

		// create the DIV that will be the alert 
		alertObj = mObj.appendChild(d.createElement("div"));
		alertObj.id = "alertBox";
		// MSIE doesnt treat position:fixed correctly, so this compensates for positioning the alert
		if(d.all && !window.opera) alertObj.style.top = document.documentElement.scrollTop + "px";

		// create an H1 element as the title bar
		h1 = alertObj.appendChild(d.createElement("h1"));
		h1.appendChild(d.createTextNode(ALERT_TITLE));

		// create a paragraph element to contain the txt argument
		msg = alertObj.appendChild(d.createElement("p"));

		txtArray = txt.split("\n");
		for (i = 0; i < txtArray.length; i++) {
			msg.appendChild(d.createTextNode(txtArray[i]));
			msg.appendChild(d.createElement("br"));
		}
		alertObj.appendChild(d.createElement("br"));

		// create an anchor element to use as the confirmation button.
		btn = alertObj.appendChild(d.createElement("a"));
		btn.id = "closeBtn";
		btn.appendChild(d.createTextNode(ALERT_BUTTON_TEXT));
		btn.href = "#";
		// set up the onclick event to remove the alert when the anchor is clicked
		btn.onclick = function() { document.getElementsByTagName("body")[0].removeChild(document.getElementById("modalContainer")); return false; }

		// center the alert box
		alertObj.style.left = (d.documentElement.scrollWidth - alertObj.offsetWidth)/2 + "px";
	}
}
