function GetModelHomePageAdvancedSearchContent(hostURL, makeControlID, modelControlID, yearFromControlID, yearToControlID, bodyStyleControlID, siteID, country) {
	var make = $("#" + makeControlID).val();
	$("#"+modelControlID).empty().append('<option value="">Loading...</option>');
	$.ajax({
		type: "POST",
		url: hostURL + "masterpagewebservice.asmx/GetModelHomePageAdvancedSearchContent",
		data: "{make: '"+make+"', siteID: "+siteID+"}",
		contentType: "application/json; charset=utf-8",
		dataType: "json",
		success: function(response) {
			var models = (typeof response) == 'string' ? eval('(' + response + ')') : response;
			var modelsList = $("#"+modelControlID);
			modelsList.empty().append('<option value="">Select Model</option>');
			for (var i = 0; i < models.length; i++)
				modelsList.append('<option value="' + models[i] + '">' + models[i] + '</option>')

			GetYearsHomePageAdvancedSearchContent(hostURL, makeControlID, modelControlID, yearFromControlID, yearToControlID, bodyStyleControlID, siteID, country);
			GetBodyStylesHomePageAdvancedSearchContent(hostURL, makeControlID, modelControlID, bodyStyleControlID, siteID, country);
		},
		failure: function(msg) {
			$('#output').text(msg);
		}
	});
}

function GetYearsHomePageAdvancedSearchContent(hostURL, makeControlID, modelControlID, yearFromControlID, yearToControlID, bodyStyleControlID, siteID, country) {
	var make = $("#"+makeControlID).val();
	var model = $("#"+modelControlID).val();

	$("#" + yearFromControlID).empty().append('<option value="">Loading...</option>');
	$("#" + yearToControlID).empty().append('<option value="">Loading...</option>');

	$.ajax({
		type: "POST",
		url: hostURL + "masterpagewebservice.asmx/GetYearsHomePageAdvancedSearchContent",
		data: "{make: '"+make+"', model: '"+model+"', siteID: "+siteID+"}",
		contentType: "application/json; charset=utf-8",
		dataType: "json",
		success: function(response) {
			var years = (typeof response) == 'string' ? eval('(' + response + ')') : response;

			$("#"+yearFromControlID).empty().append('<option value="">Low Year</option>');
			for(var i = years.length - 1; i >= 0; i--)
				$("#"+yearFromControlID).append('<option value="' + years[i] + '">' + years[i] + '</option>')
			$("#"+yearToControlID).empty().append('<option value="">High Year</option>');
			for (var j = 0; j < years.length; j++)
				$("#"+yearToControlID).append('<option value="' + years[j] + '">' + years[j] + '</option>')

			GetBodyStylesHomePageAdvancedSearchContent(hostURL, makeControlID, modelControlID, bodyStyleControlID, siteID, country);
		},
		failure: function(msg) {
			$('#output').text(msg);
		}
	});
}

function GetBodyStylesHomePageAdvancedSearchContent(hostURL, makeControlID, modelControlID, bodyStyleControlID, siteID, country) {
	var make = $("#"+makeControlID).val();
	var model = $("#"+modelControlID).val();

	$("#"+bodyStyleControlID).empty().append('<option value="">Loading...</option>');

	var bodyStylesTemp = [];

	$.ajax({
		type: "POST",
		url: hostURL + "masterpagewebservice.asmx/GetBodyStylesHomePageAdvancedSearchContent",
		data: "{make: '"+make+"', model: '"+model+"', siteID: "+siteID+", country: "+country+"}",
		contentType: "application/json; charset=utf-8",
		dataType: "json",
		success: function(response) {
			var bodyStyles = (typeof response) == 'string' ? eval('(' + response + ')') : response;
			$("#"+bodyStyleControlID).empty().append('<option value="">Select Body Style</option>');
			for (var i = 0; i < bodyStyles.length; i++) {
				bodyStylesTemp[i] = eval('(' + bodyStyles[i] + ')');
				$("#"+bodyStyleControlID).append('<option value="' + bodyStylesTemp[i].Value + '">' + bodyStylesTemp[i].Name + '</option>')
			}
		},
		failure: function(msg) {
			$('#output').text(msg);
		}
	});
}

function homePageAdvancedSearchReset(makeControlID, modelControlID, yearFromControlID, yearToControlID, bodyStyleControlID, priceFromNameControlID,
									priceToNameControlID, milesFromNameControlID, milesToNameControlID, cpoNameControlID, cpoDealerNameControlID) {
	$("#"+makeControlID).val("");
	$("#"+modelControlID).val("");
	$("#"+yearFromControlID).val("");
	$("#"+yearToControlID).val("");
	$("#"+bodyStyleControlID).val("");
	$("#"+priceFromNameControlID).val("");
	$("#"+priceToNameControlID).val("");
	$("#"+milesFromNameControlID).val("");
	$("#"+milesToNameControlID).val("");

	if(!isNullOrEmpty($("#"+cpoNameControlID)))
		$("#"+cpoNameControlID).removeAttr('checked');

	if(!isNullOrEmpty($("#"+cpoDealerNameControlID)))
		$("#"+cpoDealerNameControlID).removeAttr('checked');
}

function homePageAdvancedSearch(formControlID, makeControlID, modelControlID, yearFromControlID, yearToControlID,
								bodyStyleControlID, makeNameHiddenControlID, modelNameHiddenControlID,
								yearFromNameHiddenControlID, yearToNameHiddenControlID,bodyStyleNameHiddenControlID) {

	$("#"+makeNameHiddenControlID).val($("#"+makeControlID).val());
	$("#"+modelNameHiddenControlID).val($("#"+modelControlID).val());
	$("#"+yearFromNameHiddenControlID).val($("#"+yearFromControlID).val());
	$("#"+yearToNameHiddenControlID).val($("#"+yearToControlID).val());
	$("#"+bodyStyleNameHiddenControlID).val($("#"+bodyStyleControlID).val());

	$("#"+formControlID).submit();
}
