function showContentBox(content) {

	// pause slideshow
	window.slideshow.pause(1);

	// clone content
	content.copy = content.clone();

	// save current coordinates
	content.copy.coordinates = content.getCoordinates($('main-home'));
	content.copy.addClass('clone');
	content.copy.setPosition({
		'x': content.copy.coordinates.left,
		'y': content.copy.coordinates.top
	});

	// set morph on content copy and inject
	content.copy.morph = new Fx.Morph(content.copy);
	content.copy.inject(content.getParent(), 'bottom');

	// hide header
	content.copy.header = content.copy.getElement('h3');
	content.copy.header.fade('hide');

	// destroy image if browser is IE
	if (Browser.Engine.trident) {
		content.copy.getElement('img').destroy();
	}

	// morph content copy to full size
	content.copy.morph.start({
		'top': -47,
		'left': 78,
		'width': 774,
		'height': 495
	}).chain(function() {
		// load content of the page
		loadContent(content);
	});
}

function hideContentBox(content) {

	// destroy iframe
	$('wpr-iframe').destroy();

	// show image
	if (content.copy) {
		content.copy.fade('show');

		// tween back to original position
		content.copy.morph.start({
			'top': content.copy.coordinates.top,
			'left': content.copy.coordinates.left,
			'width': content.copy.coordinates.width,
			'height': content.copy.coordinates.height
		}).chain(function() {
			// show header
			content.copy.header.fade('show');

			// destroy content clone
			content.copy.destroy();

			// start slideshow
			window.slideshow.pause(0);
		});
	}
}

function loadContent(content) {

	// create iframe
	var iframePage = new Element('div', {
		'id': 'wpr-iframe',
		'events': {
			'click': function(e) {
				if (e.target == iframePage) {
					e.stop();
					hideContentBox(content);
				}
			}
		}
	});
	iframePage.cnr = new Element('div', {
		'id': 'cnr-iframe'
	});
	iframePage.iframe = new IFrame({
		'id': 'iframe-page',
		'frameborder': 0,
		'vspace': 0,
		'hspace': 0,
		'marginwidth': 0,
		'marginheight': 0,
		'width': 774,
		'height': 495
	});
	iframePage.closeButton = new Element('a', {
		'id': 'close-button',
		'html': 'close',
		'events': {
			'click': function(e) {
				e.stop();
				hideContentBox(content);
			}
		}
	});

	// set scroll fx on window
	iframePage.scroll = new Fx.Scroll(window, {
		'offset': {
			'x': 0,
			'y': -20
		}
	});

	// create iframe structure
	iframePage.cnr.grab(iframePage.iframe);
	iframePage.cnr.grab(iframePage.closeButton);
	iframePage.grab(iframePage.cnr);

	// set src for iframe
	iframePage.iframe.set('src', content.pagePath);

	// hide content copy
	if (content.copy) {
		content.copy.fade('out');
	}

	// inject iframe into body
	iframePage.inject($(document.body), 'bottom');

	// scroll window to content page
	iframePage.scroll.toElement(iframePage.cnr);
}

function initContents(contents) {
	contents.each(function(content, index) {

        if (!content.hasClass('header')) {

            content.fade('hide');

    		// create event for link
    		var link = content.getElement('a');
    		link.addEvent('click', function(e) {
   				// stop event
   				e.stop();

   				// save page path
   				content.pagePath = link.get('href');

   				// show content box
				if (Browser.Engine.trident && Browser.Engine.version > 5) {
					loadContent(content);
				} else {
   					showContentBox(content);
				}
    		});
        }
	});
}

function showContents(contents) {
  	contents.each(function(content, index) {
        var image = content.getElement('img');

        if (!content.hasClass('header')) {
            var time = Math.floor(Math.random() * 2000);
            // var time = Math.floor(100 * index);
            (function() { content.fade('in'); }).delay(time);
        }
	});
}

window.addEvent('domready', function() {

	var body          = $(document.body);
    var wprMainHome   = $('wpr-main-home');
    var wprNews       = $('wpr-content-nieuw');
    var wprBPK        = $('wpr-content-bpk');
    var wprKnowledge  = $('wpr-content-kennis');
    var wprExperience = $('wpr-content-ervaring');
	wprNews.cnr       = wprNews.getElement('#content-nieuw');
	wprBPK.cnr        = wprBPK.getElement('#content-bpk');
	wprKnowledge.cnr  = wprKnowledge.getElement('#content-kennis');
	wprExperience.cnr = wprExperience.getElement('#content-ervaring');

	// rounded corners elements
	var roundedCornersLeft = new Element('div', {
		'class': 'rounded-corners-left'
	});
	var roundedCornersRight = new Element('div', {
		'class': 'rounded-corners-right'
	});
	var roundedCornersMiddle = new Element('div', {
		'class': 'rounded-corners-middle'
	});

	// get all content boxes
	var contents = $$('body:not(.admin) #main-home .content');
	var images = $('main-home').getElements('img');

    if (wprMainHome) {
        wprMainHome.setStyle('overflow', 'hidden');
    }

    initContents(contents);

	// add Fx to wrappers
	wprNews.introFx       = new Fx.Tween(wprNews,       { transition: Fx.Transitions.linear.easeOut });
	wprBPK.introFx        = new Fx.Tween(wprBPK,        { transition: Fx.Transitions.linear.easeOut });
	wprKnowledge.introFx  = new Fx.Tween(wprKnowledge,  { transition: Fx.Transitions.linear.easeOut });
	wprExperience.introFx = new Fx.Tween(wprExperience, {
		transition: Fx.Transitions.linear.easeOut,
		'onComplete': function() {

			// grab all rounded corners elements
			if (!Browser.Engine.trident) {
				wprNews.cnr.grab(roundedCornersLeft.clone());
				wprNews.cnr.grab(roundedCornersRight.clone());
				wprBPK.cnr.grab(roundedCornersLeft.clone());
				wprBPK.cnr.grab(roundedCornersMiddle.clone());
				wprBPK.cnr.grab(roundedCornersRight.clone());
				wprKnowledge.cnr.grab(roundedCornersLeft.clone());
				wprKnowledge.cnr.grab(roundedCornersRight.clone());
				wprExperience.cnr.grab(roundedCornersLeft.clone());
				wprExperience.cnr.grab(roundedCornersRight.clone());
			}

			// show content
			showContents(contents);
			wprMainHome.setStyle('overflow', 'visible');
		}
	});

    var screenHeight = body.getSize().x;
    wprNews.introFx.set('margin-top',       screenHeight);
    wprBPK.introFx.set('margin-top',        screenHeight);
    wprKnowledge.introFx.set('margin-top',  screenHeight);
    wprExperience.introFx.set('margin-top', screenHeight);

    // check if all content images are loaded
    var loadedImages = new Asset.images(images, {
        onComplete: function() {
            wprNews.introFx.start('margin-top', 0);
            (function() { wprBPK.introFx.start('margin-top', 0);        }).delay(100);
            (function() { wprKnowledge.introFx.start('margin-top', 0);  }).delay(200);
            (function() { wprExperience.introFx.start('margin-top', 0); }).delay(300);
        }
    });

    // slideshow
    var wprSlideshow = $('slideshow');

    if (wprSlideshow) {
    	var slideShowPhotoPath = '/layouts/blueland/images/slideshow/';
    	var photos = [
    		'img-01.jpg',
    		'img-02.jpg',
    		'img-03.jpg',
    		'img-04.jpg',
    		'img-05.jpg',
    		'img-06.jpg',
    		'img-07.jpg'
    	];

    	// create slideshow
    	window.slideshow = new Slideshow($('slideshow'), photos, {
    		loader: false,
    		hu: slideShowPhotoPath,
    		width: 640,
    		height: 129,
    		delay: 3000,
    		duration: 1000,
    		random: true
    	});
    }
});
