/****************************************************************************
*****************************************************************************
**
**		        Assima Web Performance Session Connector
**
*****************************************************************************
****************************************************************************/

/***********
* Namespace
***********/

var AssimaWebEpss = {};

/**********
* Globals
**********/

AssimaWebEpss.isFirefox = window.navigator.userAgent.indexOf("Firefox/") >= 0;
AssimaWebEpss.strEntryPoint = "epss_connect.js";

/****************************************************************************
* NAME: startAssimaWebEpss
* DSC.: Use this function to start a Web EPSS session on the calling window
****************************************************************************/

function startAssimaWebEpss()
{
    //debugger;
    if (document.body == null)
    {
        if (AssimaWebEpss.isFirefox)
            window.addEventListener("load", startAssimaWebEpss, false);
        else
            window.attachEvent("onload", startAssimaWebEpss);
        return;
    }
    if (top.window.Popup)
    {
        alert('Assima Web EPSS is already running.');
        return;
    }
    
    /* Extract the WebEPSS URL from SCRIPT element. */   
    var _urlContentEpss = null;
    var _arrayScript = document.getElementsByTagName("script");
    for (var _intIndex = 0; _intIndex < _arrayScript.length; _intIndex++)
    {
        var _strSrcAttr = _arrayScript[_intIndex].src;
        if (!_strSrcAttr.length)
            continue;
        var _strJavaScriptFile = _strSrcAttr.substring(_strSrcAttr.lastIndexOf('/') + 1);
        if (_strJavaScriptFile != AssimaWebEpss.strEntryPoint)
            continue;
        _urlContentEpss = _strSrcAttr.substr(0, _strSrcAttr.lastIndexOf('/'));
        break;
    }
    if (_urlContentEpss == null)
    {
        alert("Fatal Error: The extraction of WebEPSS URL was failed.");    
        return;
    }
    if (arguments.length > 0 && arguments[0] != null)
    {
        if (_urlContentEpss.charAt(_urlContentEpss.length - 1) != '/')
            _urlContentEpss += '/';
        window.Assima_strEpssControllerUrl = _urlContentEpss + "epss_controller.htm";
        _urlContentEpss = arguments[0];
    }
    AssimaWebEpss.load(_urlContentEpss);
}


/****************************************************************************
* NAME: load
* DSC.: Connects into Assima Web EPSS 
* ARG.: urlAPSMainPage : URL of Web EPSS content (e.g.: http://servername/path/epss_content/)
****************************************************************************/

AssimaWebEpss.load = function(urlContentEpss)
{
    var _injectDocument = (top != window) ? top.document : document;
    var _strJsPath = urlContentEpss;
    if (_strJsPath.charAt(_strJsPath.length - 1) != '/')
        _strJsPath += '/';
    top.g_strEpssServer = _strJsPath;
    _strJsPath += "start.js";
    top.g_strApplicationAddress = "";
    var _scriptElement = _injectDocument.createElement('script');
    _scriptElement.language = 'javascript';
    _scriptElement.src = _strJsPath;
    _injectDocument.body.appendChild(_scriptElement);
}

