﻿var statusCodeOk			= 200;
var statusCodeError			= 400;
var statusCodeNotFound		= 404;
var statusCodeUnauthorized	= 401;
var statusCodeServerError	= 500;
var xmlHttpObject;

var IE = document.all?true:false 
if (!IE) document.captureEvents(Event.MOUSEMOVE)

var posX = 0;
var posY = 0;
var posBarraDesplVertical;

document.onmousemove = obtenerPosRaton;

function obtenerPosRaton(e)
{
    if (IE)
    {
        posX = event.clientX;
        posY = event.clientY;
    }
    else 
    {
        posX = e.pageX;
        posY = e.pageY;
    }
}

function f_scrollTop() {
    if (window.pageYOffset)
        return window.pageYOffset;

    if (document.documentElement)
        return document.documentElement.scrollTop;

    if (document.body)
        return document.body.scrollTop;    
     
    return 0;
}

//-----------------------------------------
// Realiza la llamada asincrona 
//-----------------------------------------
function makeAsyncCall(url, callbackFunctionName)
{
    if (!createHttpObjectInstance())	
	    return;

    xmlHttpObject.onreadystatechange =  new Function(callbackFunctionName);
    xmlHttpObject.open("GET", url, true);
    xmlHttpObject.send(null);	
}

//-----------------------------------------
// Crea la instancia del objeto XmlHttp
//-----------------------------------------
function createHttpObjectInstance()
{
    // Comprobamos si window nos proporciona el objeto
    if (window.XMLHttpRequest)
	    xmlHttpObject = new XMLHttpRequest();
    else if (window.ActiveXObject)
	    xmlHttpObject = new ActiveXObject("Microsoft.XMLHTTP");

    // Si el objeto es nulo abortamos la ejecucion
    if (xmlHttpObject == null) {
	    alert('Su navegador es antiguo y no soporta AJAX. Esta aplicacion debe ser utilizada con Explorer 5.0 o superior');
	    return false;
    }
    else return true;		
}




//-----------------------------------------
// Funciones auxiliares para acceder al XmlHttp
//-----------------------------------------

function getXmlHttpReadyState() {
    return xmlHttpObject.readyState;
}

function isXmlHttpReadyStateNotInitialized() {
    return xmlHttpObject.readyState == 0;
}

function isXmlHttpReadyStateLoading() {
    return xmlHttpObject.readyState == 1;
}

function isXmlHttpReadyStateLoaded() {
    return xmlHttpObject.readyState == 2;
}

function isXmlHttpReadyStateInteractive() {
    return xmlHttpObject.readyState == 3;
}

function isXmlHttpReadyStateCompleted() {
    return xmlHttpObject.readyState == 4;
}

function getXmlHttpStatus() {
    return xmlHttpObject.status;
}

function isXmlHttpStatusOk() {
    return xmlHttpObject.status == 200;
}

function isXmlHttpStatusUnauthorized() {
    return xmlHttpObject.status == 401;
}

function isXmlHttpStatusNotFound() {
    return xmlHttpObject.status == 404;
}

function isXmlHttpStatusServerError() {
    return xmlHttpObject.status == 500;
}

function getXmlHttpResponseBody() {
    return xmlHttpObject.responseBody;
}

function getXmlHttpResponseText() {
    return xmlHttpObject.responseText;
}

function getXmlHttpResponseXML() {
    return xmlHttpObject.responseXML;
}

function getXmlHttpStatusText() {
    return xmlHttpObject.statusText;
}