﻿document.getElementById('scrollingContent').onmouseover = addMouseWheelListener;
document.getElementById('scrollingContent').onmouseout = removeMouseWheelListener;

function checkTop() {
    if(document.getElementById('scrollingContent').style.top.replace(/[^\-0-9]/g,'') < 0)
        return true;
    else return false;
}
function checkBottom() {
	if(document.getElementById('scrollingContent').style.top.replace(/[^\-0-9]/g,'') > (-document.getElementById('scrollingContent').offsetHeight + document.getElementById('scrollingContainer').offsetHeight ) )
       return true;
    else return false;
}

var MoveAnimationDown = new AjaxControlToolkit.Animation.MoveAnimation($get("scrollingContent"),0.3,50,0,-100,true);
var MoveAnimationUp = new AjaxControlToolkit.Animation.MoveAnimation($get("scrollingContent"),0.3,50,0,100,true);
var DisableButtonUp = new AjaxControlToolkit.Animation.EnableAction($get("up"),false,false,false);
var DisableButtonDown = new AjaxControlToolkit.Animation.EnableAction($get("down"),false,false, false);
var EnableButtonUp = new AjaxControlToolkit.Animation.EnableAction($get("up"),null,null, true);
var EnableButtonDown = new AjaxControlToolkit.Animation.EnableAction($get("down"),null,null, true);
var ParallelAnimationDown = new AjaxControlToolkit.Animation.ParallelAnimation($get("scrollingContent"),0.3,50);
var ParallelAnimationUp = new AjaxControlToolkit.Animation.ParallelAnimation($get("scrollingContent"),0.3,50);
ParallelAnimationDown.add(DisableButtonDown);
ParallelAnimationDown.add(MoveAnimationDown);
ParallelAnimationDown.add(EnableButtonDown);
ParallelAnimationUp.add(DisableButtonUp);
ParallelAnimationUp.add(MoveAnimationUp);
ParallelAnimationUp.add(EnableButtonUp);

function playAnimationDown() {
    if (ParallelAnimationDown.get_isPlaying() == false && ParallelAnimationUp.get_isPlaying() == false && checkBottom() == true)
        ParallelAnimationDown.play();
}

function playAnimationUp() {
    if (ParallelAnimationDown.get_isPlaying() == false && ParallelAnimationUp.get_isPlaying() == false && checkTop() == true)
        ParallelAnimationUp.play();
}

document.getElementById('down').onclick = function() {
    playAnimationDown();
    return false;
}

document.getElementById('up').onclick = function() {
    playAnimationUp();
    return false;
}

function EventHandler(delta) {
    if (delta < 0) {
        playAnimationDown();
    }
    else {
        playAnimationUp();
    }
}

function MouseWheelListener(event){
    var delta = 0;
    if (!event) event = window.event;
    if (event.wheelDelta) delta = event.wheelDelta/120;  
    else if (event.detail) delta = -event.detail/3;
    if (delta) EventHandler(delta);
    if (event.preventDefault) event.preventDefault();         
    event.returnValue = false;
}

function removeMouseWheelListener () {
    if (window.removeEventListener) window.removeEventListener('DOMMouseScroll',MouseWheelListener,false);
    window.onmousewheel = document.onmousewheel = null;
} 

function addMouseWheelListener () {
    if (window.addEventListener) window.addEventListener('DOMMouseScroll', MouseWheelListener, false);
    window.onmousewheel = document.onmousewheel = MouseWheelListener;
}