
function avorder(el) {
	var avlock = true;
	var altEl = el.getProperty('alt');
	var multis = $$("input[alt^="+altEl+"]");
	multis.each(function(val, key){
		if(val.value != ''){
			avlock = false
		}
	});
	if( avlock == true ) {
		var errorMsg = 'Bitte mindestens eines dieser Felder ausfüllen!';
		el.errors.unshift(errorMsg);
		return false;
	}else{
		return true;
	}
}

function avorderacc(el) {
alert('You are very brave!');
	var avlock = true;
	var altEl = el.getProperty('alt');
	var multis = $$("input[alt^="+altEl+"]");
	multis.each(function(val, key){
		if(val.checked == true){
			avlock = false
		}
	});
	if( avlock == true ) {
		var errorMsg = 'Bitte wählen Sie Ihre Unterkunft!';
		el.errors.unshift(errorMsg);
		return false;
	}else{
		return true;
	}
}

function avordervers(el) {
	var rad = $$("input[name^=x_versicherung]");
	var ok = false;
	rad.each(function(e,i){
		if(e.checked){
			if(e.value == 'ja'){
				ok = true;
			}
		}
	});
	if (ok){
		var avlock = true;
		var altEl = el.getProperty('alt');
		var multis = $$("input[alt^="+altEl+"]");
		multis.each(function(val, key){
			if(val.value != ''){
				avlock = false
			}
		});
		if( avlock == true ) {
			var errorMsg = 'Bitte mindestens eines dieser Felder ausfüllen!';
			el.errors.unshift(errorMsg);
			return false;
		}else{
			return true;
		}
	}
}

function addspecsage(el) {
	var numVal = el.value;
	var nameVal = el.name;
	var lineVal = $$('div[id^='+nameVal+']').length;
	if (lineVal > numVal){
		var count = lineVal;
	}else{
		var count = numVal;
	}
	for (var i = count; i > 0; i--){
		if (!$(nameVal+'_line'+(i))){
			var inputDiv = new Element('div').setProperty('id',nameVal+'_line'+(i)).addClass('inputSpan').injectAfter(el);
			var inputSpanAge = new Element('span').setText('Alter*: ').inject(inputDiv);
			var inputAge = new Element('input').setProperty('type','text').setProperty('size','4').setProperty('name',nameVal+'_alter['+(i)+']').setProperty('id',nameVal+'_alter'+(i)).addClass("validate['required','digit']").inject(inputSpanAge);
			var inputSpanName = new Element('span').setText(' Name*: ').inject(inputDiv);
			var inputName = new Element('input').setProperty('type','text').setProperty('size','18').setProperty('name',nameVal+'_namen['+(i)+']').setProperty('id',nameVal+'_namen'+(i)).addClass("validate['required']").inject(inputSpanName);		
			avLockCheck.register(inputAge, 11);
			avLockCheck.register(inputName, 12);

		}else{
			if ((i) > (numVal)){
				var inputAge = $(nameVal+'_alter'+(i))
				var inputName = $(nameVal+'_namen'+(i))	
				avLockCheck.dispose(inputAge);
				avLockCheck.dispose(inputName);
				$(nameVal+'_line'+(i)).remove();
			}
		}
	}	
}

function addspecscomb(el) {
	var rad = $$("input[name^=x_versicherung]");
	var ok = false;
	rad.each(function(e,i){
		if(e.checked){
			if(e.value == 'ja'){
				ok = true;
			}
		}
	});
	if (ok){
	var part = $('x_teilnehmer');
	var part_val = part.value;
	var numVal = el.value;
		var nameVal = el.name;
		var lineVal = $$('div[id^='+nameVal+']').length;
		if (lineVal > numVal){
			var count = lineVal;
		}else{
			var count = numVal;
		}
		for (var i = count; i > 0; i--){

			if ((!$(nameVal+'_line'+(i))) && (numVal != part_val)){
				var inputDiv = new Element('div').setProperty('id',nameVal+'_line'+(i)).addClass('vername').injectAfter(el);
				var inputSpanName = new Element('span').setText('Name*: ').inject(inputDiv);
				var inputName = new Element('input').setProperty('type','text').setProperty('size','18').setProperty('name',nameVal+'_namen['+(i)+']').setProperty('id',nameVal+'_namen'+(i)).addClass("validate['required'] vernameinput").inject(inputSpanName);
				avLockCheck.register(inputName, 13);			
			}else{
				if (((i) > (numVal)) || (numVal == part_val)){
					if ($(nameVal+'_line'+(i))){
						var inputName = $(nameVal+'_namen'+(i))
						avLockCheck.dispose(inputName);									
						$(nameVal+'_line'+(i)).remove();
					}
				}
			}
		}
	}
}
function vradio() {
	var rad = $$("input[name^=x_versicherung]");
	rad.each(function(el,i){
		if(el.checked){
			if(el.value == 'nein'){
				multiInputs = $$('input.vernameinput');
				multiInputs.each(function(val, key){	
					avLockCheck.dispose(val);
				});
				multiInputs = $$('input.verinput');
				multiInputs.each(function(val, key){	
					avLockCheck.dispose(val);
				});
				$('vers_table').setStyle('display', 'none');
				multiElements = $$('div.vername');
				multiElements.each(function(val, key){	
					val.remove();
				});	
			}
			if(el.value == 'ja'){
				$('vers_table').setStyle('display', 'block');	
				multiInputs = $$('input.verinput');
				multiInputs.each(function(val, key){	
					avLockCheck.register(val, 13);
				});
			}
		}
	});
}

function tselect() {
	var sel = $("x_anreise");
	air = $('x_flughafen');
	air_row = $('flug_row');
	if(sel.value != 'Flugzeug'){
		air_row.setStyle('display', 'none');
		avLockCheck.dispose(air);
	}
	if(sel.value == 'Flugzeug'){
		air_row.setStyle('display', '');	
		avLockCheck.register(air,11);
	}
}

function gselect() {
	var sel = $("x_gruppenart");
	air = $('x_reisegaeste');
	air_row = $('guest_row');
	if(sel.value != 'feste_Gruppe'){
		air_row.setStyle('display', 'none');
		avLockCheck.dispose(air);
	}
	if(sel.value == 'feste_Gruppe'){
		air_row.setStyle('display', '');	
		avLockCheck.register(air,12);
	}
}

function rselect() {
	var sel = $("x_reiseart");
	$('cab_table1').setStyle('display', 'none');
	$('cab_table2').setStyle('display', 'none');
	$('tra_lab').setStyle('display', 'none');
	$('haf_lab').setStyle('display', 'none');
	$('fh_lab').setStyle('display', 'none');
	$('flug_row').setStyle('display', 'none');
	multiInputs = $$('input.cab_field1');
	multiInputs.each(function(val, key){	
		avLockCheck.dispose(val);
	});
	multiInputs = $$('input.cab_field2');
	multiInputs.each(function(val, key){	
		avLockCheck.dispose(val);
	});	
	avLockCheck.dispose($('x_anreise'));
	avLockCheck.dispose($('x_flughafen'));
	if(sel.value == 'Nachtfaehre'){
		$('tra_lab').setStyle('display', '');
		$('cab_table1').setStyle('display', '');	
		multiInputs = $$('input.cab_field1');
		multiInputs.each(function(val, key){	
			avLockCheck.register(val, 13);
		});
	}
	else if(sel.value == 'Kreuzfahrt'){
		$('cab_table2').setStyle('display', '');	
		multiInputs = $$('input.cab_field2');
		multiInputs.each(function(val, key){	
			avLockCheck.register(val, 13);
		});
		$('tra_lab').setStyle('display', 'none');
		$('haf_lab').setStyle('display', '');
		avLockCheck.register($('x_anreise'),12);
	}	
	else if(sel.value == 'Flugreise'){
		$('fh_lab').setStyle('display', '');
		avLockCheck.register($('x_anreise'),12);
		$('flug_row').setStyle('display', '');
		avLockCheck.register($('x_flughafen'),13);		
	}	
	else{
		$('tra_lab').setStyle('display', '');
		avLockCheck.register($('x_anreise'),12);	
	}	
}

function addspecsdays() {
	var numVal = $("x_reisedauer").value;
	var inputDiv = $('days');
	multiInputs = $$('div.dayInput');
	multiInputs.each(function(val, key){	
		val.remove();
	});		
	if (numVal > 0){
		$('day_row').setStyle('display', '');
		for (var i = 1; i <= numVal; i++){
			var inputSpan = new Element('div').setProperty('class','dayInput').setText(i+'. Tag: ').inject(inputDiv);
			var inputField = new Element('input').setProperty('type','text').setProperty('size','30').setProperty('name','x_tage'+'['+(i)+']').setProperty('id','x_tage'+(i)).inject(inputSpan);
		}		
	}else{
		$('day_row').setStyle('display', 'none');	
	}
}	
function toggleAcc(id){
	if (id == 'button'){
		id = 0;
		$('h'+id).checked = true;
	}
	if ($('h'+id).checked == false){
		$('d_haus'+id).checked = false;
		$('r_haus'+id).setStyle('display', 'none');	
		var noAcc = true;
		var altEl = $('h'+id).getProperty('class');
		var multis = $$("input[class^="+altEl+"]");
		multis.each(function(val, key){
			if(val.checked == true){
				noAcc = false
			}
		});	
		if (noAcc){
			$('o_haus0').setStyle('visibility', 'visible');		
			$('b_haus0').setStyle('visibility', 'visible');	
			$('n_haus0').setStyle('display', '');
		}			
	}else{
		$('d_haus'+id).checked = true;
		$('r_haus'+id).setStyle('display', '');		
		$('o_haus0').setStyle('visibility', 'hidden');		
		$('b_haus0').setStyle('visibility', 'hidden');	
		$('n_haus0').setStyle('display', 'none');				
	}
}

function datecheck(el){
	if(!string2date(el.value)) {
		var errorMsg = 'Bitte ein korrektes Datum im Format dd.mm.JJJJ eingeben!';
		el.errors.unshift(errorMsg);
		return false;
	}else{
		return true;
	}
}

function string2date(string) {
    if(!string) return null;
    string += '';
    string = string.replace(/[-\/]/g, '.'); // Trennzeichen normalisieren
    string = string.replace(/[^0-9.: ]/g, ''); // ungültige Zeichen entfernen
    string = string.replace(/ +/g, ' '); // doppelte Leerzeichen entfernen
    var uhr = string.split(" "); // Uhrzeit abtrennen
    var split = uhr[0].split(".");
    var day = parseInt(split[0], 10);
    var month = parseInt(split[1] || 0, 10);
    var year = parseInt(split[2] || 0, 10);

    if(isNaN(year)) year = getFullYear();

    var check = new Date(year, month - 1, day);
    if(uhr[1]) {
         var uhr = uhr[1].split(':');
         check.setHours( uhr[0] || 0 );
         check.setMinutes( uhr[1] || 0 );
         check.setSeconds( uhr[2] || 0 );
    }

    var day2 = check.getDate();
    var year2 = getFullYear(check);
    var month2 = check.getMonth() + 1;
 
    return ( year2 == year && month == month2 && day == day2 ) ? check
    : null;
}

function getFullYear(date){
    if(!date) date = new Date();
    if(typeof date.getFullYear != 'undefined') return date.getFullYear();
    var year = date.getYear();
    if(year < 1000) year += 2000;
    return year;
}
