/**
 * @author gilzowp
 */
		objErrorReporter = new Class({
			initialize:function(){
				this.className 		= 'mu-error-reporting';
				this.errOverlayID 	= this.className + '-overlay';
				this.errContainerID = this.className + '-container';
				this.errMsgs 		= new Array();
				this.errHeader		= 'Problems Encountered!';
				this.errMainEntryMsg	= 'I apologize for the inconvenience, but please inform the site administrator that the following errors were encountered:';
				this.error			= false;
				this.errEntryMsg	= '';
			},
			
			RecordError:function(strErrMsg){
				if(this.IsArgAString(strErrMsg)){
					this.errMsgs.include(strErrMsg);
					if(!this.error){
						this.error = true;
					}
				} 
			},
			
			SetErrorHeader:function(strErrHeader){
				if(this.IsArgAString(strErrHeader)){
					this.errHeader = strErrHeader;
				}	
			},
			
			SetErrorMainEntryMsg:function(strErrEntryMsg){
				if(this.IsArgAString(strErrEntryMsg)){
					this.errMainEntryMsg = strErrEntryMsg;
				}	
			},
			
			SetErrorEntryMsg:function(strErrEntryMsg){
				if(this.IsArgAString(strErrEntryMsg)){
					this.errEntryMsg = strErrEntryMsg;
				}
			},
			
			IsArgAString:function(strString){
				if($type(strString) == 'string'){
					return true;
				} else {
					return false;
				}	
			},
			
			ErrorsEncountered:function(){
				return this.error;
			},
			
			DisplayErrors:function(){
				if(this.errMsgs.length > 0){
					if(!$chk($(this.errContainerID))){
						this.CreateContainers();
					}
					
					var elmMyErrContainer	= $(this.errContainerID);
					var elmErrIntroMsg 	= new Element('p').setHTML(this.errEntryMsg);
					var elmSeparate		= new Element('hr');
					var elmErrList 		= new Element('ul');
					var intCounter 		= 1;
					
					$each(this.errMsgs,function(strMsg){
						var elmErrListItem = new Element('li').setHTML(strMsg);
						if(intCounter == 1){
							elmErrListItem.setStyle('clear','both');	
						}
						elmErrList.appendChild(elmErrListItem);	
						++intCounter;
					});
					
					elmMyErrContainer.appendChild(elmErrIntroMsg);
					elmMyErrContainer.appendChild(elmErrList);
					elmMyErrContainer.appendChild(elmSeparate);
					//this.errContainer.appendChild(elmErrList);
							
				} 	
			},
			
			CreateContainers:function(){
					var intRandom				= $random(1,100);
					var elmErrHeader 			= new Element('p').setHTML(this.errHeader);
					
					var intZindex				= 100 + intRandom;

					var elmErrOverlay 	= new Element('div',{
																'id':this.errOverlayID,
																'styles':{
																	'position':'absolute',
																	'top':'0px',
																	'left':'0px',
																	'width':'100%',
																	'height':'100%',
																	'display':'block',
																	'height':'100%',
																	'z-index': intZindex,
																	'background-color':'#AAAAAA'
																}
														}).setOpacity(0.9);
														
														
					var elmErrContainer = new Element('div',{
																'id':this.errContainerID,
																'styles':{
																	'width':'350px',
																	'margin':'200px auto 0',	
																	'background-color':'yellow',
																	'border':'2px solid black',
																	'padding':'1px 5px 5px 5px',
																	'z-index':intZindex + 1
																}
														});														

					var elmLinkContainer	= new Element('div',{
															'styles': {
																		'width':'100%',
																		'text-align':'right'
														    }
														});
					var elmLink				= new Element('a',{
															'events':{
																'click':function(){
																	$(this.errOverlayID).remove();
																}.bind(this)	
															}
														}).setHTML('Close [X]');

					var elmSeparate	       = new Element('hr');
					
					elmLinkContainer.appendChild(elmLink);
					elmErrContainer.appendChild(elmLinkContainer);
					elmErrContainer.appendChild(elmErrHeader);
					elmErrContainer.appendChild(elmSeparate);
					//elmErrContainer.appendChild(elmErrIntroMsg);
					elmErrOverlay.appendChild(elmErrContainer);
					$E('body').appendChild(elmErrOverlay);
					this.errContainer = elmErrContainer;									
			}
		});