//Drop-down-Lists--------------------------------------------------
var selectedListEntryOld;

function storeSelectedListEntry(list){
  for(a=0;a<document.getElementById(list).getElementsByTagName("option").length;a++){
    if(document.getElementById(list).getElementsByTagName("option")[a].selected==true)
      selectedListEntryOld=document.getElementById(list).getElementsByTagName("option")[a].text;
  }
}
		
function showHideListEntries(list,otherListboxes,disablesection){
  var selectedListEntryNew=100;
  var selectedListEntryOld2=100;
  
  
  for(a=0;a<document.getElementById(list).getElementsByTagName("option").length;a++){
    if(document.getElementById(list).getElementsByTagName("option")[a].selected==true){
      for(b=0;b<otherListboxes.length;b++){
        for(c=0;c<document.getElementById(otherListboxes[b]).getElementsByTagName("option").length;c++){
          if(document.getElementById(otherListboxes[b]).getElementsByTagName("option")[c].selected==true)
            selectedListEntryOld2=c;
          if(document.getElementById(otherListboxes[b]).getElementsByTagName("option")[c].text==document.getElementById(list).getElementsByTagName("option")[a].text){
            if(disablesection==1){
              for(d=0;d<=c;d++){
                document.getElementById(otherListboxes[b]).getElementsByTagName("option")[d].disabled=true;
                if(selectedListEntryOld2<=c) document.getElementById(otherListboxes[b]).getElementsByTagName("option")[d+1].selected=true;
                selectedListEntryNew=d;
              }
            }
            else document.getElementById(otherListboxes[b]).getElementsByTagName("option")[c].disabled=true;
          }
          if(document.getElementById(otherListboxes[b]).getElementsByTagName("option")[c].text==selectedListEntryOld){
            if(disablesection==1){
              if(selectedListEntryNew<c){
                if(document.getElementById(list).getElementsByTagName("option")[0].selected==true){
                  for(d=0;d<=c;d++) document.getElementById(otherListboxes[b]).getElementsByTagName("option")[d].disabled=false;
                }else{
                  for(d=selectedListEntryNew+1;d<=c;d++) document.getElementById(otherListboxes[b]).getElementsByTagName("option")[d].disabled=false;
                }
              }else{
                for(d=0;d<=c;d++) document.getElementById(otherListboxes[b]).getElementsByTagName("option")[d].disabled=false;
              }
            }
            else document.getElementById(otherListboxes[b]).getElementsByTagName("option")[c].disabled=false;
          }
        }
      }
    }
  }
}

//VTs---------------------------------------------------------------
var framewidth;
var cycle;
var vtdata=new Array();

function initVT(){
  //[0] image a
  //[1] image b
  //[2] image width
  //[3] image a position
  //[4] image b position
  //[5] slide repeater memory

  if(document.getElementById("vtframe")){  
    if(document.getElementById("cycle").title && (document.getElementById("cycle").title=="bounce" || document.getElementById("cycle").title=="rotate")) cycle=document.getElementById("cycle").title;
    else cycle="bounce";
    
    framewidth=document.getElementById("vtframe").style.width.substring(0, document.getElementById("vtframe").style.width.indexOf("px"));
  
    vtdata[0]=document.getElementById("vtimage");
    vtdata[2]=document.getElementById("vtimage").offsetWidth;    

    if(document.getElementById("offset").title) vtdata[3]=-(parseInt(document.getElementById("offset").title));
    else vtdata[3]=-((vtdata[2]-framewidth)/2);
    vtdata[0].style.position="relative";
    vtdata[0].style.left=vtdata[3]+"px";
    vtdata[0].style.top="0px";
    
    if(cycle=="rotate"){
      vtdata[1]=vtdata[0].cloneNode(true);
      document.getElementById("vtframe").appendChild(vtdata[1]);
      vtdata[4]=vtdata[3]+vtdata[2];
      vtdata[1].style.position="relative";
      vtdata[1].style.left=vtdata[4]+"px";
      if(checkBrowser("msie")) vtdata[1].style.top=-(vtdata[1].offsetHeight+4)+"px";
      else                     vtdata[1].style.top=-(vtdata[1].offsetHeight)+"px";
    }

    vtdata[5]=window.setTimeout("slideImage(0, 1)", 30);
  }
}

function checkBrowser(a){
  var agent = navigator.userAgent.toLowerCase();
  if (agent.indexOf(a)>-1) {
    return true;
  }
  return false;
}

function slideImage(direction, speed){
  if(cycle=="rotate"){
    if (direction==1){
      vtdata[3]+=speed;
      vtdata[4]+=speed;
    }else{
      vtdata[3]-=speed;
      vtdata[4]-=speed;
    }
  
    if(vtdata[3] <= -(vtdata[2]-framewidth)){
      vtdata[4]=(vtdata[2]+vtdata[3]);
    }
    if(vtdata[4] <= -(vtdata[2]-framewidth)){
      vtdata[3]=(vtdata[2]+vtdata[4]);
    }
    if(vtdata[3] >= 0){
      vtdata[4]=-(vtdata[2]-vtdata[3]);
    }
    if(vtdata[4] >= 0){
      vtdata[3]=-(vtdata[2]-vtdata[4]);
    }
    vtdata[1].style.left=vtdata[4]+"px";
  }else{  
    if(cycle=="bounce"){
      if (direction==1){
        vtdata[3]+=speed;
      }else{
        vtdata[3]-=speed;
      }
    
      if(vtdata[3] <= -(vtdata[2]-framewidth)){
        direction=1;
      }
      if(vtdata[3] >= 0){
        direction=0;
      }
    }
  }

  vtdata[0].style.left=vtdata[3]+"px";

  vtdata[5]=window.setTimeout("slideImage("+direction+", "+speed+")", 30);
}

function slideImageOn(direction, speed){
  clearTimeout(vtdata[5]);
  slideImage(direction, speed);
}

function slideImageOff(){
  clearTimeout(vtdata[5]);
}

//Stillshots------------------------------------------------------
function displayStillshot(image){
  document.getElementById("displayedimage").src=image;
}


//Google maps------------------------------------------------------
var directions;
var coordinates;
var map;

function initMaps(lat, lng){
  if (GBrowserIsCompatible()) {
    setupMap(lat, lng);
    map.setCenter(coordinates, 12);
  }
}

function setupMap(lat, lng){
    map = new GMap2(document.getElementById("mapcanvas"));
    coordinates=new GLatLng(lat, lng);    
    map.setMapType(G_NORMAL_MAP);
    map.removeMapType(G_HYBRID_MAP);
    map.enableScrollWheelZoom();
    map.addControl(new GMapTypeControl(), new GControlPosition(G_ANCHOR_TOP_RIGHT, new GSize(10,10)));
    map.addControl(new GSmallMapControl(), new GControlPosition(G_ANCHOR_TOP_RIGHT, new GSize(10,40)));

    var logo = new GIcon();
    logo.image = "./graphics/mapslogo.png";
    logo.iconSize = new GSize(40, 27);
    logo.iconAnchor = new GPoint(20, 13);

    map.addOverlay(new GMarker(coordinates, { icon:logo }));
}

function getDirections(homelocation, lat, lng){
  document.getElementById("maperror1").style.display="none";
  document.getElementById("maperror2").style.display="none";
  document.getElementById("maperror3").style.display="none";
  if(document.getElementById("mapleadlocation").value=="") document.getElementById("maperror1").style.display="block";
  else {
    if (GBrowserIsCompatible()) {
      setupMap(lat, lng);
      directions = new GDirections(map, document.getElementById("mapdirections"));
      GEvent.addListener(directions, "error", handleErrors);
      directions.load("from: "+document.getElementById("mapleadlocation").value+" to: "+homelocation);
    }
  }
}

function handleErrors(){
  if (directions.getStatus().code == G_GEO_UNKNOWN_ADDRESS) document.getElementById("maperror2").style.display="block";
  else document.getElementById("maperror3").style.display="block";
}

//Popup------------------------------------------------------
function showPopup(url, w, h){
  window.open(url,"popupwindow","width="+w+",height="+h+",left=50,top=50,resizable=no,scrollbars=no");
}

//Help System------------------------------------------------
function openHelpbox(id){
  if (window.XMLHttpRequest) var request = new XMLHttpRequest();
  else if (window.ActiveXObject) var request = new ActiveXObject("Microsoft.XMLHTTP");
  
  
  var protokoll = window.location.protocol.split(":");
  request.open("POST", "help.html", false);
  request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
  request.send("id="+id+"&hgcity="+document.getElementById("hgcity").innerHTML+"&protocol="+protokoll[0]);
  
  document.getElementById("help_box_"+id).innerHTML = request.responseText;
  document.getElementById("help_box_"+id).style.visibility="visible";
}

function closeHelpbox(id){
  document.getElementById("help_box_"+id).style.visibility="hidden";
}