// JSJAM Configuration: keywords to omit when compressing JS code

//jsjam-keep:showPrefsDialog
//jsjam-keep:fe
//jsjam-keep:touch
//jsjam-keep:dragElt
//jsjam-keep:maximized
//jsjam-keep:showTitle
//jsjam-keep:custTitle
//jsjam-keep:ncElt
//jsjam-keep:cElt
//jsjam-keep:initCompWin
//jsjam-keep:initComponent
//jsjam-keep:setTitle
//jsjam-keep:getTitle
//jsjam-keep:rePaint
//jsjam-keep:doFocus
//jsjam-keep:setFocus
//jsjam-keep:doBlur
//jsjam-keep:getResizeCursor
//jsjam-keep:startDrag
//jsjam-keep:doDrag
//jsjam-keep:stopDrag
//jsjam-keep:resetCursor
//jsjam-keep:tearOff
//jsjam-keep:tearDown
//jsjam-keep:toggleMaximized
//jsjam-keep:toggleTitle
//jsjam-keep:confirmExit
//jsjam-keep:getValueFromDialog
//jsjam-keep:outlineDrag
//jsjam-keep:snapToGrid
//jsjam-keep:gridSize
//jsjam-keep:saveEnabled
//jsjam-keep:saveOnExit
//jsjam-keep:neverPrompt
//jsjam-keep:activeWindow
//jsjam-keep:defShowTitle
//jsjam-keep:msctbAry
//jsjam-keep:addComponent
//jsjam-keep:removeComponent
//jsjam-keep:initWorkspace
//jsjam-keep:initApplication
//jsjam-keep:cascadeComponents
//jsjam-keep:tileComponents
//jsjam-keep:tbTgt
//jsjam-keep:tbm
//jsjam-keep:tbmPrt
//jsjam-keep:msComp
//jsjam-keep:menuStruct
//jsjam-keep:menuItem
//jsjam-keep:name
//jsjam-keep:action
//jsjam-keep:checked
//jsjam-keep:disabled
//jsjam-keep:shortcut
//jsjam-keep:dtb_addButton
//jsjam-keep:dtb_addTextField
//jsjam-keep:dtb_addDropDownList
//jsjam-keep:dtb_addDropDown
//jsjam-keep:getTBMText
//jsjam-keep:setTBMText
//jsjam-keep:getMenuCont
//jsjam-keep:toggleMenu
//jsjam-keep:key
//jsjam-keep:ctrl
//jsjam-keep:alt
//jsjam-keep:shift
//jsjam-keep:isSaved
//jsjam-keep:saveAccountState
//jsjam-keep:saveWorkspaceState
//jsjam-keep:saveComponentState
//jsjam-keep:touch
//jsjam-keep:resetToolbarMenu
//jsjam-keep:resetToolbar
//jsjam-keep:rpcMgr
//jsjam-keep:execStack
//jsjam-keep:checkForHungRPC
//jsjam-keep:rpcDetail
//jsjam-keep:rpc
//jsjam-keep:rpcId
//jsjam-keep:rpcWin
//jsjam-keep:complete
//jsjam-keep:params
//jsjam-keep:kill
//jsjam-keep:addParam
//jsjam-keep:rpcParam
//jsjam-keep:name
//jsjam-keep:value
//jsjam-keep:rpcStack
//jsjam-keep:rpcs
//jsjam-keep:callback
//jsjam-keep:desc
//jsjam-keep:state
//jsjam-keep:updateState
//jsjam-keep:add
//jsjam-keep:run
//jsjam-keep:halt
//jsjam-keep:complete
//jsjam-keep:addStack
//jsjam-keep:execRPC
//jsjam-keep:rpcUpdate
//jsjam-keep:compressStacks
//jsjam-keep:stacks
//jsjam-keep:nullHandler
//jsjam-keep:scrollElt
//jsjam-keep:startScroll
//jsjam-keep:stopScroll
//jsjam-keep:activeWorkspace
//jsjam-keep:addWorkspace
//jsjam-keep:switchWorkspace
//jsjam-keep:renameWorkspace
//jsjam-keep:removeWorkspace
//jsjam-keep:getCallbackURL
//jsjam-keep:doResize
//jsjam-keep:getDynamicToolbar
//jsjam-keep:saveState
//jsjam-keep:moveFocus
//jsjam-keep:toggleTitles
//jsjam-keep:toggleGrid
//jsjam-keep:renameWindow
//jsjam-keep:clearWindows
//jsjam-keep:duplicateWindow
//jsjam-keep:cutWindow
//jsjam-keep:copyWindow
//jsjam-keep:pasteWindow
//jsjam-keep:setStatus
//jsjam-keep:setInitialStatus
//jsjam-keep:dragElt
//jsjam-keep:tbm
//jsjam-keep:saveState
//jsjam-keep:db
//jsjam-keep:setSessionStatus
//jsjam-keep:cbId
//jsjam-keep:doLogin
//jsjam-keep:initPage
//jsjam-keep:reDrawTabs
//jsjam-keep:switchTab
//jsjam-keep:overTab
//jsjam-keep:outTab
//jsjam-keep:saveSettings
//jsjam-keep:saveComplete
//jsjam-keep:handleKeyDown
//jsjam-keep:checkForFailedSave
//jsjam-keep:cancelChanges
//jsjam-keep:ot_
//jsjam-keep:doHeartbeat
//jsjam-keep:doRemoteSave
//jsjam-keep:openAccountAdmin
//jsjam-keep:openMasterSymbolList
//jsjam-keep:openContextMenu
//jsjam-keep:doSymbolSearch
//jsjam-keep:openSymbolSearch
//jsjam-keep:openHelp
//jsjam-keep:openTour
//jsjam-keep:openSupport
//jsjam-keep:viewLockouts
//jsjam-keep:nextLockout
//jsjam-keep:lastLockout
//jsjam-keep:finishLockouts
//jsjam-keep:showCenteredDialog
//jsjam-keep:connectionChange
//jsjam-keep:getSymbolList
//jsjam-keep:clearSymbolList
//jsjam-keep:addSymbol
//jsjam-keep:getContractList
//jsjam-keep:clearContractList
//jsjam-keep:addContract
//jsjam-keep:returnSelectedContracts
//jsjam-keep:doAppLoader
//jsjam-keep:splitSymField
//jsjam-keep:createComplete
//jsjam-keep:quoteTempId
//jsjam-keep:quoteTempURL
//jsjam-keep:quoteTempTitle
//jsjam-keep:openDataExport
//jsjam-keep:getSymbolsToExport
//jsjam-keep:exportData
//jsjam-keep:lockWindow
//jsjam-keep:unlockWindow
//jsjam-keep:doKeyPress
//jsjam-keep:getTop
//jsjam-keep:getLeft
//jsjam-keep:getWidth
//jsjam-keep:getHeight
//jsjam-keep:checkAgree
//jsjam-keep:checkStatus
//jsjam-keep:isClear
//jsjam-keep:isLoaded
//jsjam-keep:initFooter
//jsjam-keep:lockCt
//jsjam-keep:notifyParentLoaded
//jsjam-keep:onLoadComplete
//jsjam-keep:conditionalSubmit
//jsjam-keep:updateToolbar
//jsjam-keep:registerTearOff
//jsjam-keep:checkSysReq
//jsjam-keep:initSysApplet
//jsjam-keep:getJVMVendor
//jsjam-keep:platform
//jsjam-keep:cookieEnabled
//jsjam-keep:appName
//jsjam-keep:appVersion
//jsjam-keep:MSIE
//jsjam-keep:setSysCompatible
//jsjam-keep:srvPrefix
//jsjam-keep:returnSelectedMap
//jsjam-keep:dataExportEnabled
//jsjam-keep:printAgreement

// Stuff for RegExp... should fix in jsjam

//jsjam-keep:Workspace
//jsjam-keep:compWidth
//jsjam-keep:rndNum
//jsjam-keep:compHeight
//jsjam-keep:debug
//jsjam-keep:compId
//jsjam-keep:domId
//jsjam-keep:s
//jsjam-keep:g
/* SYSTEM REQUIREMENTS CHECK CODE
 * 
 * Note: to function correctly, the following HTML must be included in the current
 * web page:
 *
 * <applet id="sysApplet" code="com.futuresource.util.applet.SystemProperties.class"
 *     width="0" height="0" archive="sysapplet.jar"
 *     codebase="http://download.esignal.com/SYSAPP/sysapplet" mayscript>
 *   <param name="cabbase" value="sysapplet.cab">
 *   <param name="java_arguments" value="-Dsun.java2d.d3d=false">
 * </applet>
 *
 * Alternately, an inline call to "initSysApplet()" below will output this HTML for you.
 */

function checkValidity() {
    if ( isPopupBlocked() ) {
        alert("We have detected that you are using popup blocking software.\nThis may cause the application not to function.");
        var popupMessageDiv = document.getElementById("popup_blocker_message");
        if (popupMessageDiv) {
            popupMessageDiv.style.display = "block";
        }
    }

    setTimeout('checkJVMCompatibility()', 2000);
}

function isPopupBlocked() {
    var mine = window.open('','','width=1,height=1,left=0,top=0,scrollbars=no');
    var blocked = false;
    if (mine) {
        blocked = false;
        mine.close();
    } else {
        blocked = true;
    }

    return blocked;
}

function checkJVMCompatibility() {
	var sysApp = document.getElementById("sysApplet");
    var javaOK = false;
    // do JVM check only if applet is found and loaded
    if (sysApp != null)
    {
        if (typeof(sysApp.getJVMVendor) != "undefined" && typeof(sysApp.getJVMVersion) != "undefined" ) {
            if (sysApp.getJVMVendor() == "Sun Microsystems Inc." && sysApp.getJVMVersion() >= "1.4" ) {
                javaOK = true;
            }
        }
    }
    if (!javaOK) {
        alert("We have detected that no Java Runtime is installed on your system, or you are using an old version.\n" +
              "Please verify that you have Java Runtime Environment by Sun Microsystems Inc., version 1.4, or above.");
        var jreMessageDiv = document.getElementById("jre_message");
        if (jreMessageDiv) {
            jreMessageDiv.style.display = "block";
        }
    }
}

function validJVM()
{
	var sysApp=document.getElementById("sysApplet");
	var retval = true;
	if (sysApp!=null) {
		if (typeof(sysApp.getJVMVendor) != "undefined") {
			retval = false;
			if (sysApp.getJVMVendor() == "Microsoft Corp.") {
				retval = true;
			}
			if (sysApp.getJVMVendor() == "Sun Microsystems Inc." &&
					sysApp.getJVMVersion() > "1.4.2") {
				retval = true;
			}
		}
	}
	return retval;
}

function checkSysReq()
{
	var isCompat=false;
	var aVer=parseFloat(window.navigator.appVersion.replace(/.*MSIE\s([0-9\.]*);.*/,"$1"));

	if(window.navigator.appName == "Microsoft Internet Explorer" &&
			aVer >= 5.5 &&
			window.navigator.platform == "Win32" &&
			window.navigator.cookieEnabled &&
			validJVM())
		isCompat=true;

	return isCompat;
}

function initSysApplet()
{
// KH more hard code
	//document.write("<applet id=\"sysApplet\" ");
	//document.write("code=\"com.futuresource.util.applet.SystemProperties.class\" ");
	//document.write("width=\"0\" height=\"0\" archive=\"sysapplet.jar\" ");
	//document.write("codebase=\"http:\/\/platinum.fsxtra.com/common/applets\" mayscript>");
	//document.write("<param name=\"cabbase\" value=\"sysapplet.cab\"></applet>");
}
