function class_regler_control(){

    //höehe der reglerbox
    this.reglerbox_height=0;
    
    //höhe des schiebers
    this.schieber_height=0;

    //soweit darf der schieber nach oben
    this.min_dist=0;
    
    //soweit darf der schieber nach unten
    this.max_dist=0;

    //array mit allen zoomstufen und ihren scalenwerten
    var levelarray=new Array();

    //aktuelle top-position des skalenitems
    var actual_position=null;
    
    this.init=function(){

        this.get_height();

        this.set_dist();


        if(window.zoomstufen_array.length>1){
            var anz=Math.floor((this.reglerbox_height-2*this.schieber_height)/(window.zoomstufen_array.length-1));
        }
        else{
            var anz=Math.floor((this.reglerbox_height-2*this.schieber_height)/1);
            window.schiebereglerbox.style.display="none";
        }


        for(var i=0;i<window.zoomstufen_array.length;i++){

            var obj=set_scale();
            anztop=(i)*anz;
            obj.style.top=anztop+this.schieber_height+"px";
            levelarray[i] = new Object();
            levelarray[i]["zoomstufe"] = zoomstufen_array[i];
            levelarray[i]["position"] = (anztop+this.schieber_height)-(parseInt(0.5*this.schieber_height));

            window.scalebox.appendChild(obj);
        }

        set_schieber();

    }


    //höhe der schiebereglerbox bestimmen
    this.get_height=function(){
        this.reglerbox_height=window.scalebox.offsetHeight;
        this.schieber_height=window.schieber.offsetHeight;
        return;
    }

    //bereich festlegen in dem geschoben werden darf
    this.set_dist=function(){
        this.min_dist=0;
        this.max_dist=this.reglerbox_height-this.schieber_height;
        return;
    }
    function set_schieber(){
        for (var i = 0; i <levelarray.length; i++) {
            if(levelarray[i]['zoomstufe']==window.zoomstufe){
                window.schieber.style.top=levelarray[i]['position']+"px";
                actual_position=levelarray[i]['position'];
                break;
            }
        }
        return;
    }
    
    function set_scale(){
        var my_div=document.createElement('div');
        my_div.className="scale_line";
        return my_div;
    }
    
    //vergleich  der aktuellen mit der angefordeten zoomstufe
    //neue position setzen
    //neue zoomstufe setzen
    this.check_position=function(){

        var current_position=parseInt(window.schieber.style.top);
        var current_new_position=null;
        var current_zoomstufe=null;
        var old_diff=this.reglerbox_height;
        var diff=null;

        for (var i = 0; i < levelarray.length; i++) {
            diff=Math.abs(current_position-levelarray[i]['position']);
            if(diff<old_diff){
                old_diff=diff;
                current_new_position=levelarray[i]['position'];
                current_zoomstufe=levelarray[i]['zoomstufe'];
            }
        }

        window.schieber.style.top=current_new_position+"px";

        if(current_zoomstufe!=window.zoomstufe){
            //hier ist die stelle an der die zoomstufe gewechselt wird
            window.my_navi.set_default_view();            
            window.my_hide_element.clear_list();
            window.map_coords.change_mp(current_zoomstufe);
            window.zoomstufe=current_zoomstufe;
            window.my_map_controller.init();
            window.my_kat_controller.check_all();
            window.my_wege_controller.check_all();
            window.my_street_controller.check();
            
        }
    }
    
    this.check_inner_position=function(my_value){
        if((my_value>this.min_dist) && (my_value<this.max_dist)){
            return true;
        }
        else{
            return false;
        }
    }
}