/*

 Collection of usablity functions for tourist-online.de
 Author: Tobias Tuschen (sup4u GmbH)
 Last change: 2007-05-15

*/

var offset_left = 0;

if (typeof(languageCode) == 'undefined') var languageCode = 'de';

function unloadImage(evt)
{

	/* check if mouse cursor is on image (because of loading loop), else unload */

	// get event
	if (!evt)
	evt = window.event;

	// get current cursor position
	positionX = mouseX(evt);
	positionY = mouseY(evt);

	// imagePreview position (left/top)
	scrollXY = getScrollXY();
	previewX = scrollXY[0];
	previewY = scrollXY[1];

	// imagePreview dimensions
	if (document.getElementById && document.getElementById("imgPrvImg"))
	{
	  previewWith = document.getElementById("imgPrvImg").width;
	  previewHeight = document.getElementById("imgPrvImg").height;
  }
  else if (document.all && document.all.imgPrv)
	{
		previewWith = document.all.imgPrv.width;
		previewHeight = document.all.imgPrv.height;
	}

	// imagePreview area (10 = margin, 10 = border)
	previewAreaX = previewX + previewWith + 10 + 22;
	previewAreaY = previewY + previewHeight + 10 + 16;

	if ((positionX < previewAreaX) && (positionY < previewAreaY) && (positionX > 170))
	{
		/* nothing to do */
		/* alert(previewAreaX + ' ' + previewAreaY + ' / ' + positionX + ' ' + positionY );  */
	}
	else
	{

		if (document.getElementById && document.getElementById("imgPrvShadow")) {
			document.getElementById("imgPrvShadow").style.visibility = 'hidden';
			document.getElementById("imgPrvShadow").style.display = 'none';
			document.getElementById("imgPrv").innerHTML = '';
			document.getElementById("imgPrvShadow").style.left  = '1px';
			document.getElementById("imgPrvShadow").style.top = '1px';
		}
		else if (document.all && document.all.imgPrvShadow)
		{
			document.all.imgPrvShadow.style.visibility = 'hidden';
			document.all.imgPrvShadow.style.display = 'none';
			document.all.imgPrv.innerHTML = '';
			document.all.imgPrvShadow.style.left = '1px';
			document.all.imgPrvShadow.style.top = '1px';
		}

  }

}

function loadImage(evt, imageUrl)
{
	// get event
	if (!evt)
	evt = window.event;

	// get current cursor position
	/* DISABLED, now controlled by left/top corner
	positionX = mouseX(evt);
	positionY = mouseY(evt);
	*/

	scrollXY = getScrollXY();

	// now in top left corner
	positionX = scrollXY[0];
	positionY = scrollXY[1];

	// set image and display
	if (document.getElementById && document.getElementById("imgPrvShadow")) {
		document.getElementById("imgPrvShadow").style.visibility = 'visible';
		document.getElementById("imgPrvShadow").style.display = 'block';
		document.getElementById("imgPrv").innerHTML = '<div class="imgBorder" onMouseMove="unloadImage(event)" onMouseOut="unloadImage(event)"><img id="imgPrvImg" src="' + imageUrl + '" alt=""></div>';
		document.getElementById("imgPrvShadow").style.left  = (positionX + offset_left + 10) + 'px';
		document.getElementById("imgPrvShadow").style.top = (positionY + 4) + 'px';
	}
	else if (document.all && document.all.imgPrvShadow)
	{
		document.all.imgPrvShadow.style.visibility = 'visible';
		document.all.imgPrvShadow.style.display = 'block';
		document.all.imgPrv.innerHTML = '<div class="imgBorder" onMouseMove="unloadImage(event)" onMouseOut="unloadImage(event)"><img id="imgPrvImg" src="' + imageUrl + '" alt=""></div>';
		document.all.imgPrvShadow.style.left  = (positionX + offset_left + 10) + 'px';
		document.all.imgPrvShadow.style.top = (positionY + 4) + 'px';
	}
}

function mouseX(evt)
{
	if (evt.pageX) return evt.pageX;
	else if (evt.clientX)
	return evt.clientX + (document.documentElement.scrollLeft ?
	document.documentElement.scrollLeft :
	document.body.scrollLeft);
	else return null;
}

function mouseY(evt)
{
	if (evt.pageY) return evt.pageY;
	else if (evt.clientY)
	return evt.clientY + (document.documentElement.scrollTop ?
	document.documentElement.scrollTop :
	document.body.scrollTop);
	else return null;
}

function getScrollXY() {
  var scrOfX = 0, scrOfY = 0;
  if( typeof( window.pageYOffset ) == 'number' ) {
    //Netscape compliant
    scrOfY = window.pageYOffset;
    scrOfX = window.pageXOffset;
  } else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
    //DOM compliant
    scrOfY = document.body.scrollTop;
    scrOfX = document.body.scrollLeft;
  } else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
    //IE6 standards compliant mode
    scrOfY = document.documentElement.scrollTop;
    scrOfX = document.documentElement.scrollLeft;
  }
  return [ scrOfX, scrOfY ];
}

function OpenBooking(url)
{
	//resize window to width 850, was too small with 820, Thomas 2007-08-17
	BookingWindow = window.open(url, "Booking", "width=850,height=600,scrollbars=yes");
 	BookingWindow.focus();
}

function showNotes(evt)
{
	// get current notice id
	var notice_id = 0;
	if (parseInt(document.cookie.search(/notice_id=.+/)) >= 0)
	{
		notice_id = document.cookie.substring(document.cookie.search(/notice_id=.+/)) + ';';
	  notice_id = parseInt(notice_id.substring(10, notice_id.search(/;/)));
	}

	if (notice_id > 0)
	{
		// get event
		if (!evt)
		evt = window.event;

		// get current cursor position (check because of only refresh without event)
		if (evt)
		{
			positionX = mouseX(evt);
			positionY = mouseY(evt);
	  }

		// set image and display
		if (document.getElementById("noticeList")) {
			document.getElementById("noticeList").style.visibility = 'visible';
			document.getElementById("noticeList").style.display = 'block';
			//document.getElementById("noticeList").innerHTML = '<div class="imgBorder"><img src="' + imageUrl + '" alt=""></div>';
			if (positionX) document.getElementById("noticeList").style.left  = (positionX + 10) + 'px';
			if (positionY) document.getElementById("noticeList").style.top = (positionY + 10) + 'px';
		}
		else if (document.all && document.all.noticeList)
		{
			document.all.noticeList.style.visibility = 'visible';
			document.all.noticeList.style.display = 'block';
			//document.all.noticeList.innerHTML = '<div class="imgBorder"><img src="' + imageUrl + '" alt=""></div>';
			if (positionX) document.all.noticeList.style.left  = (positionX + 10) + 'px';
			if (positionY) document.all.noticeList.style.top = (positionY + 10) + 'px';
		}

		// get notice list

		// initialize http request
		if (window.ActiveXObject)
		{
			xmlDoc = new ActiveXObject("Microsoft.XMLHTTP"); // Mircosoft
			xmlDoc.onreadystatechange = processNotes ;
		}
		else
		{
			xmlDoc = new XMLHttpRequest(); // Others
			xmlDoc.onload = processNotes ;
		}

		// with random number because of caching
		var requestXML = "/xmlRequest/?method=notice&xml=&xsl=notice.xsl&output=html&note=" + notice_id + "&" + Math.round(Math.random()*100000);

		// local request
		xmlDoc.open("GET", requestXML, true);
		xmlDoc.setRequestHeader( "Content-type", "text/html;charset=ISO-8859-1" );
		xmlDoc.send( null );

	}
}

function processNotes()
{
	// modifiy contents of "hidden" div tag
	if (xmlDoc.readyState == 4) {
		document.getElementById("noticeList").innerHTML = xmlDoc.responseText;
	}
}

function hideNotes()
{

	if (document.getElementById) {
		document.getElementById("noticeList").style.visibility = 'hidden';
		document.getElementById("noticeList").style.display = 'none';
		document.getElementById("noticeList").innerHTML = '';
		document.getElementById("noticeList").style.left  = '1px';
		document.getElementById("noticeList").style.top = '1px';
	}
	else if (document.all)
	{
		document.all.noticeList.style.visibility = 'hidden';
		document.all.noticeList.style.display = 'none';
		document.all.noticeList.innerHTML = '';
		document.all.noticeList.style.left = '1px';
		document.all.noticeList.style.top = '1px';
	}

}

function changeStaff2()
{

	if(which >= pics.length-1) which = 0;
	else which += 1;

	if (employeeImages = document.getElementsByName("employeeImage"))	{
		for(i=0; i < employeeImages.length; i++) {
			employeeImages[i].src = pics[which];
		}
	}
	if (employeeNames = document.getElementById("employeeInfo")) {
		//for(i=0; i < employeeNames.length; i++) {
			employeeNames.innerHTML = names[which];
		//}
	}
	if (employeeTimes = document.getElementById("employeeTime")) {
		//for(i=0; i < employeeTimes.length; i++) {
			employeeTimes.innerHTML = timeBegin + " - " + timeEnd + " Uhr";
		//}
	}

	window.setTimeout('changeStaff2()', changePeriod);
}


function openRequest2(url) {
	requestWindow = window.open(url, "request", "width=820,height=550,scrollbars=yes");
 	requestWindow.focus();
}

function setPartnerCookieField()
{
			// get current notice id
		var partnerCookieID = 0;
		if (parseInt(document.cookie.search(/partnerCookieID=.+/)) >= 0)
		{
			  partnerCookieID = document.cookie.substring(document.cookie.search(/partnerCookieID=.+/)) + ';';
		    partnerCookieID = parseInt(partnerCookieID.substring(16, partnerCookieID.search(/;/)));
		    document.write('<input type="hidden" name="partnerCookieID" value="' + partnerCookieID + '">');
		}

}

function pr(objectNumber, objectPart, date, fieldID, bookable)
{
	// show price information for current date
	if (date)
	{
		showRequestPriceShadow(objectNumber, objectPart, date, '', fieldID, bookable);
    }
}

var fieldHeightlight   = '';
var fieldHeightlightBG = '';

function hi(fieldID)
{
	// reset
	if (fieldHeightlight)
	{
		document.getElementById(fieldHeightlight).style.backgroundColor = fieldHeightlightBG;
		document.getElementById(fieldID).style.cursor = "";
	}

	if (document.getElementById(fieldID))
	{
		fieldHeightlight = fieldID;
		fieldHeightlightBG = document.getElementById(fieldID).style.backgroundColor;
		document.getElementById(fieldID).style.backgroundColor = "#FFFFFF";
		document.getElementById(fieldID).style.color = "#000000";
		if (document.getElementsByTagName('body')[0].style.cursor == 'default' || document.getElementsByTagName('body')[0].style.cursor == '')
		{
			document.getElementById(fieldID).style.cursor = "pointer";
		}else document.getElementById(fieldID).style.cursor = "wait";
	}
}

var xmlDoc = new Array();

function showRequestPriceShadow(objectNumber, objectPart, date, duration, fieldID, bookable)
{
	if (!xmlDoc)
		var xmlDoc = new Array();
		
	if (document.getElementById("pricearea[" + objectNumber + ((objectPart != '') ? ':' + objectPart : '') + "]")) 
	{
		documentElement = document.getElementById("pricearea[" + objectNumber + ((objectPart != '') ? ':' + objectPart : '') + "]");
	} 
	else if ( document.getElementById("pricearea_" + objectNumber + ((objectPart != '') ? '_' + objectPart : '')) )
	{
		documentElement = document.getElementById("pricearea_" + objectNumber + ((objectPart != '') ? '_' + objectPart : ''));
	}
		
		
	if (objectNumber && objectPart)
	{
		setPriceView("<div style='text-align: center;'><br><b>" + Translations[languageCode]["calculatePrices"] + "</b><br><br><br><br></div>", 'wait', fieldID);
		// object identity given, get price data

		// initialize http request
		if (window.ActiveXObject)
		{
			xmlDoc[objectNumber + ":" + objectPart] = new ActiveXObject("Microsoft.XMLHTTP"); // Mircosoft
			xmlDoc[objectNumber + ":" + objectPart].onreadystatechange = function()
			{
				if (xmlDoc[objectNumber + ":" + objectPart].readyState == 4) {
					if (documentElement)
					{
						priceTable = xmlDoc[objectNumber + ":" + objectPart].responseText;
						if (priceTable.length > 15) setPriceView(priceTable, 'default',fieldID);
						//document.getElementById("pricearea[" + objectNumber + ":" + objectPart + "]").innerHTML = priceTable;
					}
				}
			}
		}
		else
		{
			xmlDoc[objectNumber + ":" + objectPart] = new XMLHttpRequest(); // Others
			xmlDoc[objectNumber + ":" + objectPart].onload = function()
			{
				if (xmlDoc[objectNumber + ":" + objectPart].readyState == 4) {
					if (documentElement)
					{
						priceTable = xmlDoc[objectNumber + ":" + objectPart].responseText;
						if (priceTable.length > 15) setPriceView(priceTable, 'default',fieldID);
						//document.getElementById("pricearea[" + objectNumber + ":" + objectPart + "]").innerHTML = priceTable;
					}
				}
			}
		}
		//var requestXML = "/xmlRequest/?method=object_prices2&xsl=../xsl/object_prices2.xsl&output=html&params=isolang:" + languageCode + "&object=" + objectNumber + "&part=" + objectPart + "&date=" + date + ((duration) ? "&duration=" + duration: "");
		var requestXML = "/xmlProcessing/prices.php?languageCode" + languageCode + "&objectNumbers=" + objectNumber + "|" + objectPart + "&direct=Y&startDate=" + date + ((duration) ? "&duration=" + duration : "") + ((bookable) ? "&bookable=" + objectNumber : "");

		// local request
		xmlDoc[objectNumber + ":" + objectPart].open("GET", requestXML, true);
		xmlDoc[objectNumber + ":" + objectPart].setRequestHeader( "Content-type", "text/html;charset=UTF-8" );
		xmlDoc[objectNumber + ":" + objectPart].send( null );


  }

}

function setPriceView(text, cursor, fieldID)
{
	evt = window.event;

	scrollXY = getScrollXY();

	// now in top left corner
	positionX = scrollXY[0];
	positionY = scrollXY[1];

	// set image and display
	if (document.getElementById)
	{
		document.getElementById("pricePrvShadow").style.visibility = 'visible';
		document.getElementById("pricePrvShadow").style.display = 'block';
		document.getElementById("pricePrv").innerHTML = '<div class="priceBorder">' + text + '<div id="PriceCloseLink"><a href="javascript:hidePriceView()" onClick="hidePriceView()">[x] ' + Translations[languageCode]["close"] + '</a></div></div>';
		document.getElementById("pricePrvShadow").style.left  = (positionX + offset_left + 10) + 'px';
		document.getElementById("pricePrvShadow").style.top = (positionY + 4) + 'px';
	}
	else if (document.all)
	{
		document.all.pricePrvShadow.style.visibility = 'visible';
		document.all.pricePrvShadow.style.display = 'block';
		document.all.pricePrv.innerHTML = '<div class="priceBorder">' + text + '<div id="PriceCloseLink"><a href="javascript:hidePriceView()" onClick="hidePriceView()">[x] ' + Translations[languageCode]["close"] + '</a></div></div>';
		document.all.pricePrvShadow.style.left  = (positionX + offset_left + 10) + 'px';
		document.all.pricePrvShadow.style.top = (positionY + 4) + 'px';
	}
	document.getElementsByTagName('body')[0].style.cursor= cursor;
	if (cursor == 'wait')
	{
		document.getElementById(fieldID).style.cursor = "wait";
	}else document.getElementById(fieldID).style.cursor = "pointer";
	priceViewActive = 1;
}

function hidePriceView(text)
{
	// set image and display
	if (document.getElementById) {
		document.getElementById("pricePrvShadow").style.visibility = 'hidden';
		document.getElementById("pricePrvShadow").style.display = 'none';
		document.getElementById("pricePrv").innerHTML = '';
		document.getElementById("pricePrvShadow").style.left  = '1px';
		document.getElementById("pricePrvShadow").style.top = '1px';
	}
	else if (document.all)
	{
		document.all.pricePrvShadow.style.visibility = 'hidden';
		document.all.pricePrvShadow.style.display = 'none';
		document.all.pricePrv.innerHTML = '';
		document.all.pricePrvShadow.style.left  = '1px';
		document.all.pricePrvShadow.style.top = '1px';
	}
	document.getElementsByTagName('body')[0].style.cursor= 'default';
	priceViewActive = 0;
}

function showMoveAbleOffice(posY)
{
	// set image and display
	if (document.getElementById)
	{
		document.getElementById("officeMoveAbleShadow").style.visibility = 'visible';
		document.getElementById("officeMoveAbleShadow").style.display = 'block';
		document.getElementById("officeMoveAbleShadow").style.top = (posY  + 4) + 'px';
	}
	else if (document.all)
	{
		document.all.officeMoveAbleShadow.style.visibility = 'visible';
		document.all.officeMoveAbleShadow.style.display = 'block';
		document.all.officeMoveAbleShadow.style.top = (posY  + 4)+ 'px';
	}
	moveAbleOfficeActive = 1;
	offset_left = 200;
}

function hideMoveAbleOffice()
{
	// set image and display
	if (document.getElementById)
	{
		document.getElementById("officeMoveAbleShadow").style.visibility = 'hidden';
		document.getElementById("officeMoveAbleShadow").style.display = 'none';
	}
	else if (document.all)
	{
		document.all.officeMoveAbleShadow.style.visibility = 'hidden';
		document.all.officeMoveAbleShadow.style.display = 'none';
	}
	moveAbleOfficeActive = 0;
	offset_left = 0;
}

function checkDifference()
{
	scrollXY = getScrollXY();
	act_positionY = scrollXY[1];

	if (positionY != act_positionY)
	{
		if (moveAbleOfficeBlocked == 0)
		{
			if (positionY > 460)
			{
				showMoveAbleOffice(act_positionY);
			}else{
				if (moveAbleOfficeActive == 1) hideMoveAbleOffice();
			}
		}
		if (priceViewActive == 1)
		{
			hidePriceView();
		}
		positionY = act_positionY;
	}
}

function blockMoveAbleOffice()
{
	hideMoveAbleOffice();
	moveAbleOfficeBlocked = 1;
}

function showRequestPrice(objectNumber, objectPart, date, duration)
{
	if (!xmlDoc) var xmlDoc = new Array();
	if (!documentElement) var documentElement = new Array();	
	documentElement[objectNumber + ":" + objectPart] = false;
	if (document.getElementById("pricearea[" + objectNumber + ((objectPart != '') ? ':' + objectPart : '') + "]")) 
	{		
		documentElement[objectNumber + ":" + objectPart] = document.getElementById("pricearea[" + objectNumber + ((objectPart != '') ? ':' + objectPart : '') + "]");
	} 
	else if ( document.getElementById("pricearea_" + objectNumber + ((objectPart != '') ? '_' + objectPart : '')) )
	{		
		documentElement[objectNumber + ":" + objectPart] = document.getElementById("pricearea_" + objectNumber + ((objectPart != '') ? '_' + objectPart : ''));
	}	
	if (objectNumber && objectPart)
	{
		// object identity given, get price data

		// initialize http request
		if (window.ActiveXObject)
		{
			xmlDoc[objectNumber + ":" + objectPart] = new ActiveXObject("Microsoft.XMLHTTP"); // Mircosoft
			xmlDoc[objectNumber + ":" + objectPart].onreadystatechange = function()
			{
				if (xmlDoc[objectNumber + ":" + objectPart].readyState == 4) 
				{
					if (documentElement[objectNumber + ":" + objectPart])
					{
						priceTable = xmlDoc[objectNumber + ":" + objectPart].responseText;
						if (priceTable.length > 15) documentElement[objectNumber + ":" + objectPart].innerHTML = priceTable;
					}
				}
			}
		}
		else
		{
			xmlDoc[objectNumber + ":" + objectPart] = new XMLHttpRequest(); // Others
			xmlDoc[objectNumber + ":" + objectPart].onload = function()
			{
				if (xmlDoc[objectNumber + ":" + objectPart].readyState == 4) {
					if (documentElement[objectNumber + ":" + objectPart])
					{
						priceTable = xmlDoc[objectNumber + ":" + objectPart].responseText;
						if (priceTable.length > 15) documentElement[objectNumber + ":" + objectPart].innerHTML = priceTable;
					}
				}
			}
		}

		var requestXML = "/xmlRequest/?method=object_prices2&xsl=../xsl/object_prices2.xsl&output=html&params=isolang:" + languageCode + "&object=" + objectNumber + "&part=" + objectPart + "&date=" + date + ((duration) ? "&duration=" + duration: "");

		// local request
		xmlDoc[objectNumber + ":" + objectPart].open("GET", requestXML, true);
		xmlDoc[objectNumber + ":" + objectPart].setRequestHeader( "Content-type", "text/html;charset=UTF-8" );
		xmlDoc[objectNumber + ":" + objectPart].send( null );


  }

}

function getDocument(objectNumber, documentName, isocode, part)
{
	if (!xmlDoc)
		var xmlDoc = new Array();
		
	if (document.getElementById("missingDocument[" + objectNumber + ":" + documentName + ((part != '') ? '_' + part : '') + "]")) 
	{
		documentElement = document.getElementById("missingDocument[" + objectNumber + ":" + documentName + ((part != '') ? '_' + part : '') + "]");
	} 
	else if ( document.getElementById("missingDocument_" + objectNumber + "_" + documentName + ((part != '') ? '_' + part : '')) )
	{
		documentElement = document.getElementById("missingDocument_" + objectNumber + "_" + documentName + ((part != '') ? '_' + part : ''));
	}
		
	if (objectNumber)
	{
		if (window.ActiveXObject)
		{
			xmlDoc[objectNumber + ":" + documentName] = new ActiveXObject("Microsoft.XMLHTTP"); // Mircosoft
			xmlDoc[objectNumber + ":" + documentName].onreadystatechange = function()
			{
				if (xmlDoc[objectNumber + ":" + documentName].readyState == 4) {
					if ( documentElement )
					{
						doc = xmlDoc[objectNumber + ":" + documentName].responseText;
						documentElement.innerHTML = doc;
					}
				}
			}
		}
		else
		{
			xmlDoc[objectNumber + ":" + documentName] = new XMLHttpRequest(); // Others
			xmlDoc[objectNumber + ":" + documentName].onload = function()
			{
				if (xmlDoc[objectNumber + ":" + documentName].readyState == 4) {
					if (documentElement)
					{
						doc = xmlDoc[objectNumber + ":" + documentName].responseText;
						documentElement.innerHTML = doc;
					}
				}
			}
		}
		var requestXML = "/xmlRequest/?xsl=../xsl/object.getDocument.xsl&output=html&method=object&object=" + objectNumber + "&language=" + isocode + "&params=document:" + documentName + ",part:" + part;

		xmlDoc[objectNumber + ":" + documentName].open("GET", requestXML, true);
		xmlDoc[objectNumber + ":" + documentName].setRequestHeader( "Content-type", "text/html;charset=UTF-8" );
		xmlDoc[objectNumber + ":" + documentName].send( null );
  }

}

function changeDocument(objectNumber, documentName, isocode, part)
{
	if (!xmlDoc)
		var xmlDoc = new Array();
		
	if (document.getElementById("missingDocument[" + objectNumber + ":" + documentName + ((part != '') ? '_' + part : '') + "]")) 
	{
		documentElement = document.getElementById("missingDocument[" + objectNumber + ":" + documentName + ((part != '') ? '_' + part : '') + "]");
	} 
	else if ( document.getElementById("missingDocument_" + objectNumber + "_" + documentName + ((part != '') ? '_' + part : '')) )
	{
		documentElement = document.getElementById("missingDocument_" + objectNumber + "_" + documentName + ((part != '') ? '_' + part : ''));
	}		
		
	if (objectNumber)
	{
		if (window.ActiveXObject)
		{
			xmlDoc[objectNumber + ":" + documentName] = new ActiveXObject("Microsoft.XMLHTTP"); // Mircosoft
			xmlDoc[objectNumber + ":" + documentName].onreadystatechange = function()
			{
				if (xmlDoc[objectNumber + ":" + documentName].readyState == 4) {
					if (documentElement)
					{						
						if (part == '')
						{						
							if (document.getElementById(documentName + "_" + actlanguage[documentName])) document.getElementById(documentName + "_" + actlanguage[documentName]).className = 'inactive';
							if (document.getElementById(documentName + "_" + isocode)) document.getElementById(documentName + "_" + isocode).className = 'active';						
							actlanguage[documentName] = isocode;
							
						}else
						{	
							if (!actlanguage[documentName]) actlanguage[documentName] = new Array();
							if (!actlanguage[documentName][part]) actlanguage[documentName][part] = languageCode;							
							if (document.getElementById(documentName + "_" + part + "_" + actlanguage[documentName][part])) document.getElementById(documentName + "_" + part + "_" + actlanguage[documentName][part]).className = 'inactive';
							if (document.getElementById(documentName + "_" + part + "_" + isocode)) document.getElementById(documentName + "_" + part + "_" + isocode).className = 'active';						
							actlanguage[documentName][part] = isocode;
						}
						doc = xmlDoc[objectNumber + ":" + documentName].responseText;
						documentElement.innerHTML = doc;
					}
				}
			}
		}
		else
		{
			xmlDoc[objectNumber + ":" + documentName] = new XMLHttpRequest(); // Others
			xmlDoc[objectNumber + ":" + documentName].onload = function()
			{
				if (xmlDoc[objectNumber + ":" + documentName].readyState == 4) {
					if (documentElement)
					{	
						if (part == '')
						{						
							if (document.getElementById(documentName + "_" + actlanguage[documentName])) document.getElementById(documentName + "_" + actlanguage[documentName]).className = 'inactive';
							if (document.getElementById(documentName + "_" + isocode)) document.getElementById(documentName + "_" + isocode).className = 'active';						
							actlanguage[documentName] = isocode;
							
						}else
						{	
							if (!actlanguage[documentName]) actlanguage[documentName] = new Array();
							if (!actlanguage[documentName][part]) actlanguage[documentName][part] = languageCode;
							if (document.getElementById(documentName + "_" + part + "_" + actlanguage[documentName][part])) document.getElementById(documentName + "_" + part + "_" + actlanguage[documentName][part]).className = 'inactive';
							if (document.getElementById(documentName + "_" + part + "_" + isocode)) document.getElementById(documentName + "_" + part + "_" + isocode).className = 'active';						
							actlanguage[documentName][part] = isocode;
						}	
						doc = xmlDoc[objectNumber + ":" + documentName].responseText;				
						documentElement.innerHTML = doc;						
					}
				}
			}
		}
		var requestXML = "/xmlRequest/?xsl=../xsl/object.getDocument.xsl&output=html&method=object&object=" + objectNumber + "&language=" + isocode + "&params=document:" + documentName + ",part:" + part;

		xmlDoc[objectNumber + ":" + documentName].open("GET", requestXML, true);
		xmlDoc[objectNumber + ":" + documentName].setRequestHeader( "Content-type", "text/html;charset=UTF-8" );
		xmlDoc[objectNumber + ":" + documentName].send( null );
  }

}

function changeDocuments(objectNumber, isocode, part)
{
	if (document.getElementById('loading_costsAdditionalText')) 
	{
		document.getElementById('loading_costsAdditionalText').style.visibility = 'visible';
		document.getElementById('loading_costsAdditionalText').style.display = 'inline';
	}
	if (document.getElementById('loading_documentCompact')) 
	{
		document.getElementById('loading_documentCompact').style.visibility = 'visible';
		document.getElementById('loading_documentCompact').style.display = 'inline';
	}
	if (document.getElementById('loading_documentDetailed')) 
	{
		document.getElementById('loading_documentDetailed').style.visibility = 'visible';
		document.getElementById('loading_documentDetailed').style.display = 'inline';
	}
	if (document.getElementById('loading_documentSights')) 
	{
		document.getElementById('loading_documentSights').style.visibility = 'visible';
		document.getElementById('loading_documentSights').style.display = 'inline';
	}
	var scriptpath = "/xmlProcessing/getTranslatedDocuments.php?object=" + objectNumber + "&languageCode=" + isocode + "&objectPart=" + part;
	var htmlhead = document.getElementsByTagName("head")[0];
	var script_id = "getTranslatedDocuments";

	if(document.getElementById(script_id)) {
	htmlhead.removeChild(document.getElementById(script_id));
	}

	var updatescript = document.createElement("script");
	updatescript.id = script_id;
	updatescript.src = scriptpath;
	htmlhead.appendChild(updatescript);
}

function digits_only(id)
{
	id.value = id.value.replace(/[^0-9\,]/g,"");
}var flashCount = 0;
var flashColor = 0;
var flashActiv = false;
var obj2Note = false;

function trim(inputString) {
   // Removes leading and trailing spaces from the passed string. Also removes
   // consecutive spaces and replaces it with one space. If something besides
   // a string is passed in (null, custom object, etc.) then return the input.
   if (typeof inputString != "string") { return inputString; }
   var retValue = inputString;
   var ch = retValue.substring(0, 1);
   while (ch == " ") { // Check for spaces at the beginning of the string
      retValue = retValue.substring(1, retValue.length);
      ch = retValue.substring(0, 1);
   }
   ch = retValue.substring(retValue.length-1, retValue.length);
   while (ch == " ") { // Check for spaces at the end of the string
      retValue = retValue.substring(0, retValue.length-1);
      ch = retValue.substring(retValue.length-1, retValue.length);
   }
   while (retValue.indexOf("  ") != -1) { // Note that there are two spaces in the string - look for multiple spaces within the string
      retValue = retValue.substring(0, retValue.indexOf("  ")) + retValue.substring(retValue.indexOf("  ")+1, retValue.length); // Again, there are two spaces in each of the strings
   }
   return retValue; // Return the trimmed string back to the user
} // Ends the "trim" function

function noteObject(objectNumber) {
	
	if (document.getElementById('noteCheckbox_'+objectNumber)) {
		if(document.getElementById('noteCheckbox_'+objectNumber).type == 'checkbox') {
			
		  if (document.getElementsByName("noteCounter").length > 1) // more than one counter on page
		  {
		  	for(i=0;i<document.getElementsByName("noteCounter").length;i++)
		  	{
		  		document.getElementsByName("noteCounter")[i].src = "/xmlProcessing/noticelist.php?objnr="+objectNumber+"&option="+((document.getElementById('noteCheckbox_'+objectNumber).checked) ? "add" : "delete")+"&i="+Math.round(Math.random() * 100000);
		  	}
		  }
		  else if (document.getElementsByName("noteCounter").length == 1)
		  {
				if (document.getElementById('noteCheckbox_'+objectNumber).checked) {
				  document.noteCounter.src = "/xmlProcessing/noticelist.php?objnr="+objectNumber+"&option="+((objectNumber != '') ? 'add' : '')+"&i="+Math.round(Math.random() * 100000);
			  } else {
				  document.noteCounter.src = "/xmlProcessing/noticelist.php?objnr="+objectNumber+"&option="+((objectNumber != '') ? 'delete' : '')+"&i="+Math.round(Math.random() * 100000);
				}
		  }
	  } else {
	    var imageSrc = document.getElementById('noteCheckbox_'+objectNumber).src;
			if (imageSrc.indexOf('noteunset') > 1) {
				if (document.noteCounter)
			  	document.noteCounter.src = "/xmlProcessing/noticelist.php?objnr="+objectNumber+"&option="+((objectNumber != '') ? 'add' : '')+"&i="+Math.round(Math.random() * 100000);
		    document.getElementById('noteCheckbox_'+objectNumber).src = '/images/noteset.gif';
		  } else {
		  	if (document.noteCounter)
			  	document.noteCounter.src = "/xmlProcessing/noticelist.php?objnr="+objectNumber+"&option="+((objectNumber != '') ? 'delete' : '')+"&i="+Math.round(Math.random() * 100000);
			  document.getElementById('noteCheckbox_'+objectNumber).src = '/images/noteunset.gif';
			}	  
	  }
	}
	

	// refresh noticeList, if exists
	if (document.getElementById && document.getElementById("noticeList")) {
		if (document.getElementById("noticeList").style.visibility == 'visible')
			showNotes();
	}
	else if (document.all && document.all.noticeList)
	{
		if (document.all.noticeList.style.visibility == 'visible')
			showNotes();
	}		
	
}

/*
function noteObject2(objectNumber, handleMethod, showMethod, refreshLocation)
{	
	// second version because of direkt note without marker
	if (document.getElementById('noticeOverview') || document.getElementById('noticeOverviewNew'))
	{		
		if (objectNumber.length > 0) obj2Note = objectNumber;
		else obj2Note = false;
		
		// get current notice id
		var notice_id = 0;
		if (parseInt(document.cookie.search(/notice_id=.+/)) >= 0)
		{
			  notice_id = document.cookie.substring(document.cookie.search(/notice_id=.+/)) + ';';
		    notice_id = parseInt(notice_id.substring(10, notice_id.search(/;/)));
		}
		
		//if (notice_id > 0)
		{
			// get notice list
			
			// initialize http request
			if (window.ActiveXObject) 
			{
				xmlDoc = new ActiveXObject("Microsoft.XMLHTTP"); // Mircosoft
				xmlDoc.onreadystatechange = processOverview ;
			}
			else 
			{
				xmlDoc = new XMLHttpRequest(); // Others
				xmlDoc.onload = processOverview ;
			}
			
			// with random number because of caching
			//var requestXML = "/xmlRequest/xmlRequest2.php?method=notice&xml=&xsl=notice.xsl&output=html&note=" + notice_id + "&" + Math.round(Math.random()*100000);
			if (typeof showMethod == 'undefined') showMethod = 'xml';
			if (typeof handleMethod != 'undefined') requestMethod = handleMethod;
			else
			{
				requestMethod = 'add';			
				if (document.getElementById('object_' + objectNumber) && document.getElementById('object_' + objectNumber).checked == false)
				{ 
					requestMethod = 'delete';				
				}
			}
			var requestXML = "/xmlProcessing/noticelist.php?objnr="+objectNumber+"&type=" + showMethod +"&note=" + notice_id + "&option=" + requestMethod + "&i="+Math.round(Math.random() * 100000);
	
			// local request
			xmlDoc.open("GET", requestXML, true);
			xmlDoc.setRequestHeader( "Content-type", "text/html;charset=UTF-8" );
			xmlDoc.send( null );	
			if (typeof refreshLocation != 'undefinded' && refreshLocation == true) document.location.reload(true);
			
		}		
		
		
	}
	
}
*/
function noteObject_old(objectNumber, handleMethod, showMethod, refreshLocation)
{	
	// second version because of direkt note without marker
	//if (document.getElementById('noticeOverview') || document.getElementById('noticeOverviewNew'))
	{		
		var requestMethod = '';
		if (objectNumber.length > 0) obj2Note = objectNumber;
		else obj2Note = false;
		
		// get current notice id
		var notice_id = 0;
		if (parseInt(document.cookie.search(/notice_id=.+/)) >= 0)
		{
			notice_id = document.cookie.substring(document.cookie.search(/notice_id=.+/)) + ';';
		    notice_id = parseInt(notice_id.substring(10, notice_id.search(/;/)));
		}
		
		// with random number because of caching
		//var requestXML = "/xmlRequest/xmlRequest2.php?method=notice&xml=&xsl=notice.xsl&output=html&note=" + notice_id + "&" + Math.round(Math.random()*100000);
		if (typeof showMethod == 'undefined') showMethod = 'xml';
		if (typeof handleMethod != 'undefined') requestMethod = handleMethod;
		else
		{
			requestMethod = 'add';			
			if (document.getElementById('object_' + objectNumber) && document.getElementById('object_' + objectNumber).checked == false)
			{ 
				requestMethod = 'delete';				
			}
		}
		var requestXML = "/xmlProcessing/noticelist.php?objnr=" + objectNumber + "&type=" + showMethod +"&note=" + notice_id + "&option=" + ((objectNumber != '') ? requestMethod : '' )+ "&i="+Math.round(Math.random() * 100000);		
		var htmlhead = document.getElementsByTagName("head")[0];
		var script_id = "noticeList";

		if(document.getElementById(script_id)) {
			htmlhead.removeChild(document.getElementById(script_id));
		}

		var updatescript = document.createElement("script");
		updatescript.id = script_id;
		updatescript.src = requestXML;
		htmlhead.appendChild(updatescript);		
		if (typeof refreshLocation != 'undefinded' && refreshLocation == true) document.location.reload(true);
	}
}

function noteObject2(objectNumber, handleMethod, showMethod, refreshLocation)
{
	var requestMethod = '';
	if (objectNumber.length > 0) obj2Note = objectNumber;
	else obj2Note = false;
	
	// get current notice id
	var notice_id = 0;
	if (parseInt(document.cookie.search(/notice_id=.+/)) >= 0)
	{
		notice_id = document.cookie.substring(document.cookie.search(/notice_id=.+/)) + ';';
	    notice_id = parseInt(notice_id.substring(10, notice_id.search(/;/)));
	}
	
	if (typeof showMethod == 'undefined') showMethod = 'xml';
	if (typeof handleMethod != 'undefined') requestMethod = handleMethod;
	else
	{
		requestMethod = 'add';			
		if (document.getElementById('object_' + objectNumber) && document.getElementById('object_' + objectNumber).checked == false)
		{ 
			requestMethod = 'delete';				
		}
	}
		
	var requestXML = "/xmlProcessing/noticelist3.php?objnr=" + objectNumber + "&type=" + showMethod +"&note=" + notice_id + "&option=" + ((objectNumber != '') ? requestMethod : '' )+ "&i="+Math.round(Math.random() * 100000);			
	
	var htmlhead = document.getElementsByTagName("head")[0];
	var script_id = "noticeList";

	if(document.getElementById(script_id)) {
		htmlhead.removeChild(document.getElementById(script_id));
	}

	var updatescript = document.createElement("script");
	updatescript.id = script_id;
	updatescript.src = requestXML;
	htmlhead.appendChild(updatescript);		
	//if (typeof refreshLocation != 'undefinded' && refreshLocation == true) document.location.reload(true);	
}

function processOverview()
{
	// modifiy contents of "hidden" div tag
	if (xmlDoc.readyState == 4) {
		if (document.getElementById("noticeOverview"))
		{
			document.getElementById("noticeOverview").innerHTML = xmlDoc.responseText;
			document.getElementById("noticeOverview").style.visibility = 'visible';
			document.getElementById("noticeOverview").style.display = 'block';
	  }
		if (document.getElementById("noticeOverviewNew"))
		{
			document.getElementById("noticeOverviewNew").innerHTML = xmlDoc.responseText;
			document.getElementById("noticeOverviewNew").style.visibility = 'visible';
			document.getElementById("noticeOverviewNew").style.display = 'block';
	  }	  
		if (obj2Note)
			flashActiv = window.setInterval("flash()", 300);
	}
}

function flash()
{
	if (document.getElementById("noticeOverview"))
	{
		if (flashColor == 1)
	  {
			document.getElementById("noticeOverview").style.backgroundColor = '#FFFF00';
			flashColor = 0;
		}
		else
		{
			document.getElementById("noticeOverview").style.backgroundColor = '#FFFFFF';
			flashColor = 1;
		}
		flashCount = flashCount + 1;
	 
	
		if (flashCount >= 6)
		{
			window.clearInterval(flashActiv);
			document.getElementById("noticeOverview").style.backgroundColor = '#FFFFFF';
			flashCount = 0;
		}
	
	}
	
	if (document.getElementById("noticeOverviewNew"))
	{
		if (flashColor == 1)
	    {
			document.getElementById("noticeOverviewNew").style.backgroundColor = '#FFFF00';
			flashColor = 0;
		}
		else
		{
			document.getElementById("noticeOverviewNew").style.backgroundColor = '#FFFFFF';
			flashColor = 1;
		}
		flashCount = flashCount + 1;
	 
	
		if (flashCount >= 6)
		{
			window.clearInterval(flashActiv);
			document.getElementById("noticeOverviewNew").style.backgroundColor = '#FFFFFF';
			flashCount = 0;
		}
	
	}	
	
}

function deleteObjects() {
	if (allCheckboxes = document.getElementsByName('noteCheckbox[]').length) {
		objectNumbers = new Array();
		for(i=0; i < allCheckboxes; i++) {
			objectNumber = document.getElementsByName('noteCheckbox[]')[i].id.replace('noteCheckbox_', '');
			objectNumbers.push(objectNumber);
			if (document.getElementsByName('noteCheckbox[]')[i].checked) {
			  document.getElementsByName('noteCheckbox[]')[i].checked = false;
			}
    }
    document.noteCounter.src = "/xmlProcessing/noticelist.php?objnr="+objectNumbers.join(',')+"&option=delete&i="+Math.round(Math.random() * 100000);
    
    if(document.noteCounter.complete) location.reload();
  }	
}

var notePossible = navigator.cookieEnabled;

function requestObject(objectNumber) {
	if (document.forms['multiRequest']) {
		if (document.forms['multiRequest'].elements['multiple']) {
			var allMultiple = new Array();
			currentObjects = document.forms['multiRequest'].elements['multiple'].value.split(',').join(' ');
			pos = currentObjects.indexOf(objectNumber);
			if (pos > -1) {
				currentObjects = currentObjects.replace(objectNumber, '');
		  } else {
		  	currentObjects = (currentObjects == '') ? (currentObjects + objectNumber) : (currentObjects + ' ' + objectNumber);
		  }
			currentObjects = trim(currentObjects); 
			allMultiple = currentObjects.split(' ');
			allMultiple.sort();
			document.forms['multiRequest'].elements['multiple'].value = allMultiple.join(','); 
			document.forms['multiRequest'].elements['multiCount'].value = (currentObjects.length) ? String(allMultiple.length) : '0';
	  }
  }
}

function markAll(mark) {
	if (allCheckboxes = document.getElementsByName('requestCheckbox[]').length) {
		for(i=0; i < allCheckboxes; i++) {
			objectNumber = document.getElementsByName('requestCheckbox[]')[i].id.replace('requestCheckbox_', '');
			
			if (mark != document.getElementsByName('requestCheckbox[]')[i].checked) {
				requestObject(objectNumber);
	 	  }
	 	  
		  document.getElementsByName('requestCheckbox[]')[i].checked = mark;
		}
  } else alert("In Ihrer Merkliste befinden sich keine Objekte.\n\nSie m�zun㢨st im Katalog oder in den unterschiedlichen Suchen Objekte in Ihre Merkliste einf�die Sie dann hier anfragen k�n.");
}

function requestCheck() {
	var check = true;
	var errors = new Array();
		
	if (document.forms['multiRequest']) {
		if (document.forms['multiRequest'].elements['multiCount'].value < 1) 
		  errors.push("Keine Objekte ausgew㧬t");
		if (document.forms['multiRequest'].elements['name'].value.length < 1) 
		  errors.push("Bitte geben Sie Ihren Namen an");
		if (document.forms['multiRequest'].elements['phone'].value.length < 1 &&
		    document.forms['multiRequest'].elements['fax'].value.length < 1 &&
		    document.forms['multiRequest'].elements['mail'].value.length < 1) 
		  errors.push("Bitte geben Sie zumindest eine Kontaktm�chkeit (Telefon, Fax oder E-Mail) an");
		if ((errors.length == 0) && (document.forms['multiRequest'].elements['phone'].value.length < 1 &&
		    document.forms['multiRequest'].elements['fax'].value.length < 1)) {
		  if (!confirm("Bitte bedenken Sie, das nicht alle Vermieter die M�chkeit haben nur an eine E-Mail zu antworten.\n Eventuell geben Sie noch zus㳺lich eine andere Kontaktm�chkeit an.\n\n Trotzdem senden?"))
		    check = false;
		}
  }
  
  if (errors.length > 0) {
  	alert('Es sind folgende Fehler aufgetreten:\n' + '- ' + errors.join('\n- '));
  	check = false;
  }  
	
	return check;
}

function OpenAdvise(url) {
		AdviceWindow = window.open(url, "Advice", "width=500,height=280,scrollbars=yes");
	 	AdviceWindow.focus();
 }
 
function addObjectOld(objectNumber, smooveIn) 
{		
	var opacityValue = 0;
	if (document.getElementById('multiple')) 
	{		
		var allMultiple = new Array();
		currentObjects = document.getElementById('multiple').value.split(',').join(' ');
		alert(currentObjects);
		pos = currentObjects.indexOf(objectNumber);
		if (pos > -1) {
			currentObjects = currentObjects.replace(objectNumber, '');			
			if (smooveIn === true) opacity('image_' + objectNumber, 100, 0 , 1000);
	  } else {
	  	currentObjects = (currentObjects == '') ? (currentObjects + objectNumber) : (currentObjects + ' ' + objectNumber);
	  	opacityValue = (smooveIn === false) ? 100 : 0;
	  	document.getElementById('requestImages').innerHTML += '<img style="opacity: ' + opacityValue + '; margin: 2px;" src="' + ((languageCode == 'de') ? 'http://images.tourist-online.de' : '') + '/files/photos/small/' + objectNumber + '_00.jpg" alt="' + objectNumber + '" title="' + Translations[languageCode]['remove'] + ' ' + objectNumber + '" id="image_' + objectNumber + '" onClick="removeObject(' + objectNumber + ')">';
	  	if (smooveIn === true) opacity('image_' + objectNumber, 1, 100 , 1000);
	  }
		currentObjects = trim(currentObjects); 
		allMultiple = currentObjects.split(' ');
		allMultiple.sort();
		document.getElementById('multiple').value = allMultiple.join(','); 
		document.getElementById('multipleCount').innerHTML = (currentObjects.length) ? String(allMultiple.length) : '0';
   }   
}


function addObject(objectNumber, smooveIn)
{
	// add given objectNumber to multiple area/field
	var opacityValue = (!smooveIn) ? 100 : 0;
	if (document.getElementById('multiple')) // if field exists
	{		
		currentObjects = document.getElementById('multiple').value.replace(/^,/, '').split(',');
		if (currentObjects.join(' ').indexOf(objectNumber) < 0)
		{
			currentObjects.push(objectNumber); // add objectNumber to currentObjects array
			// add image tag
	  	document.getElementById('requestImages').innerHTML += '<img style="opacity: ' + opacityValue + '; margin: 2px;" src="' + ((languageCode == 'de') ? 'http://images.tourist-online.de' : '') + '/files/photos/small/' + objectNumber + '_00.jpg" alt="' + objectNumber + '" title="' + Translations[languageCode]['remove'] + ' ' + objectNumber + '" id="image_' + objectNumber + '" onClick="removeObject(\'' + objectNumber + '\')">';
	  	if (smooveIn) opacity('image_' + objectNumber, 1, 100, 500);			
		}
		document.getElementById('multiple').value = currentObjects.sort().join(',').replace(/^,/, '').replace(/,$/, '');
		document.getElementById('multipleCount').innerHTML = (document.getElementById('multiple').value) ? String(document.getElementById('multiple').value.split(',').length) : '0';
		
	}	
}

function delObject(objectNumber, smooveIn)
{
	// add given objectNumber to multiple area/field
	if (document.getElementById('multiple')) // if field exists
	{		
		currentObjects = document.getElementById('multiple').value.replace(/^,/, '').split(',');
		if (currentObjects.join(' ').indexOf(objectNumber) >= 0)
		{
			currentObjects = currentObjects.join(' ').replace(objectNumber, '').replace('  ', ' ').replace(/^ /, '').replace(/ $/, '').split(' ');
			// remove image tag
			if (smooveIn) {
				opacity('image_' + objectNumber, 100, 0, 500);
			}
			else // if smove not needed delete image tag directly
			{
				document.getElementById('requestImages').innerHTML = document.getElementById('requestImages').innerHTML.replace(eval('/<img([^<]*)id="?' + 'image_' + objectNumber + '"?([^>]*)>/gi'), '');    	
			}
		}
		document.getElementById('multiple').value = currentObjects.sort().join(',').replace(/^,/, '').replace(/,$/, '');
		document.getElementById('multipleCount').innerHTML = (document.getElementById('multiple').value) ? String(document.getElementById('multiple').value.split(',').length) : '0';
	}	
}


function opacity(id, opacStart, opacEnd, millisec) {
    //speed for each frame
    var speed = Math.round(millisec / 100);
    var timer = 0;

    //determine the direction for the blending, if start and end are the same nothing happens
    if(opacStart > opacEnd) {
        for(i = opacStart; i >= opacEnd; i--) {
            setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
            timer++;
        }        
    } else if(opacStart < opacEnd) {
        for(i = opacStart; i <= opacEnd; i++)
            {
            setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
            timer++;
        }
    }
}

//change the opacity for different browsers
function changeOpac(opacity, id) {
    var object = document.getElementById(id).style;
    object.opacity = (opacity / 100);
    object.MozOpacity = (opacity / 100);
    object.KhtmlOpacity = (opacity / 100);
    object.filter = "alpha(opacity=" + opacity + ")";
    if (opacity == 0) // opacity zero reached, also delete image tag
    {    	
    	document.getElementById('requestImages').innerHTML = document.getElementById('requestImages').innerHTML.replace(eval('/<img([^<]*)id="?' + id + '"?([^>]*)>/gi'), '');    	
    }
} 

function addImages()
{	
	if (document.getElementById('requestImages'))
	{
		var objects = availableObjects.replace("'",'').split(',');	
		var o = 0;
		for (o = 0; o < objects.length - 1; o++)
		{		
			document.getElementById('request_' + objects[o]).checked = true;
			addObject(objects[o], false);
		}
	}
}

function removeObject(objectNumber)
{
	document.getElementById('request_' + objectNumber).checked = false;
	//addObject(objectNumber, true);
	delObject(objectNumber, true);
}

function advise()
{
	OpenAdvise('/adviseFriend.php?objnr=' + document.getElementById('multiple').value.split(',').join('|'));
}


function deleteAll() {	
	var notice_id = 0;
	if (parseInt(document.cookie.search(/notice_id=.+/)) >= 0)
	{
		notice_id = document.cookie.substring(document.cookie.search(/notice_id=.+/)) + ';';
	    notice_id = parseInt(notice_id.substring(10, notice_id.search(/;/)));
	}
	var requestXML = "/xmlProcessing/noticelist3.php?option=deleteAll&type=refresh&note=" + notice_id + "&i="+Math.round(Math.random() * 100000);			
	var htmlhead = document.getElementsByTagName("head")[0];
	var script_id = "noticeList";

	if(document.getElementById(script_id)) {
		htmlhead.removeChild(document.getElementById(script_id));
	}

	var updatescript = document.createElement("script");
	updatescript.id = script_id;
	updatescript.src = requestXML;
	htmlhead.appendChild(updatescript);	
}function editCMS(side, contentID, languageCode, documentLocationID)
{
	if(typeof documentLocationID != 'undefined') var locationIdAdd = '&documentLocationID=' + documentLocationID;
	else var locationIdAdd = '';
	
	cmsEditor = window.open('/xmlProcessing/producing/cmsHandling5.php?side=' + side + '&contentID=' + contentID + '&languageCode=' + languageCode + locationIdAdd,"cmsEdit",'toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,resizable=0,width=1030,height=552');
	cmsEditor.focus();	
}

function loadLocationDocumentContent(date, locationID, languageCode) {
	var scriptpath = "/xmlProcessing/inc/loadLocationDocumentContents.php?date=" + date + "&location=" + locationID + "&languageCode=" + languageCode + "&documentType=locationOfTheMonth&randomNumber=" + parseInt(Math.random() * 10000);
	var htmlhead = document.getElementsByTagName("head")[0];
	var script_id = "loadLocationDocumentContent";

	if(document.getElementById(script_id)) {
		htmlhead.removeChild(document.getElementById(script_id));
	}

	var updatescript = document.createElement("script");
	updatescript.id = script_id;
	updatescript.src = scriptpath;
	htmlhead.appendChild(updatescript);
}function hide(elementID)
{
  if (partElement = document.getElementById(elementID))
  {
    document.getElementById(elementID).style.visibility = 'hidden';
    document.getElementById(elementID).style.display = 'none';
  }
  else if(document.all && document.all.elementID)
    {
      document.all.elementID.style.visibility = 'hidden';
      document.all.elementID.style.display = 'none';

    }
  }
  
  function show(elementID)
  {
    if (partElement = document.getElementById(elementID))
    {
      document.getElementById(elementID).style.visibility = 'visible';
      document.getElementById(elementID).style.display = ((rowCells = document.getElementById(elementID).cells) && rowCells.length) ? 'table-row' : 'inline';
    }
    else if(document.all && document.all.elementID)
      {
        document.all.elementID.style.visibility = 'visible';
        document.all.elementID.style.display = ((rowCells = document.all.elementID.cells) && rowCells.length) ? 'table-row' : 'inline';
      }
    }


	function hideShowElement(elementID) {
		if (partElement = document.getElementById(elementID))
		{
			if(partElement.style.display == 'block') partElement.style.display = 'none';
			else partElement.style.display = 'block';
		}
		else if(document.all && document.all.elementID)
		{
			if(document.all.elementID.style.display == 'block') document.all.elementID.style.display = 'none';
			else document.all.elementID.style.display = 'block';
		}
	}
	
  function highlightSearch(elementID) {
      var searchElements = new Object ();
      searchElements.srRegion = 'n';
      searchElements.srDirect = 'n';

      for (eID in searchElements) {
          if (typeof document.getElementById(eID) != 'undefined' && document.getElementById(eID)) {
              if (eID == elementID) {
                  var e = document.getElementById(eID);
                  e.className = 'location srActive';
                  e.setAttribute("class", 'location srActive');
                  e.setAttribute("className", 'location srActive');
              } else {
                  var e = document.getElementById(eID);
                  e.className = 'location srInactive';
                  e.setAttribute("class", 'location srInactive');
                  e.setAttribute("className", 'location srInactive');
              }
          }
      }
  }

  function showBlock(elementID)
  {
    if (partElement = document.getElementById(elementID))
    {
      document.getElementById(elementID).style.visibility = 'visible';
      document.getElementById(elementID).style.display = 'block';
    }
    else if(document.all && document.all.elementID)
      {
        document.all.elementID.style.visibility = 'visible';
        document.all.elementID.style.display = 'block';
      }
    }

  function slideIn(elementID, targetHeight) {
      var e;
      if (!(e = document.getElementById(elementID))) {
          e = document.all.elementID;
      }
      if (e) {
          e.style.overflow = 'hidden';
          e.style.height = '0px';
          e.style.display = 'block';
          e.style.visibility = 'visible';
          _slide(elementID, 1);
      }
  }

  function _slide(elementID, counter) {
      var e;
      if (!(e = document.getElementById(elementID))) {
          e = document.all.elementID;
      }
      if (e) {
          if (counter < 30) {
              e.style.height = (counter*6) + 'px';
              window.setTimeout('_slide(\''+elementID+'\', '+(++counter)+')', 8);
          } else {
              e.style.height   = 'auto';
              e.style.overflow = 'visible';
          }
      }
  }
  
  function msieversion() {
      var ua = window.navigator.userAgent
      var msie = ua.indexOf ( "MSIE " )
      
      if ( msie > 0 )      // If Internet Explorer, return version number
          return parseInt (ua.substring (msie+5, ua.indexOf (".", msie )))
      else                 // If another browser, return 0
          return 0
  }
  
  function isIE6() {
      var v = msieversion();
      return (v == 6);
  }
  
  function hidePlaceBox()
  {
  	if (document.getElementById('placeFilter') && typeof hide == 'function') hide('placeFilter');
  }
  
  function hideUserinfoBox()
  {
  	if (document.getElementById('searchUserInformation') && typeof hide == 'function') hide('searchUserInformation');
  }
  
  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;
        }
      }
    }
  }

  function openRequest3(url) {
    requestWindow = window.open(url, "request", "width=820,height=550,scrollbars=yes");
    requestWindow.focus();
  }
  
function toggleHomeTabs2(activeID) {
	var txt_input		= jQuery('#txt_input');
	var content_map		= jQuery('#content_map');
	var content_region	= jQuery('#content_region');
	var tab_region		= jQuery('#tab_region');
	var tab_map			= jQuery('#tab_map');
	var tab_number		= jQuery('#tab_number');
	var activeTab		= jQuery('#activeTab');

	switch(activeID) {
	
		case 'map':
			hide('content_region');
					
			if (content_map.length > 0) {
			  if (txt_input.val() == '' || txt_input.val() == Translations[languageCode]['searchChooseObjectnumber']) txt_input.val(Translations[languageCode]['searchChooseTarget']);
			  cleared['txt_input'] = false;
			  
			  show('content_map');
			  tab_map.addClass('active');
			  tab_region.removeClass();
			  tab_number.removeClass();
			  activeTab.val('map');
			}
			break;
	        
		case 'region':
			hide('content_map');
			if (content_region.length > 0) {
			  show('content_region');
			  tab_region.addClass('active');
			  tab_map.removeClass();
			  tab_number.removeClass();
			  activeTab.val('region');
			}
			break;
	
		case 'number':
			hide('content_region');
			if (content_map.length > 0) {
			  if (txt_input.val() == '' || txt_input.val() == Translations[languageCode]['searchChooseTarget']) txt_input.val(Translations[languageCode]['searchChooseObjectnumber']);
			  cleared['txt_input'] = false;
			
			  show('content_map');
			  tab_number.addClass('active');
			  tab_region.removeClass();
			  tab_map.removeClass();
			  activeTab.val('number');
			}
			break;
	}
}
  
function toogleHomeTabs(activeID)
{
	if (activeID == 'map')
	{
		hide('content_region');
		if (partElement = document.getElementById('content_map'))
	    {
          if(document.getElementById('txt_input').value == "" || document.getElementById('txt_input').value == Translations[languageCode]['searchChooseObjectnumber']) {
			document.getElementById('txt_input').value = Translations[languageCode]['searchChooseTarget'];
			cleared['txt_input'] = false;
          }
		  
	      document.getElementById('content_map').style.visibility = 'visible';
	      document.getElementById('content_map').style.display = 'block';
	      document.getElementById('tab_map').className = 'active';
	      if(typeof document.getElementById('tab_region') != 'undefined') document.getElementById('tab_region').className = '';
          if(typeof document.getElementById('tab_number') != 'undefined') document.getElementById('tab_number').className = '';
	      if (document.getElementById('activeTab')) document.getElementById('activeTab').value = 'map';
	    }
	    else if(document.all && document.all.content_map)
	    {
	      document.all.content_map.style.visibility = 'visible';
	      document.all.content_map.style.display = 'block';
	      document.all.tab_map.className = 'active';
	      if(typeof document.all.tab_region != 'undefined') document.all.tab_region.className = '';
          if(typeof document.all.tab_number != 'undefined') document.all.tab_number.className = '';
	      document.all.activeTab.value = 'map';
	    }
	         
	}
	else if(activeID == 'region')
	{
		hide('content_map');
		if (partElement = document.getElementById('content_region'))
	    {
	      document.getElementById('content_region').style.visibility = 'visible';
	      document.getElementById('content_region').style.display = 'block';
	      document.getElementById('tab_region').className = 'active';
	      if(typeof document.getElementById('tab_map') != 'undefined') document.getElementById('tab_map').className = '';
          if(typeof document.getElementById('tab_number') != 'undefined') document.getElementById('tab_number').className = '';
	      if (document.getElementById('activeTab')) document.getElementById('activeTab').value = 'region';
	    }
	    else if(document.all && document.all.content_region)
	    {
	      document.all.content_region.style.visibility = 'visible';
	      document.all.content_region.style.display = 'block';
	      if(typeof document.all.tab_map != 'undefined') document.all.tab_map.className = '';
          if(typeof document.all.tab_number != 'undefined') document.all.tab_number.className = '';
	      document.all.tab_region.className = 'active';
	      document.all.activeTab.value = 'region';
	    }
	}
    if (activeID == 'number')
	{
		hide('content_region');
		if (partElement = document.getElementById('content_map'))
	    {
          document.getElementById('txt_input').value = Translations[languageCode]['searchChooseObjectnumber'];
          cleared['txt_input'] = false;
        
	      document.getElementById('content_map').style.visibility = 'visible';
	      document.getElementById('content_map').style.display = 'block';
	      document.getElementById('tab_number').className = 'active';
	      if(typeof document.getElementById('tab_region') != 'undefined') document.getElementById('tab_region').className = '';
          if(typeof document.getElementById('tab_map') != 'undefined') document.getElementById('tab_map').className = '';
	      if (document.getElementById('activeTab')) document.getElementById('activeTab').value = 'number';
	    }
	    else if(document.all && document.all.content_map)
	    {
	      document.all.content_map.style.visibility = 'visible';
	      document.all.content_map.style.display = 'block';
	      document.all.tab_number.className = 'active';
	      if(typeof document.all.tab_region != 'undefined') document.all.tab_region.className = '';
          if(typeof document.all.tab_map != 'undefined') document.all.tab_map.className = '';
	      document.all.activeTab.value = 'number';
	    }	  
	}
}var searchCriteriaInnerhtmls = new Object();
var boxVisibilities = new Object();
var moreStatus = '';
var locationDIV;
var searchForm;
var xml;
var xslt;
var src_doc;
var isIE = (navigator.appName == "Microsoft Internet Explorer");
var isNav = (navigator.appName == "Netscape" || navigator.appName == "Opera");
var jsCountry = '';
var jsState = '';
var jsRegion = '';
var jsSubRegion = '';
var jsGeograph = '';
var jsRegions = '';
var jsPlace = '';
var jsFulltext = '';
var jsLanguage = 'de';
var jsLevel1 = '';
var jsLevel2 = '';
var jsLevel3 = '';
var jsLevel1Changed = false;
var jsLevel2Changed = false;
var jsLevel3Changed = false;
var jsCoordinateLongitude = false;
var jsCoordinateLatitude = false;
var jsCoordinateID = false;
var jsPortal = '1';
var jsRequestMethode = '';
var jsSelects = '';
var jsPreselected = '';
var pathAdd = ''; // portal%2F
var locationsPredefine = new Array('C2mTVqfRD', 'cS1zyY1KW', 'dmtaEtaHX', 'UnXlrLj3q', 'D6pj7MCWi', 'M6V5vbfWH', 'FMMkU9DPe');
var globalDuration = 7;
if (typeof(languageCode) != 'undefined') jsLanguage = languageCode;

function checkFulltext(elementName)
{
	// check if fulltext is used
	if (document.getElementById('fulltext'))
	{
		if (elementName == 'fulltext')
		{
			if(document.getElementsByName('country'))
			{
				document.getElementsByName('country')[0].style.visibility = 'hidden';
				document.getElementsByName('country')[0].style.display = 'none';
				document.getElementsByName('country')[0].value = '';
			
				document.getElementById('fulltextOr').style.visibility = 'hidden';
				document.getElementById('fulltextOr').style.display = 'none';				
				
			}
	  }
	  else
	  {
				document.getElementById('fulltext').style.visibility = 'hidden';
				document.getElementById('fulltext').style.display = 'none';
				document.getElementById('fulltextInput').value = '';

				
	  }
	}
	
	return true;
}


function showImage(imageUrl)
{
	imageBig = new Image();
	imageBig.src = imageUrl;
	
	document.getElementById('imageBig').src = imageUrl;
	document.getElementById('imageBigDiv').style.visibility = 'visisble';
	
	//alert(imageBig.height + ' ' + imageBig.width);
}

function loadlocations(xslfile)
{

	var locationDIV = document.getElementById("locationDIV");
	
	if (document.getElementsByName('place')[0])
	{
		if (jsPlace == '')
		{
			document.getElementsByName('place')[0].selectedIndex = 0;
		}
	}

	if (jsCountry != '')
	{
		var requestXML = "/xml/regions_" + jsCountry + ".xml";
	}
	else
		{
			var requestXML = "/xml/countries.xml";
		}


		if (isIE)
		{
			// Load XML
			xml = new ActiveXObject("Microsoft.XMLDOM");
			xml.async = false;
			xml.load(requestXML);

			// Load XSL
			xsl = new ActiveXObject("Microsoft.XMLDOM");
			xsl.async = false;
			xsl.load("/xmlRequest/" + xslfile);

			// Transform
			output = xml.transformNode(xsl);
		}

		if (isNav)
		{
			//for mozilla/netscape
			processor = new XSLTProcessor();
			xslt = document.implementation.createDocument("", "", null);
			xslt.async = false;
			xslt.load("/xmlRequest/" + xslfile);
			processor.importStylesheet(xslt);

			src_doc = document.implementation.createDocument("","", null);
			src_doc.async = false;
			src_doc.load(requestXML);
			result = processor.transformToDocument(src_doc);
			xmls = new XMLSerializer();
			output = xmls.serializeToString(result);
		}

		locationDIV.innerHTML = output;

	}


	function loadlocations2(xslfile)
	{

		var locationDIV = document.getElementById("locationDIV");

		/* var requestXML = "/xmlRequest/xmlRequest.php?method=locations&country="+jsCountry+"&state="+jsState+"&region="+jsRegion+"&regions="+jsRegions; */

		if (jsCountry != '')
		{
			var requestXML = "/xml/regions_predefine_" + jsCountry + ".xml";
		}
		else
			{
				var requestXML = "/xml/countries_predefine.xml";
			}

			jsState = '';
			jsRegion = '';
			jsSubRegion = '';

			// set location parameters
			if (jsLevel1)
			{
				var idLevel1 = jsLevel1.split('|')[0];
				var typeLevel1 = jsLevel1.split('|')[1];
				switch (typeLevel1)
				{
					case 'S' : jsState = idLevel1; break;
					case 'R,G' : jsRegion = idLevel1; break;
					case 'SR' : jsSubRegion = idLevel1; break;
				}
			}
			if (jsLevel2)
			{
				var idLevel2 = jsLevel2.split('|')[0];
				var typeLevel2 = jsLevel2.split('|')[1];
				switch (typeLevel2)
				{
					case 'S' : jsState = idLevel2; break;
					case 'R,G' : jsRegion = idLevel2; break;
					case 'SR' : jsSubRegion = idLevel2; break;
				}
			}
			if (jsLevel3)
			{
				var idLevel3 = jsLevel3.split('|')[0];
				var typeLevel3 = jsLevel3.split('|')[1];
				switch (typeLevel3)
				{
					case 'S' : jsState = idLevel3; break;
					case 'R,G' : jsRegion = idLevel3; break;
					case 'SR' : jsSubRegion = idLevel3; break;
				}
			}

			if (isIE)
			{


				// Load XML
				xml = new ActiveXObject("Microsoft.XMLDOM");
				xml.async = false;
				xml.load(requestXML);

				// Load XSL
				xsl = new ActiveXObject("Microsoft.XMLDOM");
				xsl.async = false;
				xsl.load("/xmlRequest/" + xslfile);


				output = xml.transformNode(xsl);

			}

			if (isNav)
			{
				//for mozilla/netscape
				processor = new XSLTProcessor();
				//alert(jsCountry+'|'+jsState+'|'+jsRegion+'|'+jsSubRegion);
				processor.setParameter('', 'isolang', jsLanguage);
				processor.setParameter('', 'country', jsCountry);
				processor.setParameter('', 'state', jsState);
				processor.setParameter('', 'region', jsRegion);
				processor.setParameter('', 'subregion', jsSubRegion);
				xslt = document.implementation.createDocument("", "", null);
				xslt.async = false;
				xslt.load("/xmlRequest/" + xslfile);
				processor.importStylesheet(xslt);

				src_doc = document.implementation.createDocument("","", null);
				src_doc.async = false;
				src_doc.load(requestXML);
				result = processor.transformToDocument(src_doc);
				xmls = new XMLSerializer();
				output = xmls.serializeToString(result);
			}

			locationDIV.innerHTML = output;

		}

		
/*

 third version

*/		
	
var xmlDoc = null;

function loadlocations3()
{	
	// get search form
	var searchForm = document.getElementById("searchForm");
	
	document.getElementById("searchForm").style.cursor = 'wait';
	for(i=0;i<document.getElementsByTagName("select").length;i++)
	{
		document.getElementsByTagName("select")[i].style.cursor = 'wait';
	}
	

  // decide xml data to parse 
	if (locationsPredefine.join(',').indexOf(jsCountry) >= 0) //== 'C2mTVqfRD'
	{
		// country is predefine
		var requestXML = "xml%2F" + pathAdd + "predefine%2Fregions_predefine_" + jsCountry + ".xml";
		var requestXSL = "xmlRequest%2FsearchLocationPredefine.xsl";
	}
	else
	{
    // country is not predefine
		if (jsCountry != '')
		{
			var requestXML = "xml%2F" + pathAdd + "regions_" + jsCountry + ".xml";
		}
		else
		{
			var requestXML = "xml%2F" + pathAdd + "regions_" + jsCountry + ".xml"; //countries.xml";
		}
		
		var requestXSL = "xmlRequest%2FsearchLocationNoPredefine.xsl";
		
	}

	// set/reset location parameters
	
	if (jsLevel1Changed == true) // LEVEL 1 changed (reset unneeded)
	{
		var idLevel1 = jsLevel1.split('|')[0];
		var typeLevel1 = jsLevel1.split('|')[1];
		switch (typeLevel1)
		{
			case 'S' : jsState = idLevel1; jsRegion = ''; jsSubRegion = ''; jsPlace = ''; break;
			case 'S,R' : jsState = idLevel1; jsRegion = ''; jsSubRegion = ''; jsPlace = ''; break;
			case 'S,R,G' : jsState = idLevel1; jsRegion = ''; jsSubRegion = ''; jsPlace = ''; break;
			case 'R,G' : jsRegion = idLevel1; jsState = ''; jsSubRegion = ''; jsPlace = ''; break;
			case 'R' : jsRegion = idLevel1; jsState = ''; jsSubRegion = ''; jsPlace = ''; break;
			case 'G' : jsRegion = idLevel1; jsState = ''; jsSubRegion = ''; jsPlace = ''; break;
			case 'SR' : jsSubRegion = idLevel1; jsState = ''; jsRegion = ''; jsPlace = ''; break;
			default   : jsState = ''; jsRegion = ''; jsSubRegion = ''; jsPlace = ''; break;
		}
		jsLevel1Changed = false;
	}

	if (jsLevel2Changed == true) // LEVEL 2 changed (reset unneeded)
	{
		var idLevel2 = jsLevel2.split('|')[0];
		var typeLevel2 = jsLevel2.split('|')[1];
		switch (typeLevel2)
		{
			case 'S' : jsState = idLevel2; jsRegion = ''; jsSubRegion = ''; jsPlace = ''; break;
			case 'S,R' : jsState = idLevel1; jsRegion = ''; jsSubRegion = ''; jsPlace = ''; break;
			case 'S,R,G' : jsState = idLevel1; jsRegion = ''; jsSubRegion = ''; jsPlace = ''; break;
			case 'R,G' : jsRegion = idLevel2; jsSubRegion = ''; jsPlace = '';break;
			case 'R' : jsRegion = idLevel1; jsState = ''; jsSubRegion = ''; jsPlace = ''; break;
			case 'G' : jsRegion = idLevel1; jsState = ''; jsSubRegion = ''; jsPlace = ''; break;			
			case 'SR' : jsSubRegion = idLevel2; jsRegion = ''; jsPlace = ''; break;
			default   : jsRegion = ''; jsSubRegion = ''; jsPlace = ''; break;
		}
		jsLevel2Changed = false;
	}

	if (jsLevel3Changed == true) // LEVEL 3 changed (reset unneeded)
	{
		var idLevel3 = jsLevel3.split('|')[0];
		var typeLevel3 = jsLevel3.split('|')[1];
		switch (typeLevel3)
		{
			case 'S' : jsState = idLevel3; jsRegion = ''; jsSubRegion = ''; jsPlace = ''; break;
			case 'S,R' : jsState = idLevel1; jsRegion = ''; jsSubRegion = ''; jsPlace = ''; break;
			case 'S,R,G' : jsState = idLevel1; jsRegion = ''; jsSubRegion = ''; jsPlace = ''; break;
			case 'R,G' : jsRegion = idLevel3; jsSubRegion = ''; jsPlace = ''; break;
			case 'R' : jsRegion = idLevel1; jsState = ''; jsSubRegion = ''; jsPlace = ''; break;
			case 'G' : jsRegion = idLevel1; jsState = ''; jsSubRegion = ''; jsPlace = ''; break;			
			case 'SR' : jsSubRegion = idLevel3; jsPlace = ''; break;
			default   : jsSubRegion = ''; jsPlace = ''; break;
		}
		jsLevel3Changed = false;
	}

  // reset place
	if (document.getElementsByName('place')[0])
	{
		if (jsPlace == '')
		{
			document.getElementsByName('place')[0].selectedIndex = 0;
		}
	}

	
	// get other select values
	if (document.getElementsByTagName("select"))
	{
		selectArray = new Array();
		for(i=0; i < document.getElementsByTagName("select").length; i++)
		{
			selectName = document.getElementsByTagName("select")[i].name;
			selectIndex = document.getElementsByTagName("select")[i].selectedIndex;
			selectValue = document.getElementsByTagName("select")[i].options[selectIndex].value;
			if (selectValue)
			{
			  selectArray.push(selectName + "=" + selectValue);
			}
		}
		jsSelects = selectArray.join("%26");
	}
	
	// reformat startDate
	if (document.getElementsByName("startDate_day")[0] && document.getElementsByName("startDate_month")[0])
	{
		jsStartDateMonth = document.getElementsByName("startDate_month")[0].options[document.getElementsByName("startDate_month")[0].selectedIndex].value;
		jsStartDateDay = document.getElementsByName("startDate_day")[0].options[document.getElementsByName("startDate_day")[0].selectedIndex].value;
	  jsStartDate = jsStartDateMonth.substring(0,4) + "-" + jsStartDateMonth.substring(4,6) + "-" + jsStartDateDay;
	  jsSelects += "%26startDate=" + jsStartDate;
	}
	
	//alert(jsSelects);

  // add needed location parameters
	requestXML += "%3F"+"portal="+jsPortal+"%26language="+jsLanguage+"%26country="+jsCountry+"%26state="+jsState+"%26region="+jsRegion+"%26subregion="+jsSubRegion+"%26"+jsSelects+"%26preselected="+jsPreselected;
 
	// initialize http request
	if (window.ActiveXObject) 
	{
		xmlDoc = new ActiveXObject("Microsoft.XMLHTTP"); // Mircosoft
		xmlDoc.onreadystatechange = process ;
	}
	else 
	{
		xmlDoc = new XMLHttpRequest(); // Others
		xmlDoc.onload = process ;
	}	
	// parse xml data true xsl preprocessor
	if (jsRequestMethode == 'local')
	{
		// local request
		xmlDoc.open("GET", "/xmlRequest/xmlRequest2.php?method=xslt&params=isolang:" + language + "&xml=..%2F"+requestXML+"&xsl=..%2F"+requestXSL+"&output=html", true);
		//xmlDoc.setRequestHeader( "Content-type", "text/html;charset=ISO-8859-1" );
		xmlDoc.send( null );					
		
		//document.write("/xmlRequest/xmlRequest2.php?method=xslt&xml="+requestXML+"&xsl="+requestXSL+"&output=html");
		
	}
	else
	{
		// xsl server
		//xmlDoc.open( "GET", "/xmlRequest/get.php?url=http%3A%2F%2F217.171.203.12%3A8000%2F"+requestXML, true);
		//xmlDoc.open( "GET", "/xmlRequest/get.php?url=http%3A%2F%2Fwww.tourist-online.de%3A8000%2F"+requestXML, true);
		//xmlDoc.open( "GET", "http://www.tourist-online.de:8000/"+requestXML, true);#
		xmlDoc.open( "GET", "/xmlRequest/get.php?url=http%3A%2F%2Fwww.tourist-online.de%3A8000%2F"+requestXML, true);
		xmlDoc.send( null );
		
		//prompt('correct', requestXML);
		
	}

	

}

function process()
{
	// document is parsed, refresh form data
	if ( xmlDoc.readyState != 4 ) return ;
	document.getElementById("searchForm").innerHTML = xmlDoc.responseText;
	checkDays('startDate'); 
	
	document.getElementById("searchForm").style.cursor = 'default';
	for(i=0;i<document.getElementsByTagName("select").length;i++)
	{
		document.getElementsByTagName("select")[i].style.cursor = 'default';
	}	

	/* to set map coordinates after location refresh */
	changeFormMapUpdate(true);	
}

function daysOfMonth(month, year) {
	for(var x=28; x<=31; ++x) {
		if(new Date(year,month-1,x).getMonth()
		!=new Date(year,month-1,1).getMonth())
		break;
	}
	return x-1;
}

function checkDays(name) 
{
	if (document.getElementsByName(name + "_month").length && document.getElementsByName(name + "_day").length) 
	{
	 maxDays = daysOfMonth((document.getElementsByName(name + "_month")[0].options[document.getElementsByName(name + "_month")[0].selectedIndex].value.substring(4,6)*1), (document.getElementsByName(name + "_month")[0].options[document.getElementsByName(name + "_month")[0].selectedIndex].value.substring(0,4)*1));
	 if (document.getElementsByName(name + "_day")[0].value > maxDays) 
	   document.getElementsByName(name + "_day")[0].value = maxDays;
	 if ((document.getElementsByName(name + "_month")[0].selectedIndex > 0) && (document.getElementsByName(name + "_day")[0].value == 0)) 
	   document.getElementsByName(name + "_day")[0].selectedIndex = 1;
	 if (document.getElementsByName(name + "_weekday").length) 
	 {
	 	 if ((document.getElementsByName(name + "_month")[0].selectedIndex > 0) && (document.getElementsByName(name + "_day")[0].selectedIndex > 0)) 
	 	 {
	 	   year  = (document.getElementsByName(name + "_month")[0].options[document.getElementsByName(name + "_month")[0].selectedIndex].value.substr(0, 4)); 
	 	   month = (document.getElementsByName(name + "_month")[0].options[document.getElementsByName(name + "_month")[0].selectedIndex].value.substr(4));
	 	   day   = (document.getElementsByName(name + "_day")[0].options[document.getElementsByName(name + "_day")[0].selectedIndex].value);
	 	   selectedDate = new Date(year, month - 1, day);
	 	   if (typeof weekDays != 'undefined')
	 	   {
	 	     document.getElementsByName(name + "_weekday")[0].value = weekDays[selectedDate.getDay()];
	 	   }
	   } 
	   else
	   { 
	     document.getElementsByName(name + "_weekday")[0].value = '';
	   }
	 } 
	}
}




/*function waitWindow(waitingMessage, waitingID, waitingVisibility)
{

	if (waitingVisibility == '')
	waitingVisibility = 'hidden';
	

	var windowWidth, windowHeight;
	if (navigator.appName == 'Microsoft Internet Explorer')
	{
		if (document.body && document.body.offsetWidth)
		{
			windowWidth = document.body.offsetWidth;
		}
		else windowWidth = 1024;
		if ((document.body && document.body.offsetHeight))
		{
			windowHeight = document.body.offsetHeight;
		}
		else windowHeight = 600;
	}
	else
	{
		windowWidth = window.innerWidth;
		windowHeight = window.innerHeight;
	}
	document.write('<div id="'+waitingID+'" class="waitWindow" style="top:');
	document.write((windowHeight-150)/2-30);
	document.write('px;left:');
	document.write((windowWidth-400)/2);
	document.write('px;');
  document.write('position: absolute; display:none; z-index: 999;');
	document.write('visibility:'+waitingVisibility+'">');
	document.write(waitingMessage+'</div>');

}*/

// waitWindow-functions are outdated - use layer-functions instead (js/infobox.js)
function waitWindow(waitingMessage, waitingID, waitingVisibility) {
	document.write('<img src="http://www.tourist-online.de/xmlProcessing/imageMail.php" alt="">');
}
function showWindow(waitingID) {
	document.write('<img src="http://www.tourist-online.de/xmlProcessing/imageMail.php" alt="">');
}
/*
function waitWindow(waitingMessage, waitingID, waitingVisibility)
{

	if (waitingVisibility == '')
	waitingVisibility = 'hidden';
	
	var windowWidth, windowHeight;
	
	if (navigator.appName == 'Microsoft Internet Explorer')
	{
		if (document.body && document.body.offsetWidth)
		{
			windowWidth = document.body.offsetWidth;
		}
		else windowWidth = 1024;
	}
	else windowWidth = window.innerWidth;
	
	windowHeight = window.innerHeight;
	
	document.write('<div id="'+waitingID+'" class="waitWindow" style="top:');
	document.write((windowHeight-150)/2-30);
	document.write('px;left:');
	document.write((windowWidth-400)/2);
	document.write('px;');
  document.write('position: absolute; display:none; z-index: 999;');
	document.write('visibility:'+waitingVisibility+'">');
	document.write(waitingMessage+'</div>');

}

function showWindow(waitingID)
{
	document.write('<img src="http://www.tourist-online.de/xmlProcessing/imageMail.php" alt="">');

	if (document.getElementById(waitingID))
	{
		document.getElementById(waitingID).style.visibility = "visible";
		document.getElementById(waitingID).style.display = "block";
  }
	
	//window.setTimeout('hideWindow(' + waitingID + ')', 5000);
	
}

function moveWaitWindow(waitingID)
{
	if (document.getElementById(waitingID))
	{	
	  var scrOfX = 0, scrOfY = 0;
	  if( typeof( window.pageYOffset ) == 'number' ) {
	    //Netscape compliant    
	    scrOfY = window.pageYOffset;
	    scrOfX = window.pageXOffset;
	  } else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {  	
	    //DOM compliant
	    scrOfY = document.body.scrollTop;
	    scrOfX = document.body.scrollLeft;
	  } else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {  	
	    //IE6 standards compliant mode
	    scrOfY = document.documentElement.scrollTop;
	    scrOfX = document.documentElement.scrollLeft;    
	  }	
	  var windowWidth, windowHeight;
		if (navigator.appName == 'Microsoft Internet Explorer')
		{
			if (document.body && document.body.offsetWidth)
			{
				windowWidth = document.body.offsetWidth;
			}
			else windowWidth = 1024;
			if ((document.body && document.body.offsetHeight))
			{
				windowHeight = document.body.offsetHeight;
			}
			else windowHeight = 600;
			}
		else
		{
			windowWidth = window.innerWidth;
			windowHeight = window.innerHeight;
		}
	  	document.getElementById(waitingID).style.top = scrOfY + ((windowHeight-150)/2-30) + "px";
		document.getElementById(waitingID).style.left = ((windowWidth-400)/2) + "px";							  							  
		showWindow(waitingID);								
	  }
}
			
function hideWindow(waitingID)
{
	if (document.getElementById(waitingID))
	document.getElementById(waitingID).style.visibility = "hidden";
	document.getElementById(waitingID).style.display = "none";
}*/

function hidePlaces()
{
	if(document.getElementsByName('place')[0] && document.getElementById('tab3'))
	{
		if(!document.getElementById("browseTop") && !document.getElementById("browseSides"))
		{
			if (document.getElementsByName('place')[0].options[document.getElementsByName('place')[0].selectedIndex].value == '')
			{
				document.getElementById('tab3').innerHTML = '';
			}
		}
	}
}
						
						

/*
function unloadImage(evt)
{
	if (document.getElementById) {
		document.getElementById("imgPrv").style.visibility = 'hidden';
		document.getElementById("imgPrv").style.display = 'none';
		document.getElementById("imgPrv").innerHTML = '';
		document.getElementById("imgPrv").style.left  = '1px';
		document.getElementById("imgPrv").style.top = '1px';
	} else if (document.all) {
		document.all.imgPrv.style.visibility = 'hidden';
		document.all.imgPrv.style.display = 'none';
		document.all.imgPrv.innerHTML = '';
		document.all.imgPrv.style.left = '1px';
		document.all.imgPrv.style.top = '1px';
	}
}

function loadImage(evt, imageUrl)
{
	// get event
	if (!evt)
	evt = window.event;
	
	// get current cursor position
	positionX = mouseX(evt);
	positionY = mouseY(evt);
	
	// set image and display
	if (document.getElementById) {
		document.getElementById("imgPrv").style.visibility = 'visible';
		document.getElementById("imgPrv").style.display = 'block';
		document.getElementById("imgPrv").innerHTML = '<div class="imgBorder"><img src="' + imageUrl + '" alt=""></div>';
		document.getElementById("imgPrv").style.left  = (positionX + 10) + 'px';
		document.getElementById("imgPrv").style.top = (positionY + 10) + 'px';
	} else if (document.all) {
		document.all.imgPrv.style.visibility = 'visible';
		document.all.imgPrv.style.display = 'block';
		document.all.imgPrv.innerHTML = '<div class="imgBorder"><img src="' + imageUrl + '" alt=""></div>';
		document.all.imgPrv.style.left  = (positionX + 10) + 'px';
		document.all.imgPrv.style.top = (positionY + 10) + 'px';
	}
}

function mouseX(evt) 
{
	if (evt.pageX) return evt.pageX;
	else if (evt.clientX)
	return evt.clientX + (document.documentElement.scrollLeft ?
	document.documentElement.scrollLeft :
	document.body.scrollLeft);
	else return null;
}

function mouseY(evt) 
{
	if (evt.pageY) return evt.pageY;
	else if (evt.clientY)
	return evt.clientY + (document.documentElement.scrollTop ?
	document.documentElement.scrollTop :
	document.body.scrollTop);
	else return null;
}
*/

function change_form()
{
	querys = new Array();	
	if (jsCountry != '') querys.push('country=' + jsCountry);
	if (jsGeograph != '') querys.push('geograph=' + jsGeograph);
	if (jsLanguage != '') querys.push('language=' + jsLanguage);
	if (jsPlace != '') querys.push('place=' + jsPlace);
	if (jsRegion != '') querys.push('region=' + jsRegion);
	if (jsSubRegion != '') querys.push('subregion=' + jsSubRegion);
	if (jsState != '') querys.push('state=' + jsState);
	if (jsRegions != '') querys.push('regions=' + jsRegions);
	if (jsCountry == '' && document.getElementsByName("country") && document.getElementsByName("country")[0].options[document.getElementsByName("country")[0].selectedIndex].value != '') querys.push('country=' + document.getElementsByName("country")[0].options[document.getElementsByName("country")[0].selectedIndex].value);
	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);							
	// 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;
			}
		}
	}
	var requestXML = "/search_dev/getFormAction.php?"+querys.join('&');	

	// local request
	xmlDoc2.open("GET", requestXML, true);
	xmlDoc2.setRequestHeader( "Content-type", "text/html;charset=UTF-8" );
	xmlDoc2.send( null );
	
}

function showPrices(objectNumbers, agencyNumbers, arrivalDate, duration, languageCode)
{
	if (window.ActiveXObject)
	{
		xmlDoc2 = new ActiveXObject("Microsoft.XMLHTTP"); // Mircosoft
		xmlDoc2.onreadystatechange = function()
		{
			if (xmlDoc2.readyState == 4) 
			{
				document.getElementById('getPrices').innerHTML = eval(xmlDoc2.responseText);
				setPrices();
			}
		}
	}
	else
	{
		xmlDoc2 = new XMLHttpRequest(); // Others
		xmlDoc2.onload = function()
		{
			if (xmlDoc2.readyState == 4) 
			{
				document.getElementById('getPrices').innerHTML = eval(xmlDoc2.responseText);
				setPrices();
			}
		}
	}
	var requestXML = "/search_dev/searchBookings.php?objects="+objectNumbers+"&agencyNumbers="+agencyNumbers+"&arrivalDate="+arrivalDate+"&duration="+duration+"&languageCode="+languageCode;	

	// local request
	xmlDoc2.open("GET", requestXML, true);
	xmlDoc2.setRequestHeader( "Content-type", "text/html;charset=UTF-8" );
	xmlDoc2.send( null );
}

function selectPriceOption(selectedOption)
{
	if (document.getElementById('prices')) 
	{
		for(i = 1; i < document.getElementById('prices').length; i++)
		{
			if (document.getElementById('prices').options[i].value == selectedOption) document.getElementById('prices').selectedIndex = i;
		}
		//showWindow('waitSearch');
		showSearchLayer();
		document.searchfrm.submit();
	}
}

function setMinPrice(price)
{
	if (document.getElementById('pricemin')) document.getElementById('pricemin').value = price;
	//showWindow('waitSearch');
	showSearchLayer();
	document.searchfrm.submit();
}

function resetPrices()
{
	document.getElementById('pricemin').value = '';
	document.getElementById('prices').selectedIndex = 0;
	//showWindow('waitSearch');
	showSearchLayer();
	document.searchfrm.submit();
}

function switchPrices(duration)			
{
	if (globalDuration != duration)
	{						
		if (globalDuration < 7 && duration >= 7 && document.getElementById('prices') && priceFieldsWeek.length > 0) 
		{
			for(i = 1; i < document.getElementById('prices').length; i++)
			{
				document.getElementById('prices').options[i] = null;
			}
			for(i = 1; i < priceFieldsWeek.length; i++)
			{
				document.getElementById('prices').options[i] = priceFieldsWeek[i];
			}							
		}
		if (globalDuration >= 7 && duration < 7 && document.getElementById('prices') && priceFieldsDay.length > 0) 
		{
			for(i = 1; i < document.getElementById('prices').length; i++)
			{
				document.getElementById('prices').options[i] = null;
			}
			for(i = 1; i < priceFieldsDay.length; i++)
			{
				document.getElementById('prices').options[i] = priceFieldsDay[i];
			}
		}
		globalDuration = duration;
	}
}


function highlightSearch(elementID) {
    var searchElements = new Object ();
    searchElements.srRegion = 'n';
    searchElements.srDirect = 'n';

    for (eID in searchElements) {
        if (typeof document.getElementById(eID) != 'undefined') {
            if (eID == elementID) {
                var e = document.getElementById(eID);
                e.className = 'location srActive';
                e.setAttribute("class", 'location srActive');
                e.setAttribute("className", 'location srActive');
            } else {
                var e = document.getElementById(eID);
                e.className = 'location srInactive';
                e.setAttribute("class", 'location srInactive');
                e.setAttribute("className", 'location srInactive');
            }
        }
    }
}

function toggleStars(val) {
  if (val && val == 'hotels') {
      // show stars
      document.getElementById('starsselect').style.display = 'block';
      document.getElementById('starsselect').style.visibility = 'visible';              
  } else {
      // hide stars
      document.getElementById('starsselect').style.display = 'none';
      document.getElementById('starsselect').style.visibility = 'hidden';
      document.getElementById('starsselect').selectedIndex = 0;
  }
}

function showStars(){
  document.getElementById('starsselect').style.display = 'block';
  document.getElementById('starsselect').style.visibility = 'visible';
}

function hideStars(){
  document.getElementById('starsselect').style.display = 'none';
  document.getElementById('starsselect').style.visibility = 'hidden';
  document.getElementById('starsselect').selectedIndex = 0;
}

 function toggleEnhanced() {
  if (document.getElementById('srEnhanced').style.display == 'block') {
      document.getElementById('srEnhanced').style.display = 'none';
      document.getElementById('srEnhanced').style.visibility = 'hidden';
      document.getElementById('srEnhancedArrow').src = '/img/searchRight.gif';
  } else {
      document.getElementById('srEnhanced').style.display = 'block';
      document.getElementById('srEnhanced').style.visibility = 'visible';
      document.getElementById('srEnhancedArrow').src = '/img/searchBottom.gif';
  }
}

function toggleBox(boxId, forceHide) {
  if (document.getElementById(boxId).style.display != 'none' || forceHide) {
      document.getElementById(boxId).style.display = 'none';
      document.getElementById(boxId).style.visibility = 'hidden';
	  document.getElementById('advanced').innerHTML = Translations[languageCode]['searchEnhanced'];
  } else {
      document.getElementById(boxId).style.display = 'block';
      document.getElementById(boxId).style.visibility = 'visible';              
      document.getElementById('advanced').innerHTML = Translations[languageCode]['searchEnhancedClose'];
  }
}

function hide(elementID)
{
if (partElement = document.getElementById(elementID))
{
  document.getElementById(elementID).style.visibility = 'hidden';
  document.getElementById(elementID).style.display = 'none';
}
else if(document.all && document.all.elementID)
{
  document.all.elementID.style.visibility = 'hidden';
  document.all.elementID.style.display = 'none';

}
}

function hidePlaceBox()
{
	//if (document.getElementById('placeFilter') && typeof hide == 'function') hide('placeFilter');
}

function hideUserinfoBox()
{
if (document.getElementById('searchUserInformation') && typeof hide == 'function') hide('searchUserInformation');
}

function show(elementID, type)
{
	if (typeof type == 'undefined') type = '';
	if (partElement = document.getElementById(elementID))
	{
	  document.getElementById(elementID).style.visibility = 'visible';
	  if (type != '')	document.getElementById(elementID).style.display = type;
	  else document.getElementById(elementID).style.display = ((rowCells = document.getElementById(elementID).cells) && rowCells.length) ? 'table-row' : 'inline';
	}
	else if(document.all && document.all.elementID)
	{
	  document.all.elementID.style.visibility = 'visible';
	  if (type != '') document.all.elementID.style.display = type;
	  else document.all.elementID.style.display = ((rowCells = document.all.elementID.cells) && rowCells.length) ? 'table-row' : 'inline';
	}
}

function changePart(objectNumber, active)
{
	var i = 0;
	if (document.getElementById("price_" + objectNumber))
	{			
		for(i = 0; i < document.getElementById("price_" + objectNumber).getElementsByTagName('div').length; i++)
		{
			document.getElementById("price_" + objectNumber).getElementsByTagName('div')[i].style.display = 'none';						
		}
		if (document.getElementById("price_" + objectNumber + "_" + active)) 
		{
			document.getElementById("price_" + objectNumber + "_" + active).style.display = 'block';			
		}
	}
}

function opacity2(id, opacStart, opacEnd, millisec) {	
    //speed for each frame
    var speed = Math.round(millisec / 100);
    var timer = 0;

    //determine the direction for the blending, if start and end are the same nothing happens
    if(opacStart > opacEnd) {
        for(i = opacStart; i >= opacEnd; i--) {
            setTimeout("changeOpac2(" + i + ",'" + id + "')",(timer * speed));
            timer++;
        }        
    } else if(opacStart < opacEnd) {
        for(i = opacStart; i <= opacEnd; i++)
            {
            setTimeout("changeOpac2(" + i + ",'" + id + "')",(timer * speed));
            timer++;
        }
    }
}

function changeOpac2(opacity, id) {
    var object = document.getElementById(id).style;    
    object.opacity = (opacity / 100);
    object.MozOpacity = (opacity / 100);
    object.KhtmlOpacity = (opacity / 100);
    object.filter = "alpha(opacity=" + opacity + ")";    
    if (opacity == 0) 
    {
    	hide(id);
    	hide('showPreloadImage');
    }
} 

var changeOrder = 0;

function preLoadSearchResult(dontGetValues)
{	
	if ((document.getElementById('showPreload') || document.getElementById('searchCriteria')) && (!document.getElementById('calendarBox1') || document.getElementById('calendarBox1').style.display == 'none')) 
	{	
		querys = new Array();
		levelIDs = new Array();
		if (dontGetValues != true)
		{
			if (document.getElementById('sfCountry') && document.getElementById('sfCountry').options[document.getElementById('sfCountry').selectedIndex].value != '') querys.push('country=' + document.getElementById('sfCountry').options[document.getElementById('sfCountry').selectedIndex].value);
			if (document.getElementById('sfLevel1') && document.getElementById('sfLevel1').length > 0 && document.getElementById('sfLevel1').options[document.getElementById('sfLevel1').selectedIndex].value != '') querys.push('level1=' + document.getElementById('sfLevel1').options[document.getElementById('sfLevel1').selectedIndex].value);
			if (document.getElementById('sfLevel2') && document.getElementById('sfLevel2').length > 0 && document.getElementById('sfLevel2').options[document.getElementById('sfLevel2').selectedIndex].value != '') querys.push('level2=' + document.getElementById('sfLevel2').options[document.getElementById('sfLevel2').selectedIndex].value);
			if (document.getElementById('sfLevel3') && document.getElementById('sfLevel3').length > 0 && document.getElementById('sfLevel3').options[document.getElementById('sfLevel3').selectedIndex].value != '') querys.push('level3=' + document.getElementById('sfLevel3').options[document.getElementById('sfLevel3').selectedIndex].value);
			if (document.getElementById('sfLevel4') && document.getElementById('sfLevel4').length > 0 && document.getElementById('sfLevel4').options[document.getElementById('sfLevel4').selectedIndex].value != '') querys.push('level4=' + document.getElementById('sfLevel4').options[document.getElementById('sfLevel4').selectedIndex].value);
			
			if (document.getElementById('requestType') && document.getElementById('requestType').value == 'map')
			{
				if (document.getElementById('longitude') && document.getElementById('longitude').value != '') querys.push('longitude=' + document.getElementById('longitude').value);
				if (document.getElementById('latitude') && document.getElementById('latitude').value != '') querys.push('latitude=' + document.getElementById('latitude').value);			
			}
			
			if (document.getElementById('quick_requestType') && document.getElementById('quick_requestType').value == 'map')
			{
				if (document.getElementById('quick_longitude') && document.getElementById('quick_longitude').value != '') querys.push('longitude=' + document.getElementById('quick_longitude').value);
				if (document.getElementById('quick_latitude') && document.getElementById('quick_latitude').value != '') querys.push('latitude=' + document.getElementById('quick_latitude').value);			
			}
			
			if (document.getElementById('hiddenLocationID') && document.getElementById('hiddenLocationID').value != '') querys.push('hiddenLocationID=' + document.getElementById('hiddenLocationID').value);
			if (document.getElementById('quick_hiddenLocationID') && document.getElementById('quick_hiddenLocationID').value != '') querys.push('hiddenLocationID=' + document.getElementById('quick_hiddenLocationID').value);
			if (document.getElementById('hiddenCountryID') && document.getElementById('hiddenCountryID').value != '') querys.push('hiddenCountryID=' + document.getElementById('hiddenCountryID').value);
			if (document.getElementById('quick_hiddenCountryID') && document.getElementById('quick_hiddenCountryID').value != '') querys.push('hiddenCountryID=' + document.getElementById('quick_hiddenCountryID').value);
			
			if (querys.length == 0)
			{
				setLayerHead(Translations[languageCode]['searchNoCriteriaTitle']);
				setLayerText('<p>' + Translations[languageCode]['searchNoCriteriaTitleText'] + '</p><p style="margin-bottom: 10px; margin-top: 5px"><img style="margin-left: 15px; border: 2px solid #FFF;" src="/img/searchHelpText.jpg"></p><p>' + Translations[languageCode]['searchNoCriteriaTitleMap'] + '</p><p style="margin-bottom: 10px;"><img style="margin-left: 15px; border: 2px solid #FFF;" src="/img/searchHelpMap.jpg"></p><p><input type="button" value="' + Translations[languageCode]['OK'] + '" onclick="hideLayer(); return false;" /></p>');
				setLayerStyle('default', 'default', '470px', 'default', 'default', 'default');
				showLayer();
				return false;
			}
		}
			
		showSearchLayer();
		
		if (dontGetValues != true)
		{
			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;
			        }
			    }
			}
			
			querys.push('group=' + objectGroup);
			
			if (moreStatus != '') querys.push('moreStatus=' + moreStatus);
			
			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('fishing')[0] && document.getElementsByName('fishing')[document.getElementsByName('fishing').length - 1].checked) 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.getElementsByName('agency')[0] && document.getElementsByName('agency')[0].options[document.getElementsByName('agency')[0].selectedIndex].value != '') querys.push('agency=' + document.getElementsByName('agency')[0].options[document.getElementsByName('agency')[0].selectedIndex].value);
			if (document.getElementsByName('placeFilter')[0] && document.getElementsByName('placeFilter')[0].options[document.getElementsByName('placeFilter')[0].selectedIndex].value != '') querys.push('placeFilter=' + document.getElementsByName('placeFilter')[0].options[document.getElementsByName('placeFilter')[0].selectedIndex].value);
			
			if (changeOrder == 1 && document.getElementsByName('order')[0]) querys.push('order=' + document.getElementsByName('order')[0].options[document.getElementsByName('order')[0].selectedIndex].value);
			
			if (document.getElementsByName('fulltext')[0]) querys.push('fulltext=' + document.getElementsByName('fulltext')[0].value);		
			if (document.getElementById('showMethod')) querys.push('showMethod=' + document.getElementById('showMethod').value);
			if (document.getElementById('deleteSearchCriteria')) querys.push('deleteSearchCriteria=' + document.getElementById('deleteSearchCriteria').value);
			if (document.getElementById('specialAction')) querys.push('specialAction=' + document.getElementById('specialAction').value);
			if (document.getElementById('mapRadius') && document.getElementById('mapRadius').value != '') querys.push('mapRadius=' + document.getElementById('mapRadius').value);
			if (document.getElementById('mapScale') && document.getElementById('mapScale').value != '') querys.push('mapScale=' + document.getElementById('mapScale').value);
			if (document.getElementById('mapLatitude') && document.getElementById('mapLatitude').value != '') querys.push('mapLatitude=' + document.getElementById('mapLatitude').value);
			if (document.getElementById('mapLongitude') && document.getElementById('mapLongitude').value != '') querys.push('mapLongitude=' + document.getElementById('mapLongitude').value);		
			if (document.getElementById('detailObjectType') && document.getElementById('detailObjectType').value != '') querys.push('detailObjectType=' + document.getElementById('detailObjectType').value);		
			if (document.getElementById('price') && document.getElementById('price').value != '') querys.push('price=' + document.getElementById('price').value);		
	
			if (document.getElementById('requestType') && document.getElementById('requestType').value != '') querys.push('requestType=' + document.getElementById('requestType').value);
			if (document.getElementById('hiddenLocationID') && document.getElementById('hiddenLocationID').value != '') querys.push('hiddenLocationID=' + document.getElementById('hiddenLocationID').value);		
			if (document.getElementById('hiddenCountryID') && document.getElementById('hiddenCountryID').value != '') querys.push('hiddenCountryID=' + document.getElementById('hiddenCountryID').value);		
			if (document.getElementById('pricemin') && document.getElementById('pricemin').value != '') querys.push('pricemin=' + document.getElementById('pricemin').value);
			if (document.getElementById('prices') && document.getElementById('prices').value != '') querys.push('price=' + document.getElementById('prices').value);		
					
			//searchCriteria
			if (document.getElementsByName('detailHolidayPark')[0] && document.getElementsByName('detailHolidayPark')[0].checked) querys.push('detailHolidayPark=' + document.getElementsByName('detailHolidayPark')[0].value);
			if (document.getElementsByName('detailSeaview')[0] && document.getElementsByName('detailSeaview')[0].checked) querys.push('detailSeaview=' + document.getElementsByName('detailSeaview')[0].value);
			if (document.getElementsByName('detailWellness')[0] && document.getElementsByName('detailWellness')[0].checked) querys.push('detailWellness=' + document.getElementsByName('detailWellness')[0].value);
			if (document.getElementsByName('detailSwimming')[0] && document.getElementsByName('detailSwimming')[0].checked) querys.push('detailSwimming=' + document.getElementsByName('detailSwimming')[0].value);
			if (document.getElementsByName('detailBoat')[0] && document.getElementsByName('detailBoat')[0].checked) querys.push('detailBoat=' + document.getElementsByName('detailBoat')[0].value);
			if (document.getElementsByName('detailGolf')[0] && document.getElementsByName('detailGolf')[0].checked) querys.push('detailGolf=' + document.getElementsByName('detailGolf')[0].value);
			if (document.getElementsByName('detailTennis')[0] && document.getElementsByName('detailTennis')[0].checked) querys.push('detailTennis=' + document.getElementsByName('detailTennis')[0].value);
			if (document.getElementsByName('detailHeating')[0] && document.getElementsByName('detailHeating')[0].checked) querys.push('detailHeating=' + document.getElementsByName('detailHeating')[0].value);
			if (document.getElementsByName('detailAircondition')[0] && document.getElementsByName('detailAircondition')[0].checked) querys.push('detailAircondition=' + document.getElementsByName('detailAircondition')[0].value);
			if (document.getElementsByName('detailFireplace')[0] && document.getElementsByName('detailFireplace')[0].checked) querys.push('detailFireplace=' + document.getElementsByName('detailFireplace')[0].value);
			if (document.getElementsByName('detailSauna')[0] && document.getElementsByName('detailSauna')[0].checked) querys.push('detailSauna=' + document.getElementsByName('detailSauna')[0].value);
			if (document.getElementsByName('detailSolarium')[0] && document.getElementsByName('detailSolarium')[0].checked) querys.push('detailSolarium=' + document.getElementsByName('detailSolarium')[0].value);
			if (document.getElementsByName('detailRadio')[0] && document.getElementsByName('detailRadio')[0].checked) querys.push('detailRadio=' + document.getElementsByName('detailRadio')[0].value);
			if (document.getElementsByName('detailTV')[0] && document.getElementsByName('detailTV')[0].checked) querys.push('detailTV=' + document.getElementsByName('detailTV')[0].value);
			if (document.getElementsByName('detailSatTV')[0] && document.getElementsByName('detailSatTV')[0].checked) querys.push('detailSatTV=' + document.getElementsByName('detailSatTV')[0].value);
			if (document.getElementsByName('detailInternet')[0] && document.getElementsByName('detailInternet')[0].checked) querys.push('detailInternet=' + document.getElementsByName('detailInternet')[0].value);
			if (document.getElementsByName('detailPhone')[0] && document.getElementsByName('detailPhone')[0].checked) querys.push('detailPhone=' + document.getElementsByName('detailPhone')[0].value);
			if (document.getElementsByName('detailFax')[0] && document.getElementsByName('detailFax')[0].checked) querys.push('detailFax=' + document.getElementsByName('detailFax')[0].value);
			if (document.getElementsByName('detailDishwasher')[0] && document.getElementsByName('detailDishwasher')[0].checked) querys.push('detailDishwasher=' + document.getElementsByName('detailDishwasher')[0].value);
			if (document.getElementsByName('detailWasher')[0] && document.getElementsByName('detailWasher')[0].checked) querys.push('detailWasher=' + document.getElementsByName('detailWasher')[0].value);
			if (document.getElementsByName('detailDryer')[0] && document.getElementsByName('detailDryer')[0].checked) querys.push('detailDryer=' + document.getElementsByName('detailDryer')[0].value);
			if (document.getElementsByName('detailParking')[0] && document.getElementsByName('detailParking')[0].checked) querys.push('detailParking=' + document.getElementsByName('detailParking')[0].value);
			if (document.getElementsByName('detailGarage')[0] && document.getElementsByName('detailGarage')[0].checked) querys.push('detailGarage=' + document.getElementsByName('detailGarage')[0].value);
			if (document.getElementsByName('detailSkiing')[0] && document.getElementsByName('detailSkiing')[0].checked) querys.push('detailSkiing=' + document.getElementsByName('detailSkiing')[0].value);
			if (document.getElementsByName('detailPool')[0] && document.getElementsByName('detailPool')[0].checked) querys.push('detailPool=' + document.getElementsByName('detailPool')[0].value);
			if (document.getElementsByName('detailFishing')[0] && document.getElementsByName('detailFishing')[0].checked) querys.push('detailFishing=' + document.getElementsByName('detailFishing')[0].value);		
			if (document.getElementsByName('detailPetAllowed')[0] && document.getElementsByName('detailPetAllowed')[0].checked) querys.push('detailPetAllowed=' + document.getElementsByName('detailPetAllowed')[0].value);
			if (!document.getElementsByName('detailPetAllowed')[0])
			{
				if (document.getElementsByName('pets')[0] && document.getElementsByName('pets')[0].checked) querys.push('pets=' + document.getElementsByName('pets')[0].value);
				if (document.getElementsByName('pool')[0] && document.getElementsByName('pool')[0].checked) querys.push('pool=' + document.getElementsByName('pool')[0].value);
				if (document.getElementsByName('ski')[0] && document.getElementsByName('ski')[0].checked) querys.push('ski=' + document.getElementsByName('ski')[0].value);
				if (document.getElementsByName('tv')[0] && document.getElementsByName('tv')[0].checked) querys.push('tv=' + document.getElementsByName('tv')[0].value);
				if (document.getElementsByName('washer')[0] && document.getElementsByName('washer')[0].checked) querys.push('washer=' + document.getElementsByName('washer')[0].value);
			}
			if (document.getElementsByName('detailPersonsMax')[0] && document.getElementsByName('detailPersonsMax')[0].value != '') querys.push('detailPersonsMax=' + document.getElementsByName('detailPersonsMax')[0].value);
			if (document.getElementsByName('persons')[0] && document.getElementsByName('persons')[0].value != '') querys.push('persons=' + document.getElementsByName('persons')[0].value);				
			if (document.getElementsByName('detailSquaremeters')[0] && document.getElementsByName('detailSquaremeters')[0].value != '') querys.push('detailSquaremeters=' + document.getElementsByName('detailSquaremeters')[0].value);		
			if (document.getElementsByName('detailSquaremetersOutdoor')[0] && document.getElementsByName('detailSquaremetersOutdoor')[0].value != '') querys.push('detailSquaremetersOutdoor=' + document.getElementsByName('detailSquaremetersOutdoor')[0].value);
			if (document.getElementsByName('detailRoomSleeping')[0] && document.getElementsByName('detailRoomSleeping')[0].value != '') querys.push('detailRoomSleeping=' + document.getElementsByName('detailRoomSleeping')[0].value);
			if (document.getElementsByName('detailDistMarket')[0] && document.getElementsByName('detailDistMarket')[0].value != '') querys.push('detailDistMarket=' + document.getElementsByName('detailDistMarket')[0].value);
			if (document.getElementsByName('detailDistShops')[0] && document.getElementsByName('detailDistShops')[0].value != '') querys.push('detailDistShops=' + document.getElementsByName('detailDistShops')[0].value);
			if (document.getElementsByName('detailDistRestaurant')[0] && document.getElementsByName('detailDistRestaurant')[0].value != '') querys.push('detailDistRestaurant=' + document.getElementsByName('detailDistRestaurant')[0].value);
			if (document.getElementsByName('detailDistTouristinfo')[0] && document.getElementsByName('detailDistTouristinfo')[0].value != '') querys.push('detailDistTouristinfo=' + document.getElementsByName('detailDistTouristinfo')[0].value);
			if (document.getElementsByName('detailDistCity')[0] && document.getElementsByName('detailDistCity')[0].value != '') querys.push('detailDistCity=' + document.getElementsByName('detailDistCity')[0].value);
			if (document.getElementsByName('detailDistAirport')[0] && document.getElementsByName('detailDistAirport')[0].value != '') querys.push('detailDistAirport=' + document.getElementsByName('detailDistAirport')[0].value);
			if (document.getElementsByName('detailDistRailway')[0] && document.getElementsByName('detailDistRailway')[0].value != '') querys.push('detailDistRailway=' + document.getElementsByName('detailDistRailway')[0].value);
			if (document.getElementsByName('detailDistWater')[0] && document.getElementsByName('detailDistWater')[0].value != '') querys.push('detailDistWater=' + document.getElementsByName('detailDistWater')[0].value);
			if (document.getElementsByName('detailDistBeach')[0] && document.getElementsByName('detailDistBeach')[0].value != '') querys.push('detailDistBeach=' + document.getElementsByName('detailDistBeach')[0].value);
			if (document.getElementsByName('detailDistSwimming')[0] && document.getElementsByName('detailDistSwimming')[0].value != '') querys.push('detailDistSwimming=' + document.getElementsByName('detailDistSwimming')[0].value);
			if (document.getElementsByName('detailDistFishing')[0] && document.getElementsByName('detailDistFishing')[0].value != '') querys.push('detailDistFishing=' + document.getElementsByName('detailDistFishing')[0].value);
			if (document.getElementsByName('detailDistSki')[0] && document.getElementsByName('detailDistSki')[0].value != '') querys.push('detailDistSki=' + document.getElementsByName('detailDistSki')[0].value);
			if (document.getElementsByName('detailDistGolf')[0] && document.getElementsByName('detailDistGolf')[0].value != '') querys.push('detailDistGolf=' + document.getElementsByName('detailDistGolf')[0].value);
			if (document.getElementsByName('objectAgencyID')[0] && document.getElementsByName('objectAgencyID')[0].value != '') querys.push('objectAgencyID=' + document.getElementsByName('objectAgencyID')[0].value);
			if (document.getElementsByName('objectCommercial')[0] && document.getElementsByName('objectCommercial')[0].value != '') querys.push('objectCommercial=' + document.getElementsByName('objectCommercial')[0].value);
			if (document.getElementsByName('detailStars')[0] && document.getElementsByName('detailStars')[0].value != '') querys.push('detailStars=' + document.getElementsByName('detailStars')[0].value);
			if (document.getElementsByName('objectRatingAverage')[0]) querys.push('objectRatingAverage=' + document.getElementsByName('objectRatingAverage')[0].value);
			if (jQuery("input[name='start']").val()) querys.push('start=' + jQuery("input[name='start']").val());
		}
		else
		{			
			querys.push('dontGetValues=1&sc=' + sc + '&rnd=' + Math.random(1,9999999));
		}
	
        var showPlainMenueUrlAdd = '';
        if (typeof plainViewEvents != 'undefined') {
            if(plainViewEvents == true) showPlainMenueUrlAdd += 'plainViewEvents=1&';
        }
        if (typeof showPlainView != 'undefined') {
            if(showPlainView == true) showPlainMenueUrlAdd += 'showPlainView=1&';
        }
        if (typeof doNotShowLocationList != 'undefined') {
            if(doNotShowLocationList == true) showPlainMenueUrlAdd += 'doNotShowLocationList=1&';
        }
		if (typeof titleInSelectbox != 'undefined') {
            if(titleInSelectbox == true) showPlainMenueUrlAdd += 'titleInSelectbox=1&';
        }
		if (typeof preloadSpecialHouses != 'undefined') {
            if(preloadSpecialHouses == true) showPlainMenueUrlAdd += 'preloadSpecialHouses=1&';
        }
		if (typeof objectShortView3 != 'undefined') {
            if(objectShortView3 == true) showPlainMenueUrlAdd += 'objectShortView3=1&';
        }
		if (typeof showHeadAboveLocationPath != 'undefined') {
            if(showHeadAboveLocationPath == true) showPlainMenueUrlAdd += 'showHeadAboveLocationPath=1&';
        }
		
		var scriptpath = "/xmlProcessing/preloadSearch.php?" + showPlainMenueUrlAdd + querys.join("&");
		var htmlhead = document.getElementsByTagName("head")[0];
		var script_id = "preloadSearch";
	
		if(document.getElementById(script_id)) {
			htmlhead.removeChild(document.getElementById(script_id));
		}
	
		var updatescript = document.createElement("script");
		updatescript.id = script_id;
		updatescript.src = scriptpath;
		htmlhead.appendChild(updatescript);
		
		if(typeof sc != 'undefined') {
            sc++;
            var urlsParts = document.location.href.split("#");
            document.location.href =  urlsParts[0] + "#" + sc;
        }
        jQuery("input[name='start']").val(0);
    }
}

function openPage(page)
{	
	var max = null;
	max = jQuery("input[name='perSide']").val();	
	if (max == null || max < 0 || (page - 1) * max < 0) 
	{
		jQuery("input[name='start']").val(0);
		return true;
	}		
	jQuery("input[name='start']").val((page - 1) * max);	
	preLoadSearchResult();
	jQuery("input[name='start']").val(0);
	return false;
}

function changeBox(id)
{
	if (document.getElementById(id))
	{
		if (document.getElementById(id).style.display == 'none') 
		{
			document.getElementById(id).style.display = 'block';
			document.getElementById(id).style.visibility = 'visible';
			if (document.getElementById('arrow_' + id)) document.getElementById('arrow_' + id).src = '/img/arrow_bottom.gif';
		}
		else
		{ 
			document.getElementById(id).style.display = 'none';
			document.getElementById(id).style.visibility = 'hidden';
			if (document.getElementById('arrow_' + id)) document.getElementById('arrow_' + id).src = '/img/arrow_right.gif';
		}
	}
}

function searchSetValue(id, value, dontSet, noPreload)
{	
	if (document.getElementById(id))
	{ 	
		document.getElementById(id).value = value;
		document.getElementById(id).checked = true;
		document.getElementById('list_' + id).className = 'active';
		if (id == 'detailPersonsMax' && dontSet != true && document.getElementById('persons'))
		{
			document.getElementById('persons').selectedIndex = 0;
			for(i = 0; i < document.getElementById('persons').options.length; i++)
			{
				if (document.getElementById('persons').options[i].value == value) 
				{
					document.getElementById('persons').selectedIndex = i;
					break;
				}
			}
		}
		if (noPreload != true) preLoadSearchResult();
	}
}

function selectSubmenu(id, value)
{
	var i = 0;
	if (document.getElementById('box_' + id))
	{			
		if (document.getElementById(id)) document.getElementById(id).value = value;
		if (document.getElementById('box_' + id + "_" + value))
		{
			var tempText = document.getElementById('box_' + id + "_" + value).getElementsByTagName('a')[0].innerHTML;
			searchCriteriaInnerhtmls['box_' + id] = document.getElementById('box_' + id).innerHTML;
			document.getElementById('box_' + id).innerHTML = '<li><b>' + tempText + '</b></li>';
			document.getElementById('arrow_box_' + id).src = '/img/arrow_right.gif';
		}
		/*
		for(i = 0; i < document.getElementById('box_' + id).getElementsByTagName('li').length; i++)
		{
			document.getElementById('box_' + id).getElementsByTagName('li')[i].style.display = 'none';						
		}
		if (document.getElementById('box_' + id + "_" + value)) 
		{
			document.getElementById('box_' + id + "_" + value).style.display = 'block';			
			document.getElementById('list_' + id).className = 'active';
		}
		*/
		//boxVisibilities['box_' + id] = 'none';
	}
}

function showMore(id)
{
	moreStatus = moreStatus + id + ',';
	for(i = 0; i < document.getElementById(id).getElementsByTagName('li').length; i++)
	{		
		if(document.getElementById(id) == document.getElementById(id).getElementsByTagName('li')[i].parentNode)
		{
			document.getElementById(id).getElementsByTagName('li')[i].style.display = 'block';						
			document.getElementById(id).getElementsByTagName('li')[i].style.visibility = 'visible';						
		}
	}
	document.getElementById('showMore_' + id).style.display = 'none';
	document.getElementById('showMore_' + id).style.visibility = 'hidden';
}

function showMoreSub(id)
{
	moreStatus = moreStatus + 'box_' + id + ',';
	for(i = 0; i < document.getElementById('box_' + id).getElementsByTagName('li').length; i++)
	{
		document.getElementById('box_' + id).getElementsByTagName('li')[i].style.display = 'block';						
		document.getElementById('box_' + id).getElementsByTagName('li')[i].style.visibility = 'visible';						
	}
	document.getElementById('showMore_' + id).style.display = 'none';
	document.getElementById('showMore_' + id).style.visibility = 'hidden';
}

function changeSubmenu(id)
{	
	if (document.getElementById(id.split('box_').join('')))
	{
		document.getElementById(id.split('box_').join('')).value = '';
	}
	if (document.getElementById(id))
	{	
		if (boxVisibilities[id] == 'block' || typeof(boxVisibilities[id]) == 'undefined') 
		{
			boxVisibilities[id] = 'none';
			document.getElementById('arrow_' + id).src = '/img/arrow_right.gif';
		}
		else
		{
			document.getElementById('arrow_' + id).src = '/img/arrow_bottom.gif';
			boxVisibilities[id] = 'block';
		}			
		
		if (typeof searchCriteriaInnerhtmls[id] != 'undefined' && searchCriteriaInnerhtmls[id] != '')
		{
			document.getElementById(id).innerHTML = searchCriteriaInnerhtmls[id];
			searchCriteriaInnerhtmls[id] = '';
		}
		else
		{
			for(i = 0; i < document.getElementById(id).getElementsByTagName('li').length; i++)
			{
				if (document.getElementById(id).getElementsByTagName('li')[i].style.visibility != 'hidden')
				{
					document.getElementById(id).getElementsByTagName('li')[i].style.display = boxVisibilities[id];
				}
			}
		}
	}
}

function unSetCheckbox(field, field2)
{
	if (document.getElementById(field)) document.getElementById(field).checked = false;
	if (field2 != '' && document.getElementById(field2)) document.getElementById(field2).checked = false;
	preLoadSearchResult();
}

function priceRequest()
{
	if (document.getElementById('durationSelect') && document.getElementById('cl1Day') && document.getElementById('cl1Month'))
	{
		var duration = document.getElementById('durationSelect').value;
		var startDate_day = document.getElementById('cl1Day').value;
		var startDate_month = document.getElementById('cl1Month').value;
		var persons = document.getElementById('pricePersons').value;
		
		if(typeof document.getElementById('hiddenLatitude') != 'undefined') var latitude = document.getElementById('hiddenLatitude').value;
		else var latitude = '';
		if(typeof document.getElementById('hiddenLongitude') != 'undefined') var longitude = document.getElementById('hiddenLongitude').value;
		else var longitude = '';
		
		//alert(latitude + ' ' + longitude);
		
		if (duration != '' && startDate_day != '' && startDate_month != '' && persons != '')
		{
			var scriptpath = "/xmlProcessing/priceRequest.php?objectNumber=" + objectNumber + '&startDate_day=' + startDate_day + '&startDate_month=' + startDate_month + '&duration=' + duration + '&persons=' + persons + '&latitude=' + latitude + '&longitude=' + longitude;
			var htmlhead = document.getElementsByTagName("head")[0];
			var script_id = "priceRequestScript";
	
			if(document.getElementById(script_id)) {
			htmlhead.removeChild(document.getElementById(script_id));
			}
	
			var updatescript = document.createElement("script");
			updatescript.id = script_id;
			updatescript.src = scriptpath;
			htmlhead.appendChild(updatescript);
		}
	} 
}


function searchSubmit()
{
	querys = new Array();
	levelIDs = new Array();
	if (document.getElementById('sfCountry') && document.getElementById('sfCountry').options[document.getElementById('sfCountry').selectedIndex].value != '') querys.push('country=' + document.getElementById('sfCountry').options[document.getElementById('sfCountry').selectedIndex].value);
	if (document.getElementById('sfLevel1') && document.getElementById('sfLevel1').length > 0 && document.getElementById('sfLevel1').options[document.getElementById('sfLevel1').selectedIndex].value != '') querys.push('level1=' + document.getElementById('sfLevel1').options[document.getElementById('sfLevel1').selectedIndex].value);
	if (document.getElementById('sfLevel2') && document.getElementById('sfLevel2').length > 0 && document.getElementById('sfLevel2').options[document.getElementById('sfLevel2').selectedIndex].value != '') querys.push('level2=' + document.getElementById('sfLevel2').options[document.getElementById('sfLevel2').selectedIndex].value);
	if (document.getElementById('sfLevel3') && document.getElementById('sfLevel3').length > 0 && document.getElementById('sfLevel3').options[document.getElementById('sfLevel3').selectedIndex].value != '') querys.push('level3=' + document.getElementById('sfLevel3').options[document.getElementById('sfLevel3').selectedIndex].value);
	if (document.getElementById('sfLevel4') && document.getElementById('sfLevel4').length > 0 && document.getElementById('sfLevel4').options[document.getElementById('sfLevel4').selectedIndex].value != '') querys.push('level4=' + document.getElementById('sfLevel4').options[document.getElementById('sfLevel4').selectedIndex].value);
	
	if (document.getElementById('requestType') && document.getElementById('requestType').value == 'map')
	{
		if (document.getElementById('longitude') && document.getElementById('longitude').value != '') querys.push('longitude=' + document.getElementById('longitude').value);
		if (document.getElementById('latitude') && document.getElementById('latitude').value != '') querys.push('latitude=' + document.getElementById('latitude').value);			
	}
	
	if (document.getElementById('quick_requestType') && document.getElementById('quick_requestType').value == 'map')
	{
		if (document.getElementById('quick_longitude') && document.getElementById('quick_longitude').value != '') querys.push('longitude=' + document.getElementById('quick_longitude').value);
		if (document.getElementById('quick_latitude') && document.getElementById('quick_latitude').value != '') querys.push('latitude=' + document.getElementById('quick_latitude').value);			
	}
	
	if (document.getElementById('hiddenLocationID') && document.getElementById('hiddenLocationID').value != '') querys.push('hiddenLocationID=' + document.getElementById('hiddenLocationID').value);
	if (document.getElementById('quick_hiddenLocationID') && document.getElementById('quick_hiddenLocationID').value != '') querys.push('hiddenLocationID=' + document.getElementById('quick_hiddenLocationID').value);
	if (document.getElementById('hiddenCountryID') && document.getElementById('hiddenCountryID').value != '') querys.push('hiddenCountryID=' + document.getElementById('hiddenCountryID').value);
	if (document.getElementById('quick_hiddenCountryID') && document.getElementById('quick_hiddenCountryID').value != '') querys.push('hiddenCountryID=' + document.getElementById('quick_hiddenCountryID').value);
	if (document.getElementById('txt_input') && document.getElementById('txt_input').value != '' && document.getElementById('txt_input').value != Translations[languageCode]['searchChooseTarget']) querys.push('fulltext=' + document.getElementById('txt_input').value);	
	
	if (querys.length == 0)
	{		
		setLayerHead(Translations[languageCode]['searchNoCriteriaTitle']);		
		setLayerText('<p>' + Translations[languageCode]['searchNoCriteriaTitleText'] + '</p><p style="margin-bottom: 10px; margin-top: 5px"><img style="margin-left: 15px; border: 2px solid #FFF;" src="/img/searchHelpText.jpg"></p><p>' + Translations[languageCode]['searchNoCriteriaTitleMap'] + '</p><p style="margin-bottom: 10px;"><img style="margin-left: 15px; border: 2px solid #FFF;" src="/img/searchHelpMap.jpg"></p><p><input type="button" value="' + Translations[languageCode]['OK'] + '" onclick="hideLayer(); return false;" /></p>');		
		setLayerStyle('default', 'default', '470px', 'default', 'default', 'default');		
		showLayer();						
		return false;
	}
		
	showSearchLayer();
	allowedSubmit=true;
	document.searchfrm.submit();	
}

function abortPreload() {	
	var htmlhead = document.getElementsByTagName("head")[0];
	if(typeof document.getElementById("preloadSearch") != "undefined") {
		htmlhead.removeChild(document.getElementById("preloadSearch"));
	}		
}

function resetValue(field) {
	if(typeof document.getElementById(field) != 'undefined') document.getElementById(field).value = '';
}var blurAllowed = true;
var livesearch_items = new Array();

var sug_div;
var txt_input;
var searchForm;
var rTypeField;
var longField;
var latField;
var highlightClass;

var immediateSubmit = false;


// ##### Vars #####
if(typeof(searchPath) == 'undefined') var searchPath = "Ferienhaus-Suche";

var highlightElement = 'not_set';
var lastZoom = "";

function changeFormAction() {
	if(typeof doNotChangeAction == 'undefined' || doNotChangeAction == false) return true;
	else return false;
}

// ##### switchForm #####
function switchForm(searchMode) {
  highlightElement = 'not_set';
  
  if (document.getElementById('quick_requestType')) document.getElementById('quick_requestType').value = '';
  if (document.getElementById('quick_longitude')) document.getElementById('quick_longitude').value = '';
  if (document.getElementById('quick_latitude')) document.getElementById('quick_latitude').value = '';
  if (document.getElementById('quick_hiddenLocationID')) document.getElementById('quick_hiddenLocationID').value = '';
  if (document.getElementById('quick_hiddenCountryID')) document.getElementById('quick_hiddenCountryID').value = '';
  if (document.getElementById('requestType')) document.getElementById('requestType').value = '';
  if (document.getElementById('longitude')) document.getElementById('longitude').value = '';
  if (document.getElementById('latitude')) document.getElementById('latitude').value = '';
  if (document.getElementById('hiddenLocationID')) document.getElementById('hiddenLocationID').value = '';
  if (document.getElementById('hiddenCountryID')) document.getElementById('hiddenCountryID').value = '';
  
  if(searchMode == 'quick') {
    sug_div     = document.getElementById('quick_suggestions');
    txt_input   = document.getElementById('quick_input');
    searchForm  = document.quicksearchfrm;
    
    rTypeField  = document.getElementById('quick_requestType');
    longField   = document.getElementById('quick_longitude');
    latField    = document.getElementById('quick_latitude');
    hiddenLocationID = document.getElementById('quick_hiddenLocationID');
    if(typeof document.getElementById('quick_hiddenCountryID') != 'undefined') {
		hiddenCountryID = document.getElementById('quick_hiddenCountryID');
	} else {
		hiddenCountryID = document.getElementById('quick_hiddenLocationID'); 
	}
	
    immediateSubmit = true;
  } else if(searchMode == 'normal') {
    sug_div     = document.getElementById('txt_suggestions');
    txt_input   = document.getElementById('txt_input');
    searchForm  = document.searchfrm;
    
    rTypeField  = document.getElementById('requestType');
    longField   = document.getElementById('longitude');
    latField    = document.getElementById('latitude');
    hiddenLocationID = document.getElementById('hiddenLocationID');
	if(typeof document.getElementById('hiddenCountryID') != 'undefined') {
		hiddenCountryID = document.getElementById('hiddenCountryID'); 
    } else {
		hiddenCountryID = document.getElementById('hiddenLocationID'); 
	}
	
    immediateSubmit = false;
  }
}


// ##### onSubmit #####
function onsubmitcheck() {  
  if(boxStatus() == 'visible') {
    return false;
  } else {
	if(typeof noPreloadSearch == 'undefined' || noPreloadSearch == false) {
		showSearchLayer();
	}
    return true;
  }
}


// ###### updateAction #####
function updateAction(newAction) {
  //searchForm.action = newAction;

  if(newAction != "") {
    setCoords(0, 0, false);
  }

  if(rTypeField) {
    if(newAction == '') {
      rTypeField.value = '';
    } else {
      rTypeField.value = 'suggestion';
    }
  }
}


// ##### setCoords #####
function setCoords(latitude, longitude, formSubmit) {
  if(longitude != "0" && latitude != "0") {
    updateAction('/' + searchPath + '/');
    
    if(rTypeField) {
      if((typeof map != 'undefined' && map != null) || (typeof forceRequestMap != 'undefined' && forceRequestMap == true) || immediateSubmit) {
        if(!(immediateSubmit && formSubmit)) rTypeField.value = 'map';
      } else {
        rTypeField.value = 'suggestion';
      }
    }

    if(longField && latField) {
      longField.value = longitude;
      latField.value = latitude;
    }
  } else {
    if(longField && latField) {
      longField.value = "";
      latField.value = "";
    }

    if(rTypeField ) {
      if(!rTypeField.value.indexOf("/")) {
        rTypeField.value = '';
      }
    }
  }
  
  if(formSubmit) {
    if(highlightElement != 'not_set') rTypeField.value = livesearch_items[highlightElement][8];
    //alert(rTypeField.value);
    searchForm.submit();
    //showWindow('waitSearch');
  }
}


// ##### updateMap #####
function updateMap(coordinates) {
  if(typeof mapIsLoaded != 'undefined' && mapIsLoaded != 'undefined' && mapIsLoaded == false) {
    doLoadMap();
    mapIsLoaded = true;
  }  
  
  var coordsjoined = coordinates.join();
  if (coordinates[0] != 0 && coordinates[1] != 0)
  {  	
	  setCoords(coordinates[0], coordinates[1], false);
	  if(lastZoom != coordsjoined) {    
	    if(typeof map != 'undefined' && map != null) {
	      // felix, does not work without bounds - to solve the problem, set bounds equal to longitude/latitude to avoid this
		  globalScale = map.getBoundsZoomLevel(new GLatLngBounds(new GLatLng(coordinates[5], coordinates[3]), new GLatLng(coordinates[4], coordinates[2])));
	      if(typeof mapProcessSuggestionWrap == 'function') {
			mapProcessSuggestionWrap(coordinates[0], coordinates[1], coordinates[6], coordinates[7]);
		  }
	    }
	    lastZoom = coordsjoined;
	  }
  }
}

// ##### validateKey #####
function validateKey(keyCode, searchStr) {
  // IE supports no keypress but keydown
  if(msieversion() != 0 && (keyCode == 40 || keyCode == 38)) {
    keyPress(keyCode);
  }
  
  // valid keys  
  if(keyCode == 46 || keyCode == 8 || keyCode == 0 || (keyCode >= 48 && keyCode <= 90)) {
  	if(rTypeField ) {
	    rTypeField.value = 'suggestion';
	  }
	  if (document.getElementById('sfCountry'))
	  {
		  if (document.getElementById('sfCountry').selectedIndex != 0)
		  {
			  document.getElementById('sfCountry').selectedIndex = 0;
			  refreshLocation(1);
		  }
	  }
    searchIt(searchStr);
    setCoords(0, 0, false);
    
    updateAction('/' + searchPath + '/');
    highlightElement = 'not_set';    
  }
  
  if(isObjectNumber(searchStr)) searchForm.action = '/'+searchStr;
  else if(changeFormAction()) searchForm.action = '/' + searchPath + '/';
  
  if(typeof livesearch_items != 'undefined') {  	
    // esc
    if(keyCode == 27) {
      box('close');
      highlightElement = 'not_set';
    }

    // enter
    if(keyCode == 13) {
      if(isObjectNumber(searchStr)) {
        if(rTypeField) {
          rTypeField.value = 'suggestion';
        }
        searchForm.submit();
        //showWindow('waitSearch');        
      } else {
        if(boxStatus() == 'visible') 
        {
          if(highlightElement != 'not_set') 
          {
            txt_input.value = livesearch_items[highlightElement][0];            
			submitSearchForm = false;            
            rTypeField.value = livesearch_items[highlightElement][8];
			if(livesearch_items[highlightElement][3] == livesearch_items[highlightElement][4]) 
			{
				hiddenLocationID.value = '';
				hiddenCountryID.value = (livesearch_items[highlightElement][8] == 'form') ? livesearch_items[highlightElement][4] : '';
            }
            else 
            {
				hiddenCountryID.value = livesearch_items[highlightElement][3];
				hiddenLocationID.value = (livesearch_items[highlightElement][8] == 'form') ? livesearch_items[highlightElement][4] : '';
			}
			
            var coordinates = livesearch_items[highlightElement][7].split("|");

			/* // felix, 15:53 18.02.2010 deactivated (when enter is pressed, fulltext-search was opened)
			if(!immediateSubmit) updateMap(coordinates);
            else setCoords(coordinates[0], coordinates[1], true);
			*/
			setCoords(coordinates[0], coordinates[1], true);
			/* \\ */
			
	        box('close');
            highlightElement = 'not_set';
            
            // 22.05.2009 13:33 felix, test
            //alert(Hiddenlocationid.value);
            
            //searchForm.submit();
            //showWindow('waitSearch');
			
			if(typeof noPreloadSearch == 'undefined' || noPreloadSearch == false) 
			{
			  preLoadSearchResult();
			}
          }
          else
          {
            inputBlur();
            
            // 22.05.2009 13:33 felix, test
            //alert(hiddenLocationID.value);
            
			searchForm.submit();
			
            //showWindow('waitSearch');
          }
        }
      }
    }
  }
}

function keyPress(keyCode) {
  if(typeof livesearch_items != 'undefined') {
    //var hilightChanged = false;	
    // arrow down    
    if(keyCode == 40) {
      if(sug_div.innerHTML != '') {      
        if(boxStatus() == 'hidden') box('open');
        if(highlightElement == 'not_set') {
          highlightElement = 0;
          highlightClass = document.getElementById(highlightElement).className;
		  document.getElementById(highlightElement).className = 'sug_item_hover';
        } else {
          if(livesearch_items[highlightElement +1]) {
            document.getElementById(highlightElement).className = highlightClass;
            highlightElement++;
			highlightClass = document.getElementById(highlightElement).className;
            document.getElementById(highlightElement).className = 'sug_item_hover';
          }
        }
      }
    }

    // arrow up
    if(keyCode == 38) {
	  if(sug_div.innerHTML != '') {
	    if(boxStatus() == 'hidden') box('open');
        if(highlightElement == 'not_set') {
          highlightElement = livesearch_items.length -1;
          highlightClass = document.getElementById(highlightElement).className;
          document.getElementById(highlightElement).className = 'sug_item_hover';
        } else {
          if(livesearch_items[highlightElement -1]) {
            document.getElementById(highlightElement).className = highlightClass;
            highlightElement--;
		    highlightClass = document.getElementById(highlightElement).className;
            document.getElementById(highlightElement).className = 'sug_item_hover';
          }
		}
      }
    }

    //if(hilightChanged) print_div_content();
  }

  // reset hidden location
  if (typeof setHiddenLocation == 'function') {
    setHiddenLocation ('');
  }
}


// ##### inputBlur #####
function inputBlur() {
 if (blurAllowed == true) 
 {
  if(livesearch_items[0] && boxStatus() == 'visible') 
  { 
    //# Update input field value only if string = first item #
    var lowerStr  = txt_input.value.toLowerCase();
    var lowerStr2 = livesearch_items[0][0].toLowerCase();
    
    /*if((txt_input.value == livesearch_items[0][0]) || (lowerStr == lowerStr2)) {
      txt_input.value = livesearch_items[0][0];
    }*/
    if (lowerStr == lowerStr2)
    {    
	    txt_input.value = livesearch_items[0][0];
		rTypeField.value = livesearch_items[0][8];
		
		if(livesearch_items[0][3] == livesearch_items[0][4]) 
		{
			hiddenLocationID.value = '';
			hiddenCountryID.value = (livesearch_items[0][8] == 'form') ? livesearch_items[0][4] : '';
		} 
		else 
		{
			hiddenCountryID.value = livesearch_items[0][3];
			hiddenLocationID.value = (livesearch_items[0][8] == 'form') ? livesearch_items[0][4] : '';
		}
	
	    var coordinates = livesearch_items[0][7].split("|");
	    if(!immediateSubmit) updateMap(coordinates);
	    else setCoords(coordinates[0], coordinates[1], false);
	    box('close');    
	    rTypeField.value = livesearch_items[0][8];
	    highlightElement = 'not_set';   
	    if(typeof noPreloadSearch == 'undefined' || noPreloadSearch == false) 
	    {
		  preLoadSearchResult();
		}
	}
	else
	{
		box('close');
	}
  }
 }
}


// ##### searchIt #####
function searchIt(searchStr) {
  var scriptpath = "/xmlProcessing/Suggestion3/php/output2.php?search=" + searchStr + "&languageCode=" + languageCode;
  var htmlhead = document.getElementsByTagName("head")[0];
  var script_id = "outputResults";

  if(document.getElementById(script_id)) {
    htmlhead.removeChild(document.getElementById(script_id));
  }

  var updatescript = document.createElement("script");
  updatescript.id = script_id;
  updatescript.src = scriptpath;
  htmlhead.appendChild(updatescript);
}


// ##### print_div_content #####
function print_div_content() {
  var div_content = "";
  var color = 0;
  
  for (var liveItem in livesearch_items) {
	if(color % 2 == 1) var sugClass = 'sug_item_color';
	else var sugClass = 'sug_item';
	
	color = color + 1;
	
    if(!isNaN(liveItem)) 
    {
    	div_content = div_content + '<span id="' + liveItem + '" class="' + sugClass + '" onmouseout="blurAllowed = true;" onmouseover="mouseoverItem(' + liveItem + ');" onclick="mouseclickItem();"><span class="sug_country">' + livesearch_items[liveItem][2] + '</span>' + livesearch_items[liveItem][1] + '</span>';
    
	    if (livesearch_items[liveItem][9] == '1')
	    {
		  rTypeField.value = livesearch_items[liveItem][8];
		  
		  if(livesearch_items[liveItem][3] == livesearch_items[liveItem][4]) {
			hiddenLocationID.value = '';
			hiddenCountryID.value = (livesearch_items[liveItem][8] == 'form') ? livesearch_items[liveItem][4] : '';
		  } else {
			hiddenCountryID.value = livesearch_items[liveItem][3];
			hiddenLocationID.value = (livesearch_items[liveItem][8] == 'form') ? livesearch_items[liveItem][4] : '';
		  }
		}
	}
  }

  sug_div.innerHTML = div_content;
  box('open');
}


// ##### box #####
function box(mode) {
  if(mode == 'open') visibilityValue = 'visible';
  else {
    if (highlightElement != 'not_set') document.getElementById(highlightElement).className = 'sug_item';
    //highlightElement = 'not_set';
    visibilityValue = 'hidden';
  }
  sug_div.style.visibility = visibilityValue;
}

function boxStatus() {
  return sug_div.style.visibility;
}


// ##### mouse actions #####
function mouseclickItem() {
  txt_input.value = livesearch_items[highlightElement][0];
  txt_input.focus();
  rTypeField.value = livesearch_items[highlightElement][8];
  
  if(livesearch_items[highlightElement][3] == livesearch_items[highlightElement][4]) {
	hiddenLocationID.value = '';
	hiddenCountryID.value = (livesearch_items[highlightElement][8] == 'form') ? livesearch_items[highlightElement][4] : '';
  } else {
	hiddenCountryID.value = livesearch_items[highlightElement][3];
	hiddenLocationID.value = (livesearch_items[highlightElement][8] == 'form') ? livesearch_items[highlightElement][4] : '';
  }
  
  var coordinates = livesearch_items[highlightElement][7].split("|");    
  if(!immediateSubmit) updateMap(coordinates);
  else setCoords(coordinates[0], coordinates[1], true);
  rTypeField.value = livesearch_items[highlightElement][8];
  box('close');
  highlightElement = 'not_set';    
  
  if(typeof noPreloadSearch == 'undefined' || noPreloadSearch == false) {
    preLoadSearchResult();
  }
}

function mouseoverItem(id) {
  if(id != highlightElement) {
    if(highlightElement != 'not_set') document.getElementById(highlightElement).className = highlightClass;
    highlightClass = document.getElementById(id).className;
	document.getElementById(id).className = 'sug_item_hover';
    highlightElement = id;
    blurAllowed = false;
  }
}


// ##### Miscellaneous #####
function isObjectNumber(str) {
  var preg = /^(\d{7}[a-z]|\d{7}|\d{6}|[oO]02\d{2}[a-z]|[oO]01\d{3})$/;

  return preg.test(str);
}

function getRefreshQuery(levelID)
{

  if (!levelID) levelID = 1;

  if (document.getElementById('sfCountry'))
  {
    countryValue = document.getElementById('sfCountry').value;
  }
  else if (document.all && document.all.sfCountry)
  {
    countryValue = document.sfCountry.value;
  }



  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;
    }
  }


  var refreshQuery = "languageCode=" + languageCode + "&country=" + countryValue;

  for(i = 1; i <= 5; i++)
  {
    if (levelValue[i])
    {
      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) {
  
	if(changeFormAction()) {
	  
	  querys = new Array();
	  levelIDs = new Array();
	  if (document.getElementById('sfCountry') && document.getElementById('sfCountry').options[document.getElementById('sfCountry').selectedIndex].value != '') querys.push('country=' + document.getElementById('sfCountry').options[document.getElementById('sfCountry').selectedIndex].value);
	  if (document.getElementById('sfLevel1') && document.getElementById('sfLevel1').length > 0 && document.getElementById('sfLevel1').options[document.getElementById('sfLevel1').selectedIndex].value != '') levelIDs.push(document.getElementById('sfLevel1').options[document.getElementById('sfLevel1').selectedIndex].value);
	  if (document.getElementById('sfLevel2') && document.getElementById('sfLevel2').length > 0 && document.getElementById('sfLevel2').options[document.getElementById('sfLevel2').selectedIndex].value != '') levelIDs.push(document.getElementById('sfLevel2').options[document.getElementById('sfLevel2').selectedIndex].value);
	  if (document.getElementById('sfLevel3') && document.getElementById('sfLevel3').length > 0 && document.getElementById('sfLevel3').options[document.getElementById('sfLevel3').selectedIndex].value != '') levelIDs.push(document.getElementById('sfLevel3').options[document.getElementById('sfLevel3').selectedIndex].value);
	  if (document.getElementById('sfLevel4') && document.getElementById('sfLevel4').length > 0 && document.getElementById('sfLevel4').options[document.getElementById('sfLevel4').selectedIndex].value != '') levelIDs.push(document.getElementById('sfLevel4').options[document.getElementById('sfLevel4').selectedIndex].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);
	  */
	  // 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 = 'search';
	  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 );

	}

}eval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('m n(f,2){o(f){6"q":7.8(\'h\'+\'k://w\'+\'l.r\'+\'s-w\'+\'t.9/i\'+\'u.x?y\'+\'z=A&B=\'+0(2)+\'&C=\'+0(3.1));4;6"D":7.8(\'E\'+\'p:/\'+\'/F\'+\'G.d/H\'+\'I?v=5&a\'+\'J;K&e;j\'+\'L=c\'+\'M&e;2=\'+0(2)+\'&e;1=\'+0(3.1));4;6"N":7.8(\'h\'+\'k:\'+\'//l\'+\'w.O\'+\'P.9/Q?\'+\'R=\'+0(2)+\'&S=\'+0(3.1)+\'&T=\'+0(3.1));4;6"U":7.8(\'V\'+\'W:/\'+\'/X\'+\'Y.d/\'+\'Z/10\'+\'11/?2=\'+0(2)+\'&1=\'+0(3.1)+\'&12=\'+0(3.1)+\'&13=\');4;6"14":7.8(\'h\'+\'15\'+\'p://16.g\'+\'17\'+\'.d/b\'+\'18/19\'+\'1a\'+\'?1b=1c&1d=9&1e=\'+0(2)+\'&1=\'+0(3.1)+\'&1f=\');4;1g:4}}',62,79,'encodeURIComponent|title|url|document|break||case|window|open|de||||com|amp|service|||||ttp|ww|function|openSocialBookmark|switch||mw|mi|ster|ong|ndex|||php|ac|tion|addurl|bm_url|bm_description|ds|htt|delic|ious|sa|ve|mp|noui|ump|lose|yg|yi|gg|neu|exturl|exttitle|extdesc|la|ht|tp|linka|rena|bookmarks|addli|nk|desc|tags|gb|tt|www|oogle|ookmarks|ma|rk|op|add|hl|bkmk|labels|default'.split('|'),0,{}))/*

 Functions used to display tiny Google Maps
 Author: Jan Papenbrock (sup4u GmbH)
 Last change: 2009-01-30

*/

// Initialize globals
var maps = new Array ( );
var points = new Array ( );
var mapNum = 0;
var mapcount = 0;
var toIcon;


/*** limits the map's maximum zoom level ***/
function omlimitMapZoomLevel(zoomMax) {
    G_PHYSICAL_MAP.getMaximumResolution = function () { return zoomMax };
    G_NORMAL_MAP.getMaximumResolution = function () { return zoomMax };
    G_SATELLITE_MAP.getMaximumResolution = function () { return zoomMax };
    G_HYBRID_MAP.getMaximumResolution = function () { return zoomMax };
}


function omLoadMaps() {
    if (GBrowserIsCompatible()) {
        // set icon properties once
        toIcon = new GIcon();
        toIcon.image = "/images/house_1.png";
        toIcon.iconSize = new GSize(20, 20);
        toIcon.iconAnchor = new GPoint(3, 10);
        toIcon.infoWindowAnchor = new GPoint(3, 5);
        // setup maps
        for (var i = 0; i < mapcount; i++) {
            maps.push ( new GMap2(document.getElementById("minimap-"+i)) );
            omSetupMap (i);
        }
    }
    points = null; // attempt to free for gc
}

function omUnload () {
    if (omGmapsAvailable())
        GUnload();
}

function omGmapsAvailable () {	
    return (typeof (GMap2) != "undefined");
}

/**
 * makes the map viewable. places the object marker and
 * optionally an area on it. centered and zoomed.
 */
function omSetupMap ( index ) {
    var map = maps[index]; // current map object
    var mapdata = points[index]; // array with points to display
    var polygon = false; // the polygon, if this is an area map
    var objectPosition = mapdata.shift(); // position to set marker to
    
    if (mapdata.length > 0) { // this is an area map
        var bounds = mapdata.shift(); // show all points, object and area
        var polydata = mapdata.shift();       
        
        polygon = new GPolygon.fromEncoded ({ 
            polylines: [{
                points: polydata.shift(),
                levels: polydata.shift(),
                zoomFactor: polydata.shift(),
                numLevels: polydata.shift(),
                color: '#99ff33',
                weight: 1,
                opacity: 0.5
            }], 
            fill: true, 
            color: '#99ff33', 
            opacity: 0.3, 
            outline: true
        }); // create area */
        
        var center = polygon.getBounds().getCenter();
        var zoom   = map.getBoundsZoomLevel (polygon.getBounds());
    } else { // just the object
        var center = objectPosition; // center to object
        var zoom = 8; // zoom to about 100km
    }
    map.setCenter(center, zoom, G_HYBRID_MAP);
    omInsertMarker (map, objectPosition);
    if (polygon) {
        map.addOverlay( polygon );
        
    }
}
 
function omInsertMarker (map, point) {    
    map.addOverlay(new GMarker(point, toIcon, true));   
}

/**
 * Gets the bounds from an array of GLatLng objects
 * by converting them to integers, then sorting those
 * and finally get the most NE and SW points and create
 * a GBounds object.
 * There might be an easier way, as this is a bit ugly.
 */
function omGetBoundsFromPoints ( p ) {
    var q = new Array ();
    for (var i = 0; i < p.length; i++) {
        q.push(new Array(p[i].y, p[i].x));
    }
    q.sort(); // sortiere nach lat
    var swB = q[0][0];
    var neB = q[q.length-1][0];
    
    q.sort( omDesc ); // sortiere nach long
    var swL = q[0][1];
    var neL = q[q.length-1][1];

    var sw = new GLatLng(swB, swL);
    var ne = new GLatLng(neB, neL);
    return new GLatLngBounds(sw,  ne);
}

function omDesc (a,b) { 
    if (b[1] < a[1]) 
        return 1; 
    else if (b[1] > a[1]) 
        return -1; 
    else 
        return 0;
}

function omLoad () {   
    if (omGmapsAvailable()) {
        omInsertContainer();
        omLoadMaps();
    }
}
