function CTransManager(a_szName)
{ var m_szName = a_szName; this.m_szName = m_szName; var m_szCurrentSequenceName = null; this.m_szCurrentSequenceName = m_szCurrentSequenceName; var m_szDefaultSequenceName = "__self"
var m_arrSequences = new Object; var m_iCurSequenceIndex = null; var m_iEvalInterval = 1; var m_szLastSequenceName = null; var m_szCurrentSequenceName = null; function isRunning()
{ if(m_szCurrentSequenceName)
{ return true;}
return false;}
this.isRunning = isRunning; function runSequence(a_szName)
{ if(isRunning())
{ return;}
var arrCurSequence = m_arrSequences[a_szName]; if(arrCurSequence)
{ if(arrCurSequence.length > 0)
{ m_iCurSequenceIndex = 0; m_szCurrentSequenceName = a_szName; m_szLastSequenceName = (a_szName == m_szDefaultSequenceName) ? m_szLastSequenceName : a_szName; runStep(arrCurSequence[m_iCurSequenceIndex]);}
}
}
this.runSequence = runSequence; function runDefaultSequence()
{ runSequence(m_szDefaultSequenceName);}
this.runDefaultSequence = runDefaultSequence; function getLastSequenceRan()
{ return m_szLastSequenceName;}
this.getLastSequenceRan = getLastSequenceRan; function continueSequence()
{ if(!m_szCurrentSequenceName) return; var arrCurSequence = m_arrSequences[m_szCurrentSequenceName]; if(arrCurSequence)
{ m_iCurSequenceIndex++; if(m_iCurSequenceIndex < arrCurSequence.length)
{ runStep(arrCurSequence[m_iCurSequenceIndex]);}
else
{ m_iCurSequenceIndex = null; m_szCurrentSequenceName = null;}
}
}
this.continueSequence = continueSequence; function runStep(a_szStep)
{ var szEval = "setTimeout(\""+a_szStep+"\","+m_iEvalInterval+")"; eval(szEval);}
function addDefaultSequence(a_arrTrans)
{ addSequence(m_szDefaultSequenceName,a_arrTrans);}
this.addDefaultSequence = addDefaultSequence; function addSequence(a_szName, a_arrTrans)
{ var newSequence = new Array(); for(oLine in a_arrTrans)
{ newSequence.push(a_arrTrans[oLine]);}
m_arrSequences[a_szName] = newSequence;}
this.addSequence = addSequence;}
