﻿/* <![CDATA[ */
var ge;
var dragInfo;

var mapNorth;
var mapSouth;
var mapWest;
var mapEast;

try {
    google.load("earth", "1");
} catch(err) {}

function init() {
    google.earth.createInstance('map3d', initCB, failureCB);
}

var placemark = null; 

function initCB(instance) {
    ge = instance;
    ge.getWindow().setVisibility(true);    
    
    var xElement;
    var yElement;
    if (document.getElementById('_x') != null) {
        xElement = document.getElementById('_x');
        yElement = document.getElementById('_y');
    }
    if (document.getElementById('ctl00__cph__x') != null) {
        xElement = document.getElementById('ctl00__cph__x');
        yElement = document.getElementById('ctl00__cph__y');
    }
    
    if (xElement.value != '' && yElement.value != '') {
        var la = ge.createLookAt('');
        la.set(xElement.value, yElement.value, 25, ge.ALTITUDE_RELATIVE_TO_GROUND, 0, 0, 500);
        ge.getView().setAbstractView(la);

        placemark = CreatePlacemark(xElement.value, yElement.value);
    }
    
    ge.getNavigationControl().setVisibility(ge.VISIBILITY_AUTO);
    ge.getLayerRoot().enableLayerById(ge.LAYER_BORDERS, true);
	ge.getLayerRoot().enableLayerById(ge.LAYER_ROADS, true);
   
    
    google.earth.addEventListener(ge.getView(), 'viewchange', function() {        
        mapNorth = ge.getView().getViewportGlobeBounds().getNorth();
        mapSouth = ge.getView().getViewportGlobeBounds().getSouth();
        mapEast = ge.getView().getViewportGlobeBounds().getEast();
        mapWest = ge.getView().getViewportGlobeBounds().getWest();
    });

    google.earth.addEventListener(ge.getGlobe(), 'click', function(event) {
        if (event.getCtrlKey() == 1) {
            xElement.value = event.getLatitude();
            yElement.value = event.getLongitude();
            if (placemark != null)
                RemovePlacemark(placemark);
            placemark = CreatePlacemark(event.getLatitude(), event.getLongitude());
        }
    });                          
    
    //document.title += " GoogleEarth PlugIn: V." + ge.getPluginVersion().toString();
}

function failureCB(errorCode) {
    alert(errorCode);
}
  
function CreatePlacemark(lat, lon) {    
    var placemark = ge.createPlacemark('');        
    ge.getFeatures().appendChild(placemark);

    var icon = ge.createIcon('');
    icon.setHref("http://www.makromarket.net/makroicon.png");
    var style = ge.createStyle('');
    style.getIconStyle().setIcon(icon);    
    placemark.setStyleSelector(style);

    var point = ge.createPoint('');
    point.setLatitude(lat);
    point.setLongitude(lon);
    placemark.setGeometry(point);  
    
    return placemark;
}

function RemovePlacemarks(placemarkList) {
    for (var i = 0; i < placemarkList.length; i++)
        RemovePlacemark(placemarkList[i]);
}

function RemovePlacemark(placemark) {
    ge.getFeatures().removeChild(placemark);
}

function IsCoordinatViewable(lat, lon) {
    return (mapNorth > lat && lat > mapSouth && mapEast > lon && lon > mapWest);    
}

/* ]]> */
