var pressDomready = false;
window.addEvent('domready', function() {
    pressDomready = true;
    var covers = $$('.pressCover').each(function(el, idx, arr) {
        el.addEvent('mouseover', function() {
            el.addClass('over');
        });
        el.addEvent('mouseout', function() {
            el.removeClass('over');
        });
    });
    
    $('press_left').addEvent('click', function () {
        element_go('pressList', 556);
    });

    $('press_right').addEvent('click', function() {
        element_go('pressList', -556);
    });
    
    var items = $$('.pressItem');
    var newWidth = 139 * items.length;
    $('pressList').setStyle('width', newWidth);
});

function element_go(element_id, distance) {
    if(!pressDomready) return;

    var element = $(element_id);
    var el_fx = new Fx.Tween(element);
    var new_left;
    
    var current_position = element.getStyle('left').toInt();
    var parent = element.getParent();
    var viewable_length = parent.getStyle('width').toInt();
    var element_width = element.getStyle('width').toInt();
    
    var boundary = (element_width - viewable_length) * -1;
    
    var next_position = current_position + distance;
    
    if(next_position > 0 || next_position < boundary) {
        //can't go the full amount because it's beyond the boundaries.
        
        var remaining_distance = element_width + current_position - viewable_length; //distance to travel right
        
        if(distance < 0 && remaining_distance > 0) {
            //going right (negative)
            new_left = (remaining_distance * -1) + current_position;
        }
        else if(distance > 0) {
            //going left (positive)
            new_left = 0;
        }
        else return;
    }
    else {
        new_left = next_position;
    }
    el_fx.start('left', new_left);
}
