/* Funciones para los APIs de Google
*  Google Search
/*--------------------------------------------------------------------------*/

google.load('search', '1');

function searchStart(searchControl, searcher, query) {
    if (query != "") {
        sendRequest('GuardaConsulta.aspx?query=' + escape(query.substring(0, 200)), false);
    }
}
    
function OnLoad() {
    // Create a custom search control that uses a CSE restricted
    var customSearchControl = new google.search.CustomSearchControl('www.lazora.com');

    // create a draw options object so that we can position the search form root
    var options = new google.search.DrawOptions();
    options.setSearchFormRoot(document.getElementById("buscador"));

    customSearchControl.setUserDefinedLabel('Resultados de la b\u00fasqueda')
    customSearchControl.draw(document.getElementById("ResultadosBusqueda"), options);

    // Set a callback so that whenever a search is started we will call searchStart
   customSearchControl.setSearchStartingCallback(this, searchStart);
    
    // run a query
    cadVariables = location.search.substring(1, location.search.length);
    arrVariables = cadVariables.split("&");
    var txtBuscar = null;

    if (arrVariables[0].split("=") != "") {
        for (i = 0; i < arrVariables.length; i++) {
            arrVariableActual = arrVariables[i].split("=");
            if (isNaN(parseFloat(arrVariableActual[1])))
                txtBuscar = unescape(arrVariableActual[1]);
            else
               txtBuscar = arrVariableActual[1] 
        }
     }
     customSearchControl.execute(txtBuscar);
     customSearchControl.setNoResultsString('<b>No hay resultados<b>.')
}
google.setOnLoadCallback(OnLoad);



/***********************************************/
function sendRequest(url, postData, data) {
    var req = createXMLHTTPObject();
    if (!req) return;
    var method = (postData) ? "POST" : "GET";
    req.open(method, url, true);
    req.setRequestHeader('User-Agent', 'XMLHTTP/1.0');
    if (postData)
        req.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
    req.onreadystatechange = function() {
        if (req.readyState != 4) return;
        if (req.status != 200 && req.status != 304) {
            //			alert('HTTP error ' + req.status);
            return;
        }
        //callback(req);
    }
    if (req.readyState == 4) return;
    if (postData) {
	req.send(data);
    } else {
	req.send("");
    }
}

var XMLHttpFactories = [
	function() { return new XMLHttpRequest() },
	function() { return new ActiveXObject("Msxml2.XMLHTTP") },
	function() { return new ActiveXObject("Msxml3.XMLHTTP") },
	function() { return new ActiveXObject("Microsoft.XMLHTTP") }
];

function createXMLHTTPObject() {
    var xmlhttp = false;
    for (var i = 0; i < XMLHttpFactories.length; i++) {
        try {
            xmlhttp = XMLHttpFactories[i]();
        }
        catch (e) {
            continue;
        }
        break;
    }
    return xmlhttp;
}
