var exp = /([0-9]*)(px|pt) ([0-9]*)(px|pt)/;
var offset = 172;
var position = new GLatLng(47.2415,-2.3115);
var directions;
var map;
      
function load() {
  document.getElementById('slider').style.backgroundPosition='0px 0px';
  document.getElementById('banner').style.backgroundPosition='0px ' + offset + 'px';
  document.getElementById('banner').style.visibility='visible';
  setTimeout("slide()", 5000);
  
  if (GBrowserIsCompatible()) {
    map = new GMap2(document.getElementById("map"));
    if(map) {
      map.setCenter(new GLatLng(47.2425,-2.3115), 15);
      map.addControl(new GSmallMapControl());
      map.addControl(new GMapTypeControl());
      var icon = new GIcon();
      icon.image = "img/tortue.png";
      icon.shadow = "img/ombretortue.png";
      icon.iconSize = new GSize(47, 32);
      icon.shadowSize = new GSize(57, 33);
      icon.iconAnchor = new GPoint(24, 20);
      icon.infoWindowAnchor = new GPoint(24, 1);
      var marker = new GMarker(position, icon);
      map.addOverlay(marker);
      GEvent.addListener(marker, "click", function() {
        map.openInfoWindowHtml(position, '<img width="200" height="127" src="img/poseidon.jpg"/>', {maxWidth:150});
      });
      //directions = new GDirections(map, document.getElementById("directions"));
      directions = new GDirections(map);
      GEvent.addListener(directions, "load", onGDirectionsLoad);
      GEvent.addListener(directions, "error", handleErrors);
    }
  }
}

function showDirections(from) {
  if(from != '') directions.load("from: " + from + " to: 47.2415,-2.3115");
}
      
function handleErrors(){
  if (directions.getStatus().code == G_GEO_UNKNOWN_ADDRESS)
    alert("Impossible de trouver l'adresse indiqu\351e.\nR\351essayez en sp\351cifiant le num\351ro du d\351partment.\n\nExemple : La Baule, 44");
  elme 
    alert("Erreur inconnue lors de la recherche de l'itin\351raire.");
}
      
function onGDirectionsLoad(){
}
      
function callFunction(action, form, result) {
  var data = "";
  var elm = ""; 
  for(var i = 0; i < form.elements.length; i++) { 
    elm = form.elements[i]; 
    switch(elm.type) { 
      case "text": 
      case "hidden": 
      case "password": 
      case "textarea": data += elm.name + "=" + encodeURI(elm.value) + "&"; break;   
      case "checkbox":  
      case "radio": if(elm.checked) data += elm.name + "=" + encodeURI(elm.value) + "&"; break;      
      case "select-one": data += elm.name + "=" + elm.options[elm.selectedIndex].value + "&"; break;  
    }  
  }
  data += "action=" + action;

  var request = GXmlHttp.create();
  request.open("POST", "controller.php5", true);
  request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
  request.onreadystatechange = function() {
    if (request.readyState == 4) {
      var xmlDoc = request.responseXML;
      result.innerHTML = request.responseText;
    }
  }
  request.send(data);
  urchinTracker("/action/" + action);
}

function slide(opacity) {
  if(typeof(opacity) == 'undefined') opacity = 100;
  if(opacity > 0) {
    opacity -= 4;
    setOpacity('slider', opacity);
    setTimeout("slide(" + opacity + ")", 100 - opacity);
  }
  else {
    slideBackground('slider');
    setOpacity('slider', 100);
    slideBackground('banner');
    setTimeout("slide()", 3000);
  }
}
     
function slideBackground(id) {
  var elm = document.getElementById(id);
  var res = exp.exec(elm.style.backgroundPosition);
  elm.style.backgroundPosition = res[1] + res[2] + ' ' + (parseInt(res[3]) + offset) + res[4];
}
     
function setOpacity(id, value) {
  var elm = document.getElementById(id);
  elm.style.opacity = (value / 101);
  elm.style.MozOpacity = (value / 101);
  elm.style.KhtmlOpacity = (value / 100);
  elm.style.filter = "alpha(opacity=" + value + ")";
}
