
function objectByID(id) {
	var returnVar;
	if (document.getElementById) {
		returnVar = document.getElementById(id);
	} else if (document.all) {
		returnVar = document.all[id];
	}	
	return returnVar;
}

function pad(number,length) {
    var str = '' + number;
    while (str.length < length)
        str = '0' + str;
    return str;
}

function textAdCalculation() {

	var charactersPerLine = 30;
	var pricePerAdditionalLine = 3;
	var sumPrice = 21;
	
	var textarea = objectByID('textad.text');
	var addons_field = objectByID('textad.addons');
	var sum_field = objectByID('textad.sum');
	var total_field = objectByID('textad.total');
	var strlen_field = objectByID('textad.strlen');
	var single_price_hidden_field = objectByID('textad.singleprice');
	var issues_booked_field = objectByID('textad.issues_booked');
	var issues_booked_label = objectByID('textad.issues_booked.label');
	var expire_html = objectByID('textad.expiredate');
	
	var issues_booked = issues_booked_field.options[issues_booked_field.selectedIndex].text;
	
	if(issues_booked == 1) {
		issues_booked_label.innerHTML = 'Ausgabe';
	} else {
		issues_booked_label.innerHTML = 'Ausgaben';
	}
	
	var strlen = textarea.value.length;
	if(strlen > 0) {
	
		strlen_field.innerHTML = '<b>' + strlen + ' Zeichen</b>';
	
		var additionalCharacters = strlen - 120;
		
		if(additionalCharacters > 0) {
			var additionalLines = Math.ceil(additionalCharacters / charactersPerLine);
			var additionalPrice = additionalLines * pricePerAdditionalLine;
			sumPrice += additionalPrice;
			
			addons_field.innerHTML = '<b>' + additionalPrice + ',00 &euro;</b> <font color=\"#909090\">( ' + additionalLines + ' x ' + charactersPerLine + ' Zeichen à ' + pricePerAdditionalLine + ',00 &euro; )</font>';
		} else {
			addons_field.innerHTML = '';
		}
		
		var totalPrice = sumPrice * issues_booked;
		
		sum_field.innerHTML = '<b>' + sumPrice + ',00 &euro;</b>';
		total_field.innerHTML = '<b>' + totalPrice + ',00 &euro;</b>';
		
		single_price_hidden_field.value = sumPrice;
		
		var expire_date = new Date();
		var month = expire_date.getMonth();
		month += issues_booked * 3;
		expire_date.setMonth(month);
		
		var expire_day = expire_date.getDate();
		var expire_month = expire_date.getMonth() + 1;
		var expire_year = expire_date.getFullYear();
		var expire_string = pad(expire_day, 2) + "." + pad(expire_month,2) + "." + expire_year;
		expire_html.innerHTML = expire_string;
		
	} else {
		strlen_field.innerHTML = '-';
		total_field.innerHTML = '';
		sum_field.innerHTML = '';
		addons_field.innerHTML = '';
		expire_html.innerHTML = '';
		single_price_hidden_field.value = 0;
	}		
}


function textAdCalculationEdit() {

	var charactersPerLine = 30;
	var pricePerAdditionalLine = 3;
	var sumPrice = 21;
	
	var textarea = objectByID('textad.text');
	var addons_field = objectByID('textad.addons');
	var sum_field = objectByID('textad.sum');
	var total_field = objectByID('textad.total');
	var strlen_field = objectByID('textad.strlen');
	var single_price_hidden_field = objectByID('textad.singleprice');
	var old_single_price_hidden_field = objectByID('textad.old_singleprice');
	var issues_booked_field = objectByID('textad.issues_booked');
	var issues_booked_label = objectByID('textad.issues_booked.label');
	var expire_html = objectByID('textad.expiredate');
	
	var issues_booked = issues_booked_field.value;
	
	if(issues_booked == 1) {
		issues_booked_label.innerHTML = 'Ausgabe';
	} else {
		issues_booked_label.innerHTML = 'Ausgaben';
	}
	
	var strlen = textarea.value.length;
	if(strlen > 0) {
	
		strlen_field.innerHTML = '<b>' + strlen + ' Zeichen</b>';
	
		var additionalCharacters = strlen - 120;
		
		if(additionalCharacters > 0) {
			var additionalLines = Math.ceil(additionalCharacters / charactersPerLine);
			var additionalPrice = additionalLines * pricePerAdditionalLine;
			sumPrice += additionalPrice;
			
			addons_field.innerHTML = '<b>' + additionalPrice + ',00 &euro;</b> <font color=\"#909090\">( ' + additionalLines + ' x ' + charactersPerLine + ' Zeichen à ' + pricePerAdditionalLine + ',00 &euro; )</font>';
		} else {
			addons_field.innerHTML = '';
		}
		
		var totalPrice = sumPrice * issues_booked;
		
		if(sumPrice > old_single_price_hidden_field.value){
			sum_field.innerHTML = '<b style="color:red">' + sumPrice + ',00 &euro;</b>';
		}else{
			sum_field.innerHTML = '<b>' + sumPrice + ',00 &euro;</b>';
		}
		
		total_field.innerHTML = '<b>' + totalPrice + ',00 &euro;</b>';
		
		single_price_hidden_field.value = sumPrice;
		
		var expire_date = new Date();
		var month = expire_date.getMonth();
		month += issues_booked * 3;
		expire_date.setMonth(month);
		
		var expire_day = expire_date.getDate();
		var expire_month = expire_date.getMonth() + 1;
		var expire_year = expire_date.getFullYear();
		var expire_string = pad(expire_day, 2) + "." + pad(expire_month,2) + "." + expire_year;
		expire_html.innerHTML = expire_string;
		
	} else {
		strlen_field.innerHTML = '-';
		total_field.innerHTML = '';
		sum_field.innerHTML = '';
		addons_field.innerHTML = '';
		expire_html.innerHTML = '';
		single_price_hidden_field.value = 0;
	}		
}