
window.addEvent('domready', function(){

getcal();

});



function getcal() {

     var gebaudearr = $$('.gebaude').get('value');
     
     if(gebaudearr!="") {
     var summe = 0;
     var ex = $$('.exemplare').get('value').getLast();
     var checked = $$('input:checked').get('value');
     var gebaudearr = gebaudearr.getLast();
     var gebaude = gebaudearr.split("_");
     var agb = $$('.checkbox:checked').get('value').getLast();


     summe = summe + parseInt(gebaude[0]);
     summe = summe + (ex*15);

     $$('input:checked').each(function (el){
        if (el.checked == true) {
           selectFoo = el.value;
           slecteddings = selectFoo.split("_");
           summe = summe + parseInt(slecteddings[0]);
        }
     });

     summerabatt2 = summe*95/100;
     summerabatt2 = summerabatt2.numberFormat(2, '.', ',');
     $("summerabatt").set('text', summerabatt2);
     summegesamt2 = summe*90/100;
     summegesamt2 = summegesamt2.numberFormat(2, '.', ',');
     $("summegesamt").set('text', summegesamt2);
     summe = summe.numberFormat(2, '.', ',');
     $("summe").set('text', summe);
     }
}

//$('ctrl_101').addEvent('change',function(){ getcal(); });
//$('ctrl_106').addEvent('change',function(){ getcal(); });
$$('input').addEvent('change',function(){ getcal(); });
$$('select').addEvent('change',function(){ getcal(); });




function getElementsByClass(searchClass,node,tag) {
	var classElements = new Array();
	if ( node == null )
		node = document;
	if ( tag == null )
		tag = '*';
	var els = node.getElementsByTagName(tag);
	var elsLen = els.length;
	var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
	for (i = 0, j = 0; i < elsLen; i++) {
		if ( pattern.test(els[i].className) ) {
			classElements[j] = els[i];
			j++;
		}
	}
	return classElements;
}

Number.implement({

	/*
	Property: numberFormat
		Format a number with grouped thousands.

	Arguments:
		decimals, optional - integer, number of decimal percision; default, 2
		dec_point, optional - string, decimal point notation; default, '.'
		thousands_sep, optional - string, grouped thousands notation; default, ','

	Returns:
		a formatted version of number.

	Example:
		>(36432.556).numberFormat()  // returns 36,432.56
		>(36432.556).numberFormat(2, '.', ',')  // returns 36,432.56
	*/

	numberFormat : function(decimals, dec_point, thousands_sep) {
		decimals = Math.abs(decimals) + 1 ? decimals : 2;
		dec_point = dec_point || '.';
		thousands_sep = thousands_sep || ',';
	
		var matches = /(-)?(\d+)(\.\d+)?/.exec((isNaN(this) ? 0 : this) + ''); // returns matches[1] as sign, matches[2] as numbers and matches[3] as decimals
		var remainder = matches[2].length > 3 ? matches[2].length % 3 : 0;
		return (matches[1] ? matches[1] : '') + (remainder ? matches[2].substr(0, remainder) + thousands_sep : '') + matches[2].substr(remainder).replace(/(\d{3})(?=\d)/g, "$1" + thousands_sep) + 
				(decimals ? dec_point + (+matches[3] || 0).toFixed(decimals).substr(2) : '');
	}

});

