
function escapeAll(string) {
    var decHex = function(dec) {
        var chars = '0123456789ABCDEF';

        return chars.charAt(Math.floor(dec / 16)) + chars.charAt(dec % 16);
    };

    var out = '';

    for(var i = 0; i < string.length; i++) {
        var code = string.charCodeAt(i);

        if(code > 255)
            out += '%3F'; //coloca uma interrogacao caso o caractere seja desconhecido
        else
            out += '%' + decHex(code);
    }

    return out;
}

function criaObjetoAjax(){

    var httprequest=null;
    /* Mozilla, Safari, FireFox ... */
    if( window.XMLHttpRequest ){

        httprequest = new XMLHttpRequest();

    /* IE */
    } else if( window.ActiveXObject){
        try{
            httprequest = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e){
            try{
                httprequest = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {}
        }
    }

    if(httprequest != null && httprequest != undefined){
        return httprequest;
    }else{
        return null;
    }

}


function _makeRequest(url, parameters)
{

    var _httpRequest = criaObjetoAjax();

    if(_httpRequest == null){


        if(document.getElementById('load')!=null){

            document.getElementById('load').style.display='none';

        }
            
        alert('Requisição não aceita, tente novamente');
        return false;

    }else{

        if(document.getElementById('load')!=null){

        	document.getElementById('load').style.display='block';
                
        }

    }

    // Parâmetros para POST


    _httpRequest.onreadystatechange = function(){

        if (_httpRequest.readyState == 4 && _httpRequest.status == 200)
        {


            if(document.getElementById('load')!=null){
            	document.getElementById('load').style.display='none';
            }
            
            result = _httpRequest.responseText;
            eval(result);

        }else if (_httpRequest.readyState == 4 && _httpRequest.status != 200) {

            alert(' Erro: - página não existe ou houve perda de conexão com a internet');

            if(document.getElementById('load')!=null){

            	document.getElementById('load').style.display='block';

            }


            return false;

        }

    }


    _httpRequest.open('POST', url, true);
    _httpRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded; charset=ISO-8859-1");
    _httpRequest.setRequestHeader("Content-length", parameters.length);
    _httpRequest.setRequestHeader("Connection", "close");
    _httpRequest.send(parameters);
    
    return false;

}


function _makeRequestCarrinho(url, parameters)
{
	
    var _httpRequest = criaObjetoAjax();
    var load = document.getElementById('load');
    
    load.style.display='none';
    if(_httpRequest == null){


    	load.style.display='none';
            
        alert('Requisição não aceita, tente novamente');
        return false;

    }else{

    	load.style.display='block';

    }

    // Parâmetros para POST


    _httpRequest.onreadystatechange = function(){

        if (_httpRequest.readyState == 4 && _httpRequest.status == 200)
        {


        	load.style.display='none';
            
            result = _httpRequest.responseText;
            eval(result);

        }else if (_httpRequest.readyState == 4 && _httpRequest.status != 200) {

            alert(' Erro: - página não existe ou houve perda de conexão com a internet');

            load.style.display='none';


            return false;

        }

    }


    _httpRequest.open('POST', url, true);
    _httpRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded; charset=ISO-8859-1");
    _httpRequest.setRequestHeader("Content-length", parameters.length);
    _httpRequest.setRequestHeader("Connection", "close");
    _httpRequest.send(parameters);
    
    return false;

}

function requestAjaxCarrinho(vars){
	
	_makeRequestCarrinho('sqlCarrinho.php',vars);
	 

	
}


  

function getPage(url, campo){   
    //Abre a url
	
	var _httpRequest = criaObjetoAjax();
 	var conteudo=document.getElementById(campo);
	//alert(conteudo);
	
	if(_httpRequest == null){
				
		alert('Requisição não aceita, tente novamente');
		return false;
		
	}else{
		
		conteudo.innerHTML='<img src="images/bt_loading.gif">';
		//document.body.scrollTop='0';
			
	} 
		
    _httpRequest.open("GET", url,true);

    //Executada quando o navegador obtiver o c?digo

    _httpRequest.onreadystatechange=function() {
        if (_httpRequest.readyState==4){
            
            var texto=_httpRequest.responseText;            
            //Exibe o texto no div conte?do
            conteudo.innerHTML=texto;          
            
        }
    }
    _httpRequest.send(null);
}

function getPageParent(url, campo){   
    //Abre a url
	 
	var _httpRequest = criaObjetoAjax();
 	var conteudo=parent.document.getElementById(campo);
	
	if(_httpRequest == null){
				
		alert('Requisição não aceita, tente novamente');
		return false;
		
	}else{
		
		conteudo.innerHTML='<img src="images/bt_loading.gif">';
		//document.body.scrollTop='0';
			
	} 
		
    _httpRequest.open("GET", url,true);

    //Executada quando o navegador obtiver o c?digo

    _httpRequest.onreadystatechange=function() {
        if (_httpRequest.readyState==4){
            //L? o texto
            var texto=_httpRequest.responseText;
            
            //Exibe o texto no div conte?do
           

            conteudo.innerHTML=texto;
           
            
        }
    }
    
    _httpRequest.send(null);
    
}

function _getAjax (pagina, obj)
{
    //var getstr = "?";
    var getstr = "";//string que guardara os parametros passados via post
    var i;
    //******************************************************

    // Concatena POST pelo elements
    for (i=0; i<obj.elements.length; i++)
    {
        //alert(obj.elements[i].tagName);
        if (obj.elements[i].tagName == "TEXTAREA")
        {
        {
            getstr += obj.elements[i].name + "=" + escapeAll(obj.elements[i].value) + "&";
        }
        }
        if (obj.elements[i].tagName == "INPUT")
        {
            if (obj.elements[i].type == "text") 	{
                getstr += obj.elements[i].name + "=" + escapeAll(obj.elements[i].value) + "&";
            }
            if (obj.elements[i].type == "hidden") 	{
                getstr += obj.elements[i].name + "=" + escapeAll(obj.elements[i].value) + "&";
            }
            if (obj.elements[i].type == "password") {
                getstr += obj.elements[i].name + "=" + escapeAll(obj.elements[i].value) + "&";
            }
            if (obj.elements[i].type == "checkbox") {
                if (obj.elements[i].checked) {
                    getstr += obj.elements[i].name + "=" + escape(obj.elements[i].value) + "&";
                }
                else {
                    getstr += obj.elements[i].name + "=&";
                }
            }
            if (obj.elements[i].type == "radio")
            {
                if (obj.elements[i].checked) {
                    getstr += obj.elements[i].name + "=" + escape(obj.elements[i].value) + "&";
                }
            }
        }
        else if (obj.elements[i].tagName == "SELECT")
        {
            var sel = obj.elements[i];
            getstr += sel.name + "=" + escape(sel.options[sel.selectedIndex].value) + "&";
        }
    }


    _makeRequest (pagina, getstr);
    return false;//para retornar e naum enviar quando apertar enter
}
