// The number of instruction pages (i.e. number of pages to backtrack in order to reach course-listing page)
var nInstructionPages = 1;
var mSessionGUID="";

//-----------------------------------------------------------------------

function GetOs() 

{
     var nIndex1,nIndex2;
     var sWin="Windows",sMac="Mac OS",sSemiColon=";",sBrackets=")";
      
      if((nIndex1 = navigator.userAgent.lastIndexOf(sWin)) != -1)
        return "Windows";
       else if((nIndex1 = navigator.userAgent.lastIndexOf(sMac)) != -1)
        return "Mac";
      else
        return "OTHER";

} // PlayerEnv

//------------------------------------------------
function GetClientDrmKey()

{
      
      var sClientDrmKey = "";
      if(GetOs()=="Windows")
        sClientDrmKey="XXX";
      if(GetOs()=="Mac")
        sClientDrmKey="YYY";
      
      /*  
      
      // Supported in IE only.

      if(GetBrowser()!="IExplorer") 
        return sClientDrmKey;
      

      var sWMPlayersIds = ["MediaPlayer.MediaPlayer","MediaPlayer.MediaPlayer.1","WMPlayer.OCX.7"];
      

      var oWMPlayer = null;

  

      for(var i=0; i < sWMPlayersIds.length; i++)

      {

            try

            {

                  oWMPlayer = new ActiveXObject(sWMPlayersIds[i]);

                  if(oWMPlayer && oWMPlayer.ClientID)

                  {

                        sClientDrmKey = oWMPlayer.ClientID;

                        oWMPlayer               = null;

                        break;

                  }

            }

            catch(e){};

      }

 

      // remove the '{' + '}' characters.

      sClientDrmKey = sClientDrmKey.replace(/{/gi,"");

      sClientDrmKey = sClientDrmKey.replace(/}/gi,"");

    */

      return sClientDrmKey;

} // DrmValidator.GetClientDrmKey


//-----------------------------------------------------------------------
//next functions were added by yossi birenboim (deals with 
// installation and using DRMActiveXControl)
//-----------------------------------------------------------------------

//was copied from record.js
function ParseParameters(queryString)
{
	var argList = new Array();
	if ( queryString.charAt(0) == '?')
	{
		queryString = queryString.substring(1);
		var args = queryString.split("&");
        for(var i=0; i<args.length; i++) 
	    {
			var argPair = args[i].split("=");
    	    argList[argPair[0]] = unescape(argPair[1]);
    	}
    }
    return argList;
}

//-----------------------------------------------------------------------
function DoLoadDrmActiveX(sessionGUID,drmPath, drmKey)
{
    if ( GetBrowser() != "IExplorer" )
    {
        return false;
    }
         
    if (IsDrmActiveXInstalled())
    {
        var oActiveX = document.getElementById("DRMActiveXControl");
        if ( oActiveX == null )
            LoadDrmActiveX(sessionGUID,drmPath,"true");
    }
    else
    {
        top.location="Downloading.html?sessionGUID=" + escape(sessionGUID) + "&drmPath=" + escape(drmPath) + "&drmKey=" + escape(drmKey);
    }
    return false;
}

//-----------------------------------------------------------------------

function IsDrmActiveXInstalled()
{
    var ret = false;
    try
    {
	    t = new ActiveXObject("DRMActiveX.DRMActiveXControl");
	    ret=true;
	}
	catch (e)
	{
    }
    return ret;
}
//-----------------------------------------------------------------------

function LoadDrmActiveX(sessionGUID,drmPath,ExecuteOnCreate)
{	
    
    var oActiveXDiv = document.createElement("DIV");
	
	var sActiveXObjectHtml = '<OBJECT ID="DRMActiveXControl"';
	
	if ( ExecuteOnCreate != "true" ){
	    mSessionGUID=sessionGUID;
        sActiveXObjectHtml+=' onreadystatechange="javascript:CheckReady();"';
	}
	sActiveXObjectHtml += ' CLASSID="CLSID:54EABC7D-40DC-4667-8517-F42D00540342"';
	
	//sActiveXObjectHtml += ' CODEBASE="/tegrity/_player/1.0/code/DRMActiveX.CAB#version=1,0,0,1" STYLE="{visibility: hidden; top:300;}"';
	
	sActiveXObjectHtml += ' CODEBASE="' + drmPath + '/DRMActiveX.CAB#version=1,0,0,1" STYLE="{visibility: hidden; top:300;}"';

	
	sActiveXObjectHtml += '></OBJECT>';
	
	oActiveXDiv.innerHTML = sActiveXObjectHtml;

	document.appendChild(oActiveXDiv);

	return false;
}
//-----------------------------------------------------------------------

function LaunchDrmActiveX(sessionGUID)
{
    var oActiveX = document.getElementById("DRMActiveXControl");
    var ret = false;
    
	if ( oActiveX == null )
	    alert("Could not create DRMActiveXControl!");
	else
	{
        if ( oActiveX.readyState == 4 )
        {
            try
            {
                var queryString = window.location.search;                    
                var args = ParseParameters(queryString);                
                var drmKey = args["drmKey"];                
                                
                if (oActiveX.ClientID == '')                
                    oActiveX.ClientID = drmKey;
                else
                    drmKey = oActiveX.ClientID;                
                    
                ret = true;
    	    }
    	    catch ( e )
    	    {
    	        
    	        //alert("Launching Tegrity Failed");
    	    }
            window.navigate("InstructorCourseView.aspx?downloading=" + sessionGUID + "&drmKey=" +drmKey);
            //history.go(-nInstructionPages);     // navigate back to the page before the instructions
        }
         //else
             //alert("Tegrity Loader object not ready");
    }
    return ret;
}

//-----------------------------------------------------------------------

function CheckReady()
{
    var oActiveX = document.getElementById("DRMActiveXControl");
    
	if ( oActiveX != null && 
	     oActiveX.readyState == 4 &&
	     typeof oActiveX.ClientID != "undefined" )
	{
    
        LaunchDrmActiveX(mSessionGUID);
    }
    
}

//-----------------------------------------------------------------------

function GetDrmKey(drmKey,drmPath){

    if ( GetBrowser() == "FireFox" )
        return GetDrmKeyFF(drmKey);
    else if ( GetBrowser() != "IExplorer" )
        return "";

    if (document.getElementById("DRMActiveXControl")==null)
     DoLoadDrmActiveX("",drmPath, drmKey);
    
    if (document.getElementById("DRMActiveXControl").ClientID=='')
        document.getElementById("DRMActiveXControl").ClientID=drmKey;

    //alert("hello from GetDrmKey");
    //alert(document.getElementById("DRMActiveXControl").ClientID);
    return document.getElementById("DRMActiveXControl").ClientID;
}

function GetDrmKeyFF(newDrmKey)
{
    var clientID = document.getElementById("txtDRMKey").value;        
    return clientID;
}