function WSSFrameIDs()
{
}

// Create constants as static class members
WSSFrameIDs.PRIMARYTOP         = 'stcTop'
WSSFrameIDs.PRIMARYBOTTOM      = 'stcBottom'
WSSFrameIDs.PRIMARYLEFT        = 'stcLeft'
WSSFrameIDs.PRIMARYRIGHT       = 'stcRight'

WSSFrameIDs.MAIN               = 'stcMain'
WSSFrameIDs.PING               = 'stcPing'
WSSFrameIDs.HIDDEN             = 'stcHidden'
WSSFrameIDs.DATA               = 'stcData'

WSSFrameIDs.SIGNON             = 'stcSignOn'

WSSFrameIDs.CLASSSEARCH        = 'stcClassSearch'
WSSFrameIDs.COURSESEARCH       = 'stcCourseSearch'
WSSFrameIDs.EVALUATECLASSES    = 'stcEvaluateClasses'
WSSFrameIDs.EVALUATECLASS      = 'stcEvaluateClass'
WSSFrameIDs.FINALIZECLASSES          = 'stcFinalizeClasses'
WSSFrameIDs.FINALIZECLASSDISPLAY     = 'stcFinalizeClassDisplay'
WSSFrameIDs.FINALIZECLASSOPTIONS     = 'stcFinalizeClassOptions'
WSSFrameIDs.FINALIZECONTENTDISPLAY   = 'stcFinalizeContentDisplay'
WSSFrameIDs.FINALIZECONTENTOPTIONS   = 'stcFinalizeContentOptions'
WSSFrameIDs.MYCALENDAR         = 'stcMyCalendar'
WSSFrameIDs.ROSTERTRANSCRIPT   = 'stcRosterTranscript'
WSSFrameIDs.CLASSROSTER        = 'stcClassRoster'
WSSFrameIDs.TRANSCRIPT         = 'stcTranscript'
WSSFrameIDs.TRANSCRIPTHIDDEN   = 'stcTranscriptHidden'
WSSFrameIDs.CLASSSCHEDULE      = 'stcClassSchedule'
WSSFrameIDs.COURSEDETAIL       = 'stcCourseDetail'
WSSFrameIDs.COURSEDETAILFOLDER = 'stcCourseDetailFolder'
WSSFrameIDs.CLASSDETAIL        = 'stcClassDetail'
WSSFrameIDs.CLASSDETAILFOLDER  = 'stcClassDetailFolder'
WSSFrameIDs.CLASSREGINPUT      = 'stcClassRegInput'
WSSFrameIDs.PREREQUISITES      = 'stcPrereqs'
WSSFrameIDs.COURSECONTENT      = 'stcECourseDetail'
WSSFrameIDs.RCTCLASSESS        = 'stcRCTClasses'
WSSFrameIDs.RCTSTUDENT         = 'stcRCTStudent'
WSSFrameIDs.REQUESTS           = 'stcRequests'

WSSFrameIDs.CURRICULUMLIST     = 'stcCurriculumList'
WSSFrameIDs.CATCURRICULUMLIST  = 'stcCatCurriculumList'
WSSFrameIDs.VIRTUALSINPROGRESS = 'stcVirtualsInProgress'
WSSFrameIDs.VIRTUALCANCEL      = 'stcVirtualCancel'
WSSFrameIDs.VIRTUALFINISH      = 'stcVirtualFinish'

WSSFrameIDs.SKILLSTRANSCRIPT   = 'stcSkillsTranscript'

WSSFrameIDs.SKILLS360SUMMARY       = 'stc360Summary'
WSSFrameIDs.SKILLS360SUMMARYHIDDEN = 'stc360SummaryHidden'

WSSFrameIDs.SKILLS360DATA       = 'stc360Data'
WSSFrameIDs.SKILLS360DATAHIDDEN = 'stc360DataHidden'

WSSFrameIDs.PROFILESEARCH      = 'stcProfileSearch'
WSSFrameIDs.PROFILECOMPARE     = 'stcProfileCompare'

WSSFrameIDs.SKILLSSEARCH          = 'stcSkillsSearch'
WSSFrameIDs.SKILLSLIST            = 'stcSkillsList'
WSSFrameIDs.SKILLSRESOURCES       = 'stcSkillsResources'
WSSFrameIDs.SKILLSRESOURCESHIDDEN = 'stcSkillsResourcesHidden'

WSSFrameIDs.ADDSELFTOGROUP        = 'stcAddSelfToGroup'

WSSFrameIDs.ASSESSORPICKER        = 'stcAssessorPicker'
WSSFrameIDs.ASSESSORPICKEROPTIONS = 'stcAssessorPickerOptions'

WSSFrameIDs.SKILLSPICKER          = 'stcSkillsPicker'
WSSFrameIDs.SKILLSPICKEROPTIONS   = 'stcSkillsPickerOptions'

WSSFrameIDs.PERSONADD             = 'stcPersonAdd'
WSSFrameIDs.PERSONDETAIL          = 'stcPersonDetail'

WSSFrameIDs.PLANINPUT             = 'stcPlanInput'

WSSFrameIDs.SELFASSESS            = 'stcSelfAssess'
WSSFrameIDs.SKILLSPLANINPUT       = 'stcSkillsPlanInput'

WSSFrameIDs.PLANTOP               = 'stcPlanTop'
WSSFrameIDs.PLANBOTTOM            = 'stcPlanBottom'
WSSFrameIDs.PLANHIDDEN            = 'stcPlanHidden'

WSSFrameIDs.SKILLSPLANTOP         = 'stcSkillsPlanTop'
WSSFrameIDs.SKILLSPLANBOTTOM      = 'stcSkillsPlanBottom'
WSSFrameIDs.SKILLSPLANHIDDEN      = 'stcSkillsPlanHidden'

WSSFrameIDs.CHATROOMBODY          = 'stcChatBody'
WSSFrameIDs.CHATROOMSEND          = 'stcChatSend'

WSSFrameIDs.SCOTRACEBODY          = 'stcSCOTraceBody'   
WSSFrameIDs.SCOTRACESEND          = 'stcSCOTraceSend'
WSSFrameIDs.SCOTRACEHIDDEN        = 'stcSCOTraceHidden'

WSSFrameIDs.LAUNCHFS              = 'stcLaunchFS'
WSSFrameIDs.LAUNCHDISPLAY         = 'stcLaunchDisplay'
WSSFrameIDs.LAUNCHHIDDEN          = 'stcLaunchHidden'
WSSFrameIDs.LAUNCHPING            = 'stcLaunchPing'

WSSFrameIDs.ASSESSCONTENT         = 'stcAssessContent'
WSSFrameIDs.ASSESSHIDDEN          = 'stcAssessHidden'
WSSFrameIDs.ASSESSPING            = 'stcAssessPing'

WSSFrameIDs.NETGFSMESSAGE         = 'stcNETgMessage'
WSSFrameIDs.NETGFSCOURSE          = 'stcNETgCourse'

WSSFrameIDs.REGAPPROVALSDISPLAY   = 'stcRegApprovalsDisplay'
WSSFrameIDs.REGAPPROVALSOPTIONS   = 'stcRegApprovalsOptions'

WSSFrameIDs.POPESIG               = 'stcPopESig'

WSSFrameIDs.EQUIVALENTS           = 'stcEquivalents'

WSSFrameIDs.RUNTIMEDISPLAY        = 'stcRuntimeDisplay'
WSSFrameIDs.RUNTIMEHIDDEN         = 'stcRuntimeHidden'

WSSFrameIDs.RT_RESOURCEDISPLAY    = 'stcRTResourceDisplay'
WSSFrameIDs.RT_RESOURCEOPTIONS    = 'stcRTResourceOptions'

WSSFrameIDs.MANAGERSDISPLAY       = 'stcManagersDisplay'

var g_WSSFrameTitles = null
function initFrameTitles()
	{
	if ( g_WSSFrameTitles == null )
		{
		g_WSSFrameTitles = new Object()

		g_WSSFrameTitles[WSSFrameIDs.PRIMARYTOP]             = scAccessibility.sFrameTop
		g_WSSFrameTitles[WSSFrameIDs.PRIMARYBOTTOM]          = scAccessibility.sFrameBottom
		g_WSSFrameTitles[WSSFrameIDs.PRIMARYLEFT]            = scAccessibility.sFrameLeft
		g_WSSFrameTitles[WSSFrameIDs.PRIMARYRIGHT]           = scAccessibility.sFrameRight

		g_WSSFrameTitles[WSSFrameIDs.MAIN]                   = scAccessibility.sFrameMain
		g_WSSFrameTitles[WSSFrameIDs.PING]                   = scAccessibility.sFramePing
		g_WSSFrameTitles[WSSFrameIDs.HIDDEN]                 = scAccessibility.sFrameHidden
		g_WSSFrameTitles[WSSFrameIDs.DATA]                   = scAccessibility.sFrameData
		g_WSSFrameTitles[WSSFrameIDs.SIGNON]                 = scAccessibility.sFrameSignOn

		g_WSSFrameTitles[WSSFrameIDs.CLASSSEARCH]            = scAccessibility.sFrameClassSearch
		g_WSSFrameTitles[WSSFrameIDs.COURSESEARCH]           = scAccessibility.sFrameCourseSearch
		g_WSSFrameTitles[WSSFrameIDs.EVALUATECLASSES]        = scAccessibility.sFrameEvaluateClasses
		g_WSSFrameTitles[WSSFrameIDs.EVALUATECLASS]          = scAccessibility.sFrameEvaluateClass
		g_WSSFrameTitles[WSSFrameIDs.FINALIZECLASSES]        = scAccessibility.sFrameFinalizeClasses
		g_WSSFrameTitles[WSSFrameIDs.FINALIZECLASSDISPLAY]   = scAccessibility.sFrameFinalizeClass
		g_WSSFrameTitles[WSSFrameIDs.FINALIZECLASSOPTIONS]   = scAccessibility.sFrameFinalizeClassOptions
		g_WSSFrameTitles[WSSFrameIDs.FINALIZECONTENTDISPLAY] = scAccessibility.sFrameFinalizeContent
		g_WSSFrameTitles[WSSFrameIDs.FINALIZECONTENTOPTIONS] = scAccessibility.sFrameFinalizeContentOptions

		g_WSSFrameTitles[WSSFrameIDs.MYCALENDAR]             = scAccessibility.sFrameMyCalendar
		g_WSSFrameTitles[WSSFrameIDs.ROSTERTRANSCRIPT]       = scAccessibility.sFrameRosterTranscript
		g_WSSFrameTitles[WSSFrameIDs.CLASSROSTER]            = scAccessibility.sFrameClassRoster
		g_WSSFrameTitles[WSSFrameIDs.TRANSCRIPT]             = scAccessibility.sFrameTranscript
		g_WSSFrameTitles[WSSFrameIDs.TRANSCRIPTHIDDEN]       = scAccessibility.sFrameTranscriptHidden
		g_WSSFrameTitles[WSSFrameIDs.CLASSSCHEDULE]          = scAccessibility.sFrameClassSchedule
		g_WSSFrameTitles[WSSFrameIDs.COURSEDETAIL]           = scAccessibility.sFrameCourseDetail
		g_WSSFrameTitles[WSSFrameIDs.CLASSDETAIL]            = scAccessibility.sFrameClassDetail
		g_WSSFrameTitles[WSSFrameIDs.CLASSREGINPUT]          = scAccessibility.sFrameClassRegInput
		g_WSSFrameTitles[WSSFrameIDs.COURSECONTENT]          = scAccessibility.sFrameECourseDetail
		g_WSSFrameTitles[WSSFrameIDs.RCTCLASSESS]            = scAccessibility.sFrameRCTClasses
		g_WSSFrameTitles[WSSFrameIDs.RCTSTUDENT]             = scAccessibility.sFrameRCTStudent
		g_WSSFrameTitles[WSSFrameIDs.REQUESTS]               = scAccessibility.sFrameRequests
		g_WSSFrameTitles[WSSFrameIDs.CURRICULUMLIST]         = scAccessibility.sFrameCurriculumList
		g_WSSFrameTitles[WSSFrameIDs.CATCURRICULUMLIST]      = scAccessibility.sFrameCatCurriculumList
		g_WSSFrameTitles[WSSFrameIDs.VIRTUALSINPROGRESS]     = scAccessibility.sFrameVirtualsInProgress
		g_WSSFrameTitles[WSSFrameIDs.VIRTUALCANCEL]          = scAccessibility.sFrameVirtualCancel
		g_WSSFrameTitles[WSSFrameIDs.VIRTUALFINISH]          = scAccessibility.sFrameVirtualFinish

		g_WSSFrameTitles[WSSFrameIDs.SKILLSTRANSCRIPT]       = scAccessibility.sFrameSkillsTranscript
		g_WSSFrameTitles[WSSFrameIDs.SKILLS360SUMMARY]       = scAccessibility.sFrame360Summary
		g_WSSFrameTitles[WSSFrameIDs.SKILLS360SUMMARYHIDDEN] = scAccessibility.sFrame360SummaryHidden
		g_WSSFrameTitles[WSSFrameIDs.SKILLS360DATA]          = scAccessibility.sFrame360Data
		g_WSSFrameTitles[WSSFrameIDs.SKILLS360DATAHIDDEN]    = scAccessibility.sFrame360DataHidden
		g_WSSFrameTitles[WSSFrameIDs.PROFILESEARCH]          = scAccessibility.sFrameProfileSearch
		g_WSSFrameTitles[WSSFrameIDs.PROFILECOMPARE]         = scAccessibility.sFrameProfileCompare
		g_WSSFrameTitles[WSSFrameIDs.SKILLSSEARCH]           = scAccessibility.sFrameSkillsSearch
		g_WSSFrameTitles[WSSFrameIDs.SKILLSLIST]             = scAccessibility.sFrameSkillsList
		g_WSSFrameTitles[WSSFrameIDs.SKILLSRESOURCES]        = scAccessibility.sFrameSkillsResources
		g_WSSFrameTitles[WSSFrameIDs.SKILLSRESOURCESHIDDEN]  = scAccessibility.sFrameSkillsResourcesHidden

		g_WSSFrameTitles[WSSFrameIDs.ADDSELFTOGROUP]         = scAccessibility.sFrameAddSelfToGroup

		g_WSSFrameTitles[WSSFrameIDs.ASSESSORPICKER]         = scAccessibility.sFrameAssessorPicker
		g_WSSFrameTitles[WSSFrameIDs.ASSESSORPICKEROPTIONS]  = scAccessibility.sFrameAssessorPickerOptions
		g_WSSFrameTitles[WSSFrameIDs.SKILLSPICKER]           = scAccessibility.sFrameSkillsPicker
		g_WSSFrameTitles[WSSFrameIDs.SKILLSPICKEROPTIONS]    = scAccessibility.sFrameSkillsPickerOptions

		g_WSSFrameTitles[WSSFrameIDs.PERSONADD]              = scAccessibility.sFramePersonAdd
		g_WSSFrameTitles[WSSFrameIDs.PERSONDETAIL]           = scAccessibility.sFramePersonDetail

		g_WSSFrameTitles[WSSFrameIDs.PLANINPUT]              = scAccessibility.sFramePlanInput

		g_WSSFrameTitles[WSSFrameIDs.SELFASSESS]             = scAccessibility.sFrameSelfAssess
		g_WSSFrameTitles[WSSFrameIDs.SKILLSPLANINPUT]        = scAccessibility.sFrameSkillsPlanInput

		g_WSSFrameTitles[WSSFrameIDs.PLANTOP]                = scAccessibility.sFramePlanTop
		g_WSSFrameTitles[WSSFrameIDs.PLANBOTTOM]             = scAccessibility.sFramePlanBottom
		g_WSSFrameTitles[WSSFrameIDs.PLANHIDDEN]             = scAccessibility.sFramePlanHidden

		g_WSSFrameTitles[WSSFrameIDs.SKILLSPLANTOP]          = scAccessibility.sFrameSkillsPlanTop
		g_WSSFrameTitles[WSSFrameIDs.SKILLSPLANBOTTOM]       = scAccessibility.sFrameSkillsPlanBottom
		g_WSSFrameTitles[WSSFrameIDs.SKILLSPLANHIDDEN]       = scAccessibility.sFrameSkillsPlanHidden

		g_WSSFrameTitles[WSSFrameIDs.CHATROOMBODY]           = scAccessibility.sFrameChatRoomBody
		g_WSSFrameTitles[WSSFrameIDs.CHATROOMSEND]           = scAccessibility.sFrameChatRoomSend

		g_WSSFrameTitles[WSSFrameIDs.SCOTRACEBODY]           = scAccessibility.sFrameSCOTraceBody   
		g_WSSFrameTitles[WSSFrameIDs.SCOTRACESEND]           = scAccessibility.sFrameSCOTraceSend
		g_WSSFrameTitles[WSSFrameIDs.SCOTRACEHIDDEN]         = scAccessibility.sFrameSCOTraceHidden

		g_WSSFrameTitles[WSSFrameIDs.LAUNCHFS]              = scAccessibility.sFrameCourseContent
		g_WSSFrameTitles[WSSFrameIDs.LAUNCHDISPLAY]         = scAccessibility.sFrameCourseContent
		g_WSSFrameTitles[WSSFrameIDs.LAUNCHHIDDEN]          = scAccessibility.sFrameCourseHidden
		g_WSSFrameTitles[WSSFrameIDs.LAUNCHPING]            = scAccessibility.sFramePing

		g_WSSFrameTitles[WSSFrameIDs.ASSESSCONTENT]          = scAccessibility.sFrameAssessContent
		g_WSSFrameTitles[WSSFrameIDs.ASSESSHIDDEN]           = scAccessibility.sFrameAssessHidden
		g_WSSFrameTitles[WSSFrameIDs.ASSESSPING]             = scAccessibility.sFramePing

		g_WSSFrameTitles[WSSFrameIDs.NETGFSMESSAGE]          = scAccessibility.sFrameNETgMessage
		g_WSSFrameTitles[WSSFrameIDs.NETGFSCOURSE]           = scAccessibility.sFrameNETgCourse
		
		g_WSSFrameTitles[WSSFrameIDs.REGAPPROVALSDISPLAY]    = scAccessibility.sFrameRegApprovals
		g_WSSFrameTitles[WSSFrameIDs.REGAPPROVALSOPTIONS]    = scAccessibility.sFrameRegApprovalsOptions
		
		g_WSSFrameTitles[WSSFrameIDs.POPESIG]                = scAccessibility.sFrameElectronicSignature

		g_WSSFrameTitles[WSSFrameIDs.EQUIVALENTS]            = scAccessibility.sFrameCourseEquivalents

		g_WSSFrameTitles[WSSFrameIDs.RUNTIMEDISPLAY]         = scAccessibility.sFrameRuntimeDisplay
		g_WSSFrameTitles[WSSFrameIDs.RUNTIMEHIDDEN ]         = scAccessibility.sFrameRuntimeHidden
		g_WSSFrameTitles[WSSFrameIDs.RT_RESOURCEDISPLAY]     = scAccessibility.sFrameRTResourceDisplay
		g_WSSFrameTitles[WSSFrameIDs.RT_RESOURCEOPTIONS]     = scAccessibility.sFrameRTResourceOptions

		g_WSSFrameTitles[WSSFrameIDs.MANAGERSDISPLAY]        = scAccessibility.sFrameManagersDisplay
		}
	}

function getFrameTitle( sFrameID )
	{
	initFrameTitles()

	var str = g_WSSFrameTitles[sFrameID]

	if ( str != null )
		return str
	else
		return ''
	}

// Frame-related utility functions

function getMainFrameName()
	{
	return WSSFrameIDs.MAIN
	}

function getMainBranch()
	{
	return objCore[WSSFrameIDs.MAIN].ePageID
	}

function inTranscriptFS()
	{
	return (getMainBranch() == objCore.WSSPageIDs.TRANSCRIPT)
	}

function inPlanFS()
	{
	return (getMainBranch() == objCore.WSSPageIDs.PLAN)
	}

function inSkillsPlanFS()
	{
	return (getMainBranch() == objCore.WSSPageIDs.SKILLSPLAN)
	}

function inCurriculumFS()
	{
	return (getMainBranch() == objCore.WSSPageIDs.CURRICULUMLIST)
	}

function inCatalogFS()
	{
	return (getMainBranch() == objCore.WSSPageIDs.CATCURRICULUMLIST)
	}

function inVirtualInProgressFS()
	{
	return (getMainBranch() == objCore.WSSPageIDs.VIRTUALSINPROGRESS)
	}

function inTabbedFolder( wStart )
	{
	var w = findTabbedFolderOwner( wStart );
	return (w != null);
	}

function findTabbedFolderOwner( wStart )
	{
	var w = wStart;
	while ( (w != objCore) && (w != w.parent) ) // Check (w != w.parent) for pop-up windows.
		{
		if ( (w.name == WSSFrameIDs.CLASSDETAILFOLDER) || (w.name == WSSFrameIDs.COURSEDETAILFOLDER) )
			return w.parent;

		w = w.parent
		}

	return null;
	}

function getFrameByName( objCurrentFrame, sFrameName )
	{
	if ( sFrameName == '_self' )
        return objCurrentFrame
    else if ( sFrameName == '_parent' ) 
        return objCurrentFrame.parent
    else if ( sFrameName == '_top' )
        return top
    else if ( objCurrentFrame.name == sFrameName )
        return objCurrentFrame;
    else if ( objCurrentFrame.parent == self )
        return null;
    else
        return getFrameByName( objCurrentFrame.parent, sFrameName );
	}

function getMainFrameReference( objCurrentFrame )
	{
	if ( objCurrentFrame == objCore )
		return objCore[WSSFrameIDs.MAIN];
	else
		return ( getFrameByName( objCurrentFrame, getMainFrameName() ) );
	}

function frameExists( objBeginningFrame, sFrameName )
	{
	return (getFrameByName( objBeginningFrame, sFrameName ) != null)
	}

function doPostRegFrameUpdate( sCode )
	{
	if ( inPlanFS() )
		{
		var planFS = getMainFrameReference(self)
		planFS.updatePlanForCourse(sCode)
		}
	else if ( inSkillsPlanFS() )
		{
		var planFS = getMainFrameReference(self)
		planFS.updatePlan()
		}
	else if ( inCurriculumFS() )
		{
		var currFS = getMainFrameReference(self)
		currFS.UpdateCurriculumsForCourse(sCode)
		}
	else if ( inTranscriptFS() )
		{
		var txFS = getMainFrameReference(self)
		txFS.updateTranscript()
		}
	}