if (typeof languageCode == 'undefined') var languageCode = 'de';
if (typeof level == 'undefined') level = new Array();
if (typeof level[1] == 'undefined') level[1] = new Object();
if (typeof countryValue == 'undefined') countryValue = '';

var mainCounter = 0;
var refreshLocations = new Array();

function refreshAll(type)
{
	refreshLocation(4, "", true);
	selectedType = (type == '') ? 'all' : type;
	getTypeSelectionMarker();
}

function refreshLocation(levelID, selectedValue, refresh)
{
    if(typeof mapIsLoaded != 'undefined' && !mapIsLoaded) doLoadMap();

	if (!levelID) levelID = 1;
	if (typeof refresh == 'undefined') refresh = false;

	var levelValue = new Array();

	/* changed needed request type */
	if (refresh == false && document.getElementById('requestType')) document.getElementById('requestType').value = 'form';

	for(i = 1; i <= 5; i++)
	{
		levelElement = "sfLevel" + i;
		if(document.getElementById(levelElement))
		{
			levelValue[i] = document.getElementById(levelElement).value;
			if (i >= levelID) document.getElementById(levelElement).selectedIndex = 0;
		}
		else if(document.all && document.all.levelElement)
		{
			levelValue[i] = document.levelElement.value;
			if (i >= levelID) document.levelElement.selectedIndex = 0;
		}
	}

	if (level[levelID][selectedValue])
	{
		var levelSelectOptions = document.getElementById("sfLevel" + levelID).options;
		levelSelectOptions.length = 0;

		for (var locationID in level[levelID][selectedValue])
		{
			levelSelectOptions[levelSelectOptions.length] = new Option(level[levelID][selectedValue][locationID], locationID, false, (levelValue[levelID] == locationID) ? true : false);
		}
    	if (typeof mapFillFormLevel1 == 'function') { mapFillFormLevel1(); }
	}
	else
	{
		refreshQuery = getRefreshQuery(levelID);
		//Server-name wieder rausgenommen um auf den Portalen TO im Quelltext zu vermeiden, thomask 23.02.2010
		var scriptpath = "/js/locationselects8.js.php?r=" + Math.floor(Math.random()*1000000) + "&" + refreshQuery;
		var htmlhead = document.getElementsByTagName("head")[0];
		var script_id = "updatescript";

		if(document.getElementById(script_id))
		{
			htmlhead.removeChild(document.getElementById(script_id));
		}
		var updatescript = document.createElement("script");
		//updatescript.id = script_id;
		//updatescript.src = scriptpath;
		updatescript.setAttribute('id', script_id);
		updatescript.setAttribute('type', 'text/javascript');
		updatescript.setAttribute('src', scriptpath);
		htmlhead.appendChild(updatescript);
		//change_action();

	}
}

function getRefreshQuery(levelID)
{
	if (!levelID) levelID = 1;

	var refreshQuery = "languageCode=" + languageCode;
	if (document.getElementById('sfCountry'))
	{
		countryValue = document.getElementById('sfCountry').value;
	}
	else if (document.all && document.all.sfCountry)
	{
		countryValue = document.sfCountry.value;
	}
	if (typeof countryValue != "undefined") refreshQuery = refreshQuery + "&country=" + countryValue;

	var levelValue = new Array();
	for(i = 1; i < levelID; i++)
	{
		levelElement = "sfLevel" + i;
		if(document.getElementById(levelElement))
		{
			levelValue[i] = document.getElementById(levelElement).value;
		}
		else if(document.all && document.all.levelElement)
		{
			levelValue[i] = document.levelElement.value;
		}
	}


	for(i = 1; i <= 5; i++)
	{
		if (typeof levelValue[i] != "undefined")
		{
			refreshQuery = refreshQuery + '&level' + i + '=' + levelValue[i];
		}
	}

	var objectGroup = '';
	if (document.getElementById('group') && document.getElementById('group').value)
	{
	    objectGroup = document.getElementById('group').value;
	} else if (document.getElementById('group') && document.getElementById('searchfrm').group.length > 0)
	{
	    for(i = 0; i <= document.getElementById('searchfrm').group.length; i++)
	    {
	        if (document.getElementById('searchfrm').group[i].checked == true)
	        {
	            objectGroup = document.getElementById('searchfrm').group[i].value;
	            break;
	        }
	    }
	}
	if (objectGroup != '') refreshQuery = refreshQuery + '&objectTypeGroup=' + objectGroup;
	return refreshQuery;
}


function change_action(locationID, isArray)
{
	querys = new Array();
	levelIDs = new Array();
		
	if (document.getElementById('sfCountry') && document.getElementById('sfCountry').options.length > 0) {
		var tmpSelectedCountry = document.getElementById('sfCountry').options[document.getElementById('sfCountry').selectedIndex];
		if(typeof tmpSelectedCountry != 'undefined' && tmpSelectedCountry.value != '') querys.push('country=' + tmpSelectedCountry.value);
	}
	if (document.getElementById('sfLevel1') && document.getElementById('sfLevel1').length > 0) {
		var tmpSelectedLevel1  = document.getElementById('sfLevel1').options[document.getElementById('sfLevel1').selectedIndex];
		if(typeof tmpSelectedLevel1 != 'undefined' && tmpSelectedLevel1.value != '') levelIDs.push(tmpSelectedLevel1.value);
	}
	if (document.getElementById('sfLevel2') && document.getElementById('sfLevel2').length > 0) {
		var tmpSelectedLevel2  = document.getElementById('sfLevel2').options[document.getElementById('sfLevel2').selectedIndex];
		if(typeof tmpSelectedLevel2 != 'undefined' && tmpSelectedLevel2.value != '') levelIDs.push(tmpSelectedLevel2.value);
	}
	if (document.getElementById('sfLevel3') && document.getElementById('sfLevel3').length > 0) {
		var tmpSelectedLevel3  = document.getElementById('sfLevel3').options[document.getElementById('sfLevel3').selectedIndex];
		if(typeof tmpSelectedLevel3 != 'undefined' && tmpSelectedLevel3.value != '') levelIDs.push(tmpSelectedLevel3.value);
	}
	if (document.getElementById('sfLevel4') && document.getElementById('sfLevel4').length > 0) {
		var tmpSelectedLevel4  = document.getElementById('sfLevel4').options[document.getElementById('sfLevel4').selectedIndex];
		if(typeof tmpSelectedLevel4 != 'undefined' && tmpSelectedLevel4.value != '') levelIDs.push(tmpSelectedLevel4.value);
	}
	
		
	if (arguments.length > 0 && locationID != '' )
	{
	    if (arguments.length == 1 || !isArray)
	    {
	        levelIDs.push(locationID);
	    }
	    else if (isArray)
	    {
	        for (var ii = 0; ii < locationID.length; ii++)
	        {
	            levelIDs.push(locationID[ii]);
	        }
    	}
	}

	var objectGroup = '';
	if (document.getElementById('group') && document.getElementById('group').value)
	{
	    objectGroup = document.getElementById('group').value;
	}
	else if (document.getElementById('group') && document.getElementById('searchfrm').group.length > 0)
	{
	    for(i = 0; i <= document.getElementById('searchfrm').group.length; i++)
	    {
        	if (document.getElementById('searchfrm').group[i].checked == true)
        	{
	            objectGroup = document.getElementById('searchfrm').group[i].value;
	            break;
	        }
	    }
	}

	/*
	if (document.getElementsByName('startDate_month')[0] && document.getElementsByName('startDate_month')[0].options[document.getElementsByName('startDate_month')[0].selectedIndex].value != '') querys.push('startDate_month=' + document.getElementsByName('startDate_month')[0].options[document.getElementsByName('startDate_month')[0].selectedIndex].value);
	if (document.getElementsByName('startDate_day')[0] && document.getElementsByName('startDate_day')[0].options[document.getElementsByName('startDate_day')[0].selectedIndex].value != '') querys.push('startDate_day=' + document.getElementsByName('startDate_day')[0].options[document.getElementsByName('startDate_day')[0].selectedIndex].value);
	if (document.getElementsByName('persons')[0] && document.getElementsByName('persons')[0].options[document.getElementsByName('persons')[0].selectedIndex].value != '') querys.push('persons=' + document.getElementsByName('persons')[0].options[document.getElementsByName('persons')[0].selectedIndex].value);
	if (document.getElementsByName('pets')[0] && document.getElementsByName('pets')[document.getElementsByName('pets').length - 1].value != '') querys.push('pets=' + document.getElementsByName('pets')[document.getElementsByName('pets').length - 1].value);
	if (document.getElementsByName('ski')[0] && document.getElementsByName('ski')[document.getElementsByName('ski').length - 1].value != '') querys.push('ski=' + document.getElementsByName('ski')[document.getElementsByName('ski').length - 1].value);
	if (document.getElementsByName('pool')[0] && document.getElementsByName('pool')[document.getElementsByName('pool').length - 1].value != '') querys.push('pool=' + document.getElementsByName('pool')[document.getElementsByName('pool').length - 1].value);
	if (document.getElementsByName('fishing')[0] && document.getElementsByName('fishing')[document.getElementsByName('fishing').length - 1].value != '') querys.push('fishing=' + document.getElementsByName('fishing')[document.getElementsByName('fishing').length - 1].value);
	if (document.getElementsByName('rooms')[0] && document.getElementsByName('rooms')[document.getElementsByName('rooms').length - 1].value != '') querys.push('rooms=' + document.getElementsByName('rooms')[document.getElementsByName('rooms').length - 1].value);
	if (document.getElementsByName('duration')[0] && document.getElementsByName('duration')[document.getElementsByName('duration').length - 1].value != '') querys.push('duration=' + document.getElementsByName('duration')[document.getElementsByName('duration').length - 1].value);
	*/

	if (document.getElementById('showMethod')) querys.push('showMethod=' + document.getElementById('showMethod').value);
	if (document.getElementById('specialAction')) querys.push('specialAction=' + document.getElementById('specialAction').value);

	// initialize http request
	if (window.ActiveXObject)
	{
		xmlDoc2 = new ActiveXObject("Microsoft.XMLHTTP"); // Mircosoft
		xmlDoc2.onreadystatechange = function()
		{
			if (xmlDoc2.readyState == 4)
			{
				document.getElementById('searchfrm').action = xmlDoc2.responseText;
			}
		}
	}
	else
	{
		xmlDoc2 = new XMLHttpRequest(); // Others
		xmlDoc2.onload = function()
		{
			if (xmlDoc2.readyState == 4)
			{
				document.getElementById('searchfrm').action = xmlDoc2.responseText;
			}
		}
	}
	if (typeof searchPath == 'undefined') searchPath = 'search5';
	var requestXML = "/" + searchPath + "/getFormAction.php?group=" + objectGroup + "&language=" + languageCode + "&"+querys.join('&')+"&levelIDs="+levelIDs.join('.');

	// local request
	xmlDoc2.open("GET", requestXML, true);
	xmlDoc2.setRequestHeader( "Content-type", "text/html;charset=UTF-8" );
	xmlDoc2.send( null );
}

function clearElement(ele)
{
	if (ele)
	{
		if (document.getElementById(ele))
		{
			if (!cleared[ele])
			{
				document.getElementById(ele).value = '';
				cleared[ele] = true;
			}
		}
		else if (document.all && document.all.ele)
		{
			if (!cleared[ele])
			{
				document.all.ele.value = '';
				cleared[ele] = true;
			}
		}

	}
}


