﻿
/* Status Area */

var StatusArea = {
	clientID: null,
	mControl: null,
	mArgs: null,

	init: function(args) {
		this.mArgs = args;
		this.clientID = args.clientID;
	},

	clear: function() {
		var objP;
		var objControl = StatusArea._getControl();
		var intIndex;
		var intCount;

		objP = objControl.getElementsByTagName('p');
		intCount = objP.length;
		intIndex = 0;
		while (objP.length > 0 && objP[0] && intCount > intIndex) {
			try {
				objControl.removeChild(objP[0]);
			} catch (ex) { }
			objP = objControl.getElementsByTagName('p');
			intIndex++;
		}

	},

	add: function(strType, strMessage) {
		var objControl = StatusArea._getControl();
		var objP = $CE('p');
		var objSpan = $CE('span', { className: 'StatusAreaType' + strType });

		/* 
		strType :=         
		None
		Information
		Warning
		Fatal
		*/
		objControl.className = 'StatusArea StatusAreaType' + strType;

		objP.appendChild(objSpan);
		objP.appendChild(document.createTextNode(strMessage));
		objControl.appendChild(objP);
		StatusArea.show();
	},

	hide: function() {
		var objControl = StatusArea._getControl();
		var objX = objControl.getElementsByTagName('a')[0];
		StatusArea.clear();
		objControl.hide();
		if (objX)
			$(objX).hide();
	},

	show: function() {
		var objControl = StatusArea._getControl();
		var objX = objControl.getElementsByTagName('a')[0];
		if (objX)
			$(objX).show();
		objControl.show();
		document.location.href = '#StatusAreaNavigation';
	},

	_getControl: function() {
		var objA;
		var objSpan;
		var objTmp;

		if (StatusArea.mControl == null) {
			if ((StatusArea.clientID == '') || (StatusArea.clientID == null)) {
				StatusArea.clientID = 'divStatusAreaControl';
			}
			StatusArea.mControl = $(StatusArea.clientID);
			if (StatusArea.mControl == null) {
				objTmp = $$('div.StatusArea');
				if (objTmp.length > 0) {
					StatusArea.mControl = objTmp[objTmp.length - 1];
				}
			}


			if (StatusArea.mControl == null) {
				StatusArea.mControl = $CE('div', { id: StatusArea.clientID, className: 'StatusArea' }, { display: 'none' });
				//document.forms['aspnetForm'].appendChild(StatusArea.mControl);
				document.forms['aspnetForm'].insertBefore(StatusArea.mControl, document.forms['aspnetForm'].firstChild);
			}

			if (StatusArea.mControl.getElementsByTagName('a').length < 1) {
				objA = $CE('a', { title: 'Close', className: 'close', href: 'javascript:StatusArea.hide();' }, { display: 'none' });
				objSpan = $CE('span');
				objSpan.innerHTML = '[X]';
				objA.appendChild(objSpan);
				StatusArea.mControl.appendChild(objA);
				objA = $CE('a', { name: 'StatusAreaNavigation' });
				StatusArea.mControl.appendChild(objA);
			}


		}
		return StatusArea.mControl;
	},

	getType: function() { return 'StatusArea'; }

};

/* End of Status Area */
         
         
         

