/*
  Menü-Funktionen für IE6
*/
var lastaction = new Array(0, 0, 0, 0);
function enableMenu(id, menu, menutitel, enabled, mainstyle)
{
  if (enabled) {
    document.getElementById(menu).style.display='block';
	document.getElementById(menutitel).className='other active';
	lastaction[id]++;
  } else {
	setTimeout('disableMenu('+id+', "'+menu+'", "'+menutitel+'", "'+mainstyle+'", '+lastaction[id]+')', 100);
  }
}
function disableMenu(id, menu, menutitel, mainstyle, lastid)
{
  if (lastaction[id] == lastid) {
    document.getElementById(menu).style.display='none';
	document.getElementById(menutitel).className=mainstyle;
  }
}

/*
  Funktionen für Google-Maps
*/
function createMarker(point, text, moptions)
{
  var marker = new GMarker(point, moptions);
  GEvent.addListener(marker, "click", function() {
    marker.openInfoWindowHtml(text);
  });
  return marker;
}

var ovmap;

function showMapPosition(obj, zoom, points) {
  if (GBrowserIsCompatible()) {
	map = new GMap2(obj);
	if (zoom == 0) {
      map.setCenter(new GLatLng(points[0][0], points[0][1]), 7);
	} else {
      map.setCenter(new GLatLng(points[0][0], points[0][1]), zoom);
	}
	map.addControl(new GLargeMapControl());
	map.addControl(new GMapTypeControl()); 
/*	var ovcontrol = new GOverviewMapControl(new GSize(100, 100));
	map.addControl(ovcontrol);
	ovmap = ovcontrol.getOverviewMap();
	setTimeout("ovmap.setZoom(4);",5000); */

	var mapIcon;
	var markerOptions;
	var bounds = new GLatLngBounds();
	
	for (var cnt = 0; cnt < points.length; cnt++) {
      mapIcon = new GIcon(G_DEFAULT_ICON);
	  if (points[cnt][2] == 'blueIcon') {
	    mapIcon.image = 'http://labs.google.com/ridefinder/images/mm_20_blue.png';
	    mapIcon.shadow = 'http://labs.google.com/ridefinder/images/mm_20_shadow.png';
	    mapIcon.iconSize = new GSize(12, 20);
	    mapIcon.shadowSize = new GSize(22, 20);
	    mapIcon.iconAnchor = new GPoint(6, 20);
	    mapIcon.infoWindowAnchor = new GPoint(5, 1);
	  } else if (points[cnt][2] == 'redIcon') {
	    mapIcon.image = 'http://labs.google.com/ridefinder/images/mm_20_red.png';
	    mapIcon.shadow = 'http://labs.google.com/ridefinder/images/mm_20_shadow.png';
	    mapIcon.iconSize = new GSize(12, 20);
	    mapIcon.shadowSize = new GSize(22, 20);
	    mapIcon.iconAnchor = new GPoint(6, 20);
	    mapIcon.infoWindowAnchor = new GPoint(5, 1);
	  } else if (points[cnt][2] == 'portalIcon') {
	    mapIcon.image = portalurl+'/images/map_hotelicon.gif';
        mapIcon.iconSize = new GSize(24, 24);
        mapIcon.shadowSize = new GSize(24, 24);
        mapIcon.iconAnchor = new GPoint(12, 12);
	    mapIcon.infoWindowAnchor = new GPoint(5, 1);
	  }
	  markerOptions = { icon:mapIcon };
	  map.addOverlay(createMarker(new GLatLng(points[cnt][0], points[cnt][1]), '<span class="CityMapOverlay">'+points[cnt][3]+'</span>', markerOptions)); 
	  bounds.extend(new GLatLng(points[cnt][0], points[cnt][1]));
	}
	if (zoom == 0) {
	  map.setCenter(bounds.getCenter(), map.getBoundsZoomLevel(bounds));
	  map.savePosition();
	}
  }
}

function openCloseMap(mclose, points, zoom)
{
  if (mclose == 0) {
    document.getElementById('CityMap').style.display = '';
    var windowsize = getSize();
    var value = Math.round((windowsize[1]/2)-340);
    document.getElementById("CityMap").style.top="100px";
    value = Math.round((windowsize[0]/2)-340);
    document.getElementById("CityMap").style.left="50px"; 
	showMapPosition(document.getElementById("CityMapContent"), zoom, points);
  } else {
    document.getElementById('CityMap').style.display = 'none';
  }
}

/*
  Disclaimer Popup
*/
function DisclaimerBox()
{
  openurl=window.open('disclaimer_popup.php'+systemsessionparamez, 'fenster', 'directories=no,scrollbars=yes,status=no,resizable=yes,toolbar=yes,width=600,height=500,screenX=0,screenY=0');
}


/*
  Nachsortierung Trefferliste
*/
function showNavSearchInfo()
{
  var typestr = '';
  for (var key in sorttype) {
	if (document.getElementById('ErweitertHotelTyp'+sorttype[key]).checked) {
	  typestr = typestr+''+sorttype[key];
	}
  }
  var techstr = '';
  for (var key in sorttech) {
	if (document.getElementById('ErweitertHotelTech'+sorttech[key]).checked) {
	  techstr = techstr+''+sorttech[key];
	}
  }
  var hotelstr = '';
  for (var key in sorthotel) {
	if (document.getElementById('ErweitertHotelAusstattung'+sorthotel[key]).checked) {
	  hotelstr = hotelstr+''+sorthotel[key];
	}
  }
  var spastr = '';
  for (var key in sortspa) {
	if (document.getElementById('ErweitertHotelSpa'+sortspa[key]).checked) {
	  spastr = spastr+''+sortspa[key];
	}
  }
  with (new Ajax()) {
    url="/ajax/navisort.php";
    params = "SortSchwerpunkt="+encodeURI(typestr)+"&SortTagung="+encodeURI(techstr)+"&SortHotel="+encodeURI(hotelstr)+"&SortFreizeit="+encodeURI(spastr)+"&rand="+Math.floor(Math.random()*99999999999)+systemsessionparammz;
	onSuccess=sortSuccess;
	onError=sortError;
	doRequest();
  }
}

function sortSuccess(txt, xml)
{
  if (txt.substring(0, 3) == 'OK#') {
    var elements = txt.split('#');
    var anzahl = elements[1];
	document.getElementById('NaviSearchHotelCount').innerHTML=anzahl;
	
    var schwerpunkte = elements[2].split(';');
    for (var key in sorttype) {
	  document.getElementById('NaviSearchTypeItem'+sorttype[key]).className = 'NavSearchListThemeItemGray';
	  document.getElementById('NaviSearchType'+sorttype[key]).innerHTML ='0';
	  document.getElementById('ErweitertHotelTyp'+sorttype[key]).disabled = true;
    }
	if (schwerpunkte.length) {
	  for (var cnt = 0; cnt < schwerpunkte.length; cnt++) {
		schwerpunkt = schwerpunkte[cnt].split('=');
		if (document.getElementById('NaviSearchType'+schwerpunkt[0])) {
		  document.getElementById('NaviSearchType'+schwerpunkt[0]).innerHTML = schwerpunkt[1];
		  document.getElementById('NaviSearchTypeItem'+schwerpunkt[0]).className = 'NavSearchListThemeItem';
		  document.getElementById('ErweitertHotelTyp'+schwerpunkt[0]).disabled = false;
		}
	  }
	}
	
    var technik = elements[3].split(';');
    for (var key in sorttech) {
	  document.getElementById('NaviSearchTechItem'+sorttech[key]).className = 'NavSearchListThemeItemGray';
	  document.getElementById('NaviSearchTech'+sorttech[key]).innerHTML ='0';
	  document.getElementById('ErweitertHotelTech'+sorttech[key]).disabled = true;
    }
	if (technik.length) {
	  for (var cnt = 0; cnt < technik.length; cnt++) {
		ttechnik = technik[cnt].split('=');
		if (document.getElementById('NaviSearchTech'+ttechnik[0])) {
		  document.getElementById('NaviSearchTech'+ttechnik[0]).innerHTML = ttechnik[1];
		  document.getElementById('NaviSearchTechItem'+ttechnik[0]).className = 'NavSearchListThemeItem';
		  document.getElementById('ErweitertHotelTech'+ttechnik[0]).disabled = false;
		}
	  }
	}
	
    var hotels = elements[4].split(';');
    for (var key in sorthotel) {
	  document.getElementById('NaviSearchHotelItem'+sorthotel[key]).className = 'NavSearchListThemeItemGray';
	  document.getElementById('NaviSearchHotel'+sorthotel[key]).innerHTML ='0';
	  document.getElementById('ErweitertHotelAusstattung'+sorthotel[key]).disabled = true;
    }
	if (hotels.length) {
	  for (var cnt = 0; cnt < hotels.length; cnt++) {
		hotel = hotels[cnt].split('=');
		if (document.getElementById('NaviSearchHotel'+hotel[0])) {
		  document.getElementById('NaviSearchHotel'+hotel[0]).innerHTML = hotel[1];
		  document.getElementById('NaviSearchHotelItem'+hotel[0]).className = 'NavSearchListThemeItem';
		  document.getElementById('ErweitertHotelAusstattung'+hotel[0]).disabled = false;
		}
	  }
	}
	
    var spa = elements[5].split(';');
    for (var key in sortspa) {
	  document.getElementById('NaviSearchSpaItem'+sortspa[key]).className = 'NavSearchListThemeItemGray';
	  document.getElementById('NaviSearchSpa'+sortspa[key]).innerHTML ='0';
	  document.getElementById('ErweitertHotelSpa'+sortspa[key]).disabled = true;
    }
	if (spa.length) {
	  for (var cnt = 0; cnt < spa.length; cnt++) {
		spaitem = spa[cnt].split('=');
		if (document.getElementById('NaviSearchSpa'+spaitem[0])) {
		  document.getElementById('NaviSearchSpa'+spaitem[0]).innerHTML = spaitem[1];
		  document.getElementById('NaviSearchSpaItem'+spaitem[0]).className = 'NavSearchListThemeItem';
		  document.getElementById('ErweitertHotelSpa'+spaitem[0]).disabled = false;
		}
	  }
	}
	
    document.getElementById('NaviSearchInfo').style.display='';
  }
}

function sortError(msg)
{
}

/*
  Stadtauswahl Daten holen
*/
function checkAJAX() 
{
  with (new Ajax()) {
    url="/ajax/check_ajax.php";
    params = "rand="+Math.floor(Math.random()*99999999999)+systemsessionparammz;
	onSuccess=checkAJAXSuccess;
	onError=checkAJAXError;
	doRequest();
  }
  return true;
}

function checkAJAXSuccess(txt, xml)
{
}

function checkAJAXError(msg)
{
}

/*
  Stadtauswahl Suche
*/
var lastAjaxRequest = 0;
var findCityObject;
var findCityMap;
var maxCityObjects = -1;
var selCityObjects = -1;
var cityObjects = new Array();
var openCitySel = 0;
var findCityIsHome = 0;

function initFindCity(obj, disableMap, ishome)
{
  if (obj) {
    findCityObject = obj;
    findCityMap = disableMap;
    findCityIsHome = ishome;
    obj.onfocus=findCityFocus;
    obj.onblur=findCityBlur;
    obj.onkeyup=findCityKey;
    document.ErweiterForm.onsubmit=returnCheck;
	if (findCityIsHome && (document.ErweiterForm.OrtEingabe.value == '')) {
	  document.ErweiterForm.OrtEingabe.value=inputcitydefault; 
	  document.ErweiterForm.OrtEingabe.style.color='#909090';
	}
  }
}

function findCityFocus(res)
{
  if ((findCityIsHome > 0) && (findCityObject.value == inputcitydefault))
  {
	findCityObject.value = ''; 
	findCityObject.style.color='#000';
  }
}

function findCityBlur(res)
{
  if (findCityIsHome > 0)
  {
	showHideCityBox('INPUT', false); 
    if (findCityObject.value == '') 
	{
	  findCityObject.value = inputcitydefault; 
	  findCityObject.style.color='#909090';
	}
  }
  openCitySel = 0;
}

function returnCheck(res)
{
  
  if (openCitySel == 1) {
	if (selCityObjects >= 0) {
	  eval(cityObjects[selCityObjects]);
	  findCityObject.blur();
	}
    openCitySel = 0;
	if (findCityIsHome > 0) {
	  showHideCityBox(false);
	  if (document.getElementById('SearchSubmitButton')) {
		document.getElementById('SearchSubmitButton').focus();
	  }
	}
    return false;
  } else {
	return true;
  }
}

function findCityKey(res)
{
  if (!res)
    res = window.event;
  if (res.which) {
    code = res.which;
  } else if (res.keyCode) {
    code = res.keyCode;
  }
  if ((code == 38)) {
	if ((selCityObjects > 0) && (maxCityObjects > 0)) {
	  selCityObjects--;
	  highlightCity(selCityObjects);
	  openCitySel=1;
	}
  } 
  else if ((code == 40)) {
	if (selCityObjects < maxCityObjects-1) {
	  selCityObjects++;
	  highlightCity(selCityObjects);
	  openCitySel=1;
	}
  } else {
	showHideCityBox('INPUT', true);
    document.ErweiterForm.Ort.value = '0';
    document.ErweiterForm.Land.value = '';
    document.ErweiterForm.RegionUmkreisID.value = '0';
	findCity(findCityObject.value, findCityMap); 
  }
}

function highlightCity(id)
{
  for (var cnt = 0; cnt < maxCityObjects; cnt++) {
	document.getElementById('AjaxObject'+cnt).className='formtablecity';
  }
  document.getElementById('AjaxObject'+id).className='formtablecityhighlight';
}

function findCity(txt, disableMap)
{
  if (disableMap) {
	disableMap = 1;
  } else {
	disableMap = 0;
  }
  if (txt.length) {
    showHideCityBox(true);
	if (document.getElementById("CityListInput")) {
	  document.getElementById("CityListInput").style.height = '199px';
	}
	lastAjaxRequest = Math.floor(Math.random()*99999999999);
    with (new Ajax()) {
      url="/ajax/find_city.php";
      params = "Text="+encodeURI(txt)+"&Lang="+encodeURI(language)+"&DisableMap="+disableMap+"&RequestID="+lastAjaxRequest;
	  if (ajaxcountryid) {
		params = params+'&Land='+ajaxcountryid;
	  }
	  params = params+systemsessionparammz;
	  onSuccess=findCitySuccess;
	  onError=findCityError;
	  doRequest();
	}
  } else {
	showHideCityBox(false);
	if (document.getElementById("CityListInput")) {
	  document.getElementById("CityListInput").style.height = '27px';
	}
  }
}

function findCitySuccess(txt, xml)
{
  var cnt = 0;
  var cname = '';
  var data = txt.split("<|>");
  document.getElementById("CityList").innerHTML = data[5];
  maxCityObjects = data[6];
  cityObjects = data[7].split("|");
  selCityObjects = -1;
}

function findCityError(msg)
{
}

function selectCity(id, cityname, countryid, countryname)
{
  document.ErweiterForm.Ort.value = id;
  document.ErweiterForm.OrtEingabe.value = cityname;
  document.ErweiterForm.Land.value = countryid;
  document.ErweiterForm.RegionUmkreisID.value = "0";
  showHideCityBox('INPUT', false);
  showHideCityBox('DIV', false);
  if (document.getElementById("CityListInput")) {
    document.getElementById("CityListInput").style.height = '27px';
  }
  if (document.getElementById("SelCity")) {
    document.getElementById("SelCity").value = '1';
  }
}

function selectDistrict(id, distname, countryid, countryname)
{
  document.ErweiterForm.Ort.value = "0";
  document.ErweiterForm.OrtEingabe.value = distname;
  document.ErweiterForm.Land.value = countryid;
  document.ErweiterForm.RegionUmkreisID.value = id;
  showHideCityBox('INPUT', false);
  showHideCityBox('DIV', false);
  if (document.getElementById("CityListInput")) {
    document.getElementById("CityListInput").style.height = '27px';
  }
  if (document.getElementById("SelCity")) {
    document.getElementById("SelCity").value = '1';
  }
}

var showHideInput = false;
var showHideDiv = false;

function showHideCityBox(type, active)
{
  if (type == 'DIV') {
    if (active) {
	  showHideDiv = true;
    } else {
	  showHideDiv = false;
    }
  }
  else if (type == 'INPUT') {
    if (active) {
	  showHideInput = true;
    } else {
	  showHideInput = false;
    }
  }
/*  else if (type == 'ALL') {
    if (active) {
	  showHideInput = true;
	  showHideDiv = true;
    } else {
	  showHideInput = false;
	  showHideDiv = false;
    }
  } */
  if (showHideInput || showHideDiv) {
	document.getElementById('CityListFrame').style.display = '';
	hideSelectBox('none');
  } else {
	document.getElementById('CityListFrame').style.display = 'none';
	hideSelectBox('');
  }
}

function hideSelectBox(status) 
{
  if (!window.XMLHttpRequest) {
	if (document.ErweiterForm.Umkreissuche) {
	  document.ErweiterForm.Umkreissuche.style.display = status;
	}
	if (document.ErweiterForm.Hotelketten) {
	  document.ErweiterForm.Hotelketten.style.display = status;
	}
	if (document.ErweiterForm.Kategorie) {
	  document.ErweiterForm.Kategorie.style.display = status;
	}
  }
}

/*
  Hotelauswahl Trefferliste
*/
function showStars(stars, superior, smallstars)
{
  var imgtxt = "";
  for (cnt=0; cnt < stars; cnt++) {
	if (smallstars == true) {
	  imgtxt=imgtxt+'<img border="0" src="/images/piktogramme/stern_neu_klein.gif" width="9" height="9" align="absmiddle">';
	} else {
	  imgtxt=imgtxt+'<img border="0" src="/images/piktogramme/stern_neu.gif" width="13" height="12" align="absmiddle">';
	}
  }
  if (superior == 1) {
	if (smallstars == true) {
	  imgtxt=imgtxt+'<img border="0" src="/images/piktogramme/stern_neu_halb_klein.gif" width="9" height="9" align="absmiddle">';
	} else {
	  imgtxt=imgtxt+'<img border="0" src="/images/piktogramme/stern_neu_halb_blau.gif" width="13" height="12" align="absmiddle">';
	}
  }
  return imgtxt;
}

function getBoxMoveID()
{
  CartBoxMove = Math.floor(Math.random()*99999999999);
  return CartBoxMove;
}

function cartHide(boxmoveid)
{
  if (CartBoxMove == boxmoveid) {
	if (CartBoxMouseOver) {
	  window.setTimeout("cartHide('"+boxmoveid+"')", 3000)
	} else {
      if (CartBoxPosition<160) {
	    CartBoxPosition += 10;
        document.getElementById("CartBox").style.top=CartBoxPosition+"px";
        window.setTimeout("cartHide('"+boxmoveid+"')", 50);
      } else {
	    CartBoxPosition = 160;
	    CartBoxMove = 0;
	    document.getElementById("CartBox").style.top="160px";
	  }
	}
  }
}

var cartxoffset = 110;

function cartScroll()
{
  cartRefresh(false, false, 0);
}

function cartRefresh(init, autoshow, xoffset)
{
  if (init) {
	window.onscroll=cartScroll;
  }
	
  if (document.getElementById('ShoppingCartHotelsSelected')) {
	var obj = document.getElementById('ShoppingCartHotelsSelected');
  } else if (document.getElementById('ShoppingCartHotelsNotSelected')) {
	var obj = document.getElementById('ShoppingCartHotelsNotSelected');
  }
  
  if (obj) {
    var cartposition = getPosY(document.getElementById('ShoppingCart')) + 53;
    var scrollpos = getScrollXY();
	var newpos = 0;
	if (cartposition < scrollpos[1]) {
	  newpos = scrollpos[1] - cartposition + 53;
	  obj.style.top=newpos+'px';
	} else {
	  obj.style.top='53px';
	}
//	document.getElementById('TestDIV').innerHTML = cartposition+' '+scrollpos[0]+' '+scrollpos[1];
  }
}

var insertOK = 0;
function addtofavorites(hid, id, disabledelete)
{
  if ((maxsel >= maxcart) && (!favcart[hid][0])) {
	alert(CardErrorMessage);
	insertOK = -1;
  } else {
    with (new Ajax()) {
      url="/ajax/add_cart.php";
      params = "Hotelid="+hid+"&DisableDelete="+disabledelete+"&rand="+Math.floor(Math.random()*99999999999)+systemsessionparammz;
	  onSuccess=listSuccess;
	  onError=listError;
	  doRequest();
	  insertOK = 0;
	}
  }
}

function listSuccess(txt, xml)
{
  if (txt != "ERROR")
  {
	for (cnt = 0; cnt < maxcart; cnt++) {
	  if (document.getElementById("NavCart"+cnt)) {
	    document.getElementById("NavCart"+cnt).style.display = "none";
	    document.getElementById("NavCartPhoto"+cnt).src = "/images/dummies/62.jpg";
	    document.getElementById("NavCartText"+cnt).innerHTML = "";
	    document.getElementById("NavCartStars"+cnt).innerHTML = "";
	  }
	  if (document.getElementById("BarCart"+cnt)) {
		document.getElementById("BarCart"+cnt).style.display = "none";
	    document.getElementById("BarCartPhoto"+cnt).src = "/images/piktogramme/search_cartbar_nophoto.gif";
		document.getElementById("BarCartText"+cnt).innerHTML = '';
	  }
	}
    for (var hid in favcart) {
	  if (document.getElementById("add"+hid)) {
        document.getElementById("add"+hid).src='/images/piktogramme/search_unchecked.gif';
        document.getElementById("hotelcheck"+hid).style.backgroundColor='';
	    favcart[hid][0] = 0;
	  }
	}
	var hids = txt.split("+");
	maxsel = 0;
    for (var hid in hids) { 
	  if ((hid>0) && favcart[hids[hid]]) {
	    if (document.getElementById("add"+hids[hid])) {
          document.getElementById("add"+hids[hid]).src='/images/piktogramme/search_checked.gif';
          document.getElementById("hotelcheck"+hids[hid]).style.backgroundColor='#90b3d9';
		}
		if (document.getElementById("NavCart"+maxsel)) {
	      document.getElementById("NavCart"+maxsel).style.display = "";
		  document.getElementById("NavCartText"+maxsel).innerHTML = favcart[hids[hid]][1]+' <nobr>'+showStars(favcart[hids[hid]][3], favcart[hids[hid]][4], true)+'</nobr>';
	      document.getElementById("NavCartPhoto"+maxsel).src = favcart[hids[hid]][2];
	      document.getElementById("NavCartStars"+maxsel).innerHTML = '<a href="javascript: addtofavorites(\''+hids[hid]+'\', 0, 0)"><img src="images/piktogramme/request_cancel_small.gif" width="12" height="12" border="0" /></a>';
		}
		if (document.getElementById("BarCart"+maxsel)) {
		  document.getElementById("BarCart"+maxsel).style.display = '';
		  document.getElementById("BarCartText"+maxsel).innerHTML = '<a href="home.php?Kundenid='+hids[hid]+systemsessionparamez+'" class="BarCartHotelLink">'+favcart[hids[hid]][1]+'</a> '+showStars(favcart[hids[hid]][3], favcart[hids[hid]][4], false);
	      document.getElementById("BarCartPhoto"+maxsel).src = favcart[hids[hid]][2];
		  document.getElementById("BarCartLink"+maxsel).href = "javascript: addtofavorites("+hids[hid]+", 0, 0)";
		  document.getElementById("BarCartDel"+maxsel).style.display = '';
		}
	    favcart[hids[hid]][0] = 1;
		maxsel++;
	  }
	}
	if (maxsel > 0) {
	  if (document.getElementById("NavCartSend")) {
		document.getElementById("NavCartSend").value = CardButton.replace('[ANZAHL]', maxsel);
	  }
	  if (document.getElementById("ShoppingCart")) {
	    var newheight = 100 + (maxsel * 26);
	    document.getElementById("ShoppingCart").style.height=newheight+'px';
		document.getElementById("ShoppingCartHotelsNotSelected").style.display = 'none';
		document.getElementById("ShoppingCartHotelsSelected").style.display = '';
		document.getElementById("BarCartButtonNum").value = CardButton.replace('[ANZAHL]', maxsel);
	  }
	} else {
	  if (document.getElementById("ShoppingCart")) {
	    document.getElementById("ShoppingCart").style.height='100px';
	    document.getElementById("ShoppingCartHotelsNotSelected").style.display = '';
	    document.getElementById("ShoppingCartHotelsSelected").style.display = 'none';
	  }
	}
	
	if (document.getElementById("BarCartCounter")) {
	  document.getElementById("BarCartCounter").innerHTML = maxsel;
	}
	if (document.getElementById("TitleCounter")) {
	  document.getElementById("TitleCounter").innerHTML = maxsel;
    } 
    cartRefresh(false, false, 0);
	  if (maxsel > 0) {
		if (document.getElementById("CartLayerInfoSend")) {
	      document.getElementById("CartLayerInfoSend").style.display = '';
		}
		if (document.getElementById("NavCartSend")) {
	      document.getElementById("NavCartSend").style.display = '';
	      document.getElementById("NavCartNoSelection").style.display = 'none';
		}
	  } else {
		if (document.getElementById("CartLayerInfoSend")) {
	      document.getElementById("CartLayerInfoSend").style.display = 'none';
		}
		if (document.getElementById("NavCartSend")) {
	      document.getElementById("NavCartSend").style.display = 'none';
	      document.getElementById("NavCartNoSelection").style.display = '';
		}
	}
    insertOK = 1;
  } else {
    insertOK = -1;
  }
}

function forwardToList(url)
{
  if (insertOK != 0) {
	if (insertOK > 0) {
	  location.href=url;
	}
  } else {
	window.setTimeout('forwardToList(\''+url+'\')', 500);
  }
}

function listError(msg)
{
  alert(msg);
}

var deletehotelid = 0;
function delfromfavorites(hid)
{
  with (new Ajax()) {
    url="/ajax/add_cart.php";
    params = "Hotelid="+hid+"&rand="+Math.floor(Math.random()*99999999999)+systemsessionparammz;
	onSuccess=delSuccess;
	onError=delError;
	doRequest();
	deletehotelid = hid;
  }
}

function delSuccess(txt, xml)
{
  if (deletehotelid>0) {
	if (document.getElementById('Hotel'+deletehotelid)) {
	  document.getElementById('Hotel'+deletehotelid).style.display = 'none';
	  deletehotelid = 0;
	}
  }
}

function delError(msg)
{
  alert(msg);
}

/*
  Datumboxen
*/
function setArrivalDay(adatum, arrivalday, arrivalmonth)
{
  arrivalday.selectedIndex = adatum.getDate();
  if (adatum.getYear() < 2000)
  {
    year = adatum.getYear() + 1900;
  } else {
    year = adatum.getYear();
  }
  monat = adatum.getMonth()+1;
  if (monat < 10)
  {
    yearmonth = year+'-0'+monat;
  } else {
    yearmonth = year+'-'+monat;
  }

  for(var no=0;no<arrivalmonth.options.length;no++)
  {
	if(arrivalmonth.options[no].value==yearmonth)
	{
	  arrivalmonth.selectedIndex=no;
	  break;
	}				
  }
}

function setDepartureDay(ddatum, departureday, departuremonth)
{
  departureday.selectedIndex = ddatum.getDate();
  if (ddatum.getYear() < 2000)
  {
    year = ddatum.getYear() + 1900;
  } else {
    year = ddatum.getYear();
  }
  monat = ddatum.getMonth()+1;
  if (monat < 10)
  {
    yearmonth = year+'-0'+monat;
  } else {
    yearmonth = year+'-'+monat;
  }

  for(var no=0;no<departuremonth.options.length;no++)
  {
	if(departuremonth.options[no].value==yearmonth)
	{
	  departuremonth.selectedIndex=no;
	  break;
	}				
  }

}

function arrivalDayCalculate(arrivalday, arrivalmonth)
{
  monatjahr = arrivalmonth.value.split('-');
  datum = new Date(monatjahr[0], monatjahr[1]-1, arrivalday.value);  
  document.getElementById('ARRIVAL_WEEKDAY').innerHTML = Wochentage[datum.getDay()];
}

function departureDayCalculate(departureday, departuremonth)
{
  monatjahr = departuremonth.value.split('-');
  datum = new Date(monatjahr[0], monatjahr[1]-1, departureday.value);  
  document.getElementById('DEPARTURE_WEEKDAY').innerHTML = Wochentage[datum.getDay()];
}

function arrivalDateCalculate(arrivalday, arrivalmonth, departureday, departuremonth, doffset)
{
  if ((arrivalmonth.value != '0000-00') &&
	  (arrivalday.value != '00')) {
    monatjahr = arrivalmonth.value.split('-');
    adatum = new Date(monatjahr[0], monatjahr[1]-1, arrivalday.value); 
	
	if (departuremonth != null) {
      monatjahr = departuremonth.value.split('-');
      ddatum = new Date(monatjahr[0], monatjahr[1]-1, departureday.value);  
  
      if (adatum.getTime() >= ddatum.getTime())
      {
        ddatum = new Date(adatum.getTime()+(86400000*doffset));
      }
	}
  
    setArrivalDay(adatum, arrivalday, arrivalmonth);
	if (departuremonth != null) {
      setDepartureDay(ddatum, departureday, departuremonth);
	}
  
    arrivalDayCalculate(arrivalday, arrivalmonth);
	if (departuremonth != null) {
      departureDayCalculate(departureday, departuremonth);
	}
  } else {
	document.getElementById('ARRIVAL_WEEKDAY').innerHTML = '-';
	if (departuremonth != null) {
	  document.getElementById('DEPARTURE_WEEKDAY').innerHTML = '-';
	}
  }
}

/*
  Dreamweaver-Code
*/
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.0
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && document.getElementById) x=document.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

/*
  Browserfenstergröße
*/
function getSize() {
	var myWidth = 0, myHeight = 0;

	if( typeof( window.innerWidth ) == 'number' ) {
		//Non-IE
		myWidth = window.innerWidth;
		myHeight = window.innerHeight;
	} else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
		//IE 6+ in 'standards compliant mode'
		myWidth = document.documentElement.clientWidth;
		myHeight = document.documentElement.clientHeight;
	} else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
		//IE 4 compatible
		myWidth = document.body.clientWidth;
		myHeight = document.body.clientHeight;
	}
	return [ myWidth, myHeight ];
}


/*
  Scroll-Position des Fensters
*/
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 ];
}

/*
  Position eines Elementes ermitteln
*/
function getPosY(inputObj)
{
  var returnValue = 0; //inputObj.offsetTop + inputObj.offsetHeight;
  while((inputObj = inputObj.offsetParent) != null)returnValue += inputObj.offsetTop;
  return returnValue + calendar_offsetTop;
}

function getPosX(inputObj)
{
  var returnValue = inputObj.offsetLeft;
  while((inputObj = inputObj.offsetParent) != null)returnValue += inputObj.offsetLeft;
  return returnValue + calendar_offsetLeft;
}

/*
  AJAX
*/
function Ajax() {
  //Eigenschaften deklarieren und initialisieren
  this.url="";
  this.params="";
  this.method="GET";
  this.onSuccess=null;
  this.onError=function (msg) {
    alert(msg)
  }
}

Ajax.prototype.doRequest=function() {
  //eberpruefen der Angaben
  if (!this.url) {
    this.onError("Es wurde kein URL angegeben. Der Request wird abgebrochen.");
    return false;
  }

  if (!this.method) {
    this.method="GET";
  } else {
    this.method=this.method.toUpperCase();
  }

  //Zugriff auf Klasse fr readyStateHandler ermglichen  
  var _this = this;
  
  //XMLHttpRequest-Objekt erstellen
  var xmlHttpRequest=getXMLHttpRequest();
  if (!xmlHttpRequest) {
    this.onError("Es konnte kein XMLHttpRequest-Objekt erstellt werden.");
    return false;
  }
  
  //Fallunterscheidung nach bertragungsmethode
  switch (this.method) {
    case "GET": xmlHttpRequest.open(this.method, this.url+"?"+this.params, true);
                xmlHttpRequest.onreadystatechange = readyStateHandler;
                xmlHttpRequest.send(null);
                break;
    case "POST": xmlHttpRequest.open(this.method, this.url, true);
                 xmlHttpRequest.onreadystatechange = readyStateHandler;
                 xmlHttpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
                 xmlHttpRequest.send(this.params);
                 break;
  }  

  //Private Methode zur Verarbeitung der erhaltenen Daten
  function readyStateHandler() {
    if (xmlHttpRequest.readyState < 4) {
      return false;
    }
    if (xmlHttpRequest.status == 200 || xmlHttpRequest.status==304) {
      if (_this.onSuccess) {
        _this.onSuccess(xmlHttpRequest.responseText, xmlHttpRequest.responseXML);
      }
    } else {
      if (_this.onError) {
        _this.onError("["+xmlHttpRequest.status+" "+xmlHttpRequest.statusText+"] Es trat ein Fehler bei der Datenbertragung auf.");
      }
    }
  }
}

//Gibt browserunabhngig ein XMLHttpRequest-Objekt zurck
function getXMLHttpRequest() 
{
  if (window.XMLHttpRequest) {
    //XMLHttpRequest fr Firefox, Opera, Safari, ...
    var obj = new XMLHttpRequest();
    return obj;
  } else 
  if (window.ActiveXObject) {
    try {   
      //XMLHTTP (neu) fr Internet Explorer 
      return new ActiveXObject("Msxml2.XMLHTTP");
    } catch(e) {
      try {        
        //XMLHTTP (alt) fr Internet Explorer
        return new ActiveXObject("Microsoft.XMLHTTP");  
      } catch (e) {
        return null;
      }
    }
  }
  return false;
}
