// replace fonts (cufon)
Cufon.replace('#menu-top .item .title a', { fontFamily: 'DaxRegular', hover: true });
Cufon.replace('#menu-top .item .expand .right h2.header', { fontFamily: 'DaxMedium' });
Cufon.replace('#menu-top .item .expand .right .contact-block h2', { fontFamily: 'DaxRegular' });
Cufon.replace('#menu-left ul li a', { fontFamily: 'DaxRegular', hover: true });
Cufon.replace('#content-right h2.large', { fontFamily: 'Eternity' });
Cufon.replace('#content-right .content-blocks h3', { fontFamily: 'DaxMedium' });
Cufon.replace('#content-right #content-text h2', { fontFamily: 'DaxMedium' });
Cufon.replace('#content-right #content-text h3', { fontFamily: 'DaxMedium' });
Cufon.replace('#content-right #content-sidebar h2', { fontFamily: 'DaxMedium' });
Cufon.replace('#content-right #content-productselector h2', { fontFamily: 'DaxRegular' });
Cufon.replace('#content-productselector .results .list h3', { fontFamily: 'DaxRegular' });
Cufon.replace('#content-text .tabs .tab .title a', { fontFamily: 'DaxMedium' });
Cufon.replace('#content-text .tabs .tab .title span', { fontFamily: 'DaxMedium' });
Cufon.replace('#contacts-accordion h3.accordion-bar a', { fontFamily: 'DaxRegular' });
Cufon.replace('#content-text .press-archive ul li a', { fontFamily: 'DaxRegular', hover: true });
Cufon.replace('#content-text .press-archive .item .title a', { fontFamily: 'DaxRegular', hover: true });
Cufon.replace('#content-404 h2', { fontFamily: 'DaxMedium' });
Cufon.replace('#content-404 h3', { fontFamily: 'DaxMedium' });
Cufon.replace('#footer-404 h3', { fontFamily: 'DaxMedium' });
Cufon.replace('#footer-404 ul li.title', { fontFamily: 'DaxRegular' });

var languageSelectorState = 0;

$(document).ready(function() {
    // set target for external links
    $("a[href^='http://']:not(a[class*='no-external'])").click(function() {
        window.open(this.href);
        return false;
    });

    $("a[href^='https://']:not(a[class*='no-external'])").click(function() {
        window.open(this.href);
        return false;
    });

    $("a[class*='force-external']").click(function() {
        window.open(this.href);
        return false;
    });

    // set icons for links
    $("a[href^='http://']:not(:has(img))").addClass('external');
    $("a[href^='https://']:not(:has(img))").addClass('external');

    $('a[href$=".doc"]').addClass('icon-doc').click(function() {
        window.open(this.href);
        return false;
    });
    $('a[href$=".pdf"]').addClass('icon-pdf').click(function() {
        window.open(this.href);
        return false;
    });
    $('a[href$=".xls"]').addClass('icon-xls').click(function() {
        window.open(this.href);
        return false;
    });

    // add javascript dependant stuff
    $('.search-box-button').append('<a href="#" onclick="Search_Click();" class="search-link"><span>' + $('.search-box-button .search-button').attr('value') + '</span></a>');
    $('#email-box .button').append('<a href="#" onclick="Submit_Click(\'email-box\');" class="submit-link"><span>' + $('#email-box .button .submit-button').attr('value') + '</span></a>');
    $('#language-selector').css({ 'display': 'inline' });

    // expand/collapse language selector
    $('#language-expand').click(function() { toggleLanguageSelector() });

    // auto-hide language selector
    $('#language-selector').mouseleave(function() {
        if (languageSelectorState == 1) {
            setTimeout('toggleLanguageSelector()', 1000);
        }
    });

    // hide default (noscript) search button
    $('.search-box .search-button').css({ 'display': 'none' });
    $('.search-box .search-link').click(function() {
        $(this).parent().children('.search-button').click();
    });


    // hide default (noscript) email submit button
    $('#email-box .submit-button').css({ 'display': 'none' });
    $('#email-box .submit-link').click(function() {
        $(this).parent().children('.submit-button').click();
    });

    // position menu expansion #4
    var leftPos = $('#menu-expand4').width() - $('#menu-item4').width();
    $('#menu-expand4').css('left', '-' + leftPos + 'px');

    // initialize tabs
    $('#tabs-product .tabs-1').addClass('ui-tab-selected');
    $('#tabs-product #tabs-1').removeClass('ui-tab-hide');

    $('#tabs-product .tab-title').click(function() {
        var activeTab = $(this).attr('rel');
        hideAllProductTabs();

        $('#tabs-product ' + activeTab.replace('#', '.')).addClass('ui-tab-selected');
        $('#tabs-product ' + activeTab).removeClass('ui-tab-hide');
    });

    // initialize contacts accordion
    $('#contacts-accordion').accordion({ autoHeight: false });
    $('#contacts-accordion').accordion('activate', false);


    showRelevantRows(3);
    if ($('.availability tr.row').length >= 4) {
        $('.availableDown').show();
        $('.availableUp').show();
    }
    $('.availableDown').click(function() {
        moveRows(false);
        showRelevantRows(3);
    });
    $('.availableUp').click(function() {
        moveRows(true);
        showRelevantRows(3);
    });


    // initialize form button
    initAxForms();
});

function moveRows(up) {
    if (up) {
        $('.availability tr.row:first').appendTo('.availability tbody');
    } else {
        $('.availability tr.row:last').prependTo('.availability tbody');
    }
}
function showRelevantRows(rowCount) {
    $('.availability tr.row').each(function() {
        var index = $('tr.row').index(this);
        if (index >= rowCount) {
            $(this).hide();
        }
        else {
            $(this).show();
        }
    });
}


function initAxForms() {
    // init submit buttons
    $('.AxForm').each(function() {
        $(this).find('.AxFormControl :submit').css({ 'display': 'none' });
        $(this).find('.AxFormControl:has(:submit)').append('<a href="#" onclick="Submit_Click(\'' + $(this).find('.AxFormControl :submit').attr('id') + '\');" class="submit-link"><span>' + $(this).find('.AxFormControl :submit').attr('value') + '</span></a>');
    });

    // init required form fields
    $('.AxRequired').each(function() {
        $(this).parents('.AxFormElement:first').find('.AxFormElementLabel').append(' *').css({ 'font-weight': '700' });
        if ($(this).parents('.AxFormElement:first').find('.AxRequiredMessage').html() != null) {
            $(this).parents('.AxFormElement:first').append('<div class="AxRequiredMessageCustom">' + $(this).parents('.AxFormElement:first').find('.AxRequiredMessage').html() + '</div>');
        }
    });
}

function Submit_Click(id) {
    $('#' + id).click();
    if ($('#' + id).attr('value') == "Go") {
        pageTracker._trackEvent('prijslijst', 'aanmelden');
    }
}

function hideAllProductTabs() {
    $('#tabs-product .tabs-1').removeClass('ui-tab-selected');
    $('#tabs-product .tabs-2').removeClass('ui-tab-selected');
    $('#tabs-product .tabs-3').removeClass('ui-tab-selected');
    $('#tabs-product .tabs-4').removeClass('ui-tab-selected');

    $('#tabs-product #tabs-1').addClass('ui-tab-hide');
    $('#tabs-product #tabs-2').addClass('ui-tab-hide');
    $('#tabs-product #tabs-3').addClass('ui-tab-hide');
    $('#tabs-product #tabs-4').addClass('ui-tab-hide');
}

// expand/collapse language selector
function toggleLanguageSelector() {
    $('#language-dropdown').slideToggle(200, function() {
        if (languageSelectorState == 0) {
            $('#language-expand').css({ 'background': 'url(/media/buttons/language-collapse.png) no-repeat 0 0' });
            languageSelectorState = 1;
        } else if (languageSelectorState == 1) {
            $('#language-expand').css({ 'background': 'url(/media/buttons/language-expand.png) no-repeat 0 0' });
            languageSelectorState = 0;
        }
    });
}

// preload images
(function($) {
    var cache = [];
    // Arguments are image paths relative to the current page.
    $.preLoadImages = function() {
        var args_len = arguments.length;
        for (var i = args_len; i--; ) {
            var cacheImage = document.createElement('img');
            cacheImage.src = arguments[i];
            cache.push(cacheImage);
        }
    }
})(jQuery)

jQuery.preLoadImages(
	'/media/backgrounds/menu-tab.png',
	'/media/backgrounds/menu-tab-border-left1.png',
	'/media/backgrounds/menu-tab-border-left2.png',
	'/media/backgrounds/menu-tab-border-right1.png',
	'/media/backgrounds/menu-tab-border-right2.png',
	'/media/backgrounds/menu-expand-panel1.png',
	'/media/backgrounds/menu-expand-panel2.png',

	'/media/tabs-product/border-left.png',
	'/media/tabs-product/border-left-1.png',
	'/media/tabs-product/border-right.png',
	'/media/tabs-product/border-right-4.png',
	'/media/tabs-product/content.png',
	'/media/tabs-product/footer.png',
	'/media/tabs-product/header.png',
	'/media/tabs-product/tab-title.png',

	'/media/backgrounds/contact-popup.png'
);