/**
* File: calculator.js  (c) MSH&More GmbH 2008, Created: 07.02.2008 14:00 
* 
*/
var displayString = '';
var calculationString = '';
var currentOperation = '';
var btns = ['%','*','/','C','7','8','9','+','4','5','6','-','1','2','3','=','0',','];
var lastChar = ''
var lastHiTime = 0;

/**
* Event Handler für das onkeypressed Event des Rechners
* @param link Zeichen auf der angewählten Taste
* @return void
*/
function handleCalcBtn( link ){
	
	
	if (current_screen = 'cardata-table') {
		// prüfen, ob die Eingaben zur Berechnung taugen...
		var liter = parseFloat($F('verbrauch').replace(/,/,"."));
		var km = parseFloat($F('distanz').replace(/,/,"."));
		if ( isNaN(km) || isNaN(liter) ){
			debug('0');
			$('verbrauch_real').innerHTML = '';
			user_km = 0;
			user_liter = 0;
		} else {
			debug('L:' + liter + ' km:' + km);
			var vb = liter / (km/100);
			vb = vb.toFixed(2);
			user_km = km;
			user_liter = liter;
			user_verbrauch = vb;
			
			$('verbrauch_real').innerHTML = vb.replace(".",",") + ' '+LL['price_liter'];
		}
	}
	
	if (current_screen = 'cardata-table2') {
		preis = parseFloat($F('preis').replace(/,/,"."));
		user_km = parseFloat($F('distanz_jahr').replace(/,/,"."));
		user_liter = parseFloat($F('verbrauch2').replace(/,/,"."));
		
		if ( isNaN(preis) || isNaN(user_km) || isNaN(user_liter) ){
			return;
		}
		
		var verbrauch_kba = vehicle.l100_gesamt;
		adjustSlider( verbrauch_kba, user_liter );
	}
}

/**
* Event Handler für das keyPress DOM-Event
* @param Event
* @return void
*/
function handleKeyPress( e ){
	var code;
	if (!e) var e = window.event;
	if (e.keyCode) code = e.keyCode;
	else if (e.which) code = e.which;
	
	
	var character = String.fromCharCode(code);
	if (code == 13) character = '=';
	if (code == 27 || code == 8) character = 'C';
	
	handleCalcBtn( character );
	
}


function adjustSlider(verbrauch_kba, verbrauch_real){
	debug('kba: ' + verbrauch_kba + ' real:' + verbrauch_real);
	var k = $('scaleKba');
	var u = $('scaleUser');
	Element.makePositioned(k);
	Element.makePositioned(u);
	Element.setStyle(k,{'left': (verbrauch_kba * (320 / 20))+'px'});
	Element.setStyle(u,{'left': (verbrauch_real * (320 / 20))+'px'});
}

function getVerbrauchReal(){
	var liter = parseFloat($F('verbrauch').replace(/,/,"."));
	var km = parseFloat($F('distanz').replace(/,/,"."));
	if (isNaN(liter) || isNaN(km)){
		return null;
	}
	if (liter == 0 || km == 0){
		return null;
	}
	
	var vb = liter / (km/100);
		vb = vb.toFixed(2);
	return vb;
}



/**
* 
*/
function debug( str ){
	if (debug){
		//$('debug').innerHTML = str + '<br/>';
	}
}

function resetCalculator(){
	
	 $('verbrauch_real').innerHTML = '';
	 $('verbrauch').value = '';
	 $('distanz').value = '';
	 user_km = 0;
	 user_liter = 0;
}
/**
* Initialisierungsmethode die den keyPress Event Handler an
* das DOM-Document Objekt anbindet.
* @return void
*/
function initCalculator(){
	
	document.onkeyup = handleKeyPress;
}
