////////////////////////////////
//ERROR MESSAGE OBJECT//
////////////////////////////////
function ErrorMsgObj () {
	this.errMsgArray = new Array ();

	//declare object's functions to outbound names
    	ErrorMsgObj.prototype.setLanguage = errLanguage;
    	
    	ErrorMsgObj.prototype.initErrMsgs = errMsgsInit;
    	ErrorMsgObj.prototype.addErrorMsg = errorMsgAdd;
    	ErrorMsgObj.prototype.dispErrMsgs = alertErrMsg;
	ErrorMsgObj.prototype.setError = setErrorField;
	ErrorMsgObj.prototype.focusFirst = setFocusOnFirstError;
	
	function errLanguage (language){
		this._language = language;
	}
	
	
	function errMsgsInit () {
		this.errMsgArray.length = this.errMsgIndex = 0;
		this.errMsgAdded = false;
	}

	function errorMsgAdd (msg) {
		this.errMsgArray [this.errMsgIndex++] = '' + msg + '';
		this.errMsgAdded = true;
	}

	function alertErrMsg () {
		var lne = '_______________________________________________';

		var msg = '';
		if (this._language == "FR"){
			msg = 'La forme n\'a pas été soumise en raison des erreurs suivantes. \n';
	
		}
		else{
			msg = 'The form was not submitted because of the following error(s). \n';
		}


		msg += lne + '\n\n';

		for (var n = 0; n < this.errMsgIndex; ++n)
			msg += '*   ' + this.errMsgArray [n] + '\n';

		if (this._language == "FR"){
			msg += lne + '\n\nVeuillez corriger ces errros et essayez encore.';
		
		}
		else{
			msg += lne + '\n\nPlease correct ';
			msg += (this.errMsgIndex > 1) ? 'these errors' : 'this error';
			msg += ' and try again.';
		}


		

		alert (msg);
	}

	function setErrorField(errField) {
		if (this.errMsgArray.length == 1)
		{
			this.errField = errField;
		}
	}

	function setFocusOnFirstError() {
		var theField = this.errField;
		theField.focus();
	}
}