var ls, ws;
var animation_running = false;
var imageWidth = 170;
var perStep = 3;
var numVisible = 3;
var maxIndex;
Event.observe(window, 'load', function(){
	ls = {
		position: 0,
		MOVE_FORWARD_ENABLED: true,
		MOVE_BACK_ENABLED: false,
		numAll: $$('#lp .scr-holder .nl').length,
		mover: $$('#lp .scr-holder')[0],
		prev: $$('#lp .prev')[0],
		next: $$('#lp .next')[0]
	};
	ws = {
		position: 0,
		MOVE_FORWARD_ENABLED: true,
		MOVE_BACK_ENABLED: false,
		numAll: $$('#wp .scr-holder .nl').length,
		mover: $$('#wp .scr-holder')[0],
		prev: $$('#wp .prev')[0],
		next: $$('#wp .next')[0]
	};
})
function move(direction, settings) {
	if(animation_running) {
		return;
	}
	if (!settings.MOVE_FORWARD_ENABLED && !settings.MOVE_BACK_ENABLED) {
		return;
	}
	maxIndex = (settings.numAll - numVisible) / perStep;
	if (direction=='next') {
	    if(!settings.MOVE_FORWARD_ENABLED) {
	        return;
	    }
	    settings.position++;
	    animation(-1, settings);
	    if(settings.position==parseInt(maxIndex)) {
	        arr_hide(settings.next, settings);
	    } else {
	        arr_show(settings.next, settings);
	    }
	    arr_show(settings.prev, settings);
	} else if (direction=='prev') {
	    if(!settings.MOVE_BACK_ENABLED) {
	        return;
	    }
	    settings.position--;
	    animation(1, settings)
	    if(settings.position!=0) {
	        arr_show(settings.prev, settings);
	    } else {
	        arr_hide(settings.prev, settings);
	    }
	    arr_show(settings.next, settings);
	}
}
function arr_show(arr, settings) {
    if(arr.hasClassName('next')) {
        settings.MOVE_FORWARD_ENABLED = true;
        arr.removeClassName('next-hidden');
    }
    if(arr.hasClassName('prev')) {
        settings.MOVE_BACK_ENABLED = true;
        arr.removeClassName('prev-hidden');
    }
}
function arr_hide(arr, settings) {
    if(arr.hasClassName('next')) {
        settings.MOVE_FORWARD_ENABLED = false;
        arr.addClassName('next-hidden');
    }
    if(arr.hasClassName('prev')) {
        settings.MOVE_BACK_ENABLED = false;
        arr.addClassName('prev-hidden');
    }
}
function animation(index, settings) {
	animation_running = true;
    index = index || 1;
    new Effect.Move(settings.mover, {
        x: index * (perStep * imageWidth),
        y: 0,
        transition: Effect.Transitions.sinoidal,
        afterFinish: function() {
            animation_running = false;
        }
    });
}
