document.addEvent('domready', init);

function init() {
	
	$('nav').getElements('li.item_nav').each(function(elm, i) {
		
		elm.set('id', 'nav_' + i);
		var haveChild = elm.getElement('ul');
				
		if(haveChild) {
			
			elm.mySlide = new Fx.Slide(elm.getElement('ul'), {
				duration: 300, 
				transition: Fx.Transitions.Quart.easeOut
			}).hide();
			
			if(elm.getElement('a').hasClass('selected')) {
				
				var chkAct = false;
				
				elm.getElements('ul li a').each(function(elm_t) {
					
					if(!chkAct && elm_t.hasClass('selected') == true) chkAct = true;
					
				});
				
				if(!chkAct) {
				
					var delayme = (function() {
						
						elm.getElement('ul').setStyle('display', 'block');
						elm.mySlide.slideIn();
					
					}).delay(1000);
				
				} else {
					
					elm.getElement('ul').setStyle('display', 'block');
					elm.mySlide.show();
					
				}
			
			}
			
		}
		
	});
	
	/*
	$('nav').getElements('li.item_nav').each(function(elt){
		
		if(elt.hasClass('selected')) {
		
		console.log(elt.getElement('a').get('html'));
			
		}
		
	});
	*/
	/*
	$$('.slideshow').each(function(elm, i) {
		
		var z = 0;
		var c = 0;
		
		elm.slides = Array();
		
		elm.getElements('li').each(function(itm, y) {
			
			elm.slides.push(itm.getStyle('background-image'));
			itm.destroy();
			
		});
		
		function animslide() {
			
			var op = 0;
			if(z == 0) op = 1;
		
			var slide_item = new Element('li', {
				'id': 'slide_' + i + '_' + z,
				'styles': {
					
					'z-index':z,
					'background-image' : elm.slides[c]
						
				},
				'class':'show'
			}).inject(elm.getElement('ul'), 'top');
			
			new Fx.Tween(slide_item, {
				duration: 1000, 
				transition: Fx.Transitions.Quart.easeOut,
				link: 'cancel',
				onComplete: function(evt) {
					
					if($('slide_' + i + '_' + (z - 2))) $('slide_' + i + '_' + (z - 2)).destroy();
					
				}
			}).set('opacity', op).start('opacity', 0, 1);	
			
			c++;
			z++;
			
			if(c >= elm.slides.length) c = 0;
			
		}
		
		animslide();
		var timer = animslide.periodical(3000);
				
	});
	*/
	
	$$('.slideshow').each(function(elm, i) {
		
		var z = 0;
		var c = 0;
		var tt = 0;
		
		elm.slides = Array();
		
		elm.getElements('li').each(function(itm, y) {
			
			elm.slides.push(itm.getStyle('background-image'));
			itm.destroy();
			tt++;
			
		});
		
		function animslide() {
			
			var slide_item = new Element('li', {
				'id': 'slide_' + i + '_' + z,
				'styles': {
					
					'opacity': 0,
					'z-index': z,
					'background-image' : elm.slides[c]
						
				},
				'class':'show'
			}).inject(elm.getElement('ul'), 'top');
			
			if($('slide_' + i + '_' + (z - 1))) {
				
				if(tt > 1) {
				
					new Fx.Tween($('slide_' + i + '_' + (z - 1)), {
						duration: 800, 
						transition: Fx.Transitions.Quart.easeOut,
						link: 'cancel',
						onComplete: function(evt) {
							
							new Fx.Tween(slide_item, {
								duration: 800, 
								transition: Fx.Transitions.Quart.easeOut,
								link: 'cancel',
								onComplete: function(evt) {
								}
							}).start('opacity', 0, 1);	
							
						}
					}).start('opacity', 1, 0);	
				
				}
				
			} else {
				
				new Fx.Tween(slide_item, {
					duration: 800, 
					transition: Fx.Transitions.Quart.easeOut,
					link: 'cancel',
					onComplete: function(evt) {
					}
				}).start('opacity', 0, 1);	
		
			}
			
			c++;
			z++;
			
			if(c >= elm.slides.length) c = 0;
			
		}
		
		animslide();
		var timer = animslide.periodical(4000);
				
	});
	
	function addCalendar(etat) {
		
		var where = 'top';
		if(etat == 'prv') where = 'bottom';
		
		var target = $('show_calendar').getElement('ul');
		
		if(!$('cal_' + mm)) {
		
			var cal = new Element('li', {
				'id': 'cal_' + mm,
				'styles': {
					'left': (184 + 40) * mm
				}
			});
			
			new Request({
				method: 'post', 
				url: '/_includes/inc.show.calendar.php',
				data: 'mm=' + mm + '&lang=' + lang,
				link: 'cancel',
				async: false,
				onSuccess: function(responseText, responseXML) {
					
					cal.set('html', responseText);
					cal.inject(target, where);
					
					cal.getElement('.calendar-next').addEvent('click', function(evt) {
						
						pos -= (184 + 40);
						mm += 1;
						addCalendar('nxt');
						
						tween_cal.start('left', pos);	
						
					});
					
					cal.getElement('.calendar-prev').addEvent('click', function(evt) {
						
						pos += (184 + 40);
						mm -= 1;
						addCalendar('prv');
						
						tween_cal.start('left', pos);	

						
					});
					
				}
			}).send();	
			
		}
		
		new Request({
			method: 'post', 
			url: '/_includes/inc.show.calendarlist.php',
			data: 'mm=' + mm + '&lang=' + lang + '&etat=' + etat,
			link: 'cancel',
			onSuccess: function(responseText, responseXML) {
				
				if(responseText.test('calendrier_head')) {
					
					$('calendar_list').set('html', responseText);
					
				} 
				
			}
		}).send();	
		
	}
	
	if($('show_calendar')) {
		
		var mm = 0;
		var pos = 0;
		var currentTime = new Date();
		var m = (currentTime.getMonth() + 1) + mm;
		
		var tween_cal = new Fx.Tween($('show_calendar').getElement('ul'), {
			duration: 1000, 
			transition: Fx.Transitions.Quart.easeOut,
			link: 'cancel',
			onComplete: function(evt) {}
		});	
		
		addCalendar('init');
		
	}
	
	$$('.slider_home').each(function(elm, i) {
		
		var current = 1;
		var animme = true;
		
		var tween_car = new Fx.Tween(elm.getElement('ul'), {
			duration: 1000, 
			transition: Fx.Transitions.Quart.easeOut,
			link: 'cancel',
			onComplete: function(evt) {}
		});	
		
		elm.getElements('li').each(function(elm_i, y) {
			
			elm_i.getElement('.slider_home_text').setStyle('top', 301 - elm_i.getElement('.slider_home_text').getHeight() - 5);
			
		});
		
		elm.getElements('.slider_home_control a').each(function(elm_i, y) {
			
			elm_i.set('id', 'dot_' + y);
			
			elm_i.addEvent('click', function(evt) {
				
				if(evt) $clear(animme);
				$('site').getElements('.slider_home_control img').set('src', '/_img/dot_off.png');
				this.getElement('img').set('src', '/_img/dot_on.png');
				tween_car.start('left',  (597 * y) / -1);
			
			});
						
		});
		
		var animme = (function() {
			
			if($('dot_' + current)) {
			
				$('dot_' + current).fireEvent('click');
				current++;
			
			} else {
				
				$clear(animme);
				
			}
			
		}).periodical(5000);
		
		elm.getElement('.slider_home_control a').fireEvent('click');
		
		
	});
	
	$$('.three_col_home li').each(function(elm, i) {
		
		elm.getElement('.three_col_home_text').setStyle('top', 231 - elm.getElement('.three_col_home_text').getHeight() - 5);
		
	});
	
	if($('reservation')) {
			
		var target = $('reservation');
			
		new Form.Validator(target, {
			evaluateFieldsOnBlur: false,
			onElementFail: function(elm, err) {
				
				target.getElement('label[for="' + elm.get('id') + '"]').setStyle('color', '#ff0000');
				
				if(elm.get('type') !== 'checkbox' && elm.get('type') !== 'radio') {
					
					elm.setStyle('border', '1px solid #ff0000');
					if(elm.getParent().getElement('.select_styled')) elm.getParent().getElement('.select_styled').setStyle('border', '1px solid #ff0000');
				
				} 
				
			},
			onElementPass: function(elm) {
				
				if(elm.get('type') == 'checkbox' || elm.get('type') == 'radio') {
					
					target.getElements('label').each(function(el) {
							
						if(($(el.get('for')).get('type') == 'checkbox' || $(el.get('for')).get('type') == 'radio') && elm.get('name') == $(el.get('for')).get('name')) el.setStyle('color', '#666666');
						
					});
					
				}
				
				target.getElement('label[for="' + elm.get('id') + '"]').setStyle('color', '#666666');
				
				if(elm.get('type') !== 'checkbox' && elm.get('type') !== 'radio') {
					
					elm.setStyle('border', '1px solid #CCC');
					if(elm.getParent().getElement('.select_styled')) elm.getParent().getElement('.select_styled').setStyle('border', '1px solid #999');
				
				}
				
			}
		});
		
		Form.Validator.add('required', {
			errorMsg: 'This field is required',
			test: function(element){
				if (element.value == null || element.value.trim().length == 0) return false;
				else return true;
			}
		});
		
	}
	
}
