// JavaScript Document

var xmlhttp;
var elementID;

function getTruckModels(make_id) {
   changeID("/ajax/getTruckModels.php", "?make_id="+make_id, "model");
}

function getTruckMakes(make_id) { //should be getTruckMakes. here for backwards compatability
   changeID("/ajax/getTruckModels.php", "?make_id="+make_id, "model");
}

function changeValue(url, postvars, id) {
	url = (url+postvars);
	elementID = id;
	xmlhttp=GetXmlHttpObject();
	if (xmlhttp==null) {
	  alert ("Your browser does not support XMLHTTP!");
	  return;
	}
	xmlhttp.onreadystatechange=stateChangedFrm;
	xmlhttp.open("post",url,true);
	xmlhttp.send(postvars);
}

function changeID(url, postvars, id) {
	url = (url+postvars);
	elementID = id;
	xmlhttp=GetXmlHttpObject();
	if (xmlhttp==null) {
	  alert ("Your browser does not support XMLHTTP!");
	  return;
	}
	xmlhttp.onreadystatechange=stateChanged;
	xmlhttp.open("post",url,true);
	xmlhttp.send(postvars);
}

/*function stateChanged() {
	if (xmlhttp.readyState==4) {
	  document.getElementById(elementID).innerHTML=xmlhttp.responseText;
	  }
}*/

function stateChanged() {
	if (xmlhttp.readyState==4) {
	   var response = xmlhttp.responseText;
	   var select = document.getElementById(elementID).innerHTML;
	   var options = response;
      var html = fillSelect(select, options);

      document.getElementById(elementID).innerHTML = html;
	}
}

function GetXmlHttpObject() {
	if (window.XMLHttpRequest) {
		// code for IE7+, Firefox, Chrome, Opera, Safari
		return new XMLHttpRequest();
	}
	if (window.ActiveXObject) {
		// code for IE6, IE5
		return new ActiveXObject("Microsoft.XMLHTTP");
	}
   return null;
}

function fillOptions() {
   var select = document.getElementById("fill_this").innerHTML;

   var options = '';
   options += '<option>Option 1</option>';
   options += '<option>Option 2</option>';
   options += '<option>Option 3</option>';

   var text = fillSelect(select, options);

   document.getElementById("fill_this").innerHTML = text;
}

function fillSelect(select, options) {
   var str = select;
   var begin, end;
   var str_start = '';
   var str_end = '';
   
   begin = inString(str, '<select');
   if (begin >= 0) {
      end = inString(str, '>', begin);
      str_start = str.substring(begin,end+1);
      
      begin = inString(str, '</select', end);  
      if (begin >= 0) {
         end = inString(str, '>', begin);
         str_end = str.substring(begin,end+1);
      }
   }
   return (str_start + options + str_end);
}

function substr(str, begin, end) {
   var chars = str.split("");
   var substr = "";
   for(var i = begin; i <= end; i++) {
      substr = substr + chars[i];
   }
   return substr;
}
function inString(str, sub) {
   return inString(str, sub, 0)
}
function inString(str, sub, start) {
   var index = str.indexOf(sub, start);
   if (index < 0) {
      sub = sub.toUpperCase();
      index = str.indexOf(sub, start);
      if (index < 0) {
         sub = sub.toLowerCase();
         index = str.indexOf(sub, start);
      }
   }
   return index;
}
