﻿var Step3Model = (function() {
    function fnStep3ModelConstructor() {
        /****************************************************/
		/*                                                  */
		/*                                                  */
		/*              Extend Observable Class             */
		/*                                                  */
		/*                                                  */
		/****************************************************/
		
		Observable.call(this);
		var SUPER = new Object();
		for (var sMember in this)
			SUPER[sMember] = this[sMember];
		for (var sMember in Observable.prototype)
			SUPER[sMember] = Observable.prototype[sMember];
			
		/****************************************************/
		/*                                                  */
		/*                                                  */
		/*                 Private Variables                */
		/*                                                  */
		/*                                                  */
		/****************************************************/
		
		var sReferenceNumber;
		var sRecipientEmailAddress;
		var sSenderEmailAddress;
		var sMessage;
			
		/****************************************************/
		/*                                                  */
		/*                                                  */
		/*                Accessors/Mutators                */
		/*                                                  */
		/*                                                  */
		/****************************************************/
		
		this.getReferenceNumber = function() {
		    return sReferenceNumber;
		}
		
		this.setReferenceNumber = function(sNewReferenceNumber) {
		    sReferenceNumber = sNewReferenceNumber;
		    this.setChanged();
			this.notifyObservers({event: "Reference Number Changed"});
		}
		
		this.getRecipientEmailAddress = function() {
		    return sRecipientEmailAddress;
		}
		
		this.setRecipientEmailAddress = function(sNewRecipientEmailAddress) {
		    sRecipientEmailAddress = sNewRecipientEmailAddress;
		    this.setChanged();
			this.notifyObservers({event: "Recipient Email Address Changed"});
		}
		
		this.getSenderEmailAddress = function() {
		    return sSenderEmailAddress;
		}
		
		this.setSenderEmailAddress = function(sNewSenderEmailAddress) {
		    sSenderEmailAddress = sNewSenderEmailAddress;
		    this.setChanged();
			this.notifyObservers({event: "Sender Email Address Changed"});
		}
		
		this.getMessage = function() {
		    return sMessage;
		}
		
		this.setMessage = function(sNewMessage) {
		    sMessage = sNewMessage;
		    this.setChanged();
			this.notifyObservers({event: "Message Changed"});
		}	
    }
    
    fnStep3ModelConstructor.prototype = new Observable();
	fnStep3ModelConstructor.prototype.constructor = Step3Model;
	
    return fnStep3ModelConstructor;
})();