/* initiation of page JS */
var $isInited = false;
function initPage(){

    $isInited = true;

    // there is no scroller needed is the max position is equal to 0
    if ($max_scoller_position == 0) {
        return;
    }

    $productScrollerFx = new Fx.Style('product-scroller', 'left', {
        onComplete: function() {

            if ($scroll_position > $max_scoller_position) {
                $('content-main').addClass('more');
                $('control-forward').setStyle('display', 'block');
            } else {
                $('content-main').removeClass('more');
                $('control-forward').setStyle('display', 'none');
            }

            $display_rewind = ($scroll_position != 0) ? 'block' : 'none';
            $('control-rewind').setStyle('display', $display_rewind);
        },
        duration: 850,
        transition: Fx.Transitions.quartInOut
    });

//    console.log('page initiated');
};

function scrollProduct($offset) {

    // guard: dom loaded
    if (!$isInited) {
        return;
    }

    // determine new position
    if ($chk($offset)) {
        $new_position = $('product-scroller').getStyle('left').toInt() - $offset;
        $scroll_position = $new_position;
    } else {
        $scroll_position = 0;
    }

    // scroll to new position
    $productScrollerFx.start($scroll_position);
}

function newWindow($href, $name, $width, $height) {

    // center window
    var $left = (window.getWidth()  - $width)  / 2;
    var $top  = (window.getHeight() - $height) / 2;

    var $win_properties = 'height='      + $height +
                          ',width='      + $width +
                          ',top='        + $top +
                          ',left='       + $left +
                          ',status=no' +
                          ',scrollbars=no' + 
                          ',resizable';


    win = window.open($href, $name, $win_properties)

    if (parseInt(navigator.appVersion) >= 4) {
        win.window.focus();
    }
}

/* sibling product zoomer */
function zoomIn($id) {
    // first, zoom out all zoomed in elements
    $$('#product-scroller a.zoomer').each(function($zoomer){
        $zoomer.setStyle('display', 'none');
    });
    // then, set all zoom bases visible
    $$('#product-scroller a.zoom-base').each(function($zoom_base){
        $zoom_base.setStyle('visibility', 'visible');
    });

    // zoom in: block zoomed-in
    $zoomed_in = $('zoomed-in-' + $id);
    $zoomed_in.setStyle('display', 'block');

    // hide zoom out / zoom_base
    $zoomed_out = $('zoomed-out-' + $id);
    $zoomed_out.setStyle('visibility', 'hidden');
}
function zoomOut($id) {
    // zoom out: none zoomed-in
    $zoomed_in = $('zoomed-in-' + $id);
    $zoomed_in.setStyle('display', 'none');

    // show zoomed out / zoom base
    $zoomed_out = $('zoomed-out-' + $id);
    $zoomed_out.setStyle('visibility', 'visible');
}

function showProductRollOver($roll_over_id)
{
    $roll_over = $($roll_over_id);
    $roll_over.setStyle('display', 'block');
}
function hideProductRollOver($roll_over_id)
{
    $roll_over = $($roll_over_id);
    $roll_over.setStyle('display', 'none');
}

function focusField(element)
{
    var element_arr = ['select-city-nl', 'select-city-be', 'input-zip-code-nl'];

    for (var i = 0; i < element_arr.length; i++) {
        if (element_arr[i] == element.id) {
            continue;
        }

        var el = $(element_arr[i]);
        if (element_arr[i].indexOf('select-') != -1) {
            el.selectedIndex = 0;
        } else if (element_arr[i].indexOf('input-') != -1) {
            el.value = '';
        }
    }
}

function resetSearchNLZipCodeInputbox()
{
    $input = $('input-zip-code-nl');
    $input.value = '';
}
function resetSearchBECitySelectbox()
{
    $select = $('select-city-be');
    $select.selectedIndex = 0;
}
