var isIE = false;
function getElementTextNS(prefix, local, parentElem, index) {
    var result = "";
    if (prefix && isIE) {
        // IE/Windows way of handling namespaces
        result = parentElem.getElementsByTagName(prefix + ":" + local)[index];
    } else {
        // the namespace versions of this method 
        // (getElementsByTagNameNS()) operate
        // differently in Safari and Mozilla, but both
        // return value with just local name, provided 
        // there aren't conflicts with non-namespace element
        // names
        result = parentElem.getElementsByTagName(local)[index];
    }
    if (result) {
        // get text, accounting for possible
        // whitespace (carriage return) text nodes 
        if (result.childNodes.length > 1) {
            return result.childNodes[1].nodeValue;
        } else {
            return result.firstChild.nodeValue;    		
        }
    } else {
        return "n/a";
    }
}

function processMakeChange()
{
 if (req.readyState == 4 && req.status == 200 && req.responseXML != null)
 {
   
   	var file;
	var items = req.responseXML.getElementsByTagName("region");
		
  
  	//clear the current list (except the default)
  	while(document.getElementById('selModel').options.length>1){
  		 document.getElementById('selModel').options[1] = null;
  	}
  	
  	for (var i = 0; i < items.length; i++) {
  		
  		
  		name = getElementTextNS("", "name", items[i], 0);
  		category_id = getElementTextNS("", "id", items[i], 0);
   		var element = i + 1; //add one because the default option is still in the first slot
  		document.getElementById('selModel').options[element] = new Option(name,category_id);
  		
	}
  	
  }else{
  	// 
  }
}

function loadXMLDoc( url, from )
{
  req = false;
  if(window.XMLHttpRequest) {
    try {
      req = new XMLHttpRequest();
    } catch(e) {
      req = false;
    }
  }
  else if(window.ActiveXObject)
  {
    try {
      req = new ActiveXObject("Msxml2.XMLHTTP");
    } catch(e) {
    try {
      req = new ActiveXObject("Microsoft.XMLHTTP");
    } catch(e) {
      req = false;
    }
  }
  }
  if(req) {
  	if(from=='generateModels'){
	    req.onreadystatechange = processMakeChange;
	    req.open("GET", url, true);
	    req.send("");
  	}
  }
}


function generateModels()
{
	
	for (var i = 0; i < document.getElementById('selMake').options.length; i++) {
       if(document.getElementById('selMake').options[i].selected == true){
	   		make_id = document.getElementById('selMake').options[i].value;
	   }else{
	   		
	   }
    }
    
   //alert('sending'+make_id);
    
	loadXMLDoc( "/_scripts/listModels.scr.php?selMake="+make_id, 'generateModels');//+e
	
}
