function changeMainTab(sTo)
{
	oQuick			= document.getElementById("quick_search");
	oAdvanced		= document.getElementById("advanced_search");

	oQuickButton	= document.getElementById("tab_quick_search");
	oAdvancedButton	= document.getElementById("tab_advanced_search");

	if(sTo=="quick")
	{
		oQuick.style.display		= 'block';
		oAdvanced.style.display		= 'none';
		oQuickButton.className		= 'tab_quick_search_on';
		oAdvancedButton.className	= 'tab_advanced_search_off';
	}
	else
	{
		oQuick.style.display		= 'none';
		oAdvanced.style.display		= 'block';
		oQuickButton.className		= 'tab_quick_search_off';
		oAdvancedButton.className	= 'tab_advanced_search_on';
	}
}

function clearDropDownBox(oSB)
{
	oSB.selectedIndex=0;

	for(i=oSB.length-1;i>0;i--)
	{
		oSB.remove(i);
	}

}

function loadCountries(iContinentID,sSelectbox,sRegionbox)
{
	if(iContinentID==0) return;

	oSB=document.getElementById(sRegionbox);
	clearDropDownBox(oSB);
	oSB.disabled=true;

	oSB=document.getElementById(sSelectbox);
	clearDropDownBox(oSB);

	DoHttpRequest("/?act=get_countries&cat="+iContinentID,"fillCountryBox",sSelectbox);
}

function fillCountryBox(xml,sSelectbox)
{
	oSB=document.getElementById(sSelectbox);

	var xmlDoc = xml;
	
	var subscriptions = xmlDoc.getElementsByTagName('country');
	
	for( var i=0; i < subscriptions.length; i++)
	{
		if(subscriptions[i].getElementsByTagName('acc_country_id')[0].textContent == undefined)
		{
			thisid		= subscriptions[i].getElementsByTagName('acc_country_id')[0].text;
			thisname	= subscriptions[i].getElementsByTagName('acc_country_name')[0].text;
		}
		else
		{
			thisid		= subscriptions[i].getElementsByTagName('acc_country_id')[0].textContent;
			thisname	= subscriptions[i].getElementsByTagName('acc_country_name')[0].textContent;
		}

		var oOptNew = document.createElement('option');
		oOptNew.text = thisname;
		oOptNew.value = thisid;

		try
		{
			oSB.add(oOptNew, null);
		}
		catch(ex)
		{
			oSB.add(oOptNew);
		}
	}

	oSB.disabled=false;
	disableAllFields(Array('continent','country','period_start','period_end'));
}

function loadRegions(iCountryID,sSelectbox,bLoadCities)
{
	if(iCountryID==0) return;

	oSB=document.getElementById(sSelectbox);
	clearDropDownBox(oSB);

	DoHttpRequest("/?act=get_regions&cat="+iCountryID,"fillRegionBox",sSelectbox);
}

function fillRegionBox(xml,sSelectbox)
{
	oSB=document.getElementById(sSelectbox);

	var xmlDoc = xml;
	
	var subscriptions = xmlDoc.getElementsByTagName('region');
	
	for( var i=0; i < subscriptions.length; i++)
	{
		if(subscriptions[i].getElementsByTagName('acr_region_id')[0].textContent == undefined)
		{
			thisid		= subscriptions[i].getElementsByTagName('acr_region_id')[0].text;
			thisname	= subscriptions[i].getElementsByTagName('acr_region_name')[0].text;
		}
		else
		{
			thisid		= subscriptions[i].getElementsByTagName('acr_region_id')[0].textContent;
			thisname	= subscriptions[i].getElementsByTagName('acr_region_name')[0].textContent;
		}

		var oOptNew = document.createElement('option');
		oOptNew.text = utf8decode(thisname);
		oOptNew.value = thisid;

		try
		{
			oSB.add(oOptNew, null);
		}
		catch(ex)
		{
			oSB.add(oOptNew);
		}
	}

	oSB.disabled=false;
	enableAllFields();
}

function loadCities(iCountry,iType,iRegion)
{
	if(typeof(iRegion) == "string")
	{
		DoHttpRequest("/?act=get_cities_by_region&cat="+iRegion+"&country="+iCountry+"&acctype="+iType,"fillCitiesBox");
	}
	else
	{
		DoHttpRequest("/?act=get_cities_by_country&cat="+iCountry+"&acctype="+iType,"fillCitiesBox");
	}
}

function fillCitiesBox(xml)
{
	oSB=document.getElementById("frmCity");
	clearDropDownBox(oSB);

	var xmlDoc = xml;
	
	var subscriptions = xmlDoc.getElementsByTagName('city');
	
	for( var i=0; i < subscriptions.length; i++)
	{
		if(subscriptions[i].getElementsByTagName('cityname')[0].textContent == undefined)
		{
			thisname	= subscriptions[i].getElementsByTagName('cityname')[0].text;
		}
		else
		{
			thisname	= subscriptions[i].getElementsByTagName('cityname')[0].textContent;
		}

		var oOptNew = document.createElement('option');
		oOptNew.text = utf8decode(thisname);
		oOptNew.value = thisname;

		try
		{
			oSB.add(oOptNew, null);
		}
		catch(ex)
		{
			oSB.add(oOptNew);
		}
	}



}

function enableAllFields()
{
	oForm=document.getElementById("search_form");
	aInputs=oForm.getElementsByTagName("input");
	for (i=0; i<aInputs.length; i++)
	{
		aInputs[i].disabled=false;
	}
	aSelects=oForm.getElementsByTagName("select");
	for (i=0; i<aSelects.length; i++)
	{
		aSelects[i].disabled=false;
	}
}

function disableAllFields(aExeptions)
{
	if(typeof(aExeptions)=="object")
	{
		aNewEx=new Array();
		for(j=0; j<aExeptions.length; j++)
		{
			aNewEx[aExeptions[j]]=true;
		}
	}
	else
	{
		aNewEx=new Array();
	}

	oForm=document.getElementById("search_form");
	aInputs=oForm.getElementsByTagName("input");
	for (i=0; i<aInputs.length; i++)
	{
		if(!aNewEx[aInputs[i].name]) aInputs[i].disabled=true;
	}
	aSelects=oForm.getElementsByTagName("select");
	for (i=0; i<aSelects.length; i++)
	{
		if(!aNewEx[aSelects[i].name]) aSelects[i].disabled=true;
	}
}


function changePhoto(sFilename)
{
	oFoto=document.getElementById("big_photo");
	oFoto.style.backgroundImage='url(/content/accommodations/images/normal/'+sFilename+')';
}

function checkRequiredSearch()
{
	if(document.getElementById("period_start").value == 'dd-mm-yyyy' || document.getElementById("period_start").value == '')
	{
		alert("Please fill in the check-in date.");
		return false;
	}

	if(document.getElementById("period_end").value == 'dd-mm-yyyy' || document.getElementById("period_end").value == '')
	{
		alert("Please fill in the check-out date.");
		return false;
	}

	return true;
}

function CallUrl(url)
{
  var tag = document.createElement("script");
  tag.type="text/javascript";
  tag.src = url;
  document.getElementsByTagName("head")[0].appendChild(tag);
  window.status='';
  return true;
}

function reCalculatePrice(iAID)
{
	dStart=document.getElementById("checkin_date").value;
	dEnd=document.getElementById("checkout_date").value;
	
	DoHttpRequest('/index.php?act=get_new_rental_price&ac_id='+iAID+'&checkin_date='+dStart+'&checkout_date='+dEnd, 'SetNewPrice', 'setnewprice');
}

function SetNewPrice(xmlDoc, el)
{
	var priceNode		= xmlDoc.getElementsByTagName('price');
	var checkinNode		= xmlDoc.getElementsByTagName('checkin_date');
	var checkoutNode	= xmlDoc.getElementsByTagName('checkout_date');
	
	if(priceNode[0].textContent == undefined)
	{
		var price		= priceNode[0].text;
		var checkin		= checkinNode[0].text;
		var checkout	= checkoutNode[0].text;
	}
	else
	{
		var price		= priceNode[0].textContent;
		var checkin		= checkinNode[0].textContent;
		var checkout	= checkoutNode[0].textContent;
	}
	
	if (is_numeric(price) && price != 0)
	{
		// valid price found
		
		// show price
		document.getElementById("rental_price").innerHTML = '€ ' + price + ',-';
		document.getElementById("bookform_rental_price").innerHTML = '€ ' + price + ',-';
		document.getElementById("book_price").value = price;
		
		// show dates in booking form
		document.getElementById("bookform_checkin_date").innerHTML = checkin;
		document.getElementById("bookform_checkout_date").innerHTML = checkout;

		// enable the book now button
		document.getElementById("booknow_button").disabled = false;
	}
	else if (price == 0)
	{
		// not a valid price found
		
		// show n/a
		document.getElementById("rental_price").innerHTML = 'n/a';
		document.getElementById("bookform_rental_price").innerHTML = 'n/a';
		
		// disable the book now button
		document.getElementById("booknow_button").disabled = true;
	}
}

function is_numeric(mixed_var)
{
    return !isNaN(mixed_var);
}

function DoHttpRequest(url, callback_function, el, tag)
{
    var http_request = false;
	
    if (window.XMLHttpRequest) { // Mozilla, Safari,...
        http_request = new XMLHttpRequest();
        if (http_request.overrideMimeType) {
            http_request.overrideMimeType('text/xml');
        }
    } else if (window.ActiveXObject) { // IE
        try {
            http_request = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
            try {
                http_request = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) { }
        }
    }
	
    if (!http_request) {
        alert('Unfortunately you browser doesn\'t support this feature.');
        return false;
    }
	
    http_request.onreadystatechange = function() {
	
        if (http_request.readyState == 4) {
            if (http_request.status == 200) {
				eval(callback_function + "(http_request.responseXML, el, tag)");
            } else {
                alert('There was a problem with the request.(Code: ' + http_request.status + ')');
            }
        }
    }
    http_request.open('GET', url, true);
    http_request.send(null);
}

function popCountries(){
	
	if(document.getElementById('countryPop').style.display=='none'){
	$('#countryPop').show("slow");
	}
	else{
		$('#countryPop').hide("slow");
	}
}