if(window.location.search.indexOf("page=") == -1 && !g_bControlInitialized && sCurrentURL != sWelcomePage && sCurrentURL != sErrorPage){ // this is to display Control checking page when user backs in to the website
fnDisplaySplashPage(conSplashCheckingControl);
}else{
g_iSplashPage = conSplashWelcome;
g_bOnSplashPage = true;
}
}
function fnCreateCatalogXML(){ // creates an empty catalog xml
CatalogXML = xmlNewXML();
CatalogXML.loadXML("<catalog />");
g_oCatalogXML = CatalogXML.documentElement;
fnDetectSystemSpecs();
}
function fnDetectSystemSpecs(){
var sXML, oXML, oRoot, oAdminAttribute, bNotAdmin, sOSLocale, oRegExp;
if(oRoot.selectSingleNode("computerSystem[@windowsUpdateDisabled = '1']") != null){ // if windows update is disabled by policy setting
fnDisplayErrorPage(conErrorDisabled, true);
return false;
}
if(conWinNT){
if(oRoot.selectSingleNode("platform/productType[suite = 'VER_SUITE_DATACENTER']") != null){ // if it is a datacenter show thanks page
window.location.replace(conConsumerURL + "thanks.asp?os=dtc");
}else{
oAdminAttribute = oRoot.selectSingleNode("computerSystem/@administrator");
bNotAdmin = (oAdminAttribute != null && oAdminAttribute.text != "1"); // check if the user is admin or not on the local machine
var conErrorPage = 0;
var conSplashPage = 1;
var conResultsPage = 2;
var conThanksPage = 3;
var conHistoryPage = 4;
var conAboutPage = 5;
var conSupportPage = 6;
var conStatusPage = 7;
var conEULAPage = 9;
var conDownloadPage = 10;
var conLearnAboutPage = 11;
var conPersonalizationPage = 12;
var conErrorOther = -1;
var conErrorNone = 0;
var conErrorNoScripting = 1;
var conErrorNoActiveX = 2;
var conErrorNotAdmin = 3;
var conErrorDisabled = 4;
var conErrorNoControl = 5;
var conErrorOldControl = 6;
var conErrorOldEngine = 7;
var conErrorControlFailed = 8;
var conErrorControlUpdateFailed = 9;
var conErrorInstallationCanceled = 10;
var conErrorDiskFull = 11;
var conErrorProxy = 12;
var conErrorNetwork = 13;
var conErrorServer = 14;
var conErrorBannedVLK = 15;
var conResultsCritical = 0;
var conResultsProduct = 1;
var conResultsBasket = 2;
var conResultsDrivers = 3;
var conSplashCheckingControl = 0;
var conSplashInstallingControl = 1;
var conSplashInstallingEngine = 2;
var conSplashWelcome = 3;
var conSplashScanning = 4;
var conSplashPickUpdatesCritical = 5;
var conSplashPickUpdatesCriticalAndOther = 6;
var conSplashPickUpdatesOther = 7;
var conSplashPickUpdatesNone = 8;
var conSplashInstallingWait = 9;
var IU_INIT_CHECK = 0;
var IU_INIT_UPDATE_ASYNC = 2;
var IU_UPDATE_OK = 0;
var IU_UPDATE_CONTROL_BIT = 1;
var IU_UPDATE_ENGINE_BIT = 2;
var IU_UPDATE_CONTROL_AND_ENGINE_BIT = 3;
var UPDATE_COMMAND_CANCEL = 0x0000004;
var UPDATE_CORPORATE_MODE = 0x0000200;
var UPDATE_NOTIFICATION_ANYPROGRESS = 0x0000000;
var ERROR_INVALID_PROPERTY = -2146827850;
var UPDATE_ERROR_ACCESS_DENIED = -2146828218;
var UPDATE_ERROR_Q269688 = -2147217422;
var WIN32_ERROR_DISK_FULL = -2147024784;
var WIN32_ERROR_SERVICE_DISABLED = -2147023838;
var WIN32_ERROR_NETWORK_ACCESS_DENIED = -2147024831;
var WIN32_ERROR_ACCESS_DENIED = -2147024891;
var WIN32_ERROR_ACCESS_DENIED2 = -2147483639;
var WIN32_ERROR_CANCELLED = -2147023673
var ERROR_FILE_NOT_FOUND = -2147024894
var ERROR_PATH_NOT_FOUND = -2147024893
var ERROR_CANNOT_MAKE = -2147024814
var ERROR_WRITE_PROTECT = -2147024877
var ERROR_WRITE_FAULT = -2147024867
var HTTP_STATUS_LENGTH_REQUIRED = -2147024485;
var HTTP_STATUS_PROXY_AUTH_REQ = -2147024489;
var HTTP_STATUS_GATEWAY_TIMEOUT = -2147024392;
var HTTP_ERROR_502 = -2145844746;
var ERROR_INTERNET_NAME_NOT_RESOLVED = -2147012889;
var ERROR_INTERNET_CANNOT_CONNECT = -2147012867;
var ERROR_INTERNET_CONNECTION_RESET = -2147012865;
var ERROR_OPERATION_ABORTED = -2147467260;
var WIN32_PATH_NOT_FOUND = -2147024893;
var WIN32_INVALID_URL = -2146697214;
var WIN32_CANNOT_DOWNLOAD = -2146697208;
var WIN32_SUBJECT_NOT_TRUSTED = -2146762748;
/* constants */
/* global variables */
var CatalogXML, g_oCatalogXML, g_oInstallationXML, g_oControl, g_oPopup, g_oDownloadPopup;
var g_sExclusiveUpdateTitle, g_sRegionalSettings, g_sUUIDOperation, g_sDownloadPath, g_sOperationResultXML;
var g_iCatalogBasketCount, g_iConsumerBasketCount, g_iConsumerBasketSize, g_iConnectionSpeed, g_iSplashPage, g_iOnProgressTimer;
var g_bPosted, g_bScanning, g_bDetectedItems, g_bOnSplashPage, g_bPersonalizing, g_bEULAAccepted, g_bX86, g_bOSIsServer, g_bSaveXML, g_bSall, g_bSinst, g_bNeedsReboot, g_bAutoUpdateEnabled, g_bDownloading, g_bInstalling, g_bCancelInstall;
var g_aProductIDs, g_aDependencies, g_sComputerSystemBlob,g_bBannedVLK,g_bCatalogDenied;
var g_bControlInitialized = false;
var g_bDriversFailed = false ;
/* global variables */
/* init */
function window.onload(){
fnInit();
}
function window.onbeforeunload(){
if(g_oDownloadPopup != null) return L_CancelInstall2_Text;
}
function window.onunload(){
control_SetOperationMode("", UPDATE_COMMAND_CANCEL);
}
function fnInit(){
var sCurrentURL, sWelcomePage, sErrorPage;