function submitNewsletter(e) {
	
    Event.stop(e);
    
    $('newsletter-info').innerHTML = 'je e-mail adres wordt verzonden.';
    
	new Ajax.Request($('newsletter-form').getAttribute('action'), {
        method: 'post',
        parameters: $('newsletter-form').serialize(true),
        onSuccess: function(transport){
        	var form = transport.responseText.evalJSON(true);
        	
        	$('newsletter-info').innerHTML = '<span class="'+(form['succes']=='true'?'succes':'error')+'">'+form['message']+'</span>';
        }
    });
}

function submitPoll(e) {
	
    Event.stop(e);
    
    $('poll-info').innerHTML = 'Je stem wordt verwerkt.';
    
	new Ajax.Request($('poll-form').getAttribute('action'), {
        method: 'post',
        parameters: $('poll-form').serialize(true),
        onSuccess: function(transport){
        	var response = transport.responseText.evalJSON(true);
        	
        	if(response.valid == 'true') {        		
        		showPollResults();        		
        	} else {
        		$('poll-info').innerHTML = response.message;
        	}
        }
    });
    
}

function showPollResults(e) {
	
	if(e){
    	Event.stop(e);
    }

	new Ajax.Request($('poll-form').poll_results.value, {
		method: 'get',
		onSuccess: function(transport){
			$('poll-content').innerHTML = transport.responseText;
		}
	});

}

function changeSubscriptionType(e) {

	new Ajax.Request($('subscriptionChangeUrl').value.substr(0, $('subscriptionChangeUrl').value.length-1)+$('subscriptionTypeSelect').value, {
		method: 'get',
		onSuccess: function(transport){
			var response = transport.responseText.evalJSON(true);
        	
        	$('subscriptionType_description').innerHTML = response.description;
        	$('subscriptionType_image').src = imageUrl + '/subscriptions/' + response.image;
        	$('subscription_type_id').value = $('subscriptionTypeSelect').value;
        	
		}
	});
	
}

var articleImages = {
	init:function(){
		
		$$('#article-images a').each(function(el){
			Element.observe(el, 'click', function(e){
			
				Event.stop(e);
				articleImages.reset();
				
				el.addClassName('current');
				$(el.id.substr(0, el.id.length - 5)).addClassName('current');
				
			});
		});
		
	},
	
	reset:function(){
		
		$$('#article-images img').invoke('removeClassName','current');
		$$('#article-images a').invoke('removeClassName','current');
		
	}
}

var articles = {
	articles: null,
	currentArticle: 0,
	i: 0,
	pauze: false,
	
	init:function(){
	
		articles.articles = $$('#main-article a.nav');
		
		articles.articles.each(function(el){
		
			if(el.hasClassName('current')){
				articles.currentArticle = articles.i;
			}
			
			el.number = articles.i;
		
			Element.observe(el, 'click', function(e){
			
				Event.stop(e);
			
				this.blur();
			
				articles.currentArticle = el.number;
			
				articles.showArticle(el);
				
			});
			
			articles.i++;
		});
		
		Element.observe($('main-article-back'), 'click', function(e){
		
			Event.stop(e);
			
			this.blur();
			
			articles.currentArticle--;
			
			if(articles.currentArticle < 0){
				articles.currentArticle = articles.articles.length - 1;
			}
			
			el = articles.articles[articles.currentArticle];
			
			articles.showArticle(el);
			
		});
		
		Element.observe($('main-article-forward'), 'click', function(e){
		
			Event.stop(e);
			
			this.blur();
			
			articles.currentArticle++;
			
			if(articles.currentArticle > articles.articles.length - 1){
				articles.currentArticle = 0;
			}
			
			el = articles.articles[articles.currentArticle];
			
			articles.showArticle(el);
			
		});
		
		Element.observe($('main-article-pauze'), 'click', function(e){
		
			Event.stop(e);
			
			this.blur();
			
			if(articles.pauze){
				articles.pauze = false;
				this.setStyle({background: 'url('+url+'/public/img/slideshow.gif) -57px 0px no-repeat'});
			}else{
				articles.pauze = true;
				this.setStyle({background: 'url('+url+'/public/img/slideshow.gif) 0px 0px no-repeat'});
			}
			
		});
		
		new PeriodicalExecuter(articles.showNextArticle, 7);
		
	},
	
	showArticle: function(el){

		articles.reset();
		el.addClassName('current');
		
		new Ajax.Request(url+'/main-article/'+el.rel, {
			method: 'get',
			onSuccess: function(transport){
	        	var response = transport.responseText.evalJSON(true);
	        	
	        	$('main-article-title').innerHTML = response.title;
	        	$('main-article-description').innerHTML = response.text;
	        	$('main-article-main-title').innerHTML = '&nbsp;';
	        	if(response.advert=='1'){
		        	$('main-article-main-title').innerHTML = 'Advertentie';
	        	}
	        	if(response.image!=null){
	        		$('main-article-header').innerHTML = '<img src="'+url+'/public/img/artikelen/'+response.image+'" alt="" />';
	        	}else if(response.banner!=null){
		        	$('main-article-main-title').innerHTML = 'Advertentie';
	        		$('main-article-header').innerHTML = '<a href="'+response.banner_link+'" rel="external"><img src="'+url+'/public/img/artikelen/'+response.banner+'" class="main-article-banner" alt="" /></a>';
	        	}else if(response.video!=null){
	        		articles.pauze = true;
	        		$('main-article-header').innerHTML = response.video;
	        	}else if(response.html!=null){
		        	$('main-article-main-title').innerHTML = 'Advertentie';
	        		$('main-article-header').innerHTML = response.html;
	        	}
			}
		});
		
	},
	
	showNextArticle: function(e){
	
		if(!articles.pauze){
			
			articles.currentArticle++;
			
			if(articles.currentArticle > articles.articles.length - 1){
				articles.currentArticle = 0;
			}
			
			el = articles.articles[articles.currentArticle];
			
			articles.showArticle(el);
			
		}
		
	},
	
	reset:function(){
		
		$$('#main-article a.nav').each(function(el){
			el.removeClassName('current');
		});
		
	}
	
}

var headerImages = {
	i: 0,
	slide: null,
	duration: 10,
	
	init:function(){
		headerImages.images = $$('#header-img img');
		if(headerImages.images.length>1){
			headerImages.slide =  $('header-img').childElements();
			headerImages.i = headerImages.slide.length-1;
			new PeriodicalExecuter(headerImages.SlideShow, headerImages.duration);
			headerImages.SlideShow();
		}	
	},
	
	SlideShow:function(){
		$(headerImages.slide[headerImages.i--]).fade({ duration:headerImages.duration });
		if (headerImages.i < 0) headerImages.i = headerImages.slide.length-1; 
		$(headerImages.slide[headerImages.i]).appear({ duration:headerImages.duration });		
	}
}

Event.observe(window, 'load', function(){
	if($('poll-form')){
		Event.observe($('poll-form'), 'submit', submitPoll, false);
	}
	if($('show-poll-result')){
		Event.observe($('show-poll-result'), 'click', showPollResults, false);
	}
	if($('newsletter-form')){
		Event.observe($('newsletter-form'), 'submit', submitNewsletter, false);
	}
	if($('subscriptionTypeSelect')){
		Event.observe($('subscriptionTypeSelect'), 'change', changeSubscriptionType, false);
	}
	if($('article-images')){
		articleImages.init();
	}
	if($('main-article')){
		articles.init();
	}
    headerImages.init();
}, false);
