$(document).ready(function(){

    // jsEnabled class for body
    $('body').addClass('jsEnabled');

    // Form check fields
    $('.swisCheckField').val('swis_check_ok');

    // Links met rel="external" moeten in een nieuw venster worden geopend
    $('A[rel="external"]').click( function() {
        window.open(jQuery(this).attr('href') );
        return false;
    });

    // Prefill text for inputs
    $("input[type='text']").example(function() {
        return $(this).attr('title');
    }, {className: 'exampletxt'});

    // De rubrieken onderaan de site kunnen open en dicht worden geklapt door op de thema titel te klikken
    $('.themas .rubrieken').hide();
    $('.themas h2 a').click(function(e){
        e.preventDefault();

        //oRubriek = $(this).parent().next('.rubrieken');
        iThemaId = $(this).attr('rel');

        oRubriek = $('#rubriek'+iThemaId);

        if(oRubriek.css('display') == 'none'){
            oRubriek.slideDown();
        } else {
            oRubriek.slideUp();
        }

    });

    // Billboard
    billboard.slides = $('.billboard li');
    billboard.init();

    // Alerts: in de css worden de alerts verborgen als je js hebt. Hier worden ze na 1 sec opengevouwen. Dit om ervoor te zorgen dat de alert opvalt bij de bezoeker.
    setTimeout(function() {
        $('.alert').slideDown();
    }, 1000);

    // postcode -> plaats
    $('#postcode').keyup(function(){
        sPostcode = $(this).val();
        if(sPostcode.length > 5){
            // via ajax plaats opvragen adv de postcode
            jQuery.get($('base').attr('href') + 'ajax/postcode_to_plaats.php',{postcode: sPostcode}, function(data){
                if(data == 0){
                    //alert('Geen plaats gevonden');
                } else {
                    // als het plaats veld een SELECT is (en dus geen INPUT type="text") dan de value setten
                    $('select#plaats').val(data);
                }
            }, 'json');
        }
    });

    // Verwijderen van reviews bevestigen
    $('.managereview a.delete').click(function(e){
        e.preventDefault();
        if(confirm('Weet u zeker dat u deze review wilt verwijderen?')){
            window.location = $(this).attr('href');
        }
    });

});

/**
* Als een url met www begint, http:// ervoor plakken.
* Gebruik: onBlur="fixUrl(this.id);"
*/
function fixUrl(sElementId){
    sUrl = document.getElementById(sElementId).value;

    if(sUrl.substring(0,3) == 'www'){
        document.getElementById(sElementId).value = 'http://' + sUrl;
    }
}

/**
* Hits tellen op telefoon nr's etc/
* sType: (string) verkooppunt / merk
* iID: (int) verkooppunt id / merk id
* sObject: (string) omschrijving van het object waarop is geklikt (tel/fax/email/website/pagina)
*/
function countHit(sType,iID,sObject){
    jQuery.get("ajax/counthit.php", {sType: sType, iID: iID, sObject: sObject}, function(data){
        //alert(data);
    });
}

/**
* hit tellen bij klik op link naar externe website
*/
function recordOutboundLink(oLink, sType, iID, sObject) {
    try {
        countHit(sType,iID,sObject);
        //setTimeout('document.location = "' + oLink.href + '"', 100); // uitgaande klik met een fractie van een seconde vertragen
        window.open(oLink.href);
    } catch(err){}
}

/**
* "kijk hier" linkje verbergen en de verborgen info tonen
* oLink: (object) de "a" die verborgen moet worden (this gebruiken)
*/
function kijkHier(oLink){
    $(oLink).hide(); // de "kijk hier" link verbergen
    $(oLink).next('.hidden').show(); // telefoon/fax nummer tonen
}

// Cufon!
Cufon.replace('.dax');

// Billboard class
var billboard={

    num:-1,     // aantal slides
    cur:0,      // index van de actieve slide
    al:null,    // Timeout ID
    at:4*1000,  // tijd dat een slide zichtbaar is
    ar:true,    // auto-run


    init:function(){

        // Als er geen "slides" zijn heeft het ook geen zin om verder te gaan.
        if(!billboard.slides || !billboard.slides.length){
            return false;
        }

        var slides=billboard.slides;
        billboard.num = slides.length;

        // de slides in de imgholder div zetten
        $('.billboard .imgholder').html('');
        slides.each(function(){
            sImg = $(this).find('.slide');
            if(sImg.length == 0) sImg = '<img src="images/billboard-default.jpg" alt="">';
            $('.billboard .imgholder').append(sImg);

        });

        var pos = Math.floor(Math.random()*1);//slider.num);

        billboard.on(pos);
        billboard.cur=pos;
        window.setTimeout('billboard.auto();',billboard.at);


    },

    auto:function(){
        if(!billboard.ar){
            return false;
        }

        var next = billboard.cur+1;
        if(next >= billboard.num) next=0;
        billboard.slide(next);
    },

    slide:function(pos){
        if(pos<0 || pos>=billboard.num || pos==billboard.cur){
            return;
        }

        window.clearTimeout(billboard.al);
        billboard.al = window.setTimeout('billboard.auto();',billboard.at);

        // Plaatjes verschuiven. 188 is de hoogte van een plaatje
        $('.billboard .imgholder img:first').stop().animate({'margin-top':-((pos)*188)},1000,'swing');

        // Pijltje verschuiven
        $('.billboard ul li h3').each(function(i){
            if(i == pos){
                iTop = $(this).position().top;
                return false;
            }
        });

        $('.billboard .arrow').stop().animate({'top':(iTop + 34)},1000,'swing');

        billboard.on(pos);
        billboard.cur=pos;
    },

    on:function(pos){

        $('.billboard ul li h3 a').removeClass('active');

        $('.billboard ul li h3 a').each(function(i){
            if(i == pos){
                $(this).addClass('active');
                return false;
            }
        });
    }
};


