// JavaScript Document
if (typeof SophioAjaxCatalog === "undefined") {
	SophioAjaxCatalog = {};
}

SophioAjaxCatalog.vehicleCrumb=function(){
this.drillManager = new SophioAjaxCatalog.drillManager();
this.supplier="whd";
this.cTitle="Shop by Vehicle";
this.cFormURL="ShopbyVehicle.epc?sup=WHD&mode=PG";
this.cDrillURL="ShopbyVehicle.epc?";
this.cSearchButtonCaption="Search";
this.createFullMarkup=function() {
if (jQuery('#'+this.supplier+'-defpage-vehicle-lookup').length==0){return false;}
var cMarkup='\
    <div id="'+this.supplier+'-defpage-vehicle-lookup-lookup-form" class="ui-helper-reset ui-widget-content ui-defpage-vehicle-lookup-form">\
      <div id="'+this.supplier+'-defpage-vehicle-lookup-title" class="ui-helper-clearfix ui-widget-header ui-corner-bottom ui-defpage-vehicle-lookup-title" style="padding-left:4px;">\
	  '+this.cTitle+'</div>\
      <form name="'+this.supplier+'-defpage-vehicle-form" id="'+this.supplier+'-defpage-vehicle-form" action="'+this.cFormURL+'" method="post">\
		<div id="'+this.supplier+'-defpage-year_lookup" class="ui-defpage-lookup"></div>\
        <div id="'+this.supplier+'-defpage-make_lookup" class="ui-defpage-lookup"></div>\
        <div id="'+this.supplier+'-defpage-model_lookup" class="ui-defpage-lookup"></div>\
		<div id="'+this.supplier+'-defpage-engine_lookup" class="ui-defpage-lookup"></div>\
		<div id="'+this.supplier+'-defpage-vehicle-go-button" class="ui-defpage-vehicle-go-button"></div>\
      </form>\
    </div>';
jQuery(cMarkup).appendTo('#'+this.supplier+'-defpage-vehicle-lookup');
jQuery('#'+this.supplier+'-defpage-vehicle-lookup').show();

}

this.setup=function(cSelSize,csupplier){
	if (typeof csupplier!=='undefined' && csupplier!==null) {this.supplier=csupplier.toLowerCase();}
	setSupplierDefaults(this);
	this.createFullMarkup();
	
	// part drill  ( just  dummy drill here )
	var oDrillPart= new SophioAjaxCatalog.drillDefinitions.drillPart();
	// year drill
	var oDrillYear= new SophioAjaxCatalog.drillDefinitions.drillYear();
	this.drillManager.addDrill(oDrillYear);
	// make drill
	var oDrillMake= new SophioAjaxCatalog.drillDefinitions.drillMake();
	this.drillManager.addDrill(oDrillMake);
	
	//model drill
	var oDrillModel= new SophioAjaxCatalog.drillDefinitions.drillModel();
	
	this.drillManager.addDrill(oDrillModel);
	if (this.supplier==='tir' || this.supplier==='key') {
		this.drillManager.setNextDrill(oDrillModel,oDrillPart); 
		oDrillModel.lDisableOnChange=false;
		}
	
	
	if (this.supplier==='whd' || this.supplier==='imc') {
	var oDrillEngine= new SophioAjaxCatalog.drillDefinitions.drillEngine();
	this.drillManager.addDrill(oDrillEngine);
	this.drillManager.setNextDrill(oDrillEngine,oDrillPart);
	oDrillEngine.lDisableOnChange=false;
	}
	
	if (this.supplier==='oec' ) {
	var oDrillTrim= new SophioAjaxCatalog.drillDefinitions.drillTrim();
	this.drillManager.addDrill(oDrillTrim);
	this.drillManager.setNextDrill(oDrillTrim,oDrillPart);
	oDrillTrim.lDisableOnChange=false;
	}
	
	this.drillManager.setProperty("cURL",this.cDrillURL);
	this.drillManager.setProperty("parentDIVprefix",this.supplier+"-defpage-");
	this.drillManager.setProperty("cSelectIDprefix",this.supplier+"-defpage-");
	
	if (this.supplier ==='imc') {  // imc needs special handling
	oDrillModel.cDrillMode="MG";
	oDrillEngine.cDrillMode="MG";
	oDrillModel.cURL=oDrillModel.cURL+"&modelonly=yes";
	oDrillEngine.cURL=oDrillEngine.cURL+"&engineonly=yes";
	}
	
	if (typeof SophioAjaxCatalog.endVehicleLookup !== 'undefined'){
	oDrillPart.loadData=SophioAjaxCatalog.endVehicleLookup;
	} else {
		oDrillPart.loadData=function(oSelect){
			oSelect.attr("disabled",false);
			}
					
	}
	

	if (jQuery("#"+this.supplier+"-defpage-vehicle-go-button").length>0){
	var cMarkup='<span style="margin-top:4px;">\
						<button id="'+this.supplier+'-defpage-vehicle-search-button"  type="button"\
						class="fg-button ui-state-default fg-button-icon-right ui-corner-all">\
						<span class="ui-icon ui-icon-search"></span>'+this.cSearchButtonCaption+'</button></span>'
						jQuery(cMarkup).appendTo("#"+this.supplier+"-defpage-vehicle-go-button");
	}
	if (jQuery('#'+this.supplier+'-defpage-vehicle-search-button').length>0){
	jQuery('#'+this.supplier+'-defpage-vehicle-search-button').click(function(e){
	   if (isComplete()===false) {
		    e.preventDefault();
			return false;
	   }
		if (typeof SophioAjaxCatalog.endVehicleLookup !=="undefined"){			
			SophioAjaxCatalog.endVehicleLookup();
			e.preventDefault();
			return false;
		}
		
		if (typeof SophioAjaxCatalog.preventPageLeave !=='undefined') SophioAjaxCatalog.preventPageLeave=false;
		var form = jQuery(this).parents('form:first');
		form.submit();
		
		  });
	}
	
	function setSupplierDefaults(oParent) {
		switch (oParent.supplier) {
			case 'whd':	{
				oParent.cFormURL="ecat.epc?_cmd=epccat_vehicleWHD&mode=PG";
				oParent.cDrillURL="ecat.epc?_cmd=epccat_vehicleWHD";
				break;
			}
			case 'aaa':	{
				oParent.cFormURL="ecat.epc?_cmd=epccat_vehicleAAA&mode=PG";
				oParent.cDrillURL="ecat.epc?_cmd=epccat_vehicleAAA";
				break;
			}
			case 'imc':	{
				oParent.cFormURL="ecat.epc?_cmd=epccat_vehicleIMC&mode=PJ";
				oParent.cDrillURL="ecat.epc?_cmd=epccat_vehicleIMC";
				break;
			}
			case 'tir':	{
				oParent.cFormURL="ShopforTires.epc?sup=TIR&mode=PA";
				oParent.cDrillURL="ShopforTires.epc?sup=TIR";
				break;
			}
			case 'oec':	{
				oParent.cFormURL="ShopforOEParts.epc?sup=OEC&mode=SC";
				oParent.cDrillURL="ShopforOEParts.epc?sup=OEC";
				break;
			}
			case 'key':	{
				oParent.cFormURL="PerformanceParts.epc?mode=PG";
				oParent.cDrillURL="PerformanceParts.epc?";
				break;
			}
		}
	}
	
	
	function isComplete() {
		if (typeof oDrillYear !=='undefined' && oDrillYear.cValue===""){
			alert("Select a Year First!");
		return false;
		}
		if (typeof oDrillMake !=='undefined' && oDrillMake.cValue===""){
			alert("Select a Make First!");
		return false;
		}
		if (typeof oDrillModel !=='undefined' && oDrillModel.cValue===""){
			alert("Select a Model First!");
		return false;
		}
		if (typeof oDrillSubModel !=='undefined' && oDrillSubModel.cValue===""){
			alert("Select a Trim First!");
		return false;
		}
		if (typeof oDrillEngine !=='undefined' && oDrillEngine.cValue===""){
			alert("Select an Engine First!");
		return false;
		}
		return true;
	}
		// setup each drill
	this.drillManager.setupDrills(cSelSize);
	oDrillYear.loadData();
	
	// setup hover for buttons
jQuery('button.ui-state-default').hover(
   function(){jQuery(this).addClass('ui-state-hover');}, 
   function(){jQuery(this).removeClass('ui-state-hover');}
   );
	
	}
}

