function formatDateDojo(vForm, alter) {
	var depdate;
	var retdate;
	try {	
		if (alter != null && alter.length > 0) {
			depdate = dojo.widget.byId("dojoDepDate" + alter).getDate();				
			if (dojo.widget.byId("dojoRetDate" + alter) != null) {			
				retdate = dojo.widget.byId("dojoRetDate" + alter).getDate();
				document.forms[vForm].retDate.value = dojo.date.format(retdate, { selector:"dateOnly", datePattern:"dd.MM.yyyy" });
			}							
		} else {								
			depdate = dojo.widget.byId("dojoDepDate").getDate();
			if (dojo.widget.byId("dojoRetDate") != null) {
				retdate = dojo.widget.byId("dojoRetDate").getDate();
				document.forms[vForm].retDate.value = dojo.date.format(retdate, { selector:"dateOnly", datePattern:"dd.MM.yyyy" });
			}	
		}	
		document.forms[vForm].depDate.value = dojo.date.format(depdate, { selector:"dateOnly", datePattern:"dd.MM.yyyy" });
	} catch (e) {  
		throw "Fehler bei der Datumskonvertierung.";
	}					
}

			
function checkDepartureReturnTwoDojo(dep, ret, equals, alter){
	if (dojo.widget.byId("dojoRetDate") == null)
		return true;
	if (alter == "filter") {								
		if(dojo.widget.byId("dojoRetDateFilter").getDate() < dojo.widget.byId("dojoDepDateFilter").getDate()) 		
			return false;
		if (equals && dojo.widget.byId("dojoRetDateFilter").getDate() == dojo.widget.byId("dojoDepDateFilter").getDate()) 				
			return false;				
	} else {
		if(dojo.widget.byId("dojoRetDate").getDate() < dojo.widget.byId("dojoDepDate").getDate()) 		
			return false;
		if (equals && dojo.widget.byId("dojoRetDate").getDate() == dojo.widget.byId("dojoDepDate").getDate()) 				
			return false;		
	}						
	return true;			
}				

function durationMatchesDojo (d1, d2, dur) {
	var t = dojo.widget.byId("dojoRetDate").getDate() - dojo.widget.byId("dojoDepDate").getDate();				
}	


function checkInputDojo(vForm, alter){
	//If no hotel we could searhc for the same date.
	
	var includeHotel = false;
	var includeFlight = false;
	
	
	if(vForm.hotelSelected && vForm.hotelSelected.checked){
		includeHotel = true;
	}
	if(vForm.flightSelected && vForm.flightSelected.checked){
		includeFlight = true;
	}

	if(vForm.carSelected && vForm.carSelected.checked){
		if ( ! (includeHotel || includeFlight) ) {
				alert("Bitte w�hlen Sie eine weitere Leistung (Flug oder Hotel) aus.");
				return false;
		}
	} else if (vForm.carSelected && document.URL.indexOf("/fldrv/") == -1){
			if ( ! (includeHotel || includeFlight) ) {
				alert("Bitte w�hlen Sie Ihr gew�nschtes Produkt aus.");
				return false;
			}
	}
	
	
	//destination (dp)
	if(vForm.destName){
		if(vForm.destName.value==""){
			alert("Bitte ein Reiseziel angeben!");
			return false;
		}
	}
	
	//departures
	if(vForm.depAirport){
		if(vForm.depAirport.value==""){
			alert("Bitte einen Abflughafen angeben!");
			return false;
		}
	}
	

	//date check
	if(!checkDepartureReturnTwoDojo(vForm.depDate.value,vForm.retDate.value, includeHotel, alter)) {
		alert("Das Abflugdatum muss vor dem R�ckflugdatum liegen!");
		return false;
	}				
	//duration
	if(vForm.duration && vForm.duration.value!=''){
		if(!durationMatchesDojo(vForm.depDate.value,vForm.retDate.value,vForm.duration.value)){
			alert('Die Reisedauer liegt nicht innerhalb des gewählten Zeitraums für Abflug und Rückflug. Bitte passen Sie die Daten an!');
			return false;
		}
	}
	//room allocation (dp)
	if(vForm.roomCount && !checkRoomAllocation()){
		alert("Die Summe der Erwachsenen in der Zimmerzuordnung stimmt nicht mit der Anzahl der reisenden Erwachsenen überein!");
		return false;	
	}
	//services count (dp)
	
	var servCount = 0;
	var dp = false;
	var flightSelected = false;
	
	if (vForm.hotelSelected){
		dp = true;
		if (vForm.hotelSelected.checked){
			servCount = servCount +1;
		}
	}	
	if (vForm.carSelected){
		dp = true;
		if (vForm.carSelected.checked){
			servCount = servCount +1;
		}
	}	
	if (vForm.flightSelected){
		dp = true;
		if (vForm.flightSelected.checked){
			flightSelected = true;
			servCount = servCount +1;
		} else {
			servCount = 0;
		}
	}
	var hotelSelected = false;
	if (vForm.hotelSelected){
		dp = true;
		if (vForm.hotelSelected.checked){
			hotelSelected = true;
		}
	}
	
	var railSelected = false;
	if (vForm.railSelected) {
		railSelected = vForm.railSelected.checked || vForm.railSelected.value == "on";
	}
/*	
	if (document.URL.indexOf("/dp/") > -1 && ((!flightSelected || !hotelSelected) && (!flightSelected || !carSelected) && !railSelected)){
		alert("Bitte mind. 2 Leistungen (Flug+Hotel od. Flug) wahlen!");
		return false;
	}
*/		
	return true;
}


function enableDateInputDojo(val, alter) {
	if (alter == "filter") {
		if (val) {		
			dojo.widget.byId("dojoDepDateFilter").enable();
			dojo.widget.byId("dojoRetDateFilter").enable();
		} else {
			if (dojo.widget.byId("dojoDepDateFilter") != null)
				dojo.widget.byId("dojoDepDateFilter").disable();
			if (dojo.widget.byId("dojoRetDateFilter") != null)
			dojo.widget.byId("dojoRetDateFilter").disable();		
		}	
	} else {								
		depdate = dojo.widget.byId("dojoDepDate").getDate();
		retdate = dojo.widget.byId("dojoRetDate").getDate();
	}
}				

function openMessageBox(top,left,txt) {
	var div = document.createElement("div");
	div.style.position = "absolute";
	div.style.width = 250;
	if (navigator.userAgent.toLowerCase().indexOf("gecko") > -1)
		div.style.top = top;
	else
		div.style.top = top + 365;
	div.style.left = left;
	div.style.padding = 5;
	div.style.fontSize = 10;
	div.style.overflow = "visible";	
	div.style.border = "2px solid #A90852";
	div.style.backgroundColor = "eeeeee";
	div.innerHTML = txt + "<div style='border-top:1px solid #A90852;text-align:right'><a href='#' onclick=\"javascript:this.parentNode.parentNode.style.display='none'\">schliessen</a></div>";	
	document.getElementsByTagName("body")[0].appendChild(div);
}


function openMessageBoxRel(comp,txt, top, left) {
	if (dojo.byId("msg") == null) {
			var div = document.createElement("div");
			div.setAttribute("id", "msg");
			div.style.position = "absolute";	
			if (top == null)
				div.style.top = -35;
			if (left == null)	
				div.style.left = 10;
			div.style.width = 200;
			div.style.padding = 3;
			div.style.fontSize = 10;
			div.style.zIndex = 300;
			div.style.overflow = "visible";	
			div.style.border = "2px solid #A90852";
			div.style.backgroundColor = "ffffff";
			div.innerHTML = txt + "<div style='text-align:right'><a href='#' onclick=\"javascript:this.parentNode.parentNode.parentNode.removeChild(this.parentNode.parentNode)\">schliessen</a></div>";
			comp.parentNode.appendChild(div);
	} else {
		dojo.byId("msg").parentNode.removeChild(dojo.byId("msg"));	
	}	
}

function hideIfr() {
	var ifr = dojo.byId("ifr");
	if (ifr) {
		ifr.style.top = 0;
		ifr.style.left = 0;
		ifr.style.width = 0;
		ifr.style.Height = 0;
	}		
}	

function openMessageBox2(comp,txt,x,y) {
	if (dojo.byId("msg") == null) {	
			var div = document.createElement("div");
			//div.className = "msg";
			div.setAttribute("id", "msg");
			div.style.position = "absolute";			
			var ifr = dojo.byId("ifr");
			if (navigator.userAgent.indexOf("Gecko") == -1 && !ifr) {
				ifr = document.createElement("iframe");
				ifr.setAttribute("id", "ifr");
				ifr.style.position = "absolute";
				document.getElementsByTagName("body")[0].appendChild(ifr);
			}	
			var absPos = dojo.html.getAbsolutePosition(comp, true);
			if (y) {
				div.style.top = absPos.y + y;
				if (ifr != null) ifr.style.top = absPos.y + y;
			} else {	
				div.style.top = absPos.y + 10;
				if (ifr != null)ifr.style.top = absPos.y + 10;
			}	
			if (x) {			
				div.style.left = absPos.x + x;
				if (ifr != null)ifr.style.left = absPos.x + x;
			} else {	
				div.style.left = absPos.x + 10;
				if (ifr != null)ifr.style.left = absPos.x + 10;
			}	
			div.style.width = 200;
			div.style.padding = 3;
			div.style.fontSize = 10;
			div.style.zIndex = 3;
			
			div.style.overflow = "visible";				
/*			div.style.border = "2px solid #A90852";  */
			div.className = "PopupDiv";
			div.style.backgroundColor = "ffffff";
			div.innerHTML = txt + "<div style='text-align:right'><a href='#' onclick=\"javascript:this.parentNode.parentNode.parentNode.removeChild(this.parentNode.parentNode);hideIfr();\">schliessen</a></div>";			
			comp.parentNode.appendChild(div);
			if (ifr != null)ifr.style.width = 200;
			if (ifr != null)ifr.style.height = dojo.html.getBorderBox(div).height;			
	} else {	
			comp.parentNode.removeChild(dojo.byId("msg"));
			hideIfr();
	}	
}		

function fixborder()
{
	//alert(document.getElementById('LeftTabTable').childNodes[0].childNodes[0].childNodes[0].className);  ie
	//alert(document.getElementById('LeftTabTable').childNodes[1].childNodes[0].childNodes[1].className);   firefox
		
	if (document.getElementById('LeftTabTable')!=null)
	{
			var cell;
		
			if (navigator.userAgent.indexOf("Gecko") > -1) 
			{
				cell = document.getElementById('LeftTabTable').childNodes[1].childNodes[0].childNodes[1];
			} 
			else /* IE */
			{		
				cell = document.getElementById('LeftTabTable').childNodes[0].childNodes[0].childNodes[0];
			}
			
			if (cell.className == "TabActive TabActiveLeft")
			{
				document.getElementById('BorderTopID').className = "BorderTop2";
			}			
	}	
}


function adaptHeight(outer) {

	var searchDiv = $("Search");
	
	var leftTab = $("LeftTab");
	var flexLeft = $("FlexLeft");
	var flexLeftInner = $("FlexLeftInner");
	
	var rightImg = $("RightImg");
	var flexRight = $("FlexRight");
	var flexRightInner = $("FlexRightInner");
	
	if (searchDiv && flexLeft) {

		var boxHeight = dojo.html.getBorderBox(searchDiv).height - 200;
		var searchBorder = dojo.byId("suchRand");
		if (searchBorder == null) {
			searchBorder = document.createElement("div");
			searchBorder.setAttribute("id", "suchRand");		
			searchBorder.style.position = "absolute";
			/*searchBorder.style.borderRight = "1px solid #A90852";*/
			searchBorder.className = "SearchBorderDiv";			
		}
		flexLeft.style.top = 200;
		if (navigator.userAgent.indexOf("Gecko") > -1) {
			if (flexLeftInner) {
				var hh = boxHeight - 17;
				dojo.html.setMarginBox(flexLeftInner, {height:hh} );
			}									
			var hh = dojo.html.getMarginBoxHeight(flexLeftInner) + 5;
			if (outer)	{	
				dojo.html.setMarginBox(searchBorder, {height:hh,width:155} );
			} else {
				dojo.html.setMarginBox(searchBorder, {height:hh,width:155} );
			}	
		} else {  /* IE */
			if (flexLeftInner) {
				var hh = boxHeight - 20;
				dojo.html.setMarginBox(flexLeftInner, {height:hh} );
			}	
			var hh = dojo.html.getMarginBoxHeight(flexLeftInner) + 5;
			if (outer) {													
				dojo.html.setMarginBox(searchBorder, {height:hh,width:dojo.html.getMarginBox(dojo.byId("Subhome_Left")).width+1 + dojo.byId("Search").offsetLeft});
			} else {							
				dojo.html.setMarginBox(searchBorder, {height:hh,width:dojo.html.getMarginBox(dojo.byId("Subhome_Left")).width+1 + dojo.byId("Search").offsetLeft});
			}				
		}
		leftTab.appendChild(searchBorder);
	}
	if (searchDiv && flexRight) {
		var boxHeight = dojo.html.getBorderBox(searchDiv).height - (dojo.html.getBorderBox(rightImg).height + 8);
		flexRight.style.top = dojo.html.getBorderBox(rightImg).height + 8;
		if (navigator.userAgent.indexOf("Gecko") > -1) {
			/*flexRightInner.style.height = boxHeight - 34;*/
			flexRightInner.style.height = boxHeight - 18;
		} else {
			flexRightInner.style.height = boxHeight - 22;
		}		
	}		
}	

