// functie die het dropdown menu weer verbergt
var dropdownHide = function(){	
	var dropdownmenu = $('main-dropdownmenu');

	// verberg het submenu
	dropdownmenu.setStyle('display', 'none');
	dropdownmenu.setStyle('height', '0px');
	
	// verwijder de content
	dropdownmenu.set('html', '');	
};
dropdownHide.delay_time = 1500;

window.addEvent('domready', function() {
	// cufon werkend maken
	Cufon.replace('h1');
	Cufon.replace('h2');
	
	// zet alle elementen op hun plaats
	//do_resize();	
	
	// dropdown menu werkend maken
	var menu = $('main-menu');
	var dropdownmenu = $('main-dropdownmenu');
	menu.getElements('ul.niveau1 > li').each(function(hoofditem){		
		hoofditem.addEvent('mouseenter', function() {
			var submenu = hoofditem.getElements('ul.niveau2')[0];
			if($defined(submenu)){
				// stop de timer die het dropdownmenu verbergt
				clearTimeout(dropdownHide.timer);
				
				// haal de submenu-items op
				var submenu_items = submenu.getElements('> li');
				var submenu_items_length = submenu_items.length;
				var dropdownmenu_height = 0 + (submenu_items_length * 19);
				
				// positioneer het dropdown menu
				var coords = hoofditem.getCoordinates(menu);												
				if((coords.left + 220 - 7) > menu.getSize().x){
					// fix de positionering: het dropdown menu mag niet buiten beeld vallen
					dropdownmenu.setStyle('margin-left', (menu.getSize().x - 220) + 'px');
				}else{
					dropdownmenu.setStyle('margin-left', (coords.left) + 'px');	
				}
				
				// resize het dropdown menu
				dropdownmenu.setStyle('height', dropdownmenu_height + 'px');

				// toon de content
				dropdownmenu.set('html', '<ul class="niveau2">' + submenu.get('html') + '</ul>');
				
				// toon het dropdown menu
				dropdownmenu.setStyle('display', 'block');
			}else{
				// start de timer die het dropdownmenu verbergt
				dropdownHide.timer = dropdownHide.delay(dropdownHide.delay_time);
			}
		});

		hoofditem.addEvent('mouseleave', function() {
			// start de timer die het dropdownmenu verbergt
			dropdownHide.timer = dropdownHide.delay(dropdownHide.delay_time);
		});		
	});
	
	dropdownmenu.addEvent('mouseenter', function(){
		// stop de timer die het dropdownmenu verbergt
		clearTimeout(dropdownHide.timer);
	});
	
	dropdownmenu.addEvent('mouseleave', function(){
		// start de timer die het dropdownmenu verbergt
		dropdownHide.timer = dropdownHide.delay(dropdownHide.delay_time);		
	});
	
		
	// cerabox werkend maken
	$$('a.ceraBox').cerabox({
		'displayTitle': false	
	});
	
	// contactformulier
	var butSubmit = $('butSubmit');
	if($defined(butSubmit)){
		// honeypot verbergen
		var divHoneypot = document.id('txtCompany').getParent().getParent();
		divHoneypot.setStyle('display', 'none');
		
		// validatie error class weer verwijderen als je iets wijzigt in form elements
		$$('input, textarea').each(function(field){
			field.addEvent('keypress', function(){
				this.removeClass('error');
			});
			field.addEvent('change', function(){
				this.removeClass('error');
			});
		});

		butSubmit.addEvent('click', function(){
			var form = $$('form')[0];
			var error = false;

			var txtNaam = $('txtNaam');
			var txtEmail = $('txtEmail');
			var txtOpmerkingen = $('txtEmail');
			var reqCheckEmail = new Request.JSON({
				'url': _HTTP_PATH + 'nl/ajax/',
				'data':{			
					'xaction':			'is_email',
					'data':				{
												'email': txtEmail.get('value')
											}
				},
				'onComplete': function(res){
					if(!res.check){
						txtEmail.addClass('error');	
						error = true;							
					}
					
					['txtNaam', 'txtEmail', 'txtOpmerkingen'].each(function(field) {
						field = $(field);
						
						if(field.get('value').trim() == ''){
							error = true;
							field.addClass('error');
						}
					});
	
					if(error){
						var q = q_string();
						var reqVertaling = new Request.JSON({
							'url': _HTTP_PATH + q[0] + '/ajax/',
							'data':{			
								'xaction':			'get_vertaling',
								'data':				{
															'titel': 'Ongeldige invoer'
														}
							},
							'onComplete': function(res){
								alert(res.waarde);
							}
						});
						reqVertaling.send();	
					}else{
						form.submit();
					}																					
				}
			});
			reqCheckEmail.send();	
		});
	}
	
	do_resize();
	
	var sidebarFacebook = $('sidebar-facebook');
	sidebarFacebook.set('html', '<iframe src="https://www.facebook.com/plugins/likebox.php?href=http%3A%2F%2Fwww.facebook.com/pages/Van-Der-Kroon-Food-Products/233749550031795&colorscheme=light&show_faces=true&stream=false&header=false&width=201&height=228" frameBorder="0" scrolling="no" style="width: 201px; height: 228px;">');
	
	// nieuwsberichten homepage
	var divSidebarNieuws = $('sidebar-nieuws');
	if($defined(divSidebarNieuws)){
		var q = q_string();
		var reqVertaling = new Request.JSON({
			'url': _HTTP_PATH + q[0] + '/ajax/',
			'data':{			
				'xaction':			'get_vertaling',
				'data':				{
											'titel': 'Lees meer'
										}
			},
			'onComplete': function(res){
				var leesmeer_vertaling = res.waarde;
				var r = Raphael(divSidebarNieuws, 248, 338);
				var rPosX = 5;
				var rPosY = 75;		
				var rTotalLines = 0;
				
				var aIntro = divSidebarNieuws.getElements('div.intro');
				var aURL = divSidebarNieuws.getElements('div.url');				
				
				for(var i = 0; i < aIntro.length; i++){		
					// introtekst
					var lines = aIntro[i].get('html').split("\n");
					
					// controleer of het nog wel past
					if((rTotalLines + lines.length + ((i == 0)? 2 : 1)) <= 11){
						lines.each(function(line, j){
							if(j==0){
								// rode regel
								var text = r.print(rPosX, rPosY, line, r.getFont('GloriaHallelujah'), 16).attr({'fill': '#df0019'}); // was 19
								text.rotate(-5.43, 0, 0);
							}else{
								// zwarte regel
								var text = r.print(rPosX, rPosY, line, r.getFont('GloriaHallelujah'), 16); // was 19
								text.rotate(-5.43, 0, 0);					
							}	
							
							// positie veranderen voor volgende regel van nieuwsbericht
							rPosY += 20;				
						});				
						
						// lees meer (link)
						rPosY += 3;
						var text = r.print((rPosX+5.43), rPosY, leesmeer_vertaling, r.getFont('GloriaHallelujah'), 12).attr({'href' : aURL[i].get('html')}); // was 13
						text.rotate(-5.43, 0, 0);			
						
						// lees meer (icon)						
						var _width = text.getBBox().width;
						var icon = r.image(_HTTP_PATH + 'nr_components/core/images/arrow_right.gif', (rPosX+_width+5+5.43), (rPosY-5), 12, 12).attr({'href' : aURL[i].get('html')});;
						icon.rotate(-5.43, 0, 0);
						
						/*
						// lees meer (lijntje)
						rPosY += 7;
						textBBox = text.getBBox();
						var line = r.path('M' + (rPosX + rPosL + 5.43) + ' ' + (textBBox.y + textBBox.height + 5) + 'l 68 -8 z');
						*/
						
						// positie veranderen voor volgende nieuwsbericht
						rPosY += 40;				
						
						rTotalLines += lines.length;
					}
				}				
			}
		});
		reqVertaling.send();		
	}		
});

window.addEvent('load', function() { // voor Chrome: deze registreert do_resize enkel in domready niet altijd goed
	do_resize();
});

window.addEvent('resize', function() {
	do_resize();
});	

// do_resize: zet de sidebar, main en footer op de juiste plaats
function do_resize() {
	var canvas = $('canvas');
	var layer_main = $('layer-main');
	var layer_sidebar = $('layer-sidebar');
	var layer_footer = $('layer-footer');
	var main = $('main');
	var sidebar = $('sidebar');
	var footer = $('footer');
	
	// bepaal de hoogte van de pagina in het geheel en de footer in het bijzonder
	var page_height = window.getScrollSize().y;
	var footer_height = footer.getSize().y;
	
	// footer staat over layer_footer heen (er dus niet in): eerst layer_footer even groot maken	
	layer_footer.setStyle('height', footer_height + 'px');
	
	// sidebar en footer krijgen padding-bottom ten hoogte van de footer, zodat de content netjes boven de footer blijft
	sidebar.setStyle('padding-bottom', footer_height + 'px');
	main.setStyle('padding-bottom', footer_height + 'px');
	
	// min-height was enkel voor de show, nu weghalen
	canvas.setStyle('min-height', 'auto');
	layer_sidebar.setStyle('min-height', 'auto');
	layer_main.setStyle('min-height', 'auto');
	
	// layout_sidebar en layout_main: 100% hoogte geven
	canvas.setStyle('height', (page_height) + 'px');
	layer_sidebar.setStyle('height', (page_height) + 'px');
	layer_main.setStyle('height', (page_height) + 'px');
	
	// footer verplaatsen
	layer_footer.setStyle('top', (page_height - footer_height) + 'px');
	footer.setStyle('top', (page_height - footer_height) + 'px');
		
	// footer tevoorschijn toveren
	layer_footer.setStyle('visibility', 'visible');
	footer.setStyle('visibility', 'visible');
}
