

/*
 * Buchung
 */

var unterkuenfteId;
var initial;

initial=true;

/*--- events --- */


function loadBelegungsplan(unterkuenfteId2,zeitraum,individualpaketvariantenId){
	unterkuenfteId=unterkuenfteId2; //unterkunft global merken
	var url='unterkuenfteBuchungAjax.php?cmd=loadBelegungsplan';
	var datum=getDatumFromForm();
	var params={method:'get',onSuccess: belegungsplanLoaded,parameters: {
		unterkuenfteId:unterkuenfteId,
		zeitraum:zeitraum,
		individualpaketvariantenId:individualpaketvariantenId,
		datum:datum
	}};
	new Ajax.Request(url,params);				
}

function belegungsplanLoaded(transport){
	$('buchung_schedule').innerHTML=transport.responseText;
}

function changeDate(unterkuenfteId2){
	var individualpaketvariantenId=getIndividualpaketvariantenIdFromForm();	
	var datum=getZeitraumFromForm();	
	loadBelegungsplan(unterkuenfteId2,"date",individualpaketvariantenId);
	loadPaketInfo();			
}

function selectPaket(){
	var options;
	options = $$('div.option');
	options.each( function(option){
		option.hide();
	});	
	var individualpaketeId=getIndividualpaketeIdFromForm();
	options = $$('div.individualpaket_'+individualpaketeId);
	options.each( function(option){
		option.show();		
	});	
		
	if (!initial){
		$('buchung_paketinfo').innerHTML="";
	}	

	var radios=$$("div.individualpaket_"+individualpaketeId+" input[type=radio][name='formularfeld_individualpaketvariantenId']");
	if (radios.length==1){
		radios[0].checked=true;
		if (!initial) loadPaketInfo();
	}
	initial=false;			
}

function loadPaketInfo(){
	var individualpaketvariantenId=getIndividualpaketvariantenIdFromForm();	
//alert("chg:"+individualpaketvariantenId);		
	var art=document.forms.buchung.formularfeld_art.options[document.forms.buchung.formularfeld_art.selectedIndex].value;
	var datum=getDatumFromForm();
	var anzahlPersonen=document.forms.buchung.formularfeld_anzahlPersonen.options[document.forms.buchung.formularfeld_anzahlPersonen.selectedIndex].value;		
	var url='unterkuenfteBuchungAjax.php?cmd=loadPaketInfo';
	var params={method:'get',onSuccess: paketInfoLoaded,parameters: {individualpaketvariantenId:individualpaketvariantenId,datum:datum,anzahlPersonen:anzahlPersonen,art:art}};
	new Ajax.Request(url,params);
	datum=getZeitraumFromForm();	
	loadBelegungsplan(unterkuenfteId,"date",individualpaketvariantenId);					
}

function paketInfoLoaded(transport){
		$('buchung_paketinfo').innerHTML=transport.responseText;	
}

/*--- Daten aus dem Buchungs-Formular holen --- */

function getZeitraumFromForm(){
	var tag=document.forms.buchung.formularfeld_datum_tag.options[document.forms.buchung.formularfeld_datum_tag.selectedIndex].value;
	var jahrmonat=document.forms.buchung.formularfeld_datum_jahrmonat.options[document.forms.buchung.formularfeld_datum_jahrmonat.selectedIndex].value;
	var parts=jahrmonat.split('_');
	var jahr=parts[0];
	var monat=parts[1];	
	//var datum=jahr+"-"+monat+"-"+tag; 
	var datum=monat+"_"+jahr	
	return datum;			
}

function getDatumFromForm(){
	var tag=document.forms.buchung.formularfeld_datum_tag.options[document.forms.buchung.formularfeld_datum_tag.selectedIndex].value;
	var jahrmonat=document.forms.buchung.formularfeld_datum_jahrmonat.options[document.forms.buchung.formularfeld_datum_jahrmonat.selectedIndex].value;
	var parts=jahrmonat.split('_');
	var jahr=parts[0];
	var monat=parts[1];	 
	var datum=jahr+"-"+monat+"-"+tag;	
	return datum;			
}
function getIndividualpaketvariantenIdFromForm(){	
	return $RF('buchungsform', 'formularfeld_individualpaketvariantenId');
	/*
	var form = $('buchungsform');
	var variantenField = form['formularfeld_individualpaketvariantenId'];
	alert(variantenField);
	return 0;//variantenField.getValue();	
	*/
	//return document.forms.buchung.formularfeld_individualpaketvariantenId.options[document.forms.buchung.formularfeld_individualpaketvariantenId.selectedIndex].value;
}

function getIndividualpaketeIdFromForm(){
	return document.forms.buchung.formularfeld_individualpaketeId.options[document.forms.buchung.formularfeld_individualpaketeId.selectedIndex].value;
}


function getArtFromForm(){
	var art=document.forms.buchung.formularfeld_art.options[document.forms.buchung.formularfeld_art.selectedIndex].value;
	return art;
}

/**
 * Returns the value of the selected radio button in the radio group, null if
 * none are selected, and false if the button group doesn't exist
 *
 * @param {radio Object} or {radio id} el
 * OR
 * @param {form Object} or {form id} el
 * @param {radio group name} radioGroup
 */
function $RF(el, radioGroup) {
	if($(el).type && $(el).type.toLowerCase() == 'radio') {
		var radioGroup = $(el).name;
		var el = $(el).form;
	} else if ($(el).tagName.toLowerCase() != 'form') {
		return false;
	}
		 
	var checked = $(el).getInputs('radio', radioGroup).find(
		function(re) {return re.checked;}
	);
	return (checked) ? $F(checked) : null;
}
