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

var engine = $chk($('engine'))?$('engine'):
	($chk($('account'))?$('account'):
	($chk($('c_result'))?$('c_result'):
	($chk($('p_package'))?$('p_package'):
	($chk($('c_filter'))?$('c_filter'):
	($chk($('p_preview'))?$('p_preview'):$('e_login'))))));
var posE = engine.getCoordinates();
var loading = new Element('div',{'styles':{'z-index':1,'background-color':'#555555'}})
	.set('opacity',0.6);
var iframeL = new IFrame({'styles':{'z-index':0}})
	.set('opacity',0.1);
$$(loading,iframeL).setStyles({'position':'absolute', 'top':posE.top, 'left':posE.left, 'height':posE.height, 'width':posE.width, 'display': 'none'})
	.inject($(document.body));
var posG = Math.abs((posE.width - 128)/2);
var paraf = new Element('p',{'styles':{'padding-top':'128px','text-align': 'center','color':'#ffffff', 'font-weight':'700'},'html':'<br/><br/>Loading'})
	.inject(loading);
var gif = new Element('img',{'src':'images/big_loading.gif', 'alt': 'Loading', 'styles':{'display':'inline'}})
	.inject(paraf,'top');

if( $chk($('e_forgotten')) ){
	$('refresh').addEvent('click',function(e){e.stop();$('img_captcha').setProperty('src','TCVMOD/captcha.php'+"?a="+Math.random(1))});
	paraf.setStyle('padding-top','20px');
	$('e_forgotten').addEvent('click', function(e){
		e.stop();
		var reg = new RegExp('^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$', 'i');
		if( !reg.test( $('log').get('value') ) )$('e_mess').set('html', 'Fill the username field with a correct e-mail and we contact you');
		else if($('captcha').get('value') == '')$('e_mess').set('html', 'Fill the code field');
		else{
			$('formlogin').set('send',{'url':'ajax/forgotten.php','method':'get',
				onRequest:function(){
					$$(loading,iframeL).setStyle('display','block');
				},
				onComplete:function(reponse){
					$$(loading,iframeL).setStyle('display','none');
					$('e_mess').set('html', reponse);
				}
			});
			$('formlogin').send();
		}
	});
}
if( $chk($('room_2')) ){
var bgdefault = $('e_order').getStyle('background-color');
new Sortables($('e_stay'),{'clone':true,'opacity':0.6,'handle': '.s_move',
	onStart : function(){$('e_order').setStyle('background-color',bgdefault);},
	onComplete: function(){
   		//$('arrange').set('html','');
   		var data = 'list';
   		var tab = this.serialize();
   		//var data = this.serialize(,function(el){return order[] + '=' + el.replace(/room_/, '');}).join('&');
   		tab.each(function(el){
   				var num = el.replace(/room_/, '');
   		data += '&order[]=' + num;
   		});
   		$('e_order').set('href','./?'+data).setStyle('background-color','#bf500e');
   		//$$('span.b-order').set('opacity',1);
   	}
});
}
if( $chk($('e_island')) )var islandSlide = new Fx.Slide('e_island');
if( $chk($('e_hotel')) )var hotelSlide = new Fx.Slide('e_hotel').hide();
//var box2 = new Box($$('.e_select'));
if( $chk($('e_stay'))){
	islandSlide.hide();
	var generalSlide = new Fx.Slide('e_general').hide();
	var carSlide = new Fx.Slide('e_car').hide();

	$('info_change').addEvent('click', function(e){
		e.stop();
		islandSlide.hide();
		hotelSlide.hide();
		carSlide.hide();
		generalSlide.slideIn().addEvent('complete',function(){$('e_general').highlight('#EFE02F');});

	});
}
$$('.cr_rate a,.e_more,.e_activity a').each(function(el){
	el.addEvent('click',function(e){
		e.stop();
		var par = el.getParent('td');
		var tr  = el.getParent('tr');
		if( par != null && ( par.get('class') == 'cr_rate' || par.get('class') == 'cr_hotel') ){
			$$('#table_comparison tr').removeClass('room_select');
			tr.addClass('room_select');
		}
		new Box(el);
	});
});
$$('#e_stay .e_select').each(function(select){
	select.addEvent('click', function(e){
		e.stop();
		if( $chk($('e_stay'))){
			islandSlide.hide();
			hotelSlide.hide();
			carSlide.hide();

		}
		var parent = select.getParent();
		var title = parent.get('title');
		selectStay( title );
		new Box(select);
	});
});
$$('.e_del').each(function(e_del){
	e_del.addEvent('click', function(e){
		e.stop();
		new Box(e_del);
	});
});
$$('#account a[title=delete]').each(function(e_del){
	e_del.addEvent('click', function(e){
		e.stop();
		new Box(e_del);
	});
});


/*$$('.e_save').addEvent('click', function(e){
	e.stop();
	this.set('send', {
		'method':'get',
		'url':'ajax/save.php',
		'onRequest':function(){posE = engine.getSize();$$(loading,iframeL).setStyles({'display':'block','height':posE.y});},
		'onComplete':function(){$$(loading,iframeL).setStyle('display','none');}
	});
	this.send();
});*/
var ajaxAct = new Request.HTML({
	'url': 'ajax/activity.php',
	'method'	: 'get',
	'update'	: $('e_hotel'),
	'onRequest' : function(){posE = engine.getSize();$$(loading,iframeL).setStyles({'display':'block','height':posE.y});},
	'onComplete': function(){
		$$(loading,iframeL).setStyle('display','none');
		islandSlide.hide();
		hotelSlide.slideIn().addEvent('complete',function(){$('e_hotel').highlight('#EFE02F');});
		$$('#e_hotel .e_more, .a_water, .a_land, .a_diving, .a_romantic, .a_spa').each(function(more){
			more.addEvent('click', function(e){e.stop(); new Box(more);});
		});
	}
});

$$('.b_car').each(function(el){
	el.addEvent('click', function(e){
		e.stop();
		var parent = el.getParent();
		var title = parent.get('title');
		selectStay( title );
		$$('input[name=stay]').set('value', title.replace(/room_/,''));
		$$('#car option').each(function(opt){
			if( opt.get('value') == el.get('id') )opt.selected=true;
			else opt.selected = false;
		});
		$$('#day_rent option').each(function(opt){
			if( opt.get('value') == el.get('title') )opt.selected=true;
			else opt.selected = false;
		});
		generalSlide.hide();
		hotelSlide.hide();
		islandSlide.hide();
		carSlide.slideIn().addEvent('complete',function(){$('e_car').highlight('#EFE02F');});
	});
});

$$('.b_act').each(function(el){
	el.addEvent('click', function(e){
		e.stop();
		carSlide.hide();
		var parent = el.getParent();
		var id = parent.get('id');
		var title = parent.get('title');
		selectStay( title );
		var stay = '&stay=' + title.replace(/room_/, '');
		ajaxAct.send('hotel='+id+stay);
	});
});

var bottom = window.getHeight();
$$('.b_room').each(function(el){
	el.addEvent('click', function(e){
		e.stop();
		//window.scrollTo(0,bottom);
		var stay;
		if(el.get('tag') == 'li' ){
			stay = el.getParent('ul');
			stay = stay.get('title');
		}else stay = el.get('title');
		selectStay( stay );
		$$('#island option').each(function(opt){
			if( opt.get('value') == el.get('rel') )opt.selected=true;
			else opt.selected = false;
		});
		$$('input[name=stay]').set('value', stay.replace(/room_/,''));
		generalSlide.hide();
		hotelSlide.slideOut();
		carSlide.hide();
		//islandSlide.hide();
		islandSlide.slideIn().addEvent('complete',function(){$('e_island').highlight('#EFE02F');});
	});
});
if( $chk($('e_island')) )$('e_island').addEvent('submit', function(e){
	e.stop();
	new Request.HTML({
		'url': 'ajax/hotels.php',
		'update': $('e_hotel'),
		'onRequest':function(){posE = engine.getSize();$$(loading,iframeL).setStyles({'display':'block','height':posE.y});},
		onComplete: function(){
			$$(loading,iframeL).setStyle('display','none');
			hotelSlide.slideIn().addEvent('complete',function(){$('e_hotel').highlight('#EFE02F');});
			$$('#e_hotel .e_more, #e_hotel .e_select').each(function(more){
				more.addEvent('click', function(e){e.stop(); new Box(more);});
			})
			//var box1 = new Box($$('.e_more'));
			//var box2 = new Box($$('.e_select'));
		}
	}).post($('e_island'));
});
$$('input[name=arrival]').each(function(el){
	el.addEvent('click', function(e){
		new Calendar(el);
	});
});
$$('.no_car').set('opacity', 0.4);
honeymoon();

$$('.q_preview').each(function(prev){
	prev.addEvent('click', function(e){
		e.stop();
		$$('.p_list, .q_quote').removeClass('p_list_sel');
		var parentPrev = prev.getParent('.p_list');
		if(!$chk(parentPrev))parentPrev = prev.getParent('.q_quote');
		parentPrev.addClass('p_list_sel');
		new Box(prev);
	});
});

$$('.e_record, .e_send').each(function(sav){
	sav.addEvent('click', function(e){
		e.stop();
		new Box(sav);
	});
});

heureTahiti();
if($('jour'))$("jour").innerHTML = nomJour + " " + jour+ " "+ tabMois[mois];
setInterval("heureTahiti()", 60000)

});
function selectStay( id ){
	if( $chk('e_stay')){
	var stay_group = $$('#e_stay div, .e_add');
		stay_group.removeClass('in_use');
		$(id).addClass('in_use');
	}
}
function honeymoon(){
	$$('input[name=wedding]').each( function(el){
		el.addEvent('click', function(e){
			var arrivee = $(document.body)
						  .getElement('input[name=arrival]')
						  .get('value');
			if ( !validate_date(arrivee) ) {
	        	date_arrivee = new Date();
	      	} else {
	      		var dateinp = arrivee.split('/');
	    		date_arrivee = new Date(dateinp[2],(dateinp[1]-1),dateinp[0],0,0,0);
			}
			date_min = new Date(( date_arrivee.getFullYear() - 1),date_arrivee.getMonth(),date_arrivee.getDate(),0,0,0);
    		new Calendar(el,{maxDate: date_arrivee, minDate: date_min});
    	});
	});
}
function validate_date (date) {
  	var regex = /^(\d{1,2})\/(\d{1,2})\/(\d{4})$/;
  	return date.test(regex);
}

var heure 	= dateTahiti.getHours();
var minute	= dateTahiti.getMinutes()-1;
var seconde = dateTahiti.getSeconds();
var jour 	= dateTahiti.getDate();
var mois 	= dateTahiti.getMonth();
var nomJour = tabNomJour[dateTahiti.getDay()-1];
var annee 	= dateTahiti.getYear();
if(annee < 999) annee+=1900;

function heureTahiti(){
	minute++;
	if ( minute < 10 ) minute = "0" + Math.round( minute );
	else if(minute > 59){minute = "00"; heure++;}
	if ( heure < 10 ) heure = "0" + Math.round( heure );
	else if(heure > 23)heure = "00";
	if( seconde < 10 )seconde_affiche = '0' + seconde;
	else seconde_affiche = seconde;
	point = ":";
	heureTexte = heure + point + minute;
	if($('heure'))$("heure").innerHTML = heureTexte;
	seconde++;

}
function afficheEtat(p_el) {
	var state = p_el.getNext('.s_state');
	if (p.value == "US") {
		state.setStyle('display','block');
	} else {
		state.setStyle('display','none');
	}
}