function getValue(name) {
	var value = document.getElementById(name).value;

	if(document.getElementById(name).disabled) {
		value = 0;
	}

	if(value == '') {
		value = 0;
	} else {
		value = value.replace(",", ".");
	}
			
	return value;
}

$(document).ready(function(){
	$(".validation_integer").each(
			function( intIndex ) {
				$(this).keypress(function (e) {
					  if( e.which!=8 && e.which!=0 && (e.which<48 || e.which>57) && e.which != 44 && e.which != 46)
					  {
					    return false;
					  }
					  return true;
				});
			}
		);
	$(".validation_integer_i").each(
			function( intIndex ) {
				$(this).keypress(function (e) {
					  if( e.which!=8 && e.which!=0 && (e.which<48 || e.which>57))
					  {
					    return false;
					  }
					  return true;
				});
			}
		);
 });

function loadCompany(language) {

	var val = $("#carYear").attr("value");

	if(val > 0) {
		$("#company_row").hide();
		$("#model_row").hide();
		$("#engine_row").hide();
		$("#transmission_row").hide();
		$("#gaz_row").hide();
		$("#liters_row").hide();
		$("#km_row").hide();

		$("#company_row").show();
		$("#company_waiting").prepend($('#nvi_modules_default_waiting_panel').show().html());

		$.getJSON("ajaxdata?name=company&value=" + escape(val), function(data){

			var options = '<option value="--">--</option>';
			for(d in data) {
				options += '<option value=\'' + data[d] + '\'>' + data[d] + '</option>';
			}

			$("select#carCompany").html(options);

			$("select#carModel").html('');
			$("select#carEngine").html('');
			$("select#carTransmission").html('');
			$("select#carGaz").html('');

			//loadModel();
			$("#company_waiting").html('');

			$("#averageLitersHidden").attr("value", '');

		});
	}

}

function loadModel(language) {

	var year = $("#carYear").attr("value");
	var company = $("#carCompany").attr("value");

	if(company == "--") {
		return;
	}

	$("#engine_row").hide();
	$("#transmission_row").hide();
	$("#gaz_row").hide();
	$("#liters_row").hide();
	$("#km_row").hide();

	$("#model_row").show();
	$("#model_waiting").prepend($('#nvi_modules_default_waiting_panel').show().html());

	var val = year + "," + company;
	$.getJSON("ajaxdata?name=model&value=" + escape(val), function(data){

		var options = '<option value"--">--</option>';
		for(d in data) {
			options += '<option value=\'' + data[d] + '\'>' + data[d] + '</option>';
		}

		$("select#carModel").html(options);

		$("select#carEngine").html('');
		$("select#carTransmission").html('');
		$("select#carGaz").html('');

		$("#model_waiting").html('');

		$("#averageLitersHidden").attr("value", '');

	});

}

function loadEngine(language) {

	var year = $("#carYear").attr("value");
	var company = $("#carCompany").attr("value");
	var model = $("#carModel").attr("value");

	if(model == "--") {
		return;
	}

	$("#transmission_row").hide();
	$("#gaz_row").hide();
	$("#liters_row").hide();
	$("#km_row").hide();

	$("#engine_row").show();
	$("#engine_waiting").prepend($('#nvi_modules_default_waiting_panel').show().html());

	var val = year + "," + company + "," + model;
	$.getJSON("ajaxdata?name=engine&value=" + escape(val), function(data){

		var options = '<option value"--">--</option>';
		for(d in data) {
			options += '<option value=\'' + data[d] + '\'>' + data[d] + ' L</option>';
		}

		$("select#carEngine").html(options);

		$("select#carTransmission").html('');
		$("select#carGaz").html('');

		$("#engine_waiting").html('');

		$("#averageLitersHidden").attr("value", '');

	});

}

function loadTransmission(language) {

	var year = $("#carYear").attr("value");
	var company = $("#carCompany").attr("value");
	var model = $("#carModel").attr("value");
	var engine = $("#carEngine").attr("value");

	if(engine == "--") {
		return;
	}

	$("#gaz_row").hide();
	$("#liters_row").hide();
	$("#km_row").hide();

	$("#transmission_row").show();
	$("#transmission_waiting").prepend($('#nvi_modules_default_waiting_panel').show().html());

	var val = year + "," + company + "," + model + "," + engine;
	$.getJSON("ajaxdata?name=transmission&value=" + escape(val), function(data){

		var options = '<option value"--">--</option>';
		for(d in data) {
			var type = '';
			var texts = new Array();

			if(data[d][0] == 'A' || data[d][0] == 'E') {
				texts['en'] = "Automatic";
				texts['fr'] = "Automatique";
				type = texts[language];
			} else if(data[d][0] == 'M' || data[d][0] == 'X') {
				texts['en'] = "Manual";
				texts['fr'] = "Manuel";
				type = texts[language];
			} else if(data[d][0] == 'S') {
				texts['en'] = "Automatic + manual";
				texts['fr'] = "Automatique + manuel";
				type = texts[language];
			} else {
				texts['en'] = "Other";
				texts['fr'] = "Autre";
				type = texts[language];
			}

			options += '<option value=\'' + data[d] + '\'>' + type + ' ' + data[d].substr(1, 1) + '</option>';
		}

		$("select#carTransmission").html(options);

		$("select#carGaz").html('');

		$("#transmission_waiting").html('');

		$("#averageLitersHidden").attr("value", '');

	});

}

function loadGaz(language) {

	var year = $("#carYear").attr("value");
	var company = $("#carCompany").attr("value");
	var model = $("#carModel").attr("value");
	var engine = $("#carEngine").attr("value");
	var transmission = $("#carTransmission").attr("value");

	if(transmission == "--") {
		return;
	}

	$("#liters_row").hide();
	$("#km_row").hide();

	$("#gaz_row").show();
	$("#gaz_waiting").prepend($('#nvi_modules_default_waiting_panel').show().html());

	var val = year + "," + company + "," + model + "," + engine + "," + transmission;
	$.getJSON("ajaxdata?name=gaz&value=" + escape(val), function(data){

		var options = '<option value"--">--</option>';
		for(d in data) {
			var type = '';
			var texts = new Array();

			if(data[d] == 'D') {
				texts['en'] = "Diesel";
				texts['fr'] = "Diésel";
				type = texts[language];
			} else if(data[d] == 'E') {
				texts['en'] = "Ethanol";
				texts['fr'] = "Éthanol";
				type = texts[language];
			} else if(data[d] == 'X') {
				texts['en'] = "Regular";
				texts['fr'] = "Ordinaire";
				type = texts[language];
			} else if(data[d] == 'Z') {
				texts['en'] = "Super";
				texts['fr'] = "Super";
				type = texts[language];
			} else {
				texts['en'] = "Other";
				texts['fr'] = "Autre";
				type = texts[language];
			}

			options += '<option value=\'' + data[d] + '\'>' + type + '</option>';
		}

		$("select#carGaz").html(options);

		$("#gaz_waiting").html('');

		$("#averageLitersHidden").attr("value", '');

	});

}

function calculateAverageEmissions(language) {

	var year = $("#carYear").attr("value");
	var company = $("#carCompany").attr("value");
	var model = $("#carModel").attr("value");
	var engine = $("select#carEngine").attr("value");
	var transmission = $("select#carTransmission").attr("value");
	var gaz = $("select#carGaz").attr("value");

	$("#liters_row").show();
	$("#km_row").show();
	$("#liters_waiting").prepend($('#nvi_modules_default_waiting_panel').show().html());
	$("#km_waiting").prepend($('#nvi_modules_default_waiting_panel').show().html());

	var val = year + "," + company + "," + model + "," + engine + "," + transmission + "," + gaz;
	$.get("ajaxdata?name=avg&value=" + escape(val), function(data){
		$("#averageLitersDiv").show();
		$("#averageLiters").html(data);
		$("#averageLitersHidden").attr("value", data);

		$("#liters_waiting").html('');
		$("#km_waiting").html('');
	});

}
