/*
 * Copyright (c) Web Arts AG - http://www.web-arts.com
 * 
 * TODO Enter description of javascript file
 * 
 * Created on 04.05.2007 by jvolgmann
 *
 * $Id: autoAnfrage.js 902 2007-11-02 16:16:05Z mblecher $
 * $HeadURL: http://svn.web-arts.de/svn/www.sparkassen-leasing.de/trunk/www/sc/js/function/autoAnfrage.js $
 * 
 * TODO Create test case for this class
 */
 
var KEINE_AUSSTATTUNG = 'keine Ausstattungsline';
var KEINE_VARIANTE = 'keine Variante';
var KEINE_TUEREN = 'keine Auswahl';
var KEINE_LEISTUNG = 'keine Auswahl';
var emptyValue = 'Bitte ausw�hlen...';
var counterName = 'LGS.debug.AutoAuswahl';
var counterURL = "http://de.sitestat.com/dl/sk-leasing/s?";

// init counter name after loading
function initCounter() {
	if (dojo.byId('counterName')) {
		counterName = dojo.byId('counterName').value;
	}
}

dojo.addOnLoad(initCounter);

 
function updateField(fieldname, field) {
	dojo.debug("fieldname = " + fieldname + " field.getValue() = " +field.getValue());
	dojo.byId(fieldname).value = field.getValue();
}


/**
 * Field hersteller was updated
 */
function changeHersteller() {

	var field_hersteller = dojo.widget.byId('field_hersteller');

	hideIt('row_tueren_leistung');
	hideIt('row_aufbau_ausstattung');
	hideIt('cont_aufbau');
	hideIt('cont_ausstattung');
	hideIt('cont_leistung');
	hideIt('cont_tueren');

	var field_modell = dojo.widget.byId('field_modell');
	var dataUrl = "/ajax/AutoSchwacke?mode=2&hersteller=" + field_hersteller.getValue();
	
	updateDataURL(dataUrl, field_modell, "Kein Modell vorhanden");
	
	fadeShow('cont_modell');
	//dojo.byId('counter').src = counterURL + counterName + ".Modell"; // alte zählpixel
	updateField('hersteller', field_hersteller);
	
	addSitestatPixel('.hersteller');
}

/**
 * Field hersteller was updated
 */
function changeModell() {

	var field_modell = dojo.widget.byId('field_modell');

	if (field_modell.getValue().length > 0 && field_modell.getValue()!= emptyValue) {

		hideIt('row_tueren_leistung');
		hideIt('row_aufbau_ausstattung');
		hideIt('cont_aufbau');
		hideIt('cont_ausstattung');
		hideIt('cont_leistung');
		hideIt('cont_tueren');
	
		var field_ausstattung = dojo.widget.byId('field_ausstattung');
	
		updateDataURL("/ajax/AutoSchwacke?mode=3&typ=" + field_modell.getValue(), field_ausstattung, KEINE_AUSSTATTUNG);
	
		fadeShow('cont_ausstattung');
		//dojo.byId('counter').src = counterURL + counterName + ".Ausstattung"; // alte zählpixel
		wipeIn('row_aufbau_ausstattung');
		updateField('modell', field_modell);
		
		addSitestatPixel('.modell');
	}
}

/**
 * Field hersteller was updated
 */
function changeAusstattung() {

	var field_ausstattung = dojo.widget.byId('field_ausstattung');

	if (field_ausstattung.getValue().length > 0 && field_ausstattung.getValue()!= emptyValue) {

		hideIt('row_tueren_leistung');
		hideIt('cont_aufbau');
		hideIt('cont_leistung');
		hideIt('cont_tueren');
	
		var field_modell = dojo.widget.byId('field_modell');
		var field_aufbau = dojo.widget.byId('field_aufbau');
	
		var ausstattung = field_ausstattung.getValue();
		var qryAusstattung = "&ausstattung=" + ausstattung;
		if (ausstattung == KEINE_AUSSTATTUNG) {
			qryAusstattung = "";
		}
	
		updateDataURL("/ajax/AutoSchwacke?mode=4&typ=" + field_modell.getValue() + qryAusstattung, field_aufbau, KEINE_VARIANTE);
		
		fadeShow('cont_aufbau');
		//dojo.byId('counter').src = counterURL + counterName + ".Aufbau"; // alte zählpixel
		updateField('ausstattung', field_ausstattung);
		
		addSitestatPixel('.ausstattung');
	}
}

/**
 * Field hersteller was updated
 */
function changeAufbau() {

	var field_aufbau = dojo.widget.byId('field_aufbau');
	
	if (field_aufbau.getValue().length > 1) {
	
		var field_modell = dojo.widget.byId('field_modell');
		var field_ausstattung = dojo.widget.byId('field_ausstattung');
		var field_tueren = dojo.widget.byId('field_tueren');
		var count_tueren = 0;
	
		var ausstattung = field_ausstattung.getValue();
		var qryAusstattung = "&ausstattung=" + ausstattung;
		if (ausstattung == KEINE_AUSSTATTUNG) {
			qryAusstattung = "";
		}
	
		var aufbau = field_aufbau.getValue();
		var qryAufbau = "&aufbau=" + aufbau;
		if (aufbau == KEINE_VARIANTE) {
			qryAufbau = "";
		}
	
		updateDataURL("/ajax/AutoSchwacke?mode=5&typ=" + field_modell.getValue() + 
					 qryAusstattung + qryAufbau, field_tueren, KEINE_TUEREN);
	
		fadeShow('cont_tueren');
		//dojo.byId('counter').src = counterURL + counterName + ".Tueren"; // alte zählpixel
		wipeIn('row_tueren_leistung');
		updateField('aufbau', field_aufbau);
		
		addSitestatPixel('.aufbau');
	}
}


/**
 * Field hersteller was updated
 */
function changeTueren() {

	var field_modell = dojo.widget.byId('field_modell');
	var field_ausstattung = dojo.widget.byId('field_ausstattung');
	var field_aufbau = dojo.widget.byId('field_aufbau');
	var field_tueren = dojo.widget.byId('field_tueren');
	var field_leistung = dojo.widget.byId('field_leistung');

	var ausstattung = field_ausstattung.getValue();
	var qryAusstattung = "&ausstattung=" + ausstattung;
	if (ausstattung.toLowerCase() == KEINE_AUSSTATTUNG) {
		qryAusstattung = "";
	}

	var aufbau = field_aufbau.getValue();
	var qryAufbau = "&aufbau=" + aufbau;
	if (aufbau.toLowerCase() == KEINE_LEISTUNG) {
		qryAufbau = "";
	}

	updateDataURL("/ajax/AutoSchwacke?mode=6&typ=" + field_modell.getValue() + 
				 qryAusstattung + qryAufbau, field_leistung, KEINE_LEISTUNG);

	fadeShow('cont_leistung');
	//dojo.byId('counter').src = counterURL + counterName + ".Leistung"; // alte zählpixel
	updateField('tueren', field_tueren);
	
	addSitestatPixel('.tueren');
}

/**
 * Field hersteller was updated
 */
function changeLeistung() {

	var field_modell = dojo.widget.byId('field_modell');
	var field_ausstattung = dojo.widget.byId('field_ausstattung');
	var field_aufbau = dojo.widget.byId('field_aufbau');
	var field_tueren = dojo.widget.byId('field_tueren');
	var field_leistung = dojo.widget.byId('field_leistung');

	var ausstattung = field_ausstattung.getValue();
	var qryAusstattung = "&ausstattung=" + ausstattung;
	if (ausstattung.toLowerCase() == KEINE_AUSSTATTUNG) {
		qryAusstattung = "";
	}

	var aufbau = field_aufbau.getValue();
	var qryAufbau = "&aufbau=" + aufbau;
	if (aufbau == KEINE_TUEREN) {
		qryAufbau = "";
	}

	updateDataURL("/ajax/AutoSchwacke?mode=5&typ=" + field_modell.getValue() + 
				 qryAusstattung + qryAufbau, field_tueren, KEINE_TUEREN);
	
	fadeShow('cont_tueren');
	// dojo.byId('counter').src = counterURL + counterName + ".Tueren"; // alte zählpixel
	updateField('leistung', field_leistung);
	
	addSitestatPixel('.leistung');
}

function updateDataURL(dataUrl, field, noEntry) {

	// load data
	function loadHandler(type, data, event){
		field.dataProvider.setData(data);

		if (data.length == 1) {
			dojo.debug("setting first entry! " + data[0][0]);
			field.setValue(data[0][0]);
			field.disable();
		} else if (data.length == 0) {
			dojo.debug("no value found for " + field);
			field.setValue(noEntry);
			field.disable();
		} else {
			dojo.debug("setting to empty!");
			field.setValue(selectEmptyValue);
			field.enable();
		}
		
	}
	
	// error
	function errorHandler( type, error ) {
		dojo.debug("error...");
	}

	dojo.io.bind ({
			url: dataUrl,
		    load: loadHandler,
		    error: errorHandler,
		    mimetype: "text/json"
	});

}