﻿loadVideo = function(sender, xmlFile)
{
    if ((typeof("webAppRoot") != "undefined") && (webAppRoot != null) && (webAppRoot.length > 0))
    {
        var slCtrl = sender.getHost();
	    slCtrl.Content.Model.VideoDataURL = webAppRoot + "xml/" + xmlFile;
//  	var trainingLogId = (logId == null) ? "10101" : logId;
	    var trainingLogId = "10101";
	    slCtrl.Content.Model.TrainingLogID = trainingLogId;
	}
}

toggleWvx = function(slObject, wvxFile)
{
    if (slObject != null)
    {
        if ((typeof("webAppRoot") != "undefined") && (webAppRoot != null) && (webAppRoot.length > 0))
        {
            var path = wvxFile;
            if (path.indexOf("/") != 0)
            {
                path = "/wvx/" + path;
            }
            var contentID = "";
            var extStart = path.lastIndexOf(".");
            var contentIDStart = path.lastIndexOf("/");
            if ((extStart > contentIDStart) && (extStart > -1) && (contentIDStart > -1))
            {
                contentID = path.substring(contentIDStart + 1, extStart);
        	    slObject.Content.Model.VideoDataURL = webAppRoot + "xml/content/" + contentID + ".xml";
            }
        	slObject.Content.Model.ToggleWvx(path);
        }
    }
}

onParameterizedVideoLoad = function(sender)
{
    var initParams = sender.getHost().InitParams;
    if (initParams != null)
    {
        for (var i=0; i<2; i++)
        {
            var key = "";
            switch (i)
            {
                case 0:
                    key = "xmlfile=";
                    break;
                case 1:
                    key = "wvxfile=";
                    break;
                    
            }
            var start = initParams.indexOf(key);
            if (start > -1)
            {
                initParams = initParams.substr(key.length);
                var file = initParams;
                var end = initParams.indexOf(",");
                if (end > -1)
                {
                    file = initParams.substr(0, end);
                }
                switch (i)
                {
                    case 0:
                        loadVideo(sender, file);
                        break;
                    case 1:
                        toggleWvx(sender.getHost(), file);
                        break;
                }
                break;
            }
        }
    }
}

function onXAPError(sender, errorArgs)
{
	if (document.domain == "localhost")
	{
		// The error message to display.
		var errorMsg = "Silverlight Error: \n\n";
		
		// Error information common to all errors.
		errorMsg += "Error Type:    " + errorArgs.errorType + "\n";
		errorMsg += "Error Message: " + errorArgs.errorMessage + "\n";
		errorMsg += "Error Code:    " + errorArgs.errorCode + "\n";
		
		// Determine the type of error and add specific error information.
		switch(errorArgs.errorType)
		{
			case "RuntimeError":
				// Display properties specific to RuntimeErrorEventArgs.
				if (errorArgs.lineNumber != 0)
				{
					errorMsg += "Line: " + errorArgs.lineNumber + "\n";
					errorMsg += "Position: " +  errorArgs.charPosition + "\n";
				}
				errorMsg += "MethodName: " + errorArgs.methodName + "\n";
				break;
			case "ParserError":
				// Display properties specific to ParserErrorEventArgs.
				errorMsg += "Xaml File:      " + errorArgs.xamlFile      + "\n";
				errorMsg += "Xml Element:    " + errorArgs.xmlElement    + "\n";
				errorMsg += "Xml Attribute:  " + errorArgs.xmlAttribute  + "\n";
				errorMsg += "Line:           " + errorArgs.lineNumber    + "\n";
				errorMsg += "Position:       " + errorArgs.charPosition  + "\n";
				break;
			default:
				break;
		}
		// Display the error message.
		alert(errorMsg);
	}
}

