/*

Dependências: sniffer.js, numbers.js

*/
    var objDate        =  new Date();
    var intCounter     = numbers_getUniqueNumber();
    var objXmlHttpRequest;

    var xmlhttp_REQUEST_COUNTER  = numbers_getUniqueNumber();


    function xmlhttp_XmlHttpRequestEx () {
		var strXmlHttpControl = ""; 
		var objXmlHttpRequest = null;
		
		if ( sniffer_blnIsIe ) {
			strXmlHttpControl = (sniffer_blnIsIe5) ? "Microsoft.XMLHTTP" : "Msxml2.XMLHTTP";
			try {
				objXmlHttpRequest = new ActiveXObject(strXmlHttpControl);	
     			// objXmlHttpRequest.onreadystatechange = handler;
			}
			catch (e) {
				alert (e);
			}
		}
		else {
			try {
				objXmlHttpRequest = new XMLHttpRequest();
				//objXmlHttpRequest.onload = handler;
				//objXmlHttpRequest.onerror = handler;
			}
			catch (e) {
				alert (e);
			}
		}
        return objXmlHttpRequest;
    }

    function xmlhttp_getXmlFromGetRequest (strURL, blnAsync) {
    	//alert("teste A");
        var intTimeCount = ++xmlhttp_REQUEST_COUNTER;
        intTimeCount += Math.random();
        
        /*var*/ objXmlHttpRequest = new xmlhttp_XmlHttpRequestEx()
    	
    	//alert("teste B");
    	if ( !objXmlHttpRequest) {
			alert("sendRequest(): objXmlHttpRequest não pôde ser criado;");
			return false;
    	}

    	//alert("teste C");

        objXmlHttpRequest.onreadystatechange = function () {
            //alert("changed");
            if ( objXmlHttpRequest.readyState == 4) {
                if ( objXmlHttpRequest.status == 200) {
					//return objXmlHttpRequest.responseXML;
                }
                else {
                    alert(".status != 200");
                }
            }
            else {
				//alert ("teste else");
				//alert (objXmlHttpRequest.readyState);	
            }
        }
        
        objXmlHttpRequest.open('GET', strURL + "&rand=" + intTimeCount, false /*blnAsync*/);
        objXmlHttpRequest.send(null);
    	//alert("rs = " + objXmlHttpRequest.readyState);
    	//alert("teste D");
    	return objXmlHttpRequest.responseXML;
    	
    }
    
    function xmlhttp_getXmlFromPostRequest (objForm, strURL, blnAsync) {

    	var strQuery;
        var intTimeCount = ++xmlhttp_REQUEST_COUNTER;
        intTimeCount += Math.random();
        
        
    	/*var*/	objXmlHttpRequest = new xmlhttp_XmlHttpRequestEx() 

    	if ( !objXmlHttpRequest ) {
			alert("sendRequest(): objXmlHttpRequest não pôde ser criado;");
			return false;
    	}

        objXmlHttpRequest.onreadystatechange = function () {
            if ( objXmlHttpRequest.readyState == 4) {
                if ( objXmlHttpRequest.status == 200) {
					//xmlhttp_responseXML = objXmlHttpRequest.responseXML;
                }
                else {
                    alert(".status != 200");
                }
            }
            else {

            }
        }
        
       	strQuery = forms_getRequestFromFormEx(objForm, "");
       	
        objXmlHttpRequest.open('POST', strURL + "&rand=" + intTimeCount, blnAsync);
        objXmlHttpRequest.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
        objXmlHttpRequest.send(strQuery);
        
    	return objXmlHttpRequest.responseXML;
    }

