// sbss global.js

var sessionId  = "" ;
var ajaxPrefix = "common" ;

var lastRequest      = new Array() ;
    lastRequest [0]  = 0 ;

var saveRequest      = new Array() ;

var commonXMLHttpResult = "" ;

function  checkResult (result)
    {
// 0=$pFunction, 1=$sessionId, 2=$pRequestNo, 3=$returnTarget, 4=$returnHtml, 5=$returnJava
var resultArray  = result.split("|") ;
    if ( (resultArray[6] == "link1") || (resultArray[6] == "link2") || (resultArray[6] == "link3") || (resultArray[6] == "link4") || (resultArray[6] == "link5") )
        {
        saveRequest[saveRequest.length] = result ;
        }
    if ( (resultArray[0] == "callAjax") && (resultArray[2] == lastRequest[0]) )
        {
        if (resultArray[3] != "")
            document.getElementById(resultArray[3]).innerHTML = resultArray[4] ;
        if (resultArray[5] != "")
            eval(resultArray[5]) ;
        }
    else
        {
        alert ("sequence error " + resultArray[0] + " " + resultArray[1]) ;
        }
    return ;
    }

function  commonXMLHttpRequest (requestString)
    {
    commonXMLHttpResult = "" ;
var XMLHttpRequestObject = false; 
    if (window.XMLHttpRequest)
        {
	XMLHttpRequestObject = new XMLHttpRequest();
	} 
    else if (window.ActiveXObject)
        {
        XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP");
	}
    if (XMLHttpRequestObject)
        {
        XMLHttpRequestObject.open("POST", ajaxPrefix+"/ajax.php") ;
        XMLHttpRequestObject.setRequestHeader('Content-Type','application/x-www-form-urlencoded') ;
        XMLHttpRequestObject.onreadystatechange = function()
            {
            if (XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200)
                {
                commonXMLHttpResult = XMLHttpRequestObject.responseText ;
                if (requestString.substring(0,17) == "passdata=callAjax")
                    checkResult(commonXMLHttpResult) ;
                }
            }
        requestString = requestString.replace(/&/g, "%26") ;
        requestString = requestString.replace(/\+/g, "%2B") ;
        XMLHttpRequestObject.send(requestString) ;
        }
    return ; 
    }

function  callAjax (ajaxParm1, ajaxParm2, messageId)
    {
// stupid pet tricks.
// since there are not likely to be changes inbetween calls, save prior call above, and re-execute it here.
var searchFlag = "" ;    
    for (loopCtr=0; loopCtr<saveRequest.length; loopCtr++)
        {
var     resultArray = saveRequest[loopCtr].split("|") ;
        if ( (resultArray[6] == ajaxParm1) && (resultArray[7] == ajaxParm2) && (resultArray[8] == messageId) )
            {
            if (resultArray[3] != "")
                document.getElementById(resultArray[3]).innerHTML = resultArray[4] ;
            if (resultArray[5] != "")
                eval(resultArray[5]) ;
            searchFlag = "yes" ;
            break ;
            }
        }
    if (searchFlag == "yes")
      return ;
    if ( (messageId != "") && (document.getElementById(messageId)) )
        document.getElementById(messageId).innerHTML = "processing ..." ;
    lastRequest[0]++ ;
var requestString = "passdata=callAjax|" + sessionId + "|" + lastRequest[0] + "|" + ajaxParm1 + "|" + ajaxParm2 + "|" + messageId  ;
    commonXMLHttpRequest(requestString) ;
    return ;
    }

