msgBox = function() {
  this.init(); 
};

msgBox.prototype = {
	msgBoxType : {yesNoCancel:0, yesNo:1, okCancel:2 },
	msgBoxID : null,
	divID : null,
	divElement : null,
	msgBoxElement : null,
	mainStopElement : null,
	greyElement : null,
	msgBoxAns : null,
	
	init: function() {
		// cant get this to work for some reason
		// addResizeEvent(msgBox1.resize);
	},

	resize: function() {
		if (this.greyElement) {
			this.greyElement.style.width = pageWidth()+'px';
			this.greyElement.style.height = pageHeight()+'px';
		}
	},
	
	optionClick : function(optionVal, fncName) {
		quText = '';
		this.hide();
		if (typeof(fncName) != undefined && fncName != undefined) {
			//get results of popup form
			results = [];
			x=0;
			foundResult = true;
			while (foundResult) {
				foundResult = (quElement = document.getElementById(this.divID+'qu'+x));
				if (foundResult)
					results[results.length] = quElement.value;
				x++;
			}
			fncName(optionVal, results, this.itemID);
		}
	},
	optionClickKeyPress : function(e, optionVal, fncName) {
		if (isKeyPress(e,13)) {
			this.optionClick(optionVal, fncName);
		}
	},
	showInput : function (msgBoxID, divID, header, qu, inputLabel, width, height, type, msgBoxAns, itemID) {
		qu = qu+'<br><br><div ><label class="msgBoxLabel" for="'+divID+'qu0">'+inputLabel+'</label>&nbsp;<input onKeyPress="'+msgBoxID+'.optionClickKeyPress(event,1,'+msgBoxAns+');" class="msgBoxTextBox" id="'+divID+'qu0" type="text" tabindex="1"></div>';
		this.show(msgBoxID, divID, header, qu, width, height, type, msgBoxAns, itemID);
		txtBox = document.getElementById(divID+'qu0');
		if (txtBox)
			txtBox.focus();
	},
	
	show : function (msgBoxID, divID, header, qu, width, height, type, msgBoxAns, itemID) { 
		var msgBoxTop, msgBoxLeft;
		this.itemID = itemID;
		this.divElement = document.getElementById(divID);
		this.msgBoxID = msgBoxID;
		this.divID = divID;
		msgBoxTop = posTop() + (windowHeight()/2) - (height/2);
		msgBoxLeft = posLeft() + (windowWidth()/2) - (width/2);
		ob = [];
		ob[ob.length] = '<div id="'+divID+'Main" class="msgBoxMain" >';
		ob[ob.length] = '<div id="'+divID+'Title" class="msgBoxTitle" >'+header+'</div>';
		ob[ob.length] = '<p>';
		ob[ob.length] = 	'<div id="'+divID+'Text" style="height:'+(height-108)+'px;"class="msgBoxText">'+qu+'</div>';	
		ob[ob.length] = '</p>';
		ob[ob.length] = '<p>';
		
		msgBoxOpt1 = '';
		msgBoxOpt2 = '';
		msgBoxOpt3 = '';
		switch (type)	{
			case this.msgBoxType.yesNoCancel :
				msgBoxOpt1 = '&nbsp;Yes&nbsp;';
				msgBoxOpt2 = '&nbsp;No&nbsp;';
				msgBoxOpt3 = '&nbsp;Cancel&nbsp;';
			break;
			case this.msgBoxType.yesNo :
				msgBoxOpt1 = '&nbsp;Yes&nbsp;';
				msgBoxOpt2 = '&nbsp;No&nbsp;';
			break;
			case this.msgBoxType.okCancel :
				msgBoxOpt1 = '&nbsp;Ok&nbsp;';
				msgBoxOpt2 = '&nbsp;Cancel&nbsp;';
			break;
			case this.msgBoxType.ok :
				msgBoxOpt1 = '&nbsp;Ok&nbsp;';
			break;
		}
		ob[ob.length] = '<input name="'+divID+'msgBoxOpt1" id="'+divID+'msgBoxOpt1" class="button" type="button" class="msgbtn" value="'+msgBoxOpt1+'" onclick="'+msgBoxID+'.optionClick(1,'+msgBoxAns+');"  tabindex="2">';
		if (msgBoxOpt2!= '')
		ob[ob.length] = '&nbsp;&nbsp;&nbsp;<input name="'+divID+'msgBoxOpt2" id="'+divID+'msgBoxOpt2" type="button" class="msgbtn" value="'+msgBoxOpt2+'" onclick="'+msgBoxID+'.optionClick(2,'+msgBoxAns+');" tabindex="3">';
		if (msgBoxOpt3 != '')
			ob[ob.length] = '&nbsp;&nbsp;&nbsp;<input name="'+divID+'msgBoxOpt3" id="'+divID+'msgBoxOpt3" type="button" class="msgbtn" value="'+msgBoxOpt3+'" onclick="'+msgBoxID+'.optionClick(3,'+msgBoxAns+');" tabindex="4">';
		ob[ob.length] = '</p>';
		ob[ob.length] = '</div>';

		ob[ob.length] = '		<iframe name="'+divID+'MainStop" id="'+divID+'MainStop" src="j avascript:\'<html></html>\';" scrolling="no" frameborder="0"';
		ob[ob.length] = '			class="msgBoxMainStop">';
		ob[ob.length] = '		</iframe>';
	
		ob[ob.length] = '		<div id="'+divID+'grey" name="'+divID+'grey" class="msgBoxGrey" ';
		ob[ob.length] = '			onClick="return false" onmousedown="return false" onmousemove="return false" onmouseup="return false" ondblclick="return false">';
		ob[ob.length] = '		</div>';
		
		this.divElement.innerHTML = ob.join("");

		this.msgBoxElement = document.getElementById(divID+'Main');
		this.msgBoxElement.style.left = msgBoxLeft+'px';
		this.msgBoxElement.style.top = msgBoxTop+'px';
		this.msgBoxElement.style.width = width+'px';
		this.msgBoxElement.style.height = height+'px';
		this.msgBoxElement.style.display = "block";
		
		/*this.mainStopElement = document.getElementById(divID+'MainStop');
		this.mainStopElement.style.left = (msgBoxLeft)+'px';
		this.mainStopElement.style.top = (msgBoxTop)+'px';
		this.mainStopElement.style.width = width+'px';
		this.mainStopElement.style.height = (height+3)+'px';
		this.mainStopElement.style.display = "block";
*/
		this.greyElement = document.getElementById(divID+'grey');
		this.greyElement.style.width = pageWidth()+'px';
		this.greyElement.style.height = pageHeight()+'px';
		this.greyElement.style.display =  "block";
		
		var appVer = navigator.appVersion.toLowerCase();
		var iePos = appVer.indexOf('msie');
		if (iePos !=-1) {
			var is_minor = parseFloat(appVer.substring(iePos+5,appVer.indexOf(';',iePos)));
			var is_major = parseInt(is_minor);
		}
		if (navigator.appName.substring(0,9) == "Microsoft") {
			// Check if IE version is 6 or older
			if (is_major <= 6) {
				var i,f;
				var sel=document.getElementsByTagName("SELECT");
				for(i=0;i<sel.length;i++){
					sel[i].disabled = true;
				}
			}
		}
/*		dd = new YAHOO.example.DDOnTop(divID+'Main');
		dd.setHandleElId(divID+'Title');
		ret = YAHOO.util.Event.addListener(window, "resize", this.resize, this, true);
	*/	
	},
	showSplash : function (msgBoxID, divID, content, width, height, itemID) { 
		var msgBoxTop, msgBoxLeft;
		this.itemID = itemID;
		this.divElement = document.getElementById(divID);
		this.msgBoxID = msgBoxID;
		this.divID = divID;
		msgBoxTop = posTop() + (windowHeight()/2) - (height/2);
		msgBoxLeft = posLeft() + (windowWidth()/2) - (width/2);
		
		ob = [];
		ob[ob.length] = '<div id="'+divID+'Main" class="msgBoxMain" >';
		ob[ob.length] = content;
		ob[ob.length] = '</div>';
		ob[ob.length] = '		<div id="'+divID+'grey" name="'+divID+'grey" class="msgBoxGrey" ';
		ob[ob.length] = '			onClick="return false" onmousedown="return false" onmousemove="return false" onmouseup="return false" ondblclick="return false">';
		ob[ob.length] = '		</div>';
		
		this.divElement.innerHTML = ob.join("");

		this.msgBoxElement = document.getElementById(divID+'Main');
		this.msgBoxElement.style.left = msgBoxLeft+'px';
		this.msgBoxElement.style.top = msgBoxTop+'px';
		this.msgBoxElement.style.width = width+'px';
		this.msgBoxElement.style.height = height+'px';
		this.msgBoxElement.style.display = "block";
		
		this.greyElement = document.getElementById(divID+'grey');
		this.greyElement.style.width = pageWidth()+'px';
		this.greyElement.style.height = pageHeight()+'px';
		this.greyElement.style.display =  "block";
		
		var appVer = navigator.appVersion.toLowerCase();
		var iePos = appVer.indexOf('msie');
		if (iePos !=-1) {
			var is_minor = parseFloat(appVer.substring(iePos+5,appVer.indexOf(';',iePos)));
			var is_major = parseInt(is_minor);
		}
		if (navigator.appName.substring(0,9) == "Microsoft") {
			// Check if IE version is 6 or older
			if (is_major <= 6) {
				var i,f;
				var sel=document.getElementsByTagName("SELECT");
				for(i=0;i<sel.length;i++){
					sel[i].disabled = true;
				}
			}
		}
	},
	
	hide : function () {
		this.msgBoxElement.style.display = "none";
		document.getElementById(this.divID+'MainStop').style.display = "none" ;
		document.getElementById(this.divID+'grey').style.display = "none";

		var appVer = navigator.appVersion.toLowerCase();
		var iePos = appVer.indexOf('msie');
		if (iePos !=-1) {
			var is_minor = parseFloat(appVer.substring(iePos+5,appVer.indexOf(';',iePos)));
			var is_major = parseInt(is_minor);
		}
		if (navigator.appName.substring(0,9) == "Microsoft") {
			// Check if IE version is 6 or older
			if (is_major <= 6) {
				var i,f;
				var sel=document.getElementsByTagName("SELECT");
				for(i=0;i<sel.length;i++){
					sel[i].disabled = false;
				}
			}
		}
	}
	
}