﻿// JScript File
//Detect if the VAS Client is installed

function DetectClient() {
    var LBClient = null;
    var currAppVersion;
    var clientVersion;
    var bOlderVersionInstalled;
    try {
		LBClient = new ActiveXObject("pnllm.client");
		if (LBClient != null)
		{
		    //Try to read the client version # -- if it is "undefined", we know the client is pre 6.0.250.213
		    currAppVersion = $get('ctl00_ContentPlaceHolder1_hidCurrVersion').value;
		    clientVersion = LBClient.Version;
		    if (clientVersion){
		        //Test to see if the detected client is older than the current version of Web Access
		        bOlderVersionInstalled = isOlderVersion(currAppVersion, clientVersion);
		        if(bOlderVersionInstalled) {
		            //Older client installed
		            showNoClientInstalledMessage();
		        }
		        else
		        {   
		            //Latest client installed
		            hideClientMessages();
		        }
		    }
		    else {
		        //Older client installed
		        showNoClientInstalledMessage();
		    }
		} 
		else //No client installed -- display appropriate message
		{
		    showNoClientInstalledMessage();
		}
		LBClient = null;
		$get('ctl00_ContentPlaceHolder1_hidShowInterface').value = "1";
	}
	catch(e) //If we fail to create a client object, we assume that we are using Mozilla and display a message that we couldn't detect the client
	{
		if ($get('ctl00_ContentPlaceHolder1_txtClientInstalled').value==''){
		    showUnableToDetectClient();
		}
		$get('ctl00_ContentPlaceHolder1_hidShowInterface').value = "1";
	}
}

function isOlderVersion(currVer, clientVer){
    var sCurrVer1;
    var sCurrVer2;
    var sCurrVer3;
    var sCurrVer4;
    var aCurrVer;
    var sVer1;
    var sVer2;
    var sVer3;
    var sVer4;
    var aVer;
    aCurrVer = currVer.split(".");
	sCurrVer1 = aCurrVer[0];
	sCurrVer2 = aCurrVer[1];
	sCurrVer3 = aCurrVer[2];
	sCurrVer4 = aCurrVer[3];
	aVer = clientVer.split(".");
	sVer1 = aVer[0];
	sVer2 = aVer[1];
	sVer3 = aVer[2];
	sVer4 = aVer[3];
	
	if(sCurrVer1 > sVer1){
	    return true;
	}
	else
	{
	    if(sCurrVer2 > sVer2) {
	        return true;
	    }
	    else
	    {
	        if(sCurrVer3 > sVer3) {
	            return true;
	        }
	        else
	        {
    	        if(sCurrVer4 > sVer4) {
	                return true;
	            }
	            else
	            {
        	        return false;
	            }
	        }
	    }
	}
}

function showNoClientInstalledMessage() {
    var clientMsgDisplayed = $get('ctl00_ContentPlaceHolder1_hidClientMsgDisplayed').value;
    if(clientMsgDisplayed!='1'){
        $find('mpeClient').show();
	    $get('ctl00_ContentPlaceHolder1_lblNoClient').style.visibility = "visible";
	    $get('ctl00_ContentPlaceHolder1_lblClientDetectionFailure').style.visibility = "hidden";
	    $get('ctl00_ContentPlaceHolder1_lblClientDetectionFailure').innerHTML = "";
	    //Set hidden field value
	    $get('ctl00_ContentPlaceHolder1_hidClientInstalled').value = "false";
	    $get('ctl00_ContentPlaceHolder1_btnClientOK').focus();	    
	 }
}

function showUnableToDetectClient() {
    var clientMsgDisplayed = $get('ctl00_ContentPlaceHolder1_hidClientMsgDisplayed').value;
    if(clientMsgDisplayed!='1'){
        $find('mpeClient').show();
	    $get('ctl00_ContentPlaceHolder1_lblClientDetectionFailure').style.visibility = "visible";
	    $get('ctl00_ContentPlaceHolder1_lblNoClient').style.visibility = "hidden";
	    $get('ctl00_ContentPlaceHolder1_lblNoClient').innerHTML = "";
	    //Set hidden field value
	    $get('ctl00_ContentPlaceHolder1_hidClientInstalled').value = "DetectionErr";
	    $get('ctl00_ContentPlaceHolder1_txtClientInstalled').value = "DetectionErr";
	    $get('ctl00_ContentPlaceHolder1_btnClientOK').focus();
	}
}
		
function hideClientMessages() {
    $find('mpeClient').hide();
    document.getElementById('ctl00_ContentPlaceHolder1_hidClientInstalled').value = "true";
}
