var scroller = {

    init: function () {
    
        scroller.docW = document.getElementById ( 'hoehenprofilContent' ).offsetWidth;
        scroller.contW = document.getElementById ( 'hoehenprofilInner') .offsetWidth;
        scroller.scrollAreaW = document.getElementById ( 'scrollArea' ).offsetWidth;
        
        scroller.scrollW = ( scroller.contW * scroller.scrollAreaW / scroller.docW ) - 10;
       
        if ( scroller.scrollW < 6 ) {
             scoller.scrollW = 6;
        }
        
        if ( scroller.scrollW > scroller.scrollAreaW ) {
            scroller.scrollW = scroller.scrollAreaW;
        } 
        
        document.getElementById ( "scroller" ).style.width = Math.round ( scroller.scrollW ) + "px";
        
        if ( scroller.scrollW < scroller.scrollAreaW ) {
        
            document.getElementById ( "scroller" ).style.cursor = 'w-resize';
            
            scroller.scrollDist = Math.round ( scroller.scrollAreaW - scroller.scrollW );
            Drag.init ( document.getElementById ( "scroller" ), null, -1, scroller.scrollDist, 0, 0 );
            
            document.getElementById ( "scroller" ).onDrag = function ( x, y ) {
                var scrollX = parseInt ( document.getElementById ( "scroller" ).style.left);
                var contDist = scroller.docW - scroller.contW;
                
                var docX = 0 - ( contDist * scrollX / scroller.scrollDist );
                
                document.getElementById ( "hoehenprofilContent" ).style.left = docX + "px";
            }
        }
        
    }
}


var schieber = {

    init: function () {
    
        schieber.countLevelPoints = levelPoints.length;
        schieber.lastX = 0;
        
        Drag.init ( document.getElementById ( "hoehenprofilPosition" ), null, 0, schieber.countLevelPoints - 1, 0, 0, 0, 5 );
    
        document.getElementById ( "hoehenprofilPosition" ).onDrag = function ( x, y ) {
            var scrollX = parseInt ( document.getElementById ( "hoehenprofilPosition" ).style.left );
            
            // Bewegt das Element zur aktuellen Mausposition
            if ( ( scrollX >= 0 ) && ( scrollX < schieber.countLevelPoints ) ) {
            
                schieber.lastX = scrollX;
            
                if ( levelPoints && levelPoints[ scrollX ] ) {
                
                    document.getElementById ( 'hoehe' ).innerHTML = Math.round ( levelPoints[ scrollX ][2] );
                    document.getElementById ( 'kilometerstand' ).innerHTML = Math.round ( levelPoints[ scrollX ][4] / 100 ) / 10;
                    document.getElementById ( 'hoehenmeter' ).innerHTML = Math.round ( levelPoints[ scrollX ][3] );
                    
                    gMarkerPosition.setPoint ( new GLatLng ( levelPoints[ scrollX ][0], levelPoints[ scrollX ][1] ) );
                    
                }   
            }
        }
        
        document.getElementById ( "hoehenprofilPosition" ).onDragEnd = function ( x,y ) {
        
            // Karte verschieben	
            if ( levelPoints && levelPoints[ schieber.lastX ] ) {
                map.setCenter ( new GLatLng ( levelPoints[ schieber.lastX ][0], levelPoints[ schieber.lastX ][1] ) );
            }
        }
    }
}
