if( top != self )
{
  if( window.opera ) window.onload = opera_befreien;
  else top.location = self.location;
}

function opera_befreien() { document.links[ 'befreien' ].click(); }

function set_opacity( obj, opacity )
{
  opacity = ( opacity == 100 ) ? 99.999 : opacity;
  obj.style.filter       = "alpha( opacity :" + opacity + " )";
  obj.style.KHTMLOpacity = opacity / 100;
  obj.style.MozOpacity   = opacity / 100;
  obj.style.opacity      = opacity / 100;
}

var originalRequest = null;
try { originalRequest = new XMLHttpRequest(); } // Mozilla, Opera, Safari sowie IE (ab v7)
catch( e )
{
  try { originalRequest = new ActiveXObject( "Microsoft.XMLHTTP" ); } // IE (ab v6)
  catch( e )
  {
    try { originalRequest = new ActiveXObject( "Msxml2.XMLHTTP" ); } // IE (ab v5)
    catch( e ) { originalRequest  = null; }
  }
}

function $( ID ) { return document.getElementById( ID ); }

var Ajax = {};

Ajax.Request = function( Request_File, method_onComplete )
{
  if( originalRequest )
  {
    originalRequest.open( method_onComplete.method, Request_File + '&update_string=' + new Date().getTime(), true );
    originalRequest.onreadystatechange = function() { if( originalRequest.readyState == 4 ) { if( typeof method_onComplete.onComplete == 'function' ) { method_onComplete.onComplete( originalRequest ); } } };
  }
  originalRequest.send( null );
};

var MapUI, SatUI, HybUI, TerUI, MapText, SatText, HybText, TerText;

function HomeControl(myMap,myCenter,myBounds,myMaptype)
{
  var controlDiv=document.createElement('DIV');controlDiv.index=1;controlDiv.style.padding='0px 1px 2px 0px';controlDiv.style.margin='5px 5px auto auto';controlDiv.style.backgroundImage='url(/image/shadow_one.png)';
  var controlUI=document.createElement('DIV');controlUI.style.backgroundColor='white';controlUI.style.border='1px solid rgb(180,180,180)';controlUI.style.cursor='pointer';controlUI.style.textAlign='center';controlUI.title='Hier klicken, um die Karte auf die Ausgangsposition zurückzusetzen.';
  controlDiv.appendChild(controlUI);
  var controlText=document.createElement('DIV');controlText.style.fontFamily='Arial,sans-serif';controlText.style.color='rgb(85,119,187)';controlText.style.fontSize='13px';controlText.style.paddingLeft='10px';controlText.style.paddingRight='10px';controlText.innerHTML='zurück zur Ausgangskarte';
  controlUI.appendChild(controlText);
  google.maps.event.addDomListener(controlUI,'click',function(){myMap.setMapTypeId(myMaptype);updateMapTypeControlDiv(myMap);myMap.setCenter(myCenter);myMap.fitBounds(myBounds);});
  myMap.controls[google.maps.ControlPosition.TOP_LEFT].push(controlDiv);
}

function MapTypeControl(myMap)
{
  var controlDiv=document.createElement('DIV');controlDiv.index=1;controlDiv.style.padding='0px 1px 1px 0px';controlDiv.style.margin='5px 5px auto auto';controlDiv.style.backgroundImage='url(/image/shadow_one.png)';
  MapUI=document.createElement('DIV');MapUI.style.width='65px';MapUI.style.backgroundColor='white';MapUI.style.border='1px solid rgb(180,180,180)';MapUI.style.cursor='pointer';MapUI.style.textAlign='center';MapUI.style.cssFloat='left';MapUI.style.styleFloat='left';MapUI.title='Ansicht als Straßenkarte';
  MapText=document.createElement('DIV');MapText.style.fontFamily='Arial,sans-serif';MapText.style.color='rgb(85,119,187)';MapText.style.fontSize='13px';MapText.style.paddingLeft='10px';MapText.style.paddingRight='10px';MapText.innerHTML='Karte';
  MapUI.appendChild(MapText);
  controlDiv.appendChild(MapUI);
  google.maps.event.addDomListener(MapUI,'click',function(){myMap.setMapTypeId(google.maps.MapTypeId.ROADMAP);updateMapTypeControlDiv(myMap);});
  SatUI=document.createElement('DIV');SatUI.style.width='65px';SatUI.style.backgroundColor='white';SatUI.style.border='1px solid rgb(180,180,180)';SatUI.style.cursor='pointer';SatUI.style.textAlign='center';SatUI.style.cssFloat='left';SatUI.style.styleFloat='left';SatUI.title='Ansicht als Satellitenaufnahme';
  SatText=document.createElement('DIV');SatText.style.fontFamily='Arial,sans-serif';SatText.style.color='rgb(85,119,187)';SatText.style.fontSize='13px';SatText.style.paddingLeft='10px';SatText.style.paddingRight='10px';SatText.innerHTML='Satellit';
  SatUI.appendChild(SatText);
  controlDiv.appendChild(SatUI);
  google.maps.event.addDomListener(SatUI,'click',function(){myMap.setMapTypeId(google.maps.MapTypeId.SATELLITE);updateMapTypeControlDiv(myMap);});
  HybUI=document.createElement('DIV');HybUI.style.width='65px';HybUI.style.backgroundColor='white';HybUI.style.border='1px solid rgb(180,180,180)';HybUI.style.cursor='pointer';HybUI.style.textAlign='center';HybUI.style.cssFloat='left';HybUI.style.styleFloat='left';HybUI.title='Ansicht als kombinierte Straßenkarte mit Satellitenbildern';
  HybText=document.createElement('DIV');HybText.style.fontFamily='Arial,sans-serif';HybText.style.color='rgb(85,119,187)';HybText.style.fontSize='13px';HybText.style.paddingLeft='10px';HybText.style.paddingRight='10px';HybText.innerHTML='Hybrid';
  HybUI.appendChild(HybText);
  controlDiv.appendChild(HybUI);
  google.maps.event.addDomListener(HybUI,'click',function(){myMap.setMapTypeId(google.maps.MapTypeId.HYBRID);updateMapTypeControlDiv(myMap);});
  TerUI=document.createElement('DIV');TerUI.style.width='65px';TerUI.style.backgroundColor='white';TerUI.style.border='1px solid rgb(180,180,180)';TerUI.style.cursor='pointer';TerUI.style.textAlign='center';TerUI.style.cssFloat='left';TerUI.style.styleFloat='left';TerUI.title='Ansicht als Geländekarte';
  TerText=document.createElement('DIV');TerText.style.fontFamily='Arial,sans-serif';TerText.style.color='rgb(85,119,187)';TerText.style.fontSize='13px';TerText.style.paddingLeft='6px';TerText.style.paddingRight='6px';TerText.innerHTML='Gelände';
  TerUI.appendChild(TerText);
  controlDiv.appendChild(TerUI);
  google.maps.event.addDomListener(TerUI,'click',function(){myMap.setMapTypeId(google.maps.MapTypeId.TERRAIN);updateMapTypeControlDiv(myMap);});
  google.maps.event.addListener(myMap,'maptypeid_changed',function(){updateMapTypeControlDiv(myMap);});
  myMap.controls[google.maps.ControlPosition.TOP_RIGHT].push(controlDiv);
}

function updateMapTypeControlDiv(myMap)
{
  if(myMap.getMapTypeId()=='roadmap'){MapUI.style.borderWidth='2px 2px 1px 2px';MapText.style.fontWeight='bold';}
  else{MapUI.style.borderWidth='1px';MapText.style.fontWeight='normal';}
  if(myMap.getMapTypeId()=='satellite'){SatUI.style.borderWidth='2px 2px 1px 2px';SatText.style.fontWeight='bold';SatUI.style.borderBottomWidth='1px';}
  else{SatUI.style.borderWidth='1px';SatText.style.fontWeight='normal';}
  if(myMap.getMapTypeId()=='hybrid'){HybUI.style.borderWidth='2px 2px 1px 2px';HybText.style.fontWeight='bold';HybUI.style.borderBottomWidth='1px';}
  else{HybUI.style.borderWidth='1px';HybText.style.fontWeight='normal';}
  if(myMap.getMapTypeId()=='terrain'){TerUI.style.borderWidth='2px 2px 1px 2px';TerText.style.fontWeight='bold';TerUI.style.borderBottomWidth='1px';}
  else{TerUI.style.borderWidth='1px';TerText.style.fontWeight='normal';}
}