$(document).ready(function () {

	// nav
	$('.children').hide();
	$('.niveau1 > .cat-item').hover(
		function(){
			$(this).children('a').addClass('hover');
			$(this).find('.children').show();
		},
		function(){
			$(this).children('a').removeClass('hover');
			$(this).find('.children').hide();		
		}	
	);
	
	// masque les panneaux du footer
	$('#bloc_contact').hide();
	$('#bloc_archives').hide();

	// panneau 'contact'
	$('#lien_contact, #fermer_contact').click(function(){
		if($('#bloc_archives:visible').length){
			$('#bloc_archives').hide();
			$('#bloc_contact').show();
			$('#lien_archives').removeClass('on');
			$('#lien_contact').addClass('on');
			$.scrollTo($('#pied_de_page'), 400);
		} else {
			if(!$('#bloc_contact:visible').length){
				$('#bloc_contact').show();
				$.scrollTo($('#pied_de_page'), 400);
				$('#lien_contact').addClass('on');
			} else {
				// scroll vers le haut avant de masquer le panneau (pour eviter les saccades)
				$.scrollTo('-=' + $('#bloc_contact').outerHeight() + 'px', 400, {onAfter:function(){
					$('#bloc_contact').hide();					
				}});
				$('#lien_contact').removeClass('on');
			}
		}
	});
	
	// panneau 'archives'
	$('#lien_archives, #fermer_archives').click(function(){
		if($('#bloc_contact:visible').length){
			$('#bloc_contact').hide();
			$('#bloc_archives').show();
			$('#lien_contact').removeClass('on');
			$('#lien_archives').addClass('on');
			$.scrollTo($('#pied_de_page'), 400);
		} else {
			if(!$('#bloc_archives:visible').length){
				$('#bloc_archives').show();
				$.scrollTo($('#pied_de_page'), 400);
				$('#lien_archives').addClass('on');
			} else {
				// scroll vers le haut avant de masquer le panneau (pour eviter les saccades)
				$.scrollTo('-=' + $('#bloc_archives').outerHeight() + 'px', 400, {onAfter:function(){
					$('#bloc_archives').hide();					
				}});
				$('#lien_archives').removeClass('on');
			}
		}
	});
	
	// champ de recherche
	phrase_defaut = 'Rechercher dans le site';
	$('#s').val(phrase_defaut);
	
	$('#s').focus(function(){
		if($('#s').val() == phrase_defaut){
			$('#s').val('');
		}
	});

	$('#s').blur(function(){
		$('#s').val(phrase_defaut);
	});
	
	/**
	 * onBlur() s'execute avant onClick(), d'où le code suivant qui permet d'annuler le blur
	 * sur le champ de recherche lorsque l'on va cliquer sur le bouton submit.
	 * Dès que l'on resort du périmètre du champ submit l'event blur() est remis en place.
	 */ 
	$('#searchsubmit').hover(function(){
		$('#s').unbind('blur');
	},
	function(){
		$('#s').blur(function(){
			$('#s').val(phrase_defaut);		
		});
	});

	// champ mail sidebar
	phrase_defaut_mail = 'Insérez votre mail';
	if($('#champ_mail_sidebar').val() == ''){
		$('#champ_mail_sidebar').val(phrase_defaut_mail);
	}else if($('#champ_mail_sidebar').val() != phrase_defaut_mail){
		$('#champ_mail_sidebar').css('color','#000');
	}
	
	$('#champ_mail_sidebar').focus(function(){
		if($('#champ_mail_sidebar').val() == phrase_defaut_mail){
			$('#champ_mail_sidebar').val('');
			$('#champ_mail_sidebar').css('color','#000');
		}
	});
	$('#champ_mail_sidebar').blur(function(){
		if($('#champ_mail_sidebar').val() == ''){
			$('#champ_mail_sidebar').val(phrase_defaut_mail);
			$('#champ_mail_sidebar').css('color','#999999');
		}
	});
	
	// champ mail footer
	phrase_defaut_mail = 'Insérez votre mail';
	if($('#champ_mail_footer').val() == ''){
		$('#champ_mail_footer').val(phrase_defaut_mail);
	}
	$('#champ_mail_footer').focus(function(){
		if($('#champ_mail_footer').val() == phrase_defaut_mail){
			$('#champ_mail_footer').val('');
		}
	});
	$('#champ_mail_footer').blur(function(){
		if($('#champ_mail_footer').val() == ''){
			$('#champ_mail_footer').val(phrase_defaut_mail);
		}
	});
	
	// formulaire de contact
	$('#commentform').submit(function(){
		$message_erreur = '';
		if($('#author').val() == ''){
			$message_erreur += '<li>Le champ "nom" est obligatoire</li>';
		}
		if($('#email').val() == ''){
			$message_erreur += '<li>Le champ "email" est obligatoire</li>';
		} else {
			if(!isValidEmailAddress($('#email').val())){
				$message_erreur += '<li>Le champ "email" n\'est pas correct</li>';
			}
		}
		if($('#comment').val() == ''){
			$message_erreur += '<li>Le champ "commentaire" est obligatoire</li>';
		}
		if($message_erreur != ''){
			$('#commentform .message_erreur').remove();
			$('#commentform').prepend('<ul class="message_erreur">' + $message_erreur + '</ul>');
			return false;
		}
		return true;
	});
	
	
});

function isValidEmailAddress(emailAddress) {
	var pattern = new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i);
	return pattern.test(emailAddress);
}
