﻿var strCurrent_Location;
var audioEnabled = true;

function initFrame()
{
		// For speed purposes, the menu structure is hard-coded here. Changes to the menus will need to be updated here as well as in the 
		// individual .xml files
	AddMenuItems(1, 2);
	AddMenuItems(2, 3);
	AddMenuItems(3, 2);
	AddMenuItems(4, 6);
	AddMenuItems(5, 6);
	AddMenuItems(6, 4);	
	menuDataLoaded();
	
//	strCurrent_Location = document.location.href.replace( /lessonframe.htm/g, '' );
//	resourceFrame.location.href =  strCurrent_Location + 'resource.htm';
}


function menuDataLoaded()
{
	//LoadCourse(); 		//Get USER DATA from SCORM API
	getCookieData();		//Get USER DATA from Cookie

	strCurrent_Location = document.location.href.replace( /lessonframe.htm/g, '' );
	resourceFrame.location.href =  strCurrent_Location + 'resource.htm';
}


function resource_Loaded()
{
	navFrame.location.href = strCurrent_Location + 'nav.htm';
}

function nav_Loaded()
{
	contentFrame.location.href = strCurrent_Location + 'intro.htm';
}



/ ----------------------------------------      the following will change on a per course basis   ------------------------------------------ /


var intTrack = 1;
var bPageFullyLoaded = false;
var strBookmark = 'intro.htm';
var strSubPageName = '';
var bCheatSheet = false;
var strInstalledFlashVersion;
var bTranscriptVisible = false;
var objXMLDoc;
var nModule = 1;
var nMenuItem = 0;
var strCurrentItem = "";
var strCurrentSubItem = "";
var aobjCompletionStatus = new Array();
var aobjPageStatus = new Array();
var bSCORM = false;
var bCookies = true;



function AddMenuItems(nMod, nItems)
{
	if(nItems==0)
	{
		aobjCompletionStatus[nMenuItem] = new Object();
		aobjCompletionStatus[nMenuItem].nModule   = nMod;
		aobjCompletionStatus[nMenuItem].intStatus = 0;
		aobjCompletionStatus[nMenuItem].strName = "Item" + nMod;
		nMenuItem++;	
	}
	else
	{
	
		for (var i = 1; i <= nItems; i++)
		{
			aobjCompletionStatus[nMenuItem] = new Object();
			aobjCompletionStatus[nMenuItem].nModule   = nMod;
			aobjCompletionStatus[nMenuItem].intStatus = 0;
			aobjCompletionStatus[nMenuItem].strName = "Item" + nMod + 'Sub' + i;
			nMenuItem++;
			
		}
	}
}


function initPageTracking()
{
	for(nPage=0;nPage<parent.contentFrame.localpages[intTrack].length;nPage++)
	{
		aobjPageStatus[nPage] = new Object();
		aobjPageStatus[nPage].strName = parent.contentFrame.localpages[intTrack][nPage];
		aobjPageStatus[nPage].intStatus = (strPageStatus == null) ? 0 : new Number(strPageStatus.charAt(nPage));
		//alert("Counter:" + nPage + ":" + aobjPageStatus[nPage].intStatus);
	}
}

//******************************************************************************************
//User Data functions
//******************************************************************************************
var strUserData = "";
strUserName = "User";
courseTitle = "TreadLightly";
var strDelimiter = "|";
var strPageStatus; 

function getCookieData()
{
	//deleteCookie(courseTitle);
	var strTemp = getCookie(courseTitle);
	
	//alert(strTemp);
	if(typeof strTemp!="undefined" && strTemp !=null)
	{
	
		strUserName = strTemp.split(strDelimiter)[0];			//Get User Data

		strCompletionStatus = strTemp.split(strDelimiter)[1];		//Get Topic Status Data
		for ( var i = 0; i < nMenuItem; i++ )				//Set Topic Status Data
		{		
			aobjCompletionStatus[i].intStatus = (strCompletionStatus == null) ? 0 : new Number(strCompletionStatus.charAt(i));
		}		
		
		strPageStatus = strTemp.split(strDelimiter)[2];			//Get Page Status Data	** Can't set until linking.js is loaded in contentframe.					
		strBookmark = strTemp.split(strDelimiter)[3];			//Get Bookmark Data
	}
}

function formatUserData()
{
	var strTemp;	

	//Add User Data
	strTemp = strUserName + strDelimiter;
	
	//Add Topic Status Data
	if ( typeof aobjCompletionStatus != 'undefined' )
	{
		for ( var i = 0; i < aobjCompletionStatus.length; i++ )
		{
			strTemp += aobjCompletionStatus[i].intStatus;
		}
	}
	
	strTemp += strDelimiter;

	//Add Page Status Data
	if ( typeof aobjPageStatus != 'undefined' )
	{
		for ( var i = 0; i < aobjPageStatus.length; i++ )
		{
			strTemp += aobjPageStatus[i].intStatus;
		}
	}	
	

	// Add Bookmark Data
	strTemp += strDelimiter + parent.strBookmark;	
	
	//alert(strTemp);
	return strTemp;
}

function writeData(bExit)
{
	if(bSCORM) ExitCourseToLMS(bExit);
	if(bCookies) setCookiesAndExit();

}

// COOKIE FUNCTIONS
function setCookie(name, value, days, path, domain, secure)
{
	var date = new Date();
	date.setTime(date.getTime()+(days*24*60*60*1000));

    document.cookie= name + "=" + escape(value) +
        ((days) ? "; expires=" + date.toGMTString() : "") +
        ((path) ? "; path=" + path : "") +
        ((domain) ? "; domain=" + domain : "") +
        ((secure) ? "; secure" : "");
}


function getCookie(name)
{
    var dc = document.cookie;
    var prefix = name + "=";
    var begin = dc.indexOf("; " + prefix);
    if (begin == -1)
    {
        begin = dc.indexOf(prefix);
        if (begin != 0) return null;
    }
    else
    {
        begin += 2;
    }
    var end = document.cookie.indexOf(";", begin);
    if (end == -1)
    {
        end = dc.length;
    }
    return unescape(dc.substring(begin + prefix.length, end));
}

function deleteCookie(name, path, domain)
{
    if (getCookie(name))
    {
        document.cookie = name + "=" +
            ((path) ? "; path=" + path : "") +
            ((domain) ? "; domain=" + domain : "") +
            "; expires=Thu, 01-Jan-70 00:00:01 GMT";
    }
}

function setCookiesAndExit()
{
	var strUserData = formatUserData();
	setCookie(courseTitle, strUserData, 365);
}




/*function parseMenuInfo()
{
	var nlItems = objXMLDoc.getElementsByTagName( 'item' );
	for ( var i = 0; i < nlItems.length; i++ )
	{
		window.aobjCompletionStatus[nMenuItem] = new Object();
		window.aobjCompletionStatus[nMenuItem].intStatus = 0;
		window.aobjCompletionStatus[nMenuItem].strName = 'Mod' + (nModule + 1) + 'Item' + ( i + 1 );
		nMenuItem++;

		var nlSubItems = nlItems[i].getElementsByTagName( 'sub' );
		for ( var j = 0; j < nlSubItems.length; j++ )
		{		
			window.aobjCompletionStatus[nMenuItem] = new Object();
			window.aobjCompletionStatus[nMenuItem].intStatus = 0;
			window.aobjCompletionStatus[nMenuItem].strName = 'Mod' + (nModule + 1) + 'Item' + ( i + 1 ) + 'Sub' + ( j + 1 ) ;
			nMenuItem++;
		}
	}
	
	menuDataLoaded();
}



function loadXMLData( strFile, objHandlerFunction )
{
	if (( document.implementation )	&& ( document.implementation.createDocument ))			// Standards compliant - DOM Level 3 Load and Save
	{
		objXMLDoc = document.implementation.createDocument( '', '', null );
	}
	else if ( window.ActiveXObject )														// I.E. Proprietary
	{
		try
		{
			objXMLDoc  = new ActiveXObject("Msxml2.DOMDocument");
		}
		catch (e)
		{
			objXMLDoc = new ActiveXObject("Msxml.DOMDocument");
		}

		while ( objXMLDoc.readyState != 4 )
		{
			// do nothing
		}
	}

	objXMLDoc.async = false;
	objXMLDoc.load( strFile );

 	objHandlerFunction( objXMLDoc );
}
*/
