// Script to validate input controls at home page
// Events to validate new car search
document.getElementById('cmbMakeModelNew').onchange = cmbMakeModel_Change;	
document.getElementById('cmbPriceRangeNew').onchange = cmbPrice_Change;
// Events to validate used car search
document.getElementById('cmbMakeModel').onchange = usedSelected;	
document.getElementById('cmbPriceRange').onchange = usedSelected;
document.getElementById('cmbCity').onchange = usedSelected;
document.getElementById('txtProfileId').onchange = usedSelected;
// Events to validate valuation
document.getElementById('cmbYear').onchange = cmbYear_Change;
document.getElementById("cmbMake").onchange = cmbMake_Change;
document.getElementById("cmbModel").onchange = cmbModel_Change;

function cmbMakeModel_Change(e) {
	document.getElementById("rdbNewModel").checked = true;
	document.getElementById('rdbNewPrice').checked = false;
}

function cmbPrice_Change(e) {
	document.getElementById("rdbNewModel").checked = false;
	document.getElementById('rdbNewPrice').checked = true;
}
	
function usedSelected(e) {
	if ( !document.getElementById('cmbMakeModel').options[0].selected || !document.getElementById('cmbPriceRange').options[0].selected || !document.getElementById('cmbCity').options[0].selected) {
		document.getElementById("rdbUsedModel").checked = true;
		document.getElementById('rdbUsedProfileId').checked = false;
	}
	else if(document.getElementById('txtProfileId').value != "" && document.getElementById('txtProfileId').value != "Search by Profile-Id") {
		document.getElementById("rdbUsedModel").checked = false;
		document.getElementById('rdbUsedProfileId').checked = true;
	}	
}

document.forms[0].onsubmit = submitForm;

function submitForm() { return false; } // for image submit button
function ValidateInputs(currYear) {
	var isError = false;		
	var txtYear = document.getElementById('cmbYear');
	if ( txtYear.value < 1900 || txtYear.value > currYear ) {
		document.getElementById('spnYear').innerHTML = "Invalid";
		isError = true;
	}
	else document.getElementById('spnYear').innerHTML = "";
	if ( document.getElementById('cmbVersion').options[0].selected ) {
		document.getElementById('spnVersion').innerHTML = "Required";
		isError = true;
	}
	else document.getElementById('spnVersion').innerHTML = "";
	if ( isError == true ) return false;
	var city = 0;
	city = document.getElementById('cmbValuationCity').value;
	var year = document.getElementById('cmbYear').value;	
	var month = document.getElementById('cmbMonth').value > 0 ? document.getElementById('cmbMonth').value : 1;
	var version = document.getElementById('cmbVersion').options[document.getElementById('cmbVersion').selectedIndex ].value;
	var reNum = /^[0-9]*[1-9][0-9]*$/;
	var mileage = reNum.test( document.getElementById('txtKms').value ) ? document.getElementById('txtKms').value : "0";	
	var qry = "city=" + city + "&car=" + version + "&year=" + year + "&month=" + month + "&kms=" + mileage;
	location.href = "/mygarage/CarValuation/ValuationRequest.aspx?" + qry;
}

function cmbYear_Change( e ) {
	if ( document.getElementById( 'cmbYear' ).value.length == 4 ) {
		document.getElementById("cmbMake").options[0].text = "--Loading--";
		var carYear = document.getElementById( 'cmbYear' ).value == "" ? 0 : document.getElementById( 'cmbYear' ).value;
		var response = AjaxFunctions.GetValuationMakes(carYear);
		var dependentCmbs = new Array();
		//add the name of the dependent combos on this combo
		dependentCmbs[0] = "cmbMake";
		dependentCmbs[1] = "cmbModel";
		dependentCmbs[2] = "cmbVersion";
		//call the function to consume this data
		FillCombo_Callback(response, document.getElementById("cmbMake"), "hdn_cmbModel" , dependentCmbs);
	}
	else { //disable combos
		document.getElementById("cmbMake").disabled = true;
		document.getElementById("cmbModel").disabled = true;
		document.getElementById("cmbVersion").disabled = true;
	}
}

function cmbMake_Change(e) {
	document.getElementById("cmbModel").options[0].text = "--Loading--";
	var makeId = document.getElementById("cmbMake").value;
	var carYear = document.getElementById( 'cmbYear' ).value;
	var response = AjaxFunctions.GetValuationModels(carYear, makeId);
	var dependentCmbs = new Array();
	//add the name of the dependent combos on this combo
	dependentCmbs[0] = "cmbVersion";
	//call the function to consume this data
	FillCombo_Callback(response, document.getElementById("cmbModel"), "hdn_cmbModel" , dependentCmbs);
}

function cmbModel_Change(e)
{
	document.getElementById("cmbVersion").options[0].text = "--Loading--";
	var carYear = document.getElementById( 'cmbYear' ).value;
	var modelId = document.getElementById("cmbModel").value;
	var response = AjaxFunctions.GetValuationVersions(carYear, modelId);
	
	//call the function to consume this data
	FillCombo_Callback(response, document.getElementById("cmbVersion"), "hdn_cmbVersion");
}

function getModelId(id) { return id.split(":")[1]; }
function getMakeId(id) { return id.split(":")[0]; }