//Shadowbox.loadSkin('classic', '/_include/skin'); // use the "classic" skin
//Shadowbox.loadLanguage('en', '/_include/lang'); // use the English language
//Shadowbox.loadPlayer(['img', 'html', 'iframe'], '/_include/player'); // use img and qt players

//Shadowbox.loadSkin('classic', 'http://www.mjijackson.com/shadowbox/src/skin');
//Shadowbox.loadLanguage('nl', 'http://www.mjijackson.com/shadowbox/build/lang');
//Shadowbox.loadPlayer(['img', 'html', 'iframe'], 'http://www.mjijackson.com/shadowbox/build/player');


window.addEvent('domready',function() {
	setupNewsflash();
	setupSlideShow();
	setupMenu();
	setupRoute();
    setupDelftseHoutBlocks();

	$('koningshofgroep').getElements('a[rel=pdf]').each(function (el) {
		el.set('target', '_blank');
	});

    $$('table[align=left]').each(function(table) {
        table.erase('align');
    });

    if (Browser.Engine.trident && Browser.Engine.version == 5) {
        if ($('spacing')) {
            if ($('spacing').hasClass('noordduinen')) {
                $('spacing').set('html', '<br /><br /><br /><br /><br /><br /><br /><br />');
            } else if ($('spacing').hasClass('delftsehout')) {
                $('spacing').set('html', '<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />');
            } else if ($('spacing').hasClass('huystebritten')) {
                $('spacing').set('html', '<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />');
            } else {
                $('spacing').set('html', '<br /><br /><br />');
            }  
        }
    }

    new DatePicker('#startdatum', {
		pickerClass : 'datepicker_vista',
		allowEmpty : true,
		days : ['Zondag', 'Maandag', 'Dinsdag', 'Woensdag', 'Donderdag', 'Vrijdag', 'Zaterdag'],
		months : ['Januari', 'Februari', 'Maart', 'April', 'Mei', 'Juni', 'Juli', 'Augustus', 'September', 'Oktober', 'November', 'December'],
		yearPicker : false,
		inputOutputFormat : 'd-m-Y'
	});

    new DatePicker('#einddatum', {
		pickerClass : 'datepicker_vista',
		allowEmpty : true,
		days : ['Zondag', 'Maandag', 'Dinsdag', 'Woensdag', 'Donderdag', 'Vrijdag', 'Zaterdag'],
		months : ['Januari', 'Februari', 'Maart', 'April', 'Mei', 'Juni', 'Juli', 'Augustus', 'September', 'Oktober', 'November', 'December'],
		yearPicker : false,
		inputOutputFormat : 'd-m-Y'
	});

    $$('table[align=left]').erase('align');

	$('koningshofgroep').getElements('a').each(function(lnk) {
		//if ($(lnk).get('href').indexOf('virtueelboeken.nl') > 0) {
		if ($(lnk).get('href') && $(lnk).get('href').indexOf('virtueelboeken.nl') > 0) {
			$(lnk).addClass('window');
			$(lnk).erase('target');
		}
	});

	$('koningshofgroep').getElements('a.window').each(function (el) {
		$(el).addEvent('click', function (e) {

            var href = $(this).get('href');

            if (href.indexOf('virtueelboeken') > 0) {
                href = href.replace('http://vb5.virtueelboeken.nl', 'http://www.virtueelboeken.nl').replace('http://virtueelboeken.nl', 'http://www.virtueelboeken.nl').replace('t=de', 'taal=d').replace('t=fr', 'taal=f').replace('t=en', 'taal=e');
            }

            //console.log(href);

			new Event(e).stop();
			window.open(href, 'Window', 'width=800,height=600,resizable=yes');
		});
	});

    if ($('directboeken')) {
        $('directboeken').getElement('button').addEvent('click', function(e) {
            new Event(e).stop();
            var taal, url = 'http://virtueelboeken.nl/index.asp?u=2326&type=zoekenboek&layout=';
            switch ($('boekentaal').get('value')) {
                case 'fr' :
                    taal = 'F';
                    break;
                case 'nl' :
                    taal = '';
                    break;
                case 'en' :
                    taal = 'E';
                    break;
                case 'de' :
                    taal = 'D';
                    break;
            }
            url += '&taal=' + taal + '&movetobegindatum=' + $('startdatum').get('value') + '&movetoeinddatum=' + $('einddatum').get('value') + '&objecttype=';
            window.open(url, 'Window', 'width=800,height=600,resizable=yes');
        });
    }

	setupShadowbox();

	$('koningshofgroep').getElements('a[rel=zuster]').each(function(zuster) {
		zuster.set('target', '_blank');
		//zuster.clear('rel');
	});
});

//add shuffle method to Array
Array.implement({
  shuffle: function(){
    this.sort(function (x,y) { return Math.floor(Math.random()*3)-1; });
    return this;
  }
});


//add new method to Element that uses the new Array shuffle method
Element.implement({
  shuffleChildren: function(){
    return this.adopt(this.getChildren().shuffle());
  }
});

function setupDelftseHoutBlocks()
{
    var name, blocks = $$('.homepageblock[data-thema=delftsehout]');

    // geen blocks? wegwezen!
    if (blocks.length == 0) return;

    blocks.each(function(block) {

        block.getElement('a').shuffleChildren();

        block.getElements('img').setStyles({
            'display' : 'block',
            'opacity' : 0
        });

        block.getElement('img').fade('in');

        (function() {
            (function() {
                block.getElement('img').fade('out').inject(block.getElement('a'));
                block.getElement('img').fade('in');            
            }).delay(Math.floor(Math.random() * 2500));
        }).periodical(10000);
    });
}

function setupNewsflash() {
	if ($('nieuwsflash')) {
		var flash = new Fx.Morph('flash', {duration: 'long', transition : Fx.linear, onComplete : function () {
			$('flashtekst').setStyles({display : 'block', opacity : 0});
			var tekst = new Fx.Morph('flashtekst', {transition : Fx.linear});
			tekst.start({'opacity' : 1});
		}});
 		flash.start({'height' : 150, 'width' : 150});
	}
}

function setupSlideShow() {
	if ($('slideshow')) {
		var imgs = $('slideshow').getElements('img');
		if (imgs.length > 0) {
			var simpleSlide = new mooSimpleSlide(imgs, {period : 5000});
			simpleSlide.displayImage();
		}
	}
}

/**
 * select the right menu item
 */
function setupMenu() {
	var url = document.URL;

	if (url.search(/kamperen/) > -1)		addSelected('kamperen');
	if (url.search(/faciliteiten/) > -1)	addSelected('faciliteiten');
	if (url.search(/omgeving/) > -1)		addSelected('omgeving');
	if (url.search(/accommodaties/) > -1)	addSelected('accommodaties');
	if (url.search(/over-de-camping/) > -1)	addSelected('overdecamping');
	if (url.search(/nieuws/) > -1)			addSelected('nieuwssub');
	if (url.search(/fotoboek/) > -1)		addSelected('fotoboek');
	if (url.search(/aanbiedingen/) > -1)	addSelected('aanbiedingen');
	if (url.search(/links/) > -1)			addSelected('links');
	if (url.search(/voorzieningen/) > -1)	addSelected('voorzieningen');
	if (url.search(/contact/) > -1)			addSelected('contact');
	if (url.search(/overnachten/) > -1)		addSelected('overnachten');
	if (url.search(/vergadering/) > -1)		addSelected('vergadering');
	if (url.search(/feest/) > -1)			addSelected('feest');
	if (url.search(/training/) > -1)		addSelected('training');
	if (url.search(/cursus/) > -1)			addSelected('cursus');
	if (url.search(/diner/) > -1)			addSelected('dinerr');
	if (url.search(/rondleiding/) > -1)		addSelected('rondleiding');
}

/**
 * add a selected class to a menu item
 */
function addSelected(id) {
	var el = $(id);
	el.addClass('selected');
	
	// uitzondering voor faciliteiten als omgeving is geselecteerd
	if (id == 'omgeving' && $('faciliteiten')) $('faciliteiten').removeClass('selected');
}

/**
 * setup shadowbox
 */
function setupShadowbox() {
	
	// setup shadowbox
	Shadowbox.init({slideshowDelay : 3, skipSetup : true, continuous : true, onFinish : function () {
		if ($('shadowbox_nav_alt')) $('shadowbox_nav_alt').destroy();
		var el = $('shadowbox_nav').clone();
		el.getElements('a').each(function (e) {
			e.set('id', 'shadowbox_' + e.get('title') + '_alt');
			e.set('html', '&nbsp;');
		});
		$(el).set('id', 'shadowbox_nav_alt').setStyle('float', 'right').injectAfter($('shadowbox_title_inner'));
		$('shadowbox_title_inner').setStyle('float', 'left');
	}, onChange : function () {
		$('shadowbox_nav_alt').destroy();
	}});
	
	// standard setup
	Shadowbox.setup(null, {});
	if ($$('a[rel=shadowbox]').length > 0) Shadowbox.setup($$('a[rel=shadowbox]'), {});

	// setup external links
	if ($$('a[rel*=external]').length > 0) Shadowbox.setup($$('a[rel*=external]'), {});
	if ($$('a[target=_blank]').length > 0) Shadowbox.setup($$('a[target=_blank]'), {});

	// image galleries can be openend through a direct url
	var openme = null
	$$('div.fotoboek').each(function (fotoboek) {
		var el = fotoboek.getElement('a.openme');
		if (el && openme == null) {
			openme = el;
		}
	});
	
	// open a shadowbox if applicable
	if (openme) Shadowbox.open(openme);
}

/**
 * setup route
 */
function setupRoute() {
	if ($('routeform'))	{
		$('routeform').addEvent('submit', function() {
			if (this.adres.value == '')	{
				alert('Voor het optimaal berekenen van een route op maat moet er een adres ingevuld worden.');
			} else if (this.plaats.value == '') {
				alert('Voor het optimaal berekenen van een route op maat moet er een plaats ingevuld worden.');
			} else {
				var vertrek = this.adres.value + ', ' + this.plaats.value;
				vertrek = vertrek.replace(/ /, '+');
				var aankomst = this.aankomst.value.replace(/ /, '+');

				var link = new Element('a', {
					'href' : 'http://maps.google.nl/maps?f=d&hl=' + this.locale.value + '&saddr=' + vertrek + '&daddr=' + aankomst + '&ie=UTF8&om=1',
					'rel'  : 'shadowbox;height=750;width=1000'
				});
				Shadowbox.open(link);
			}
			return false;
		});
	}
}

/**
 * check a form for required input
 */
function checkForm() {
	var missingField = false;
	$$('.verplicht').each(function(veld) {
		if (veld.get('value') == '') {
			missingField = true;
		}
	});
	if (missingField == true) {
		alert('Niet alle verplichte velden zijn ingevuld');
		return false;
	}
	return true;
}
