var monatTage=new Array(31,28,31,30,31,30,31,31,30,31,30,31);

function calcDayOfWeek(sWhich, ini) {
	var iDay=0; var iMonth=0; var iYear=0;
	var thisDD=document.getElementById(sWhich+'Day');
	var thisMM=document.getElementById(sWhich+'Month');

	if(thisMM.selectedIndex>=0){
		iYear=thisMM.options[thisMM.selectedIndex].value.substring(0,4);
		iMonth=thisMM.options[thisMM.selectedIndex].value.substring(5,7);
	}
	if(thisDD.selectedIndex>=0) iDay=thisDD.options[thisDD.selectedIndex].value;

	if (iYear=='') iYear=document.getElementById('set'+sWhich+'Date').value.substring(0,4);
	if (iMonth=='') iMonth=document.getElementById('set'+sWhich+'Date').value.substring(5,7);
	if (iDay=='') iDay=document.getElementById('set'+sWhich+'Date').value.substring(8,10);

	if((iYear%4==0 && iYear%100!=0)||(iYear%400==0)){ monatTage[1]=29; }else{ monatTage[1]=28;}

	fillDate(sWhich, iYear, iMonth, iDay);
	if (sWhich=='From') {
		if (ini==0) addSetCal();
	}

	if (ini>0) thisDD.selectedIndex=ini;
	if (actCal==sWhich) drawCal(sWhich, 0, thisMM.options[thisMM.selectedIndex].value);
}

function fillMon(sWhich) {
	var preYear=document.getElementById('set'+sWhich+'Date').value.substring(0,4);
	var preMon=document.getElementById('set'+sWhich+'Date').value.substring(5,7);

	var thisMM=document.getElementById(sWhich+'Month');
	for(var i=current_month;i<monNamen.length;i++) {
		addOptDD(thisMM, monNamen[i]+' '+current_year, current_year+'-'+formatNull(i+1, 2));
	}
	for(var i=0;i<current_month;i++) {
		addOptDD(thisMM, monNamen[i]+' '+(current_year+1), (current_year+1)+'-'+formatNull(i+1, 2));
	}
	selIt(thisMM, document.getElementById('set'+sWhich+'Date').value.substring(0,7), 'v')
}

//formatiere auf führende Nullen
function formatNull(wert, anz){
	wert='0'+wert;
	if (wert.length!=anz){
		wert=wert.substring(1, wert.length)
	}
	return wert;
}

function fillDate(sWhich, iYear, iMonth, iDay) {
	//alert(sWhich+' '+iYear+' '+iMonth+' '+iDay);
	var thisDD=document.getElementById(sWhich+'Day');
	var thisMM=document.getElementById(sWhich+'Month');
	if (iDay-Number(monatTage[iMonth-1])>0) { //Überlänge
		iMonth+=1;
		if (iMonth>12) {iMonth=1;iYear+=1;}
		iDay=iDay-Number(monatTage[iMonth-1]);
		if (iDay==0) iDay=1;
		thisMM.selectedIndex=thisMM.selectedIndex+1;
	}
	emptyDD(thisDD);
	for (var counter=1; counter<=monatTage[Number(iMonth-1)]; counter++) {
		var thisDate=new Date(iYear,(iMonth-1),counter);
		addOptDD(thisDD, tagNamen[thisDate.getDay()]+' '+counter, counter);
	}
	var newIndex=monatTage[Number(iMonth-1)];
	if(iDay<=monatTage[Number(iMonth-1)]){
		newIndex=iDay;
	}
	if(newIndex<0) newIndex=1;
	thisDD.selectedIndex=newIndex;
}

function addOptDD(thisDD, optionText, optionValue) {
	if (thisDD) thisDD[thisDD.length]=new Option(optionText, optionValue);
}

function emptyDD(thisDD) {
	if (thisDD){
		var oOptions=thisDD.options;
		for (var i=oOptions.length; i>0; i--) {
			oOptions[i]=null;
		}
		thisDD.selectedIndex=0;
		thisDD.length=1;
	}
}

function iniAll(myAk, myIn) {
	if (myIn!=4)
	{
		fillMon('From');
		fillMon('To');
		calcDayOfWeek('From', -1)
		calcDayOfWeek('To', -1)
	}
	else
	{
		fillMon('Von');
		fillMon('Zu');
		calcDayOfWeek('Von', -1)
		calcDayOfWeek('Zu', -1)
	}
	if (document.theauswahl.AktionAuswahl.value=='4')
	{
		allDots(myAk, myIn);
	}
	else
	{
		if (checkRadio('document.theauswahl.auswahl')==false)
		{
			allDots(myAk, myIn);
		}
		else
		{
			allDots(checkRadio('document.theauswahl.auswahl'), myIn);
		}
	}
}

function checkRadio(name) {
	var rvalue=false;
	var obj=eval(name);
	if (obj){
		if (obj.length){
			for (var i=0;i<obj.length;i++) {
				//alert(obj[i].checked);
				if (obj[i].checked) {
					rvalue=i
					break;
				}
			}
		}
	}
	return rvalue;
}

function selIt(thisDD, sVal, sWhat) {
	//alert(thisDD+' '+sVal+' '+sWhat);
	//alert(thisDD.length+' '+thisDD.name+' '+sVal);
	if (thisDD){
		thisDD.selectedIndex=0;
		if (sVal!=''){
			if (sWhat=='v') {
				for(var i=1;i<thisDD.length;i++) {
					if (thisDD.options[i].value.toString()==sVal.toString()) {
						thisDD.selectedIndex=i;
						break;
					}
				}
			}else if (sWhat=='t') {
				sVal=prepSearch(sVal.toLowerCase());
				for(var i=1;i<thisDD.length;i++) {
					if (thisDD.options[i].text.toLowerCase().search(sVal)!=-1) {
						thisDD.selectedIndex=i;
						break;
					}
				}
			}else if (sWhat=='i') {
				if (thisDD.length>sVal) thisDD.selectedIndex=sVal;
			}
		}
		return thisDD.selectedIndex;
	}
}

function makeMyDate() {
	if (document.getElementById('engine').value == 'linienflug')
	{
		var first = document.getElementById('VonMonth')[document.getElementById('VonMonth').selectedIndex].value;
		var firstA = first.split("-");
		var second = document.getElementById('ZuMonth')[document.getElementById('ZuMonth').selectedIndex].value;
		var secondA = second.split("-");
		document.getElementById('departureDay').value = document.getElementById('VonDay')[document.getElementById('VonDay').selectedIndex].value;
		document.getElementById('departureMonthYear').value = firstA[1]+'-'+firstA[0];
		document.getElementById('returnDay').value = document.getElementById('ZuDay')[document.getElementById('ZuDay').selectedIndex].value;
		document.getElementById('returnMonthYear').value = secondA[1]+'-'+secondA[0];
	}
	else
	{
		var fromday = document.getElementById('FromDay').value;
		var frommonth = document.getElementById('FromMonth').value;
		var today = document.getElementById('ToDay').value;
		var tomonth = document.getElementById('ToMonth').value;
		document.getElementById('termin').value = fromday+'.'+frommonth.substring(5,7)+'.'+frommonth.substring(0,4);
		//alert(fromday+'.'+frommonth.substring(5,7)+'.'+frommonth.substring(0,4));
		document.getElementById('ruecktermin').value = today+'.'+tomonth.substring(5,7)+'.'+tomonth.substring(0,4);
		//alert(today+'.'+tomonth.substring(5,7)+'.'+tomonth.substring(0,4));
	}
}

function allDots(wert, aktion) {
	//alert("wert: "+wert);
	//alert("aktion: "+aktion);
document.getElementById('WertAuswahl').value=wert;
	if (wert != 4)
	{
		if (aktion != 4)
		{
			if (wert == 0 || wert == 2 || wert == 3)
			{
				document.getElementById('Flug1').style.display='inline';
				document.getElementById('Flug2').style.display='none';
				document.getElementById('nurFlug').value=0;
				document.getElementById('formular').value=4;
			}
			else
			{
				document.getElementById('Flug1').style.display='none';
				document.getElementById('Flug2').style.display='inline';
				document.getElementById('nurFlug').value=1;
				document.getElementById('formular').value=3;
			}
			if (wert == 0 || wert == 1 || wert == 2)
			{
				document.getElementById('von').style.display='inline';
				document.getElementById('vonS').style.display='inline';
				document.getElementById('nach').innerHTML='nach';
				document.getElementById('hotelsuche').style.display='none';
				document.getElementById('Thema').style.display='none';
				document.getElementById('ThemaS').style.display='none';
			}
			else
			{
				document.getElementById('von').style.display='none';
				document.getElementById('vonS').style.display='none';
				document.getElementById('nach').innerHTML='Reiseziel';
				document.getElementById('hotelsuche').style.display='inline';
				document.getElementById('Thema').style.display='inline';
				document.getElementById('ThemaS').style.display='inline';
			}
			if (wert == 0)
			{
				document.getElementById('engine').value='';
				document.theauswahl.auswahl[0].checked=true;
			}
			else if (wert == 1)
			{
				document.getElementById('engine').value='charter';
				document.theauswahl.auswahl[1].checked=true;
			}
			else if (wert == 2)
			{
				document.getElementById('engine').value='pauschal';
				document.theauswahl.auswahl[2].checked=true;
			}
			else if (wert == 3)
			{
				document.getElementById('engine').value='erde';
				document.theauswahl.auswahl[3].checked=true;
			}
		}
		else
		{
			document.getElementById('AktionAuswahl').value='23';
			document.theauswahl.submit();
		}
	}
	else
	{
		document.getElementById('engine').value='linienflug';
		document.theauswahl.auswahl[4].checked=true;
			if (aktion != 4)
			{
				document.getElementById('AktionAuswahl').value='4';
				document.theauswahl.submit();
			}
	}
}

function myChange(wert, aktion, RlAgnt) {
	document.getElementById('AktionAuswahlLF').value=aktion;
	document.getElementById('WertAuswahlLF').value=wert;
	document.linienflugsuche.action=makePath(RlAgnt)+'/web/home.asp';
	document.getElementById('AktionAuswahl').value='4';
	document.getElementById('departureTimeH').value=document.getElementById('departureTime')[document.getElementById('departureTime').selectedIndex].value;
	document.getElementById('returnTimeH').value=document.getElementById('returnTime')[document.getElementById('returnTime').selectedIndex].value;
	document.getElementById('adultCountH').value=document.getElementById('adultCount')[document.getElementById('adultCount').selectedIndex].value;
	document.getElementById('childCountH').value=document.getElementById('childCount')[document.getElementById('childCount').selectedIndex].value;
	document.getElementById('infantCountH').value=document.getElementById('infantCount')[document.getElementById('infantCount').selectedIndex].value;
	document.getElementById('serviceClassH').value=document.getElementById('serviceClass')[document.getElementById('serviceClass').selectedIndex].value;
	document.getElementById('airlineH').value=document.getElementById('airline')[document.getElementById('airline').selectedIndex].value;
	document.getElementById('VonDayH').value=document.getElementById('VonDay')[document.getElementById('VonDay').selectedIndex].value;
	document.getElementById('VonMonthH').value=document.getElementById('VonMonth')[document.getElementById('VonMonth').selectedIndex].value;
	document.getElementById('ZuDayH').value=document.getElementById('ZuDay')[document.getElementById('ZuDay').selectedIndex].value;
	document.getElementById('ZuMonthH').value=document.getElementById('ZuMonth')[document.getElementById('ZuMonth').selectedIndex].value;
	if (document.getElementById('NextVon').value!='')
	{
		document.getElementById('originH').value=document.getElementById('origin')[document.getElementById('origin').selectedIndex].value;
	}
		if (document.getElementById('NextNach').value!='')
	{
		document.getElementById('destinationH').value=document.getElementById('destination')[document.getElementById('destination').selectedIndex].value;
	}
	if (document.linienflugsuche.tripType[0].checked==true)
	{
		document.getElementById('tripTypeH').value=document.linienflugsuche.tripType[0].value;
	}
	else
	{
		document.getElementById('tripTypeH').value=document.linienflugsuche.tripType[1].value;
	}
}