myAlerts = new Array(
new Array( "Bitte wдhlen Sie ein Zimmer", "Please, select the room.", "S'il vous plaГ®t, sГ©lectionnez la piГЁce.", "MM: Пожалуйста, выберите комнату"),
new Array( "Das Abreisedatum muЯ spдter sein als das Anreisdatum", "Checkout date must be later than checkin", "Commander date doit ГЄtre postГ©rieure Г  checkin","MM: Дата зазда должна быть позднее чем дата выезда"),
new Array( "Der Anreisetag wurde nicht eingegeben", "Checkin date does not exist","date d'Arrive n'existe pas", "MM: Несуществующая дата зазда"),
new Array( "Der Abreisetag wurde nicht eingegeben", "Checkout date does not exist", "date d'Commander n'existe pas","MM: Несуществующая дата выезда"),
new Array( "In Raum 4 kцnnen nur 2 Personen untergebracht werden", "Only 2 people can live in room 4", "Seulement 2 personnes peuvent vivre dans la chambre 4", "MM: В комнате 4 могут проживать только 2 человека"),
new Array( "Bitte geben Sie Namen und Email an", "Please specify your name and e-mail", "S'il vous plaГ®t indiquer votre nom et votre e-mail", "MM: Пожалуйста укажите Ваше имя и E-mail")
);


function rechnen(form, additionalcheck) {
	form.amount.value="";
	var out_month = fieldValue(form,"out_month");
	var in_month = fieldValue(form,"in_month");
	var out_day = fieldIntValue(form,"out_day");
	var in_day = fieldIntValue(form,"in_day");
	var room = fieldIntValue(form,"room");
	
	var people = fieldIntValue(form,"adults") + fieldIntValue(form,"bis12");
	var rate = (fieldIntValue(form,"adults") + fieldIntValue(form,"bis12")/2)/(fieldIntValue(form,"adults")+fieldIntValue(form,"bis12"));

	var out_year=out_month.substr(out_month.indexOf("_")+1);
	var in_year=in_month.substr(in_month.indexOf("_")+1);
	out_month=out_month.substr(0,out_month.indexOf("_"));
	in_month=in_month.substr(0,in_month.indexOf("_"));
	in_date=new Date(in_year, in_month, in_day, 15);
	out_date=new Date(out_year, out_month, out_day, 11);
	if (room==0) {
		alert(myAlerts[0][lang])
		return false
	}
	if (in_date>=out_date) {
		alert(myAlerts[1][lang])
		return false
	}
	if (in_date.getDate()!=in_day) {
		alert(myAlerts[2][lang])
		return false
	}
	if (out_date.getDate()!=out_day) {
		alert(myAlerts[3][lang])
		return false
	}
	if (room<5) {
    	if (people>4 || prices[room-1][0][people-1][0]==0) {
    		var maxpeople = 1;
    		while ((maxpeople<prices[room-1][0].length) && (prices[room-1][0][maxpeople]>0)) 
    			maxpeople++;
    		var al=myAlerts[4][lang].replace("4",room).replace(2,maxpeople);
    		alert(al)
    		return false
    	}
    }
	if (additionalcheck) {
		if (form.elements["name"].value.length==0 ||
			form.elements["email"].value.length==0) {
				alert(myAlerts[5][lang])
				return false
		}
	}

    var totdays=(out_date.getTime()-in_date.getTime()+4*3600000)/(24*3600000)
	var amount=0;
	if (room<5) {
    	for (t=in_date.getTime();t<out_date.getTime();t+=24*60*60*1000) {
//    		amount = amount + prices[room-1][getSeason(t)-1][people-1]*rate
		amount += prices[room-1][getSeason(t)-1][fieldIntValue(form,"adults")-1] + (( prices[room-1][getSeason(t)-1][fieldIntValue(form,"adults")] - prices[room-1][getSeason(t)-1][fieldIntValue(form,"adults")-1] )/2)*fieldIntValue(form,"bis12");
    	}
    } else {
        peop=(people<=4)?0:((people<=8)?1:2)
        tage=(totdays<=5)?0:((totdays<=14)?1:2)
    	for (t=in_date.getTime();t<out_date.getTime();t+=24*60*60*1000) {
    		amount = amount + wohnungprices[getSeason(t)-1][peop][tage]
    	}
    }
	if (form.trans_from.checked) amount = amount+trans_from
	if (form.trans_to.checked) amount = amount+trans_to
	if (form.need_invitation.checked) {
	    if (totdays<14)
	        amount = amount+fieldIntValue(form,"adults")*invit;
	    else
	        amount = amount+fieldIntValue(form,"adults")*invit14;
	}

	form.amount.value=Math.round(amount*100)/100;
	return true
}

function getSeason(t) {
	var dt = new Date(t);
	var m = dt.getMonth()+1
	var d = dt.getDate()
	if (m>=6 && m<=8) return 1;
//	if (m==2 || m==11 || (m==12 && d<=14) || (m==1 && d>=16)) return 3;
	return 2;
}

function fieldValue(form, name) {
	var el = form.elements[name]
	return el.options[el.selectedIndex].value
}
function fieldIntValue(form, name) {
	var a=parseInt(fieldValue(form, name))
	return isNaN(a)?0:a;
}
