
// AJAX

var myRequest = null;
var n = Math.floor(Math.random()*1000);

function CreateXmlHttpReq(handler) {
  var xmlHttpReq = false;
  // Mozilla/Safari
  if (window.XMLHttpRequest) {
      xmlHttpReq = new XMLHttpRequest();
      if (xmlHttpReq.overrideMimeType) {
          xmlHttpReq.overrideMimeType('text/xml');
          // See note below about this line
      }
  // IE
  } else if (window.ActiveXObject) { // IE
      try {
          xmlHttpReq = new ActiveXObject("Msxml2.XMLHTTP");
  } catch (e) {
      try {
          xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
      } catch (e) {}
      }
  } 

  xmlHttpReq.onreadystatechange = handler;
  return xmlHttpReq;
}

function myHandler() {
  if (myRequest.readyState == 4 && myRequest.status == 200) {
  	var inner = myRequest.responseText;
  	select_innerHTML(document.getElementById("provincia"),inner);
  	document.getElementById("provincia").disabled = false;
  }
}

function myHandler1() {
  if (myRequest.readyState == 4 && myRequest.status == 200) {
  	var inner = myRequest.responseText;
  	select_innerHTML(document.getElementById("comune"),inner);
  	document.getElementById("comune").disabled = false;
  }
}

function myHandler2() {
  if (myRequest.readyState == 4 && myRequest.status == 200) {
    e = document.getElementById("occasioni");
  	e.innerHTML = myRequest.responseText;
  }
}

function compilaProvince(regione){
  document.getElementById('provincia').innerHTML = "";
 	var opt = document.createElement('option');
  opt.innerHTML = 'Caricamento in corso...';
  opt.value = '0';
  document.getElementById('provincia').appendChild(opt);
  
	myRequest = CreateXmlHttpReq(myHandler);
	myRequest.open("GET","script/compilaProvince.php?regione="+regione);
	myRequest.send(null);    
}

function compilaComuni(provincia){
  document.getElementById('comune').innerHTML = "";
 	var opt = document.createElement('option');
  opt.innerHTML = 'Caricamento in corso...';
  opt.value = '0';
  document.getElementById('comune').appendChild(opt);
  
	myRequest = CreateXmlHttpReq(myHandler1);
	myRequest.open("GET","script/compilaComuni.php?provincia="+provincia);
	myRequest.send(null);  
    
}

function scorriAnnunci(){
  var e = document.getElementById("occasioni");
  myRequest = CreateXmlHttpReq(myHandler2);
  myRequest.open("GET","script/estraiImmobile.php?p="+n);
  myRequest.send(null);
  n = Math.floor(Math.random()*1000);
}
	
// FINE AJAX

function select_innerHTML(objeto,innerHTML){
/******
* select_innerHTML - corrige o bug do InnerHTML em selects no IE
* Veja o problema em: http://support.microsoft.com/default.aspx?scid=kb;en-us;276228
* Versão: 2.1 - 04/09/2007
* Autor: Micox - Náiron José C. Guimarães - micoxjcg@yahoo.com.br
* @objeto(tipo HTMLobject): o select a ser alterado
* @innerHTML(tipo string): o novo valor do innerHTML
*******/
    objeto.innerHTML = ""
    var selTemp = document.createElement("micoxselect")
    var opt;
    selTemp.id="micoxselect1"
    document.body.appendChild(selTemp)
    selTemp = document.getElementById("micoxselect1")
    selTemp.style.display="none"
    if(innerHTML.toLowerCase().indexOf("<option")<0){//se não é option eu converto
        innerHTML = "<option>" + innerHTML + "</option>"
    }
    innerHTML = innerHTML.replace(/<option/g,"<span").replace(/<\/option/g,"</span")
    selTemp.innerHTML = innerHTML
      
    
    for(var i=0;i<selTemp.childNodes.length;i++){
  var spantemp = selTemp.childNodes[i];
  
        if(spantemp.tagName){     
            opt = document.createElement("OPTION")
    
   if(document.all){ //IE
    objeto.add(opt)
   }else{
    objeto.appendChild(opt)
   }       
    
   //getting attributes
   for(var j=0; j<spantemp.attributes.length ; j++){
    var attrName = spantemp.attributes[j].nodeName;
    var attrVal = spantemp.attributes[j].nodeValue;
    if(attrVal){
     try{
      opt.setAttribute(attrName,attrVal);
      opt.setAttributeNode(spantemp.attributes[j].cloneNode(true));
     }catch(e){}
    }
   }
   //getting styles
   if(spantemp.style){
    for(var y in spantemp.style){
     try{opt.style[y] = spantemp.style[y];}catch(e){}
    }
   }
   //value and text
   opt.value = spantemp.getAttribute("value")
   opt.text = spantemp.innerHTML
   //IE
   opt.selected = spantemp.getAttribute('selected');
   opt.className = spantemp.className;
  } 
 }    
 document.body.removeChild(selTemp)
 selTemp = null
}