google.load("earth", "1");
var ge = null;
function body_load()
{    
    google.earth.createInstance("map3d", initCallback, failureCallback);
    var cmbcentre = document.getElementById("cmbcentre");
    var BtnGo = document.getElementById("BtnGo");
    HaveGoogle();
}
var EvenFromClick = true;
function initCallback(object)
{
  ge = object;
  ge.getWindow().setVisibility(true);
  ge.getNavigationControl().setVisibility(ge.VISIBILITY_AUTO);
  var idcentre = (!isNumeric(UrlParam("id"))?UrlParam2(1):UrlParam("id"));
  if(isNumeric(idcentre))
  {
    cmbcentre = document.getElementById("cmbcentre");
    selectOptionByValue(cmbcentre,idcentre);
    EvenFromClick = false;
    simulateClick("BtnGo");
  }
}

function failureCallback(object)
{

}

function GoPoint()
{
    var oTxtPresentation = document.getElementById("TxtPresentation");
    var olstCentre = document.getElementById("lstCentre");
    if(EvenFromClick)
    {
        setInnerText(oTxtPresentation,"");
        setInnerText(olstCentre,"");
    }
    EvenFromClick = true;
    var icon = ge.createIcon('');
    icon.setHref('http://maps.google.com/mapfiles/kml/paddle/red-circle.png');
    var style = ge.createStyle('');
    var ContactBuffer = "";
    style.getIconStyle().setIcon(icon);

    var point = ge.createPoint('');

    var cmbcentre = document.getElementById("cmbcentre");
    var oCentre = new CCentre(cmbcentre.options[cmbcentre.selectedIndex].value);
    oCentre.Load();
    var oLocalisation = document.getElementById("localisation");
    var oAdresse = document.getElementById("adresse");
    var oContact = document.getElementById("contact");
    oLocalisation.innerHTML = "POSITION GPS : Latitude = " + oCentre.latitude + " , Longitude = " + oCentre.longitude;
    point.setLatitude(oCentre.latitude);
    point.setLongitude(oCentre.longitude);
    oAdresse.innerHTML = "<strong><b>Adresse :</b></strong><br/>" + oCentre.nom + "<br/><span>" + oCentre.adresseA        
        + ((oCentre.adresseComplement.length>0)?("<br/>"+oCentre.adresseComplement):(""))
        + "<br/>" + oCentre.adresseB
        + "</span>";
    ContactBuffer += ((oCentre.mail.length > 0)?("<br/>Email : <a style='color:blue;text-decoration:none' href='mailto:" + oCentre.mail + "'>"+ oCentre.mail +"</a>"):(""));
    ContactBuffer += ((oCentre.telephone.length > 0)?("<br/>Tel : <a style='color:blue;text-decoration:none' href='callto:" + oCentre.telephone + "'>" + oCentre.telephone + "</a>"):(""));
    ContactBuffer += ((oCentre.fax.length > 0)?("<br/>Fax : <a style='color:blue;text-decoration:none' href='#'>" + oCentre.fax + "</a>"):(""));
    oContact.innerHTML = ContactBuffer;
    var pointPlacemark = ge.createPlacemark('');
    pointPlacemark.setName(oCentre.nom);
    pointPlacemark.setGeometry(point);
    pointPlacemark.setStyleSelector(style);
    /*supprime child*/
    var LastChild = ge.getFeatures().getLastChild();
    if(LastChild != null)
        ge.getFeatures().removeChild(LastChild);
    ge.getFeatures().appendChild(pointPlacemark);

    pointPlacemark.setDescription(oCentre.description);

    var lookAt = ge.createLookAt('');
    lookAt.set(oCentre.latitude,oCentre.longitude, 100, ge.ALTITUDE_RELATIVE_TO_GROUND, 0, 0, 100);
    ge.getView().setAbstractView(lookAt);
}
