// LJAX library
// AJAX Library fomr Layton-James Associates Ltd
// Copyright (c) 2005 Layton-James Associates Ltd. All Rights Reserved
// Version: 0.07b
// Author: Dean Layton-James
// Release Date: October 12th 2005
// Distributed Under License

// Global Vars
var oLJAX ;
var iLJAXVersion = '0.07b' ;

function initLJAX()
{
    var oXMLHttp=null
    if (window.XMLHttpRequest) {
        oXMLHttp=new XMLHttpRequest() ;

    } else if (window.ActiveXObject) {
        oXMLHttp=new ActiveXObject("Microsoft.XMLHTTP")
    }
    return oXMLHttp ;
}

function handleStateChange()
{
    if( oLJAX.readyState == 4 ) {
        if( oLJAX.status == 200 ) {
            alert( 'LJAX response Text \n\n\n' + oLJAX.responseText ) ;
        }
        if( oLJAX.status == 404 ) {
            alert( 'LJAX Error: ' + oLJAX.status + ' :: ' + oLJAX.statusText + '\n\nServer side URL not found')    ;
        }
    }
}

function sendGetRequest( sURL, sQueryString )
{
    var sRequest = '' ;

    if( sURL.length < 1 ) {
        return false ;
    }

    if( sQueryString.length > 0 ) {
        sRequest = sURL + '?' + sQueryString + '&ljaxcb=' + new Date().getTime() ;
    } else {
        sRequest = sURL + '?' + 'ljaxcb' + new Date().getTime() ;
    }

    //alert( sRequest ) ;

    oLJAX.open( 'GET', sRequest, true ) ;
    oLJAX.send( null ) ;
}



function getDocElementValue( sElement )
{
    return document.getElementById( sElement ).innerHMTL ;
} // end getDocElementValue


function getFormFieldValue( sField )
{
    var sFieldVal = '' ;
    //alert('getFormFieldValue field :: ' + sField ) ;
    return document.getElementById( sField ).value ;
} // end getFormFieldValue

function setDocElementValue( sElement, sValue )
{
    document.getElementById( sElement ).innerHTML = sValue ;
} // end setElementValue

function setFormFieldValue( sField, sValue )
{
    //alert( 'Field : ' + sField + ' Value : ' + sValue ) ;
    document.getElementById( sField ).value = sValue ;
} // end setFormFieldValue


function sendPostRequest( sURL, sQueryString, sCallback )
{
    var sRequest = '' ;

    if( sURL.length > 0 ) {
        return false ;
    }

    if( sQueryString.length > 0 ) {
        sRequest = sURL + '?' + sQueryString + 'ljaxcb' + new Date().getTime() ;
    } else {
        sRequest = sURL + '?' + '&ljaxcb=' + new Date().getTime() ;
    }

    if( sCallback.length < 1 ) {
        alert( 'Setting Callback to handleStateChange' ) ;
        sCallback = handleStateChange ;
    } else {
        alert( 'Setting Callback to ' + sCallback ) ;

    }

    oLJAX.onreadystatechange = sCallback ;
    oLJAX.open( 'POST', sRequest, true ) ;
    oLJAX.setRequestHeader( 'X-LJAX-Method', 'POST' ) ;
    oLJAX.setRequestHeader( 'X-LJAX-Version', iLJAXVersion ) ;
    oLJAX.setRequestHeader( 'Content-Type', 'application/x-www-form-urlencoded' ) ;
    oLJAX.send( null ) ;
}
