	validateRequests: function ()	{		var valid = this.mSeqTree.getValidRequests();				// If there is no current activity or the current activity is inactive,		// no state change could have occured since the last validation.		var cur = this.mSeqTree.getCurrentActivity();				if (cur != null)		{			var test = false;			valid = new ADLValidRequests();			var tempLaunch = new ADLLaunch();						// Clear global state			this.mValidTermination = true;			this.mValidSequencing = true;						var seqReq = null;			var seqReqSuccess = false;						var delReq = null;						// If there is a current activity and it is active,			// 'suspendAll' is a valid Navigation Request			if (cur.getIsActive())			{				valid.mSuspend = true;			}						// If the current activity does not prevent choiceExit,			// Test all 'Choice' requests			if (cur.getControlModeChoiceExit() || !cur.getIsActive())			{				valid.mTOC = this.getTOC(this.mSeqTree.getRoot());			}						if (valid.mTOC != null)			{								// todo: investigate why newTOC should get a length > 0 here				var newTOC = new Array();				valid.mChoice = this.getChoiceSet(valid.mTOC, newTOC);								if (newTOC.length > 0)				{					valid.mTOC = newTOC;				}				else				{					valid.mTOC = null;				}			}						if (cur.getParent() != null)			{				// Always provide a Continue Button if the current activity				// is in a 'Flow' cluster				if (cur.getParent().getControlModeFlow())				{					valid.mContinue = true;				}								test = this.doIMSNavValidation(NAV_PREVIOUS);								if (test)				{					// Test the 'Previous' request					this.mValidSequencing = true;										delReq = this.doSequencingRequest(SEQ_PREVIOUS);					if (this.mValidSequencing)					{						valid.mPrevious = this.doDeliveryRequest(delReq, true, tempLaunch);					}				}           			}     		}		else		{			valid = new ADLValidRequests();						// Check to see if a resume All should be processed instead of a start			if (this.mSeqTree.getSuspendAll() != null)			{				valid.mResume = true;			}			else			{				// Test Start Navigation Request				var walk = new Walk();				walk.at = this.mSeqTree.getRoot();								valid.mStart = this.processFlow(FLOW_FORWARD, true, walk, false);								// Validate availablity of the identfied activity if one was identified				if (valid.mStart)				{					var ok = true;					while (walk.at != null && ok)					{						ok = !this.checkActivity(walk.at);												if (ok)						{							walk.at = walk.at.getParent();						}						else						{							valid.mStart = false;						}					}				}			}						// Test all 'Choice' requests			valid.mTOC = this.getTOC(this.mSeqTree.getRoot());						if (valid.mTOC != null)			{				var newTOC = new Array();				valid.mChoice = this.getChoiceSet(valid.mTOC, newTOC);								if (newTOC.length > 0)				{					valid.mTOC = newTOC;				}				else				{					valid.mTOC = null;				}			}		}				// If an updated set of valid requests has completed, associated it with		// the activity tree		if (valid != null)		{			this.mSeqTree.setValidRequests(valid);		}	},
6251	/local1/tlutelli/issta_data/temp/all_js/javascript/2007_temp/2007/6251/1411d268e590bd7d23033c9d5908b240a6aef0df/ADLSequencer.js/clean/Modules/Scorm2004/scripts/adl2js/ADLSequencer.js