/// <reference path="LanxerLibrary.js" />

function Global_MakeAJAXRequest(page , query)
{
	HideToolTip();
	try
	{
	    g('UIBlocker').style.display = '';
	    
	    var sreq = false;
    	
	    if (window.XMLHttpRequest) 	
	    { 
	        sreq = new XMLHttpRequest();  
	    } 
	    else if (window.ActiveXObject) 
	    {  
	        try 
	        { 
	            sreq = new ActiveXObject("Msxml2.XMLHTTP"); 
            } 	
            catch (e) 
            { 
                try 
                { 
                    sreq = new ActiveXObject("Microsoft.XMLHTTP"); 
                } 	
                catch (e) 
                {} 
            } 
        }
     
        var qt = '/Graphics/AJAX/' + page + '.aspx';
        
        sreq.open('POST' , qt , false);
        
        sreq.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
        
        var qApend = GetQAppend();
              
        var offsetTime = -1;
            
        try
        {
            var visitortime = new Date();                
            offsetTime = visitortime.getTimezoneOffset()/60;
        }
        catch(timeEx)
        {
        
        }
        
        qApend += '&ot=' + offsetTime;
        sreq.send(query + qApend); 
        
        
        
        if (sreq.status == 200)
        {
            g('UIBlocker').style.display = 'none';
            
            var rText = sreq.responseText;
            if(rText == '<R/>')
	            return '';
	        else 
	            return rText;
        }
        else if(sreq.status == 567)
        {
	        g('UIBlocker').style.display = 'none';
            return '#INPUT OVERLOAD#';            
        }
        else if (sreq.status == 777)
        {
	        g('UIBlocker').style.display = 'none';
	        window.location = 'app.aspx?urlref=' +  window.location;
	    }
        else
        {
	        g('UIBlocker').style.display = 'none';
	        return sreq.responseText;
	    }
    } 
    catch(ex)
    {
	    g('UIBlocker').style.display = 'none';
        alert(ex);
    }
}

function GetQAppend()
{
    var itMustReturnLikeThisOrIsUnDef =
    (g('__CURENTUSER') ? '&__CURENTUSER=' + g('__CURENTUSER').value : '') +   
    (g('__PARTNER_PROGRAM') ? '&partner=' + g('__PARTNER_PROGRAM').value : '') +
    (g('__COOKIE_SECURITY') ? '&cs=' + g('__COOKIE_SECURITY').value : '') + 
    (g('__CURENTPAGE') ? '&__CURENTPAGE=' + ExtractPageString(g('__CURENTPAGE').value) : '') +
    (g('__UNIQUESESSIONID') ? '&usid=' + g('__UNIQUESESSIONID').value : '') + 
    (g('main') ? (g('main').clientHeight ? '&mainHeight=' + g('main').clientHeight : '') : '') +
    (g('__PARTNER_ARG1') ? '&partnerArg1=' + g('__PARTNER_ARG1').value : '');
    
    return itMustReturnLikeThisOrIsUnDef;
}

function MakeGlobalAJAXRequest(query)
{
	return Global_MakeAJAXRequest('Global' , query);
}

function aj_art(query)
{
    return Global_MakeAJAXRequest('Global', 'range=art&' + query); 
}

function aj_edu(query)
{
	return Global_MakeAJAXRequest('Global' , 'range=edu&' + query);
}

function aj_es(query)
{
	return Global_MakeAJAXRequest('Global' , 'range=es&' + query);
}

function aj_wcr(query)
{
	return Global_MakeAJAXRequest('Global' , 'range=wcr&' + query);
}

function aj_cp(query)
{
	return Global_MakeAJAXRequest('Global' , 'range=cp&' + query);
}

function aj_opp(query)
{
    return Global_MakeAJAXRequest('Global' , 'range=opp&' + query);
}

function aj_exms(query)
{
    return Global_MakeAJAXRequest('Global' , 'range=exms&' + query);
}

function aj_geo(query)
{
    return Global_MakeAJAXRequest('Global' , 'range=geo&' + query);
}

function aj_co(query)
{
    return Global_MakeAJAXRequest('Global' , 'range=co&' + query);
}

function aj_c(query, callback)
{
	return Global_MakeAJAXRequest_ASYNC('Chat' , query , callback);
}

function aj_dir(query) // MakeAJAXRequest
{
	return Global_MakeAJAXRequest('Directory' , query);
}

function aj_a(query)
{
	return Global_MakeAJAXRequest('Global' , 'range=a&' + query);
}

function aj_comm(query)
{
	return Global_MakeAJAXRequest('Communications' , query);
}

function aj_ps(query) // MakeAJAXRequest
{	
	return Global_MakeAJAXRequest('PeopleSearch' , query);
}

function ajx_ps(query , callBack)
{
    Global_MakeAJAXRequest_ASYNC('PeopleSearch' , query , callBack);
}

function aj_fe(query)
{
	return Global_MakeAJAXRequest('Forms' , query);
}

function aj_mp(query) // MakeAJAXRequest
{
	return Global_MakeAJAXRequest('MyProfile' , query)
}

function ajx_mp(query , callBack)
{
    Global_MakeAJAXRequest_ASYNC('MyProfile' , query , callBack);
}

function aj_stm(query)
{
    return Global_MakeAJAXRequest('Global' , 'range=stm&' + query);
}

function aj_con(query)
{
    return Global_MakeAJAXRequest('Global' , 'range=con&' + query);
}

function aj_evnt(query)
{
    return Global_MakeAJAXRequest('Global' , 'range=evnt&' + query);
}

function aj_invt(query)
{
    return Global_MakeAJAXRequest('Global' , 'range=invt&' + query);
}

function aj_vgo(query)
{
    return Global_MakeAJAXRequest('Global' , 'range=vgo&' + query);
}

function Global_MakeAJAXRequest_ASYNC(page , query, callBack)
{
	if (window.XMLHttpRequest) { http_request_c_list = new XMLHttpRequest();  } else if (window.ActiveXObject) {  try { http_request_c_list = new ActiveXObject("Msxml2.XMLHTTP"); } 	catch (e) { try { http_request_c_list = new ActiveXObject("Microsoft.XMLHTTP"); } 	catch (e) {} } }

    var qt = '/Graphics/AJAX/' + page + '.aspx';

    http_request_c_list.open('POST' , qt , true);
    http_request_c_list.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	
    http_request_c_list.onreadystatechange = callBack;
	
    var qApend = GetQAppend();
                
	http_request_c_list.send(query + qApend);
}

