function deleteChilds(elementId) {

	var elem = document.getElementById(elementId);
	
	if (!elem) {
	   return
	   }
	  else if (elem.hasChildNodes() == false) {
		 return
		 }
	else {
		 var len = elem.childNodes.length;
		 for (i = 0; i < len; i ++) {
		 	 var child = elem.firstChild;
			 elem.removeChild(child);
			 }
		}
}

function splitString(str) {
	
	var chars = new Array();
	for ( i = 0; i < str.length; i++) {
		chars[i] = str.substring(i, i + 1);
		}

	return chars;
}

function formatCurrency(val) {
	
	// Formatiert Zahlen zu Währung mit 2 Nachkommastellen und gibt diese als String zurück...
	
	if ( isNaN(val) ) { return } else { val = String(val) }
	
	if ( String(val.indexOf('.')) == -1 ) {
		val = val + ',00';
		return val;
		}
	else {
		var vs = val.substring(0, val.indexOf('.'));
		var ns = val.substring(val.indexOf('.') + 1, val.length);
		if ( ns.length < 2 ) {
			ns = ns + '0';
			}

		return vs + ',' + ns
		
		}
}


	// KONFIGURATIONS VARIABLEN
	
	// Mögliche Laufzeiten
	var months = new Array (18,24,36);
	var restwert = new Array (12,10,5);
	
	//Mindestpreise für sätze
	var minPrices = new Array (1000,2000,10000,25000);
	
	var minPrice = 1000;
	
	//Sätze zu den Mindespreisen
	// satz[ für laufzeit ] = new Array(satz bei 2000 EUR, satz bei 5000 EUR usw... 
    // es werden die Sätze ohne Provision genommen
	// bei einem Betrag unter 2000 EUR muss 3% Aufschlag erhoben werden /0.97
	// spalte netto EDV(inkl. Peripherie), Kopierer, Kassen, Fax
	//auch in detailansicht ändern!
	var satz = new Array ();
	satz [0] = new Array(6.19,6.00,5.95,5.92); // 18 
	satz [1] = new Array(4.75,4.61,4.56,4.53); // 24 
	satz [2] = new Array(3.33,3.23,3.17,3.14);  // 36	

	
	// Beschriftung der Preise
	var labelPrices = " EUR";
	
	
	
	function calculate () {

		var mwstItem = document.getElementsByName('brutto2')[0];
		var mwst = mwstItem.options[mwstItem.selectedIndex].value;

		var price = document.getElementsByName('price')[0].value;

		if ( price.indexOf(',') != -1 ) {
			var vk = price.substring(0, price.indexOf(','));
			var nk = price.substring(price.indexOf(',') + 1, price.length);
			
			price = vk + ',' + nk			
			}



		if ( mwst == '1' ) {
			price = price / 1.19;
			} 
	
		if ( price == '' ) {
			return
			}
		else if ( isNaN(price) ) {
			alert('Bitte geben Sie nur Zahlen ein');
			return
			}			
		else if ( price < minPrice ) {
			//alert('Der Mindestbetrag betr&auml;gt 1500,00 EUR netto');
			return
			}
		else {
			var stUse = 0;
			//Anschaffungswert
			var priceTxt = 'Der Anschaffungswert beträgt ';
			if ( mwst == '1' ) {
				priceTxt = priceTxt + formatCurrency((Math.round(price * 100) / 100)) + ' EUR exkl. Mwst. und ' + formatCurrency(Math.round(price * 119) / 100) + ' EUR inkl. MwSt.';
				}
			else {
				priceTxt = priceTxt + formatCurrency(price) + ' EUR exkl. Mwst. und ' + formatCurrency( Math.round((price * 1.19) * 100) / 100 ) + ' EUR inkl. MwSt.'; 
				}
			
			var ptxt = document.createTextNode(priceTxt);
			var pInfo = document.getElementById('priceInfo');
			if ( pInfo.hasChildNodes() ) { deleteChilds(pInfo.id) }
			pInfo.appendChild(ptxt);
			
			
			//Satz suchen
			for ( var i = 0; i < minPrices.length; i++ ) {
//				if ( price >= minPrices[i] && price < minPrices[i + 1] ) {
				if ( price >= minPrices[i] ) {	
					stUse = i;
					}
				}
			
			var dspMwst = document.getElementsByName('dspMwst')[0].checked;
			var appLR; var appLP; var appZS; var appRT;
			for ( var i = 0; i < months.length; i++ ) {
			
					var label = document.createTextNode(labelPrices);
	
					var leasingrate = (price * satz[i][stUse]) / 100;
					var leasingprice = ((leasingrate * months[i]) * 100) / 100;
					
					/*
					var zins = (((months[i] * leasingrate) - price) * 1200) / ( price * months[i] );
					appZS = document.getElementById(months[i] + 'z');
					if ( appZS.hasChildNodes() ) { deleteChilds( appZS.id ) }
					*/
					
					if ( dspMwst ) {
						leasingrate = ( leasingrate * 119 ) / 100;
						leasingprice = ( leasingprice * 119 ) / 100;
						}
					leasingrate = document.createTextNode( formatCurrency( (Math.round (leasingrate * 100) / 100) ) + ' ' + labelPrices);
					leasingprice = document.createTextNode( formatCurrency( (Math.round (leasingprice * 100) / 100) ) + ' ' + labelPrices);

					appLR = document.getElementById(months[i]);
					if ( appLR.hasChildNodes() ) { deleteChilds(appLR.id) }
					
					appLP = document.getElementById(months[i] + 'g');
					if ( appLP.hasChildNodes() ) { deleteChilds(appLP.id) }
					
					
					appLR.appendChild(leasingrate);
					appLP.appendChild(leasingprice);
					
					//appZS.appendChild(document.createTextNode(formatCurrency( Math.round(zins * 100) / 100 ) + '%'));				

					}
				}
}

function handleInput(val) {
	//if ( val == '' ) { return }

	var killTree = new Array('0','24','18','36','18g','24g','36g');
	var num = val;
	
	var mwstItem = document.getElementsByName('brutto2')[0];
	var mwst = mwstItem.options[mwstItem.selectedIndex].value;
	
	if ( num.indexOf(',') != -1 ) {
		var vk = num.substring(0, num.indexOf(','));
		var nk = num.substring(num.indexOf(',') + 1, num.length);
		
		num = vk + '.' + nk;
		}
	num = Number(num);	
	
	var appto; var nbsp; var msgElm; var msgTxT;
	
	if (num == minPrice && mwst == '0' ) {
		calculate();
		}
	else if ( isNaN(num)|| num <= minPrice) {
		for ( var i = 0; i < killTree.length; i++ ) {
			deleteChilds(killTree[i]);
			nbsp = document.createTextNode(' ');
			appto = document.getElementById(killTree[i]);
			if ( appto ) { appto.appendChild(nbsp) }
			}

		//msgTxt = document.createTextNode('Der Eingegebene Wert ist zu klein oder keine Zahl.');
		
		if ( val == '' ) {
			msgTxt = '...';
			}
		else if ( val.toLowerCase() == 'hallo' || val.toLowerCase() == 'hi') {
			msgTxt = 'hi ;-)'
			}
		else if ( isNaN(num) ) {
			msgTxt = 'Der eingegebene Wert ist keine Zahl.'
			}
		else if ( num <= minPrice ) {
			msgTxt = 'Der eingegebene Wert ist zu klein.'
			}

		msgTxt = document.createTextNode(msgTxt);

		msgElm = document.getElementById('priceInfo');
		if ( msgElm ) {
			if ( msgElm.hasChildNodes() ) {
				deleteChilds(msgElm.id)
				}
			msgElm.appendChild(msgTxt)
			}
		}
	else {
		calculate()			
		}
}
	
	
