Type.registerNamespace("Slider");

// ******************************
//  slider class definition START
// ******************************

Slider.sliderObj = function (obj)
{
    //slider Properties
    this.sliderElem = obj;
    this.sliderDirection ="toLeft";
    this.sliderTimeoutID = null;
        
    //slider Methods
    this.SlideLeft = SlideLeft;
    this.SlideRight = SlideRight;
    
    function SlideLeft()
            {
            this.sliderDirection = "toLeft";
            var refToThis = this;
            var closure = function()
                    {
                    refToThis.SlideLeft();
                    }
            
            clearTimeout(this.sliderTimeoutID);
            if(this.sliderDirection == "toLeft" && this.sliderElem.offsetLeft > 0 )
                {
                this.sliderElem.style.left = this.sliderElem.offsetLeft - 25 + 'px';
                this.sliderTimeoutID = setTimeout(closure,5);
                }
            else
                {
                clearTimeout(this.sliderTimeoutID);
                if(this.sliderElem.offsetLeft < 0)
                    this.sliderElem.style.left = 0 + 'px';
                }
            }

    function SlideRight()
            {
            this.sliderDirection = "toRight";
            var refToThis = this;
            var closure = function()
                    {
                    refToThis.SlideRight();
                    }
            
            if(this.sliderDirection == "toRight" && this.sliderElem.offsetLeft < this.sliderElem.parentNode.offsetWidth - 23)
                {
                clearTimeout(this.sliderTimeoutID);
                this.sliderElem.style.left = this.sliderElem.offsetLeft + 25 + 'px';
                this.sliderTimeoutID = setTimeout(closure,5); 
                }
            else
                clearTimeout(this.sliderTimeoutID);
            }
            
    //events definitions
    
        var refToThis = this;
        var closureL = function()
                {
                refToThis.SlideLeft();
                }
        var refToThis = this;
        var closureR = function()
                {
                refToThis.SlideRight();
                }
        $addHandler(refToThis.sliderElem , 'mouseover' , closureL);
        $addHandler(refToThis.sliderElem , 'mouseout' , closureR);
}
Slider.sliderObj.registerClass('Slider.sliderObj');
// *****************************
//  slider class definition END
// *****************************