

function CallbackParams(xmlHttpReq, arguments, cb)
{    
    this.xmlHttp = new Object();
    this.xmlHttp.responseText = xmlHttpReq;    
    this.args = arguments;
    this.callback = cb;
}


function Select(eventType, params, callback, callbackArgs, loadingMsg)
{	
    var pageUrl = "Select.ashx";
    DoCallback_GET(pageUrl, eventType, params, callback, callbackArgs, loadingMsg); 		
}
function LeaseSelect(eventType, params, callback, callbackArgs, loadingMsg) {
    var pageUrl = "LeaseSelect.ashx";
    DoCallback_GET(pageUrl, eventType, params, callback, callbackArgs, loadingMsg);
}
function DoCallback_GET(url, eventType, params, callback, callbackArgs, loadingMsg)
{
    if(loadingMsg != null && loadingMsg.length>0)
       	StartRequest(loadingMsg);
    else
        StartRequest("Loading..."); 
    if(params.charAt(0) == "&") params = params.substr(1);
     
    $.ajax({
       type: "GET",
       url: url,
       dataType: "html",
       data: "eventType="+eventType+"&"+params,       
       success: function(data, textStatus){  
        var cbParams = new CallbackParams(data, callbackArgs, callback); callback(cbParams); 
       },
       complete: function (XMLHttpRequest, textStatus) { EndRequest(); },
       error: function (XMLHttpRequest, textStatus, errorThrown) { EndRequest(); }
    });
}

//Helpers
function StartRequest(msg){ 
    $2('updateProgressDIV').style.display = ""; 
    if(msg != null && msg.length > 0) { $2('updateProgressDIV').getElementsByTagName('span')[0].innerHTML = msg; }
}
function EndRequest() { $2('updateProgressDIV').style.display = "none"; }
function EndRequestWithDoc(doc) { $2('updateProgressDIV', doc).style.display = "none"; }

function $2(id, doc)
{
    if(doc == null){
        if(document.getElementById){ return document.getElementById(id); }
        else if(document.all){ return document.all(id); }
    } else {
        if(doc.getElementById){ return doc.getElementById(id); }
        else if(doc.all){ return doc.all(id); }
    }
}





