//tells us which browser is used

//Resizes the comboboxes after the window resize
//Only netscape/Mozilla
function fnResize() 
{
	var cx = window.innerWidth-26;
	document.getElementById("logotbl").width = (cx+4)+"px";
	document.getElementById("cat1").style.width = cx+"px";
	document.getElementById("cat2").style.width = cx+"px";
	document.getElementById("region").style.width = cx+"px";
	if ( document.getElementById("nights") )
	{
                	document.getElementById("searchBookable").parentNode.parentNode.width = cx+"px";
                	document.getElementById("searchBookable").parentNode.style.paddingBottom = "4px";
                	document.getElementById("nights").style.width = cx+"px";
		document.getElementById("amount").style.width = cx+"px";
		//document.getElementById("currency").style.width = cx+"px";
	}
}

// called oninit of the page to initialize the content of the comboboxes
function fnInitBoxes()
{
	var defcat1 = document.getElementById("defcat1").value;
	var defcat2 = document.getElementById("defcat2").value;
	var defregion = document.getElementById("defregion").value;
	
	var itemsContainer = document.getElementById("cat1-items");
	if ( itemsContainer )
	{
		var items = itemsContainer.getElementsByTagName("li");
		
		for ( var i = 0; i < items.length; i++ )
		{
			var id = items[i].id;
			
			var oOption = document.createElement("OPTION");
			
			var ops = document.getElementById("cat1").options;
			ops[ops.length]=oOption;
				
			oOption.value = id;
			oOption.id = id;
			//oOption.innerHTML = items[i].innerHTML;
			oOption.text = items[i].innerHTML;
			if ( id == defcat1 )
			{
				ops[0].selected=false;
				oOption.selected=true;
				
				fnCatChanged( document.getElementById("cat1") );
					
				if ( defcat2.length != 0 )
				{
					var ops2 = document.getElementById("cat2").options;
					ops2[0].selected=false;
						
					for ( var o1 = 1; o1 < ops2.length; o1++ )
					{
						if ( defcat2 == ops2[o1].value )
						{
							ops2[o1].selected=true;
							break;
						}
					}
					if ( o1 == ops2.length )
						ops2[0].selected=true;
				}
			}
		}
	}
	
	itemsContainer = document.getElementById("region-items");
	if ( itemsContainer )
	{
		var items = itemsContainer.getElementsByTagName("li");
		var ops = document.getElementById("region").options;
		
		for ( var i = 0; i < items.length; i++ )
		{
			var id = items[i].id;
			var oOption = document.createElement("OPTION");
			ops[ops.length]=oOption;
				
			if ( id == defregion || i == 0 )
			{
				if ( ops.length )
					ops[0].selected=false;
				oOption.selected=true;
			}
			oOption.value = id;
			oOption.id = id;
			//oOption.innerHTML = items[i].innerHTML;
			oOption.text = items[i].innerHTML;
		}
	}
	
	// Resize the boxes netscape/mozilla bug
	
	var agent = new Agent();

	if ( !agent.ie )
	{
		window.captureEvents(Event.RESIZE);
		window.onresize = fnResize;
		if ( agent.ns6 )
			fnResize();

	}
	return true;
}



var idInCat1 = ""; //id of the cat1 which is currently displayed in cat2

// Called after the 'cat1' combobox changed the value
function fnCatChanged( cat )
{
	if ( cat.value=="" || cat.options[0].innerHTML == cat.value )
	{
		var cat2 = document.getElementById("cat2");
	
		while( cat2.options.length > 1 )
			cat2.remove(cat2.options.length-1);
	
		idInCat1 = "";
		cat2.disabled = true;
		return;
	}
		
	var newId = cat.value;
	
	if ( newId == idInCat1 )
		return;
					
	idInCat1 = newId;
	
	var cat2 = document.getElementById("cat2");
	
	while( cat2.options.length > 1 )
		cat2.remove(cat2.options.length-1);
	
	var itemsContainer = document.getElementById("cat2-items");
	if ( itemsContainer )
	{
		var items = itemsContainer.getElementsByTagName("li");
	
		for ( var i = 0; i < items.length; i++ )
		{
			var id = items[i].id;
			
			var idx = idInCat1 == "all-cat2" ? 0 : id.indexOf( idInCat1 );
			if ( idx != 0 || id == idInCat1 )
				continue;
				
			var oOption = document.createElement("OPTION");
			
			var ops = document.getElementById("cat2").options;
			ops[ops.length] = oOption;
			oOption.id = id;
			oOption.value = id;
//			oOption.innerHTML = items[i].innerHTML;	
			oOption.text = items[i].innerHTML;	
		}
	}
	cat2.disabled=false;
	fnSubcatChanged(cat2);
}

// called when user clicks the search button
function fnGoSearch( targt )
{
	var cat1 = document.getElementById("cat1").value;
	var cat2 = document.getElementById("cat2").value;
	var region = document.getElementById("region").value;
	
	var str = "";
	if ( targt.indexOf('?') == -1 )
		str += "?";
	else if ( targt.indexOf('?') != targt.length-1 )
		str += "&";
		
	str += "query=yes";
	if ( cat2.length && cat2 != "Keine Auswahl" )
	{
		if ( str.length > 1 )
			str += "&";
		str += "subcat='"+cat2+"'";
	}
	else if ( cat1.length && cat1 != "all-cat2" && cat1 != "Keine Auswahl" )
	{
		if ( str.length > 1 )
			str += "&";
		str += "cat='"+cat1+"'";
	}
	if ( region.length )
	{
		if ( str.length > 1 )
			str += "&";
		str += "region='"+region+"'";
	}
	if ( document.getElementById("searchBookable") )
	{
		if ( !document.getElementById("searchBookable").style.disabled && document.getElementById("searchBookable").checked == true )
		{
			str +="&book=true";
			str += "&startDate="+document.getElementById("startDate").value;
			
			str += "&nights="+document.getElementById("nights").value;
			str += "&amount="+document.getElementById("amount").value;
			
			if ( document.getElementById("preisMax").value && "" != document.getElementById("preisMax").value )
			{
				str += "&preisMax="+document.getElementById("preisMax").value;
				str += "&currency="+document.getElementById("currency").value;
			}
		}
	}
	
	//alert( targt+str );
	document.body.style.cursor='wait';
                parent.document.body.style.cursor='wait';

	if ( parent.frames["thecontent"] )
		parent.frames["thecontent"].window.open(targt+str, "_self");
	else
	{
		alert ( "iframe with id 'thecontent' not found!\nSearch cmd ='"+targt+str+"'." );
		window.open( targt+str, "_self" );
	}
}

function fnSubcatChanged(obj)
{
	if ( !obj )
		obj = document.getElementById("cat2");
	
	catIdUnterkunft = "01020601";
	
	var check = document.getElementById("searchBookable");
	if ( !check )
		return;
		
	var tr = check;
	while ( tr.tagName != "TR")
	{
		tr = tr.parentNode;
	}
	
	tr.style.display = obj.value == catIdUnterkunft ? "" : "none";
	if ( obj.value != catIdUnterkunft )
		check.disabled = true;
	else
		check.disabled = false;
		
	fnActivateBookable(check);		
}

function fnActivateBookable( obj )
{
	var display = "none";
	if ( obj.checked && !obj.disabled )
		display = "";
	
	while ( obj.tagName != "TR" )
		obj = obj.parentNode;
		
	if ( !obj )
		return;
	
	do
	{
		obj = obj.nextSibling;
	}
	while ( obj.tagName != "TR" )
		

	for ( var i = 0; i < 12; i++ )
	{
		obj.style.display = display;
		do
		{
			obj = obj.nextSibling;
		}
		while( obj.tagName != "TR" )
	}

	var agent = new Agent();
	if ( agent.ns6 )
	{
		obj.style.display = "none";
		obj.style.display = "";
	}

}