var tXHR=0;  
   
function XMLHTTPRequest() {  
	if (window.XMLHttpRequest) {   
		a=new XMLHttpRequest();
	} //Objeto nativo (FF/Safari/Opera7.6+)  
	else {
		try {   
			a=new ActiveXObject("Msxml2.XMLHTTP");  //activeX (IE5.5+/MSXML2+)  
		}     
		catch(e) {  
			try {   
				a=new ActiveXObject("Microsoft.XMLHTTP"); //activeX (IE5+/MSXML1)  
			}     
			catch(e) { /* O navegador não tem suporte */   
				a=false;   
			}  
		}  
	}   
	return a;  
}  

function getModel() {  
	var brand = document.getElementById("brandcar").value;
	if(brand == "outro"){
		document.getElementById("brandoutro").style.display = "inline";
		document.getElementById("modeloutro").style.display = "inline";
		document.getElementById("modelcar").value = "outro";
		document.getElementById("modelcar").style.display = "none";
		return false;
	}else{
		document.getElementById("brandoutro").style.display = "none";
		document.getElementById("modeloutro").style.display = "none";
		document.getElementById("modelcar").style.display = "inline";
	}
	tXHR=XMLHTTPRequest();  
	
	if (tXHR) {  
		document.getElementById("modelcar").length = 0;  
		document.getElementById("modelcar").options[0] = new Option("Aguarde....",""); 
		tXHR.open("GET", "get_model.php?brandid="+brand, true);      
		tXHR.onreadystatechange=recebeResultado;  
		tXHR.send(null);
	}
}  

function recebeResultado() {  
	if (!tXHR) {
		return false;  
	}  
	else {  
		if (tXHR.readyState == 4) {
			if (tXHR.status == 200) {
				var response = unescape(tXHR.responseText);
				response = response.replace(/\+/g, " ");
				/*document.getElementById("modelcar").innerHTML = response;*/
				select_innerHTML(document.getElementById("modelcar"),response);
			}  
			else {  
				alert('Erro! "'+ tXHR.statusText +'" (erro '+ tXHR.status +')');   
			}  
		}      
	}
}

function atualizaModel() {
	var brand = document.getElementById("modelcar").value;
	if(brand == "outro"){
		document.getElementById("modelcar").value = "outro";
		document.getElementById("modeloutro").style.display = "inline";
		return false;
	}else{
		document.getElementById("modeloutro").style.display = "none";
	}
}

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.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
}
