

//YAHOO.autopartpicker.container.dialog.cfg.getProperty("buttons")[0].set('disabled', true)

var g_wsURL = "inc/autos_ws.php";
var g_responseObj;
var g_yearLiterArray = new Array();
var g_allThree = 0;  //7


function redirectToProduct(p_respObj) 
{
	var prodId = p_respObj.responseArray["0"].sku_productid; //.productid
	window.location.href = "details.php?prodId=" + prodId + "&category=20";
}


function handleSuccess(o)
{
	var g_responseObj;

	if(o.responseText !== undefined){ 
		g_responseObj = eval('(' + o.responseText + ')');
		
		switch(g_responseObj.responseType)
		{
			case "makes":
				updateMakes(g_responseObj); break;
			case "models":
				updateModels(g_responseObj); break;
			case "year_ranges":
				updateYearRanges(g_responseObj); break;
			case "productid":
				redirectToProduct(g_responseObj); return;
		}
		updateBanner();
	}
		
	
}



function handleFailure(o)
{
	
}

var callback =
{
  success:handleSuccess,
  failure: handleFailure,
  argument: ['foo','bar']
};


	
function realSubmit()
{
    var makeStr, modelStr, yearNdx;
	var elem = document.getElementById("makes");
	if (elem)
	{
		if (elem.selectedIndex < 0)
			return (errorStr("Please Enter Make"));
		makeStr = elem.options[elem.selectedIndex].value;
	}
	else {
		return (errorStr("Somethings wrong."));
	}
	elem = document.getElementById("models");
	if (elem)
	{
		if (elem.selectedIndex < 0)
			return (errorStr("Please Enter Model"));
		modelStr = elem.options[elem.selectedIndex].value;
	}
	else
		return (errorStr("Please pick a model."));
	elem = document.getElementById("YearLiters")
	if (elem)
	{
		if (elem.selectedIndex < 0)
			return (errorStr("Please pick a Year-Engine Liter Size."));
		yearndx = elem.selectedIndex;
		
	}
	else
	{
		return (errorStr("Please pick a Year-Engine Liter Size."));
	}
	YAHOO.autopartpicker.container.dialog.hide();
	getProductId(makeStr,modelStr,yearndx);
	
}


function getProductId(makestr, modelStr, yearNdx)
{
 
	var postData = "dataType=productid&make=" + makestr +
					"&model=" + modelStr;
	postData = postData + "&year_range=" + g_yearLiterArray[yearNdx].year_range +
					"&liter_engine=" + g_yearLiterArray[yearNdx].liter_engine;

	var request = YAHOO.util.Connect.asyncRequest('POST', g_wsURL, callback, postData);
}

YAHOO.namespace("autopartpicker.container");
function initDialog()
{
	var handleCancel= function() {YAHOO.autopartpicker.container.dialog.hide();}
			var handleSubmit = function() {realSubmit();}
			YAHOO.autopartpicker.container.dialog = 
					new YAHOO.widget.Dialog("overlay1",  
													{ width:"540px", 
													  close:true, 
													  draggable:true, 
													  fixedcenter:true,
													  modal:true,
													  visible:false, 
													  constraintoviewport : true,
													  effect:{effect:YAHOO.widget.ContainerEffect.FADE, duration:0.5} 
													} 
												);
			//disabled :true - then look at the id in dev toolbar
			YAHOO.autopartpicker.container.dialog.cfg.queueProperty("buttons", 
								[ { text:"Choose", handler:handleSubmit, isDefault: true },{ text:"Cancel", handler:handleCancel } ]);

			YAHOO.autopartpicker.container.dialog.render();
			//var btn = YAHOO.autopartpicker.container.dialog.getButtons()[0];
			//btn.setAttribute("disabled",true);
			YAHOO.autopartpicker.container.dialog.hide();
}

function jsGetMakes()
{
	

	var postData = "dataType=makes";
	var request = YAHOO.util.Connect.asyncRequest('POST', g_wsURL, callback, postData);
	YAHOO.autopartpicker.container.dialog.show();
	
	 
}

function updateMakes(p_obj)
{

	var elem = document.getElementById("makes");
	elem.options.length =0;
	for ( i in p_obj.responseArray )
	{
		var makeStr = p_obj.responseArray[i].make;
		
		elem.options[elem.length] = new Option(makeStr,makeStr);
	}
	
	
}

function updateModels(p_obj)
{
	var elem = document.getElementById("models");
	elem.options.length =0;
	var ylelem = document.getElementById("YearLiters");
	ylelem.options.length = 0;

	for ( i in p_obj.responseArray )
	{
		var modelStr = p_obj.responseArray[i].model;
		if (modelStr != "")
			elem.options[elem.length] = new Option(modelStr,modelStr);
	}
}

function updateYearRanges(p_obj)
{
	var elem = document.getElementById("YearLiters");
	elem.options.length =0;
	for ( i in p_obj.responseArray )
	{
		var yearrange = p_obj.responseArray[i].year_range;
		var literengine = p_obj.responseArray[i].liter_engine;
		if (yearrange != "" && literengine != "")
			elem.options[elem.length] = new Option(yearrange+ " : " + literengine,yearrange+ " : " +literengine);
	}
	g_yearLiterArray = p_obj.responseArray;
}

function makeOnChange( p_elem )
{
	g_allThree = 1;
	var valStr = p_elem.options[p_elem.selectedIndex].value;
	var postData = "dataType=models&make=" + valStr;
	var request = YAHOO.util.Connect.asyncRequest('POST', g_wsURL, callback, postData);
	
	
}

function modelOnChange( p_elem )
{
	g_allThree = 2;
	var valStr = p_elem.options[p_elem.selectedIndex].value;
	var elem = document.getElementById("makes");
	var makeStr = elem.options[elem.selectedIndex].value;
	var postData = "dataType=year_range&model=" + valStr + "&make=" + makeStr;
	var request = YAHOO.util.Connect.asyncRequest('POST', g_wsURL, callback, postData);
}

function yearliterOnChange( p_elem )
{
	g_allThree = 1;
	
	updateBanner();
}

function updateBanner()
{
	var elem = document.getElementById("choices");
	var makeElem, modelElem, yearLiterElem;
	makeElem = document.getElementById("makes");
	var makeStr =  (makeElem.selectedIndex != -1 && makeElem.options.length)?
					makeElem.options[makeElem.selectedIndex].value:"&nbsp;&nbsp;&nbsp;";
	modelElem = document.getElementById("models");
	var modelStr = (modelElem.selectedIndex != -1 && modelElem.options.length)?
						modelElem.options[modelElem.selectedIndex].value:"&nbsp;&nbsp;&nbsp;";
	yearLiterElem = document.getElementById("YearLiters");

	var yearLiterStr = (yearLiterElem.selectedIndex != -1 && yearLiterElem.options.length)?
						yearLiterElem.options[yearLiterElem.selectedIndex].value:"&nbsp;&nbsp;&nbsp;";
	var bannerStr = "<b>Make: </b>" + makeStr + "&nbsp;&nbsp;<b>Model: </b>" +
					modelStr + "&nbsp;&nbsp;<b>Year - Liter Engine: </b>" +
					yearLiterStr;
	elem.innerHTML = bannerStr;
	
}

var g_html =  '<div id="overlay1" style="visibility:hidden"> ' +
			'<div class="hd">Please select your make, model, and year-engine size</div>' + 
			'<div class="bd"> ' +
			'<div class="banner" name="choices" id="choices"></div>' +
      		'<br />' + 
			'<form method="POST" action="" accept-charset="utf-8" onsubmit="return false;"> ' +
      		'<div style="float:left" >' + 
        	'<p>Make:</p>' + 
        	'<select name="makes"  class="auto_select" size=16 id="makes" STYLE="width: 140px;margin-left:5px;margin-right:10px" onchange="makeOnChange(this)"> ' +
            '</select> ' +
			'</div>' + 
			'<div style="float:left">' + 
			'<p>Model:</p>' +
			'<select name="models" size=16 class="auto_select" id="models" STYLE="width: 150px;margin-right:10px" onchange="modelOnChange(this)"> ' +
            '</select> ' +
			'</div>' +
			'<div style="float:left">' +
			'<p>Year : Liter Engine:</p>' +
			'<select name="YearLiters"  class="auto_select" size=16 id="YearLiters" STYLE="width: 210px" onchange="yearliterOnChange(this)">' + 
            '</select> ' +
			'</div>' +
    		'</form>' +
			'</div>' +
			'<div class="ft" style="float:left">' +
			'</div>' +
			'</div>';

YAHOO.util.Event.addListener(window,'load',initDialog);
document.write(g_html);
