/*
 *	ccJITInstallation.js
 *	Build 3.6.0.26	(branched for eModules, limited to a subset of controls)
 *	Copyright 1999-2003 Accenture
 *	File Size: 5184
 */

var CC_private_oWAPI;
var CC_WAPI_PROGID = 'sdwapi.clswapi';
var cc_private_WAPI_NAME = 'SDWAPI';
var cc_private_WAPI_ID = 'clsWAPI1';

function CC_CreateActiveXObject(argProgID)
{
	if (inCHM(document))
		return new ActiveXObject(argProgID);

	var sObjHTML = CC_privateGetControlHTML(argProgID);
	if (sObjHTML == "")
		return new ActiveXObject(argProgID);

	if (null == CC_private_oWAPI)
		if (true == CC_privateConfirmObject_VBS(sInstallActiveXURL, CC_WAPI_PROGID, true))
			CC_private_oWAPI = new ActiveXObject(CC_WAPI_PROGID);

	if (null != CC_private_oWAPI)
	{
		// extract guid and codebase from sObjHTML
		var sGUID = CC_privateGetStringBetweenMarkers(sObjHTML, 'classid="clsid:', '"');
		var sCodebase = CC_privateGetStringBetweenMarkers(sObjHTML, 'codebase="', '"');
		var bVersionAcceptable = CC_privateVersionAcceptable(sGUID, sCodebase);

		if (true == CC_privateConfirmObject_VBS(sInstallActiveXURL, argProgID, bVersionAcceptable))
			return new ActiveXObject(argProgID);
		else
			return null;
	}
	else
	{
		alert(cc_private_WAPI_NAME + " is a required component.  The activeX control " + argProgID + " will not be created.");
		return null;
	}
}
function CC_privateVersionAcceptable(classid, codeBase)
{
	var sVER = "#VERSION=";
	var startVer = codeBase.toUpperCase().indexOf(sVER);
	if (startVer == -1)
		codeBase += sVER + "0,0,0,0";
	
	var codeBaseVersion = (codeBase.substr(startVer + sVER.length) + ",0,0,0,0").split(",");

	var classidVersion = (CC_private_oWAPI.GetVersionByCLSID(classid) + ".0.0.0.0").split(".");
	if (0 != CC_private_oWAPI.ErrorNumber)
	{
		alert("An error has occurred: " + CC_private_oWAPI.ErrorNumber + " - " + CC_private_oWAPI.ErrorDescription);
		return false;
	}

	for(var i=0; i < 4; i++)
	{
		if (parseInt(classidVersion[i]) < parseInt(codeBaseVersion[i]))
			return false;
		if (parseInt(classidVersion[i]) > parseInt(codeBaseVersion[i]))
			return true;
	}
	
	return true;
	
}
function CC_privateGetStringBetweenMarkers(sStr, begToken, endToken)
{
	var s, x, y;

	s = sStr.toLowerCase();
	x = s.indexOf(begToken, 0) + begToken.length;

	y = s.indexOf(endToken, x);

	if (x == -1 || y == -1)
		return '';
	else
		return sStr.substring(x, y);
}
function inCHM(doc)
{
	if (doc.location.protocol.toLowerCase() == "mk:" || doc.location.protocol.toLowerCase() == "ms-its:")
		return true;
	else
		return false;
}
function CC_privateGetControlHTML(argProgID, argEvents)
{
	var sTag = '';

	switch (argProgID.toLowerCase()) 
	{
	case 'sdaicc.clsaicc':
		sTag = 	'<object id="clsaicc1"' +
			' classid="clsid:D3B8B8A0-4FA3-44EB-86C7-5BEA866CEA57"' +
			' codebase="HTTPS://myLearning.Accenture.com/codebase/SDAICC.cab#Version=3,0,0,0"' +
			' onError="controlError(this)" onReadyStateChange="controlReadyStateChange(this)"' +
			' style="display:none" height=51 width=51 border = 3>' +
			'</object>'
		break;
	case 'sddata.clsdata':
		sTag = 	'<object id="clsData1"' +
			' classid="clsid:8463A31A-7FB5-4D38-B269-57F4FEFDBB09"' +
			' codebase="HTTPS://myLearning.Accenture.com/codebase/SDData.cab#Version=3,3,0,0"' +
			' onError="controlError(this)" onReadyStateChange="controlReadyStateChange(this)"' +
			' style="display:none" height=51 width=51 border = 3>' +
			'</object>'
		break;
	case 'msxml2.xmlparser':
		sTag = 	'<object id="MSXML3"' +
			' classid="clsid:f5078f19-c551-11d3-89b9-0000f81fe221"' +
			' type="application/x-oleobject"' +
			' codebase="HTTPS://myLearning.Accenture.com/codebase/MSXML3.cab#Version=8,00,7820,0"' +
			' onError="controlError(this)" onReadyStateChange="controlReadyStateChange(this)"' +
			' style="display:none">' +
			'</object>';
		break;
	case 'sdwapi.clswapi':
		sTag =	'<object id="clsWAPI1"' +
			' classid="clsid:FE507B78-691A-4DAA-BE3D-793C86592506"' +
			' codebase="HTTPS://myLearning.Accenture.com/codebase/SDWAPI.cab#Version=3,1,0,2"' + 
			' onError="controlError(this)" onReadyStateChange="controlReadyStateChange(this)"' +
			' style="display:none" height=51 width=51 border = 3>' +
			'</object>';	
		break;
	case 'shockwaveflash.shockwaveflash.1':
		sTag = 	'<object id="flashplayer"' +
			' classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"' +
			' codebase="#version=5,0,42,0"' +
			' onError="controlError(this)" onReadyStateChange="controlReadyStateChange(this)"' +
			' width="0" height="0" border = "3">' +
			' <param name="Movie" value="blank.swf">' +
			' <param name="Play" value="false">' +
			' <param name="Loop" value="false">' +
			' <param name="Quality" value="best">' +
			' <param name="SAlign" value="Top">' +
			'</object>';
		break;
	default:
		alert("DEBUG: CC_privateGetControlHTML could not recognize object/ProgID: '" + argProgID + "'  [must be in lowercase]");
		return '';
	}
	
	if (true != argEvents)
	{
		sTag = sTag.replace(/ onError/i, ' ignore1');
		sTag = sTag.replace(/ onReadyStateChange/i, ' ignore2');
	}
	
	return sTag;

}
