

        var ecMap = null;

        function GetECMap(){
           ecMap = new eContent.Map('map');
           ecMap.UseRequestQueue(true);
           ecMap.LoadMap(new VELatLong('48.5','12.31'), 6);
           ecMap.SetPopupOnHover(false);
           ecMap.SetSetupCompleteHandler(OnSetupComplete);
           ecMap.SetTimedOutListener(OnTimedOut);
           ecMap.SetSinglePopupHandler(OnSinglePopup);
           ecMap.SetMultiPopupLineHandler(OnMultiPopup);
           ecMap.SetPinSelectedHandler(OnPinSelected);
           ecMap.SetTourLoadedHandler(OnTourLoaded);
        }

        function OnSetupComplete(){
            Load(eContent.PinType.Tour);
            ecMap.AddLoadCompleteHandler( ShowInitHashLink );
        }

        function OnTimedOut(){
            Load(eContent.PinType.Tour);
        }

        function OnSinglePopup( pinData ){

            var link = pinData.Link.replace(/http:\/\/www.geo-coaching.net\/ecm.php/g, "index.php");

            var html = '<a href="' + link + '">' + pinData.Title + '</a><br />';
            html += "<p style=''>" + pinData.Details + "<p><br /><br />";
            return html;
        }

        function OnMultiPopup( pinData ){
            var html = "<table><tr>";
            html += "<td><img alt='" + pinData.Title + "'" + " src='" + pinData.Url + "' height='40' width='50'/></td>";
            html += "<td width='100%' style='font-size:10px'>";
            html += "<strong>" + pinData.Title + "</strong><br />" + pinData.Category + "<br />" + pinData.City + "</td>";
            html += "<td width='25px'>" + pinData.SmallCategoryImage + "</td>";
            html += "</tr></table>";
            return html;
        }

        // Test-Implementierung: Einzelner Pin wurde ausgew?hlt
        function OnPinSelected( pinData ){}

        function OnTourLoaded( pinData ){}

        function Load(pinType){
            switch(pinType){
                case eContent.PinType.Tour:
                    $get("btnTour").checked = true;
                    SetTourCategories();
                    break;
                case eContent.PinType.POI:
                    $get("btnPOI").checked = true;
                    ecMap.LoadPOI();
                    break;
            }
        }

        function TogglePinType(button, pinType){
            butArr = button.id.split('_');
            if (butArr.length > 1) {
              if(butArr[0]=='btnTour')
              SetTourCategories(butArr[1]);
            }else{
              if( button.checked ){
                 ecMap.EnablePins(pinType);
              }else{
                 ecMap.DisablePins(pinType);
              }
            }
            ecMap.UpdatePins();
        }

        function SetTourCategories(category){
            var categories = tourCategories;
            ecMap.DisablePins(4);
            if (category) {
              ecMap.LoadTouren(category);
            }else{
              ecMap.LoadTouren();
            }
            ecMap.UpdatePins();
        }

        function ShowInitHashLink(){
            ecMap.SetPopupOnHover(true);
        }

        function ShowLink(){
            var hashLink = $get('txtHashLink').value;
            ecMap.ShowHashLink( hashLink, OnHashLinkLoaded );
        }

        function OnHashLinkLoaded( pinData ){
            if( pinData == null ){
                return;
            }
        }

        function logfunc(func,param){
          var field = document.getElementById('trace');
          if (func) {
            param = (param) ? param : '';
            field.value += func + "("+param+")\n";
          } else {
            field.value = '';
          }
        }
