var XMLHTTP;
var divChange;
function Richiesta(urlTmp,divTmp,loaderTmp){
  divChange = divTmp;
  if ( loaderTmp == 'loader' ) {
    document.getElementById('ajax-loader').style.display='inline';
  }
    XMLHTTP = RicavaBrowser(CambioStato);
  urlTmp = urlTmp + "&zoom=ok"
  XMLHTTP.open("GET", urlTmp, true);
  XMLHTTP.send(null);
}

function CambioStato() {
    if (XMLHTTP.readyState == 4) {
      var R = document.getElementById(divChange);
      R.innerHTML = XMLHTTP.responseText;
      attivaScript(divChange);
      document.getElementById('ajax-loader').style.display='none';
    }
}

function attivaScript(elementId) {
  var scripts = document.getElementById(elementId).getElementsByTagName('script');
  var code;
  for (var i = 0; i < scripts.length; i++) {
    code =  scripts[i].innerHTML ? scripts[i].innerHTML :
    scripts[i].text ? scripts[i].text :
    scripts[i].textContent;
  try {
     eval(code);
  } catch(e) {
     alert(e);
  }
  }
}


function RicavaBrowser(QualeBrowser) {
    if (navigator.userAgent.indexOf("MSIE") != (-1)) {
      var Classe = "Msxml2.XMLHTTP";
      if (navigator.appVersion.indexOf("MSIE 5.5") != (-1)); {
        Classe = "Microsoft.XMLHTTP";
      } try {
          OggettoXMLHTTP = new ActiveXObject(Classe);
          OggettoXMLHTTP.onreadystatechange = QualeBrowser;
          return OggettoXMLHTTP;
      } catch(e) {
          alert("Errore: l'ActiveX non verrą eseguito - Verificare le impostazioni del Browser attivando l'esecuzione ActiveX");
      }
    } else if (navigator.userAgent.indexOf("Mozilla") != (-1)) {
        OggettoXMLHTTP = new XMLHttpRequest();
        OggettoXMLHTTP.onload = QualeBrowser;
        OggettoXMLHTTP.onerror = QualeBrowser;
        return OggettoXMLHTTP;
    } else {
        alert("Errore: Browser non abilitato per questa applicazione - Verificare le impostazioni del Browser attivando l'esecuzione ActiveX");
    }
}

function zoomTitolo(titoloTmp,divTmp){
  var TmpVal = document.getElementById(divTmp);
  TmpVal.innerHTML = titoloTmp;
}



function xmlhttpPost(strURL,formname,responsediv,responsemsg) {
    var xmlHttpReq = false;
    var self = this;
    // Xhr per Mozilla/Safari/Ie7
    if (window.XMLHttpRequest) {
        self.xmlHttpReq = new XMLHttpRequest();
    }
    // per tutte le altre versioni di IE
    else if (window.ActiveXObject) {
        self.xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
    }
    self.xmlHttpReq.open('POST', strURL, true);
    self.xmlHttpReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    self.xmlHttpReq.onreadystatechange = function() {
        if (self.xmlHttpReq.readyState == 4) {
      // Quando pronta, visualizzo la risposta del form
            updatepage(self.xmlHttpReq.responseText,responsediv);
        }
    else{
      // In attesa della risposta del form visualizzo il msg di attesa
      responsemsg = "<div style='text-align:center;'>" + responsemsg + "</div>"
      updatepage(responsemsg,responsediv);

    }
    }
    self.xmlHttpReq.send(getquerystring(formname));
}

function getquerystring(formname) {
    var form = document.forms[formname];
  var qstr = "";

    function GetElemValue(name, value) {
        qstr += (qstr.length > 0 ? "&" : "")
            + escape(name).replace(/\+/g, "%2B") + "="
            + escape(value ? value : "").replace(/\+/g, "%2B");
      //+ escape(value ? value : "").replace(/\n/g, "%0D");
    }

  var elemArray = form.elements;
    for (var i = 0; i < elemArray.length; i++) {
        var element = elemArray[i];
        var elemType = element.type.toUpperCase();
        var elemName = element.name;
        if (elemName) {
            if (elemType == "TEXT"
              || elemType == "TEXTAREA"
              || elemType == "PASSWORD"
              || elemType == "BUTTON"
              || elemType == "RESET"
              || elemType == "SUBMIT"
              || elemType == "FILE"
              || elemType == "IMAGE"
              || elemType == "HIDDEN")
                GetElemValue(elemName, element.value);
            else if (elemType == "CHECKBOX" && element.checked)
                GetElemValue(elemName,
                    element.value ? element.value : "On");
            else if (elemType == "RADIO" && element.checked)
                GetElemValue(elemName, element.value);
            else if (elemType.indexOf("SELECT") != -1)
                for (var j = 0; j < element.options.length; j++) {
                    var option = element.options[j];
                    if (option.selected)
                        GetElemValue(elemName,
                            option.value ? option.value : option.text);
                }
        }
    }
    return qstr;
}

function updatepage(str,responsediv){
    if(responsediv == 'iscrittomodifica') {
      alert(str)
    }
    document.getElementById(responsediv).innerHTML = str;
    attivaScript(responsediv);
}

