/**
     * Switch image in dir gallery box
     */
    function switchImage(urlView,urlOrig,hash) {

        var image = document.getElementById('plugin-dirgallery-image-' + hash);
        var origlink = document.getElementById('plugin-dirgallery-origlink-' + hash);

        if(image != null) {
            image.src = urlView;
            origlink.href = urlOrig;
            return true;
        } else {
            return false;
        }

    }

    var scrolling = 0;
    var scrollSpeed = 0;

    /**
     * Scroll handler function
     */
    function scrollHandler(e,element) {       
        var evt;
        if(window.event) {            
            evt = window.event;
        } else {
            evt = e;
        }

        var offset = getElementOffsetX(element);
        var x = evt.clientX - offset;
        
        var center = element.clientWidth / 2;        
        var rightBorder = element.clientWidth - 50;
        var leftBorder = 50;

        var delta = x - center;
        if (x > rightBorder) {
            delta = x - rightBorder;
        } else if (x < leftBorder) {
            delta = x - leftBorder;
        } else {
            delta = 0;
        }

        if(Math.abs(delta) > 0) {
            scrollSpeed = delta/5;
            if(scrolling != 1) {                
                scrolling = 1;
                scroll(element);

            }
        } else {
            scrolling = 0;
        }
    }

    /**
     * Scroll function
     */
    function scroll(element) {
        if(scrolling != 1) {
            return false;
        }

        var scrollValue = element.scrollLeft;
        var newScrollValue;
        if(scrollSpeed > 0){
            element.scrollLeft += scrollSpeed;
            newScrollValue = element.scrollLeft;
            if(newScrollValue > scrollValue && scrolling == 1){
                setTimeout(function(){scroll(element)},50)
            } else {
                scrolling = 0;
            }
        }else if(scrollSpeed < 0) {
            element.scrollLeft += scrollSpeed;
            newScrollValue = element.scrollLeft;
            if(newScrollValue < scrollValue && scrolling == 1){
                setTimeout(function(){scroll(element)},50)
            } else {
                scrolling = 0;
            }
        }
        return true;
    }

    function getElementOffsetX(element) {
        var elementOffsetX=0;
        if (element.offsetParent) {
            elementOffsetX = element.offsetLeft;
            while (element = element.offsetParent) {
                elementOffsetX += element.offsetLeft;
            }
        }
        return elementOffsetX;
    }

