//hover menu
function jsHover(){

	$('#nav > li').mouseenter(function(){
		$('a',$(this)).eq(0).addClass('hover');
		if($('ul',$(this))){
			$('ul',$(this)).slideDown();
		}
	})
	
	$('#nav > li').mouseleave(function(){
		$('a',$(this)).eq(0).removeClass('hover');
		if($('ul',$(this))){
			$('ul',$(this)).slideUp();
		}
	})
	
	/* -- */
	
	$('#bt_filtre,#bt_newsletter').mouseenter(function(){
		$(this).addClass('hover')
	})
	$('#bt_filtre,#bt_newsletter').mouseleave(function(){
		$(this).removeClass('hover')
	})
}

function isEmail(val){
	if (!val.match (/^[a-z0-9\-\._]+@[a-z0-9\-_\.]+\.[a-z]{2,4}$/gi)){
	 	return false;
	}
	return true;
}

// detail voyage
function displayInnerDetail(){	
	if(!$('#contact').length){
		$('.tt_detail').click(function(){
			var next = $(this).next();
			if($(next).is(':hidden')) $(this).next().slideDown();
			else $(this).next().slideUp();	
		});
	}
}


$(function(){	
	
	jsHover();

	if($('.scroll-pane').length){
		$('.scroll-pane').jScrollPane();
	}
	displayInnerDetail();
	
	if($('.lightbox').length){
		 $('.lightbox').lightBox();
	}
	
	//newsletter 
	$('#f_newsletter').click(function(){
		if($(this).val()=='E-mail') $(this).val('');
	})
	
	//hover et mouseout des items des news
	$('.box_new .list_new li').mouseover(function() {
		$(this).addClass('news_item_hover');
	});
	$('.box_new .list_new li').mouseout(function() {
		$(this).removeClass('news_item_hover');
	});
	
	$('.list_voyages .description h3 a').each(function(){
		var h = $(this).height();
		if(h>18) $(this).parent().addClass('twoLine');
	})
	
	$('.box-inner .programmes li').mouseenter(function(){
		$(this).addClass('hover');
	})
	
	$('.box-inner .programmes li').mouseleave(function(){
		$(this).removeClass('hover');
	})
	
	
	jsSkinSelect();
	
	$('.calendar').click(function(){
		$(this).prev().focus();
		return false;
	})
	
	//indications de saisi
	eventsInputs();
	
	// gestion des form
	$('#bt_valider').bind('click',validate_form);
	
	//Display messages
	$('.msg_btn_close').click(function (){
		$(this).parent().slideUp();
		return false;
	});
	
	//Control de la newsletter
	$('#bt_newsletter').bind('click', function () {
		if(!isEmail($('#f_newsletter').val())){
			return false;
		}
	})
	
	//Display-popin
	$('.btn_share').click(function (){
		displaySearchPopin();
	});
})

function eventsInputs(){
	$('.inputTxt,textarea').focus(function(){	
		var currentParent = $(this).parents('.inner_detail');
		$('.indications_item ul',currentParent).hide();
		var className = $(this).attr('alt');
		if(className) $('.indications_item .'+className).show();
		else $('.indications_item .all',currentParent).show();
		$(this).addClass('highlight');
	})
	$('.inputTxt,textarea').blur(function(){	
		$(this).removeClass('highlight');
	})
}

function jsSkinSelect(){
	$('.skinSelect > span').click(function(){		
		if(!$(this).hasClass('on')) {
			hideSkinSelect();
			$(this).next().slideDown();
			$(this).addClass('on');		
			if($('.scrol-pane',$(this).parents('.skinSelect')).length){
				$('.scrol-pane',$(this).parents('.skinSelect')).jScrollPane();
			}			
		}else{
			hideSkinSelect();
		}
	})
	
	$('.skinSelect li a').click(function(){
		var content = $(this).html();
		var value = $(this).attr('rel'); 
		$('input:hidden',$(this).parents('.skinSelect')).val(value);
		$('span',$(this).parents('.skinSelect')).html(content)
		hideSkinSelect();
		return false;
	})	
	
	$(document).click(function(e){
		if(!$(e.target).parents('.skinSelect').length){
			hideSkinSelect();
		}
	})

}

function hideSkinSelect(){
	$('.skinSelect .listSelect').slideUp();
	$('.skinSelect .on').removeClass('on');
}

function isEmail(val){ 
	if (!val.match (/^[a-z0-9\-\._]+@[a-z0-9\-_\.]+\.[a-z]{2,4}$/gi)){
	 	return false;
	}
	return true;
}

function is_entier(val){
	if(val!=''){
		if (!val.match (/^[0-9]+$/gi)){
			return false;
		}
	}
	return true;
}

function is_reel(val){
	if(val!=''){
		if (!val.match (/^[0-9]$/gi) && !val.match (/^[0-9]+\.[0-9]+$/gi)){
			return false;
		}
	}	
	return true;
	
}

function is_tel(val){
	if(val!=''){
		if (!val.match (/^\+([0-9]{6,25})$/gi) && !val.match (/^([0-9]{6,25})$/gi)){
			return false;
		}
	}	
	return true;
}

function is_date_valide(val){
var regex = new RegExp("[/-]");
var date = val.split(regex);
var nbJours = new Array('',31,28,31,30,31,30,31,31,30,31,30,31);
var result = true;

if ( date['2']%4 == 0 && date['2']%100 > 0 || date['2']%400 == 0 )
nbJours['2'] = 29;

if( isNaN(date['2']) )
result=false;
if ( isNaN(date['1']) || date['1'] > 12 || date['1'] < 1 )
result=false;
if ( isNaN(date['0']) || date['0'] > nbJours[Math.round(date['1'])] || date['0'] < 1 )
result=false;
var date_regexp = /^(\d{1,2}\/){2}\d{4}$/;
if (!val.match(date_regexp) || !result)
return false;
return true;
}

//Control des formulaires
function validate_form(){
	
	$('.error').removeClass('error');
	var flag=true;
	var i=0;
	var item;
	//control des required
	$('.required').each(function(){
		if(!$(this).val()){
			$(this).parents('li').addClass('error');
			flag = false;	
		}	
	});//Fin control des required
	
	//Control des emails
	$('.email').each(function(){	
		if(!isEmail($(this).val())){
			$(this).parents('li').addClass('error');
			flag = false;				
		}
	});
	
	//control des tel_number
	$('.tel_number').each(function(){
		if(!is_tel($(this).val())){
			$(this).parents('li').addClass('error');
			flag = false;	
		}	
	});//Fin control des tel_number
	
	//control des nombre entier
	$('.integer').each(function(){
		
		if($(this).val()!=''){
			if(!is_entier($(this).val())){
				$(this).parents('li').addClass('error');
				flag = false;	
				
			}	
		}
	});//Fin control des entiers
	
	//control des nombre réels
	$('.real').each(function(){
		
		if($(this).val()!=''){
			if(!is_reel($(this).val())){
				$(this).parents('li').addClass('error');
				flag = false;	
			}	
		}
	});//Fin control des réels
	
	//control des Dates
	$('.adate').each(function(){
		
		if(!is_date_valide($(this).val()) && $(this).val()!=''){
			$(this).parents('li').addClass('error');
			flag = false;	
		}	
	});//Fin control des Dates
	
	return flag;
}

function initialize() {
	var latlng = new google.maps.LatLng(28.979679,-9.4);
	var myOptions = {
	  zoom: 6,
	  center: latlng,
	  mapTypeId: google.maps.MapTypeId.ROADMAP
	};
	var map = new google.maps.Map(document.getElementById("map_canvas"),
		myOptions);
}

function displaySearchPopin(){
	window.open($('.btn_share').attr('rel'),'send_mail','width=400,height=120,status=yes,toolbar=no,menubar=no,location=no,resizable=no');
	return false;
}






