function Slider(slideground, slideinner ){

    var _model = new SliderModel();
    var _ctrl  = new SliderController(_model,this);
    var _con   = slideground;
    var _inner = slideinner;

    _model.setGround(_con);
    _model.setSlideInner(_inner);
    _model.addObserver(this);

    /**
     * Grundfläche für den Slider zusammen stellen
     */
    function createGround(){
        var g = _model.getGround();

        for(var i = 0 ; i < 2 ; i++) {
            var _div = document.createElement("div");

            switch (i) {
                case 0:
                    var text = document.createTextNode( String.fromCharCode(171) );
                    _div.className = "slideLeft";
                    _div.appendChild(text);
                    _ctrl.addEventToElement(_div, 'click', ['slide','left']);

                    g.node.parentNode.insertBefore(_div, g.node);
                    break;
                case 1:
                    var text = document.createTextNode( String.fromCharCode(187) );
                    _div.className = "slideRight";
                    _div.appendChild(text);
                    _ctrl.addEventToElement(_div , 'click', ['slide','right']);
                    g.node.parentNode.appendChild( _div );
                    break;
                default: 
            }

            if(navigator.userAgent.match(/msie/i))
                _div.style.styleFloat = 'left';
            else
                _div.style.cssFloat = 'left';
        }

        if(navigator.userAgent.match(/msie/i))
            g.node.style.styleFloat = 'left';
        else
            g.node.style.cssFloat = 'left';
    };

    /**
     * Callback von SliderModel
     * bezieht sich auf das object _inner
     * @acess public
     * @param value int neuer wert
     */
    this.updateSlide  = function(value){
        this.style.left = value+"px";
    };

    this.displayNode = function(nodekey){
        _model.moveNodeInDisplay(nodekey);
    };

    createGround();
}
