/* sa_ymme3.js: 
	contains common code for ymme feature
*/

var intShow;

var engine_size_handleSuccess3 = function(o){
  if(o.responseText !== undefined){
    // div.innerHTML = "<li>Transaction id: " + o.tId + "</li>"; 
    // div.innerHTML += "<li>HTTP status: " + o.status + "</li>"; 
    // div.innerHTML += "<li>Status code message: " + o.statusText + "</li>";
    // div.innerHTML += "<li>HTTP headers: <ul>" + o.getAllResponseHeaders + "</ul></div>";
    // div.innerHTML += "<li>Server response: " + o.responseText + "</li>";
    // div.innerHTML += "<li>Argument object: Object ( [foo] => " + o.argument.foo +
    // " [bar] => " + o.argument.bar +" )</li>"; 

    var engine_sizeEl = document.getElementById("engine_sizeSelector3");
    var elToAdd;
    var engine_sizes = new Array();

    while (engine_sizeEl.length > 1) {
      engine_sizeEl.remove(0);
    }
    
    engine_sizes = o.responseText.split("\t");
//	alert("engine_sizes.length=" + engine_sizes.length);
    if (engine_sizes[0] == "NONE") {
      engine_sizeEl.options[0].text = "No match";
      return;
    }
    engine_sizeEl.options[0].text = "Choose";

    var idx = 0;
    for (idx = 0; idx < (engine_sizes.length -1); idx++) {
      elToAdd  = document.createElement('option');
      elToAdd.text = engine_sizes[idx];
      elToAdd.value = engine_sizes[idx];
      tEl = engine_sizeEl.options[engine_sizeEl.length];
      try {
        engine_sizeEl.add(elToAdd, tEl);
      }
      catch(err) {
	engine_sizeEl.add(elToAdd);
      }
    }
	if (engine_sizes.length == 2) {
		engine_sizeEl.selectedIndex = 1;
	}	
  }
}

var ymm_handleSuccess3 = function(o){
  if(o.responseText !== undefined){
    // div.innerHTML = "<li>Transaction id: " + o.tId + "</li>";
    // div.innerHTML += "<li>HTTP status: " + o.status + "</li>";
    // div.innerHTML += "<li>Status code message: " + o.statusText + "</li>";
    // div.innerHTML += "<li>HTTP headers: <ul>" + o.getAllResponseHeaders + "</ul></div>";
    // li.innerHTML += "<li>Server response: " + o.responseText + "</li>";
    // div.innerHTML += "<li>Argument object: Object ( [foo] => " + o.argument.foo +
    // " [bar] => " + o.argument.bar +" )</li>";

    var modelEl = document.getElementById("modelSelector3");
    var elToAdd;
    var models = new Array();

    while (modelEl.length > 1) {
      modelEl.remove(0);
    }
    
    models = o.responseText.split("\t");
    if (models[0] == "NONE") {
      modelEl.options[0].text = "No match";
      return;
    } else {
      modelEl.options[0].text = "Choose Model";
    }

    var idx = 0;
    for (idx = 0; idx < (models.length -1); idx++) {
      elToAdd  = document.createElement('option');
      elToAdd.text = models[idx];
      elToAdd.value = models[idx];
      tEl = modelEl.options[modelEl.length];
            try {
	modelEl.add(elToAdd, tEl);
	 } 
	catch(err) {
		modelEl.add(elToAdd);
	 }
    }
  }
}

var handleFailure3 = function(o){
  if(o.responseText !== undefined){
    div.innerHTML = "<li>Transaction id: " + o.tId + "</li>";
    div.innerHTML += "<li>HTTP status: " + o.status + "</li>";
    div.innerHTML += "<li>Status code message: " + o.statusText + "</li>";
  }
}

var ymm_callback3 =
  {
    success: ymm_handleSuccess3,
    failure: handleFailure3
    //    argument: { foo:"foo", bar:"bar" }
  };

var engine_size_callback3 =
  {
    success: engine_size_handleSuccess3,
    failure: handleFailure3
    //    argument: { foo:"foo", bar:"bar" }
  };

function findengine_sizes3() {
  var request;
  var yearEl = document.getElementById("yearSelector3");
  var makeEl = document.getElementById("makeSelector3");
  var modelEl = document.getElementById("modelSelector3");
  var engine_sizeEl = document.getElementById("engine_sizeSelector3");

  var sEngine_SizeURL;
  var year = 0;
 resetResults3();
  if (yearEl.options[yearEl.selectedIndex].value == "year") {
	return;
}
    year = parseInt(yearEl.options[yearEl.selectedIndex].value);
    year += 1900;
    if (year < 1911) {
      year += 100;
    }

  if (makeEl.options[makeEl.selectedIndex].value == "make") {
    return;
  }

  if (modelEl.options[modelEl.selectedIndex].value == "engine_size") {
    return;
  }

  var make = makeEl.options[makeEl.selectedIndex].value;
  var model = modelEl.options[modelEl.selectedIndex].value;

  sEngine_SizeURL = "sa_add.php?action=jsiengine_size&year=" + year + "&make=" + make +
    "&model=" + model;
  request = YAHOO.util.Connect.asyncRequest('GET', sEngine_SizeURL, engine_size_callback3);
}


function findModels3() {
  var request;
  var yearEl = document.getElementById("yearSelector3");
  var makeEl = document.getElementById("makeSelector3");
  var modelEl = document.getElementById("modelSelector3");
  var engine_sizeEl = document.getElementById("engine_sizeSelector3");

  var sModelURL; 
  var year = 0;

  resetResults3();
  engine_sizeEl.selectedIndex = 0;
  while (engine_sizeEl.length > 1) {
    engine_sizeEl.remove(0);
  }
  engine_sizeEl.options[0].text = "Engine";

  if (yearEl.options[yearEl.selectedIndex].value == "year") {
    year = 1492;
  } else {
    year = parseInt(yearEl.options[yearEl.selectedIndex].value);
    year += 1900;
    if (year < 1911) {
      year += 100;
    }
  }

  if (makeEl.options[makeEl.selectedIndex].value == "make") {
    return;
  }

  var make = makeEl.options[makeEl.selectedIndex].value;
  sModelURL = "sa_add.php?action=jsiymm&year=" + year + "&make=" + make;
  request = YAHOO.util.Connect.asyncRequest('GET', sModelURL, ymm_callback3);
}

function scroll_open3()
{
	var el = document.getElementById('sa_YMME3_display_div');
	var yS =  el.style.top
	var y= new Number(	yS.substr(0, yS.length - 2) );
	y=y+2;
	yS = y.toString() + "px"
//	alert(yS);
	if (y < 250)
	{
		el.style.top = yS;

//		el.style.left = yS;

	} else 	{
		clearInterval(intShow);
	}
}

var pbymme_handleSuccess3 = function(o) {

	var oldDivEl = document.getElementById("sa_YMME3_display_div");
//	var newDivEl = document.createElement(oldDivEl.tagName);

	var tH;

//	newDivEl.id = oldDivEl.id;
//	newDivEl.className = oldDivEl.className;
//	newDivEl.innerHTML = "";
//	newDivEl.style.position = "relative";

	  if(o.responseText == undefined){
	        alert("response text undefined");
		return;
	  }	
	
	if (o.responseText == "NONE") {
        	oldDivEl.innerHTML = "Didn't find matches";
  		return;
	}
	tH = o.responseText;
	oldDivEl.innerHTML = tH;
//	alert (tH);
//        newDivEl.innerHTML = tH;
//	newDivEl.style.position = "absolute";
//	newDivEl.style.top = 1;
//	intShow = setInterval("scroll_open3()", 10);
//	oldDivEl.parentNode.replaceChild(newDivEl, oldDivEl);
  return;
}

var pbymme_callback3 =
  {
    success: pbymme_handleSuccess3,
    failure: handleFailure3
    //    argument: { foo:"foo", bar:"bar" }
  };

function getPBYMME3() {
	var request;
	var yearEl = document.getElementById("yearSelector3");
  	var makeEl = document.getElementById("makeSelector3");
  	var modelEl = document.getElementById("modelSelector3");
  	var engine_sizeEl = document.getElementById("engine_sizeSelector3");
	
	var sPURL = "sa_ymme3_top.php?action=pbymme&year=" + 
		yearEl.options[yearEl.selectedIndex].value + 
		"&make=" + makeEl.options[makeEl.selectedIndex].value +
		"&model=" + modelEl.options[modelEl.selectedIndex].value + 
	        "&engine_size=" + engine_sizeEl.options[engine_sizeEl.selectedIndex].value;
	request = YAHOO.util.Connect.asyncRequest('GET', sPURL, pbymme_callback3);
} // end getPBYMME function


function resetResults3() {
  var divEl = document.getElementById("sa_YMME3_display_div");

  divEl.innerHTML="";

}
function resetForm3() {
  // select 'year', 'make', 'model', 'engine_size''
  var yearEl = document.getElementById("yearSelector3");
  var makeEl = document.getElementById("makeSelector3");
  var modelEl = document.getElementById("modelSelector3");
  var engine_sizeEl = document.getElementById("engine_sizeSelector3");

	resetResults3();
  
  yearEl.selectedIndex = 0;
  makeEl.selectedIndex = 0;
  modelEl.selectedIndex = 0;
  engine_sizeEl.selectedIndex = 0;

  while (engine_sizeEl.length > 1) {
    engine_sizeEl.remove(0);
  }

  while (modelEl.length > 1) {
    modelEl.remove(0);
  }

  modelEl.options[0].text = "Model";
  engine_sizeEl.options[0].text = "Engine";

}


function submitForm3() {
  /* ensure that YMME are all selected */
  var yearEl = document.getElementById("yearSelector3");
  var makeEl = document.getElementById("makeSelector3");
  var modelEl = document.getElementById("modelSelector3");
  var engine_sizeEl = document.getElementById("engine_sizeSelector3");

  if (yearEl.selectedIndex && makeEl.selectedIndex && modelEl.selectedIndex && engine_sizeEl.selectedIndex) 	{ 
	getPBYMME3();
	return 0;
   		return 0
  	  } else {
    		alert ('Please choose the vehicle\'s year,  make,  model, and engine');
    		return -1;
  }
}

