﻿// Load JS-only stylesheet
var jsStylesheet = new Asset.css('media/css/js-enabled.css');

// prefilledFormFields class
var PrefilledFormField = new Class({
    Implements: [Options, Events],

    options: {
        formField: ''
    },

    initialize: function(options){
        this.setOptions(options);

        if ($(this.options.formField)){
            var originalValue = $(this.options.formField).value;

            $(this.options.formField).addEvent('focus', function(){
                if (this.value == originalValue){
                  this.value = '';
                }
            });

            $(this.options.formField).addEvent('blur', function(){
                if (this.value == ''){
                  this.value = originalValue;
                }
            });
        }
    }
});

// carousel class
var Carousel = new Class({
    Implements: [Options, Events],

    options: {
        carouselElement: ''
    },

    initialize: function(options){
        this.setOptions(options);

        // Take all images and put them in a seperate container
        var imagecontainer = new Element('div',{
            'class' : 'imagecontainer'
        });
        this.options.carouselElement.getElements('.image img').inject(imagecontainer);
        imagecontainer.inject(this.options.carouselElement, 'top');
        this.options.carouselElement.getElements('.image img').destroy();
        homeCarousel = new SimpleCarousel(this.options.carouselElement, imagecontainer.getElements('img'), this.options.carouselElement.getElements('.description'), {
            rotateAction: 'none',
            slideInterval: 5000,
            transitionDuration: 500
        });
    }
});

// siteEngine class
var SiteEngine = new Class({
    initialize: function(){
        // Load all carousels
        $$('.carousel').each(function(el){
            new Carousel({
              'carouselElement' : el
            });
        });

        // Enable prefilled formfields
        $$('.prefilled').each(function(el){
            new PrefilledFormField({
                'formField' : el
            });
        });
    }
});

var tabSwitch = function(el) {
    
    $('tab-value').set('value', $(el.target).get('id').substr(4))
    
    $$('.tab').removeClass('active');
    $(el.target).addClass('active');
    
    $$('.intro').removeClass('active');
    $$('.intro.'+$(el.target).get('id').substr(4)).addClass('active');
    
    $$('.search-content').setStyle('display', 'none');
    this.setStyle('display', 'block');
}

var doResize = function() {
    var height = window.innerHeight;
    if(navigator.appName == 'Microsoft Internet Explorer') {
      height = document.documentElement.clientHeight;
    }
    
    $('framework').setStyle('min-height', height - 389);
}

window.addEvent('domready', function(){
    SiteEngine = new SiteEngine();
    
    // Plaats de footer tegen de onderkant
    doResize();
    window.onresize = function(){
        doResize();
    }
    
    // Nieuwsbrief ajax request
    if($('newslettersubscribe-submit'))
    {
        $('newslettersubscribe-submit').addEvent('click', function(e) {
            $('newslettersubscribe-response').set('html', '<img src="/media/images/loader.gif">');
            e.stop();
            var request = new Request.JSON({
                url: '/nieuwsbrief/',
                onComplete: function(jsonObj) {
                    $('newslettersubscribe-response').set('html', jsonObj.message);
                    if(jsonObj.success == 0){
                        $('newslettersubscribe-response').set('class', 'error');
                    }else{
                        $('newslettersubscribe-response').erase('class');
                    }
                }
            }).post({'name': $('newslettersubscribe-textinput-name').value,
                     'address': $('newslettersubscribe-textinput-address').value,
                     'zipcode': $('newslettersubscribe-textinput-zipcode').value,
                     'city': $('newslettersubscribe-textinput-city').value,
                     'ajax': 1});
        });
    }
    
    if($('searchtabs')) {
    	var searchSite = $('search-site');
    	var searchArchive = $('search-archive');
    	var searchImages = $('search-images');
    	var searchLibrary = $('search-library');
    	var searchPeople = $('search-people');
     
    	$('tab-site').addEvent('click', tabSwitch.bind(searchSite));
    	$('tab-archive').addEvent('click', tabSwitch.bind(searchArchive));
    	$('tab-images').addEvent('click', tabSwitch.bind(searchImages));
    	$('tab-library').addEvent('click', tabSwitch.bind(searchLibrary));
    	$('tab-people').addEvent('click', tabSwitch.bind(searchPeople));
    }

});
