/*-----------------------------------------------------------
	Project: Risoul
	Date : 	September 2009
	Last Update : 11:15 01/09/2009
	Author:	C2iS - LGU
	Summary : JS for all pages	
-----------------------------------------------------------*/

/*:::::::: INITS ::::::::::*/

$(document).ready(function() {
/*functions for IE 6*/
	if ($.browser.msie && $.browser.version <= 6 ) {
		try {
		document.execCommand('BackgroundImageCache', false, true);
		} catch(e) {}
		$('#mainMenu > li > ul, #siteMapBlock').bgiframe();	
		$('#mainMenu > li').hover(function(){
			$(this).toggleClass("sfhover");
		}, function(){
			$(this).removeClass('sfhover');
		});	
	}	
/*end functions for IE 6*/

	$('#formRecherche input:submit').val('');

/* ----------- CUFON FONT REPLACEMENT -----------*/
	if ( $('.fontified').length > 0 ){
		Cufon.replace('#mainMenu .fontified > a:nth-child(1)', {}, false);
		Cufon.replace('#otherMenu .fontified', {hover:true}, false);
		Cufon.replace('#content .fontified', {}, false);
	}
/* ----------- //CUFON FONT REPLACEMENT -----------*/

	$('.date-pick').datePicker({clickInput:true})

	$('#mainMenu li').hover(updateMenu, updateMenu);
	
	$('#siteMap').click(function(){
		$('#siteMap a').toggleClass("active");
		$('#siteMapBlock').toggle();
		return false;
	});
	
	$("a[rel*='external']").click(function(){
		this.target = "_blank";
	});
	
	if ( $('#reserver .choixCaract').length > 0 ){
		$('#reserver .choixCaract p').click(function(){
			$('#reserver .choixCaract fieldset').toggle();
			return false;
		});
		$('#reserver .choixCaract input:checkbox').customInput();
		//$('#reserver .choixCaract input:submit').val('');
	};

	if( $('#edito .accEdito, #event .accEvent').length) {			
		blockSlider();		//construction du bloc #detailSlider 
	}
	if( $('#editoMosaique .accEdito, #editoMosaique .accEvent').length) {			
		blockSliderMosaique();		//construction du bloc #detailSlider 
	}
	
	$("a.fancybox").fancybox({ 'overlayShow': true, 'overlayOpacity': 0.7, 'zoomOpacity': true }); 
	$("a.idfancybox").fancybox({ 'overlayShow': false, 'overlayOpacity': 0.7, 'zoomOpacity': false, 'hideOnContentClick': false });
	$("a.mapfancybox").fancybox({ 'overlayShow': false, 'overlayOpacity': 0.7, 'zoomOpacity': false, 'hideOnContentClick': false, 'frameHeight' : 317, 'frameWidth' : 467 });
	$("a.planfancybox").fancybox({ 'overlayShow': false, 'overlayOpacity': 0.7, 'zoomOpacity': false, 'hideOnContentClick': false, 'frameHeight' : 533, 'frameWidth' : 945 });
	 
	
	if( $('.inputRadio').length > 0 ) {		
		$test = $('.paiementCB');
		if( $('.inputCb').is(':checked') ){ $test.css({height: "70px"}); }
		$('.inputRadio').click(function(){
			if ( $(this).hasClass('inputCb') ){
				$test.animate({ height: "70px" }, 1000 );
			} else {
				$test.animate({ height: "0px" }, 1000 ).fadeOut();

			}
		});
	}
	
	if( $('#sliderwrap').length > 0 ) {
		$("#slider").easySlider();
	}

	if( $('.rechercheBloc').length > 0 ) {
		$('.rechercheBloc').hover(function(){$(this).toggleClass("hover")}, function(){$(this).toggleClass("hover")});
		$('.rechercheBloc').click(function(){window.location=$(this).find("a").attr("href");return false;});
		$('.rechercheBloc:last').addClass('last');
	}
	
});

/* ==================================================================*/
/*							 FONCTIONS								 */
/* ==================================================================*/
/*
var affichage = $.cookie('meteo');

if (affichage == null) {
	$(document).ready(function(){
		$.cookie('meteo', 'ok',{ expires: 99 });
		$('#swfmeteoContener').css({height:'300px'});
		setTimeout(function() {
			closeMeteo()
		}, 2000);
	});
}
*/
String.prototype.trim = function() {
        return this.replace(/^\s+|\s+$/g,"");
}
function updateMenu() {
	setTimeout(function() {
		Cufon.replace('#mainMenu .fontified > a:nth-child(1),#otherMenu .fontified', {}, false);
	}, 1);
}
function openMeteo(){
	$('#swfmeteoContener').stop().animate({height:'300px'},1500);
	return false;
}
function closeMeteo(){
	$('#swfmeteoContener').stop().animate({height:'25px'},1500);
	return false;
}

function blockSlider() {
	$(".accordion h3").eq(0).addClass("active");
	$(".accordion div").eq(0).show();
	$(".accordion h3").hover(function(){$(this).toggleClass("hover")}, function(){$(this).toggleClass("hover")});
	$(".accordion h3").click(function(){
	  $(this).next("div").slideToggle("slow").siblings("div:visible").slideUp("slow");
	  $(this).toggleClass("active").siblings("h3").removeClass("active");
	});
}
function blockSliderMosaique() {
	$(".accordion h3").hover(function(){$(this).toggleClass("hover")}, function(){$(this).toggleClass("hover")});
	$(".accordion h3").click(function(){
	  $(this).next("div").slideToggle("slow").siblings("div:visible").slideUp("slow");
	  $(this).toggleClass("active").siblings("h3").removeClass("active");
	});
	$(".mosaique").click(function(){
	  var theMoz = $(this).attr("id").split("mosaique_")[1];
      $(".accordion h3").eq(theMoz).trigger('click');
	});
}

/* ======================================================================================*/
/*				 FONCTIONS GÉNÉRIQUES DE VALIDATION DE FORMULAIRE 						 */
/* ======================================================================================*/

//---------------------------------------------
// Empeche la saisie d'un caractere onKeypress
//----------------------------------------------
function empechechar()
{
	if( event.keyCode < 48 || event.keyCode > 57 )
 	{ 
 		alert(get_trad_champ("numeric") );
   		event.returnValue = false;
   	}
}

//-------------------------------------
// Verifie la validite d'un email
//-------------------------------------
function isValidEmail ( _fieldId ) {
	
	var email = document.getElmentById(_fieldId).value;		
	var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	
	if ( !filter.test(email.value) ) 
	{		
		return false;
	}
	else 
	{
		return true;
	}
}


//-------------------------------------
// Verifie la validite d'une date
//-------------------------------------
function isValidDate ( _fieldId )
{
    if ( _fieldId == "" )
        return true;

    // Récupération de la valeur
    var totalDate    = document.getElementById( _fieldId ).value;
    if ( totalDate == "" )
        return false;
   
    // Découpage de la date récupérée
    var aDate = totalDate.split( "/" );
    if ( aDate.length != 3 )
        return false;

    // Création d'un objet date
    var generatedDate = new Date ( aDate[ 2 ], aDate[ 1 ] - 1, aDate[ 0 ] );
   
    // Test
    if (     generatedDate.getFullYear() == aDate[ 2 ]
        &&    generatedDate.getMonth() + 1 == aDate[ 1 ]
        &&    generatedDate.getDate() == aDate[ 0 ] )
        return true;
   
    return false;
}


// *********************** Fonction Validation Formulaire *********************** //
function testObl(fieldValue,fieldName)
{	
	if(fieldValue.trim()=="")
	{	
		inlineMsg(fieldName,get_trad_champ(fieldName),5);
	    return false;
	}
	else
	{		
		return true
	}
}

function testListObl(fieldValue,fieldName)
{	
	if(fieldValue=="0")
	{	
		inlineMsg(fieldName,get_trad_champ(fieldName),5);
	    return false;
	}
	else
	{		
		return true
	}
}

//--test match expression reg
function testMatchRegex(fieldValue,fieldName,myRegex)
{	
	if(!fieldValue.match(myRegex)) 
  	{
	    inlineMsg(fieldName,get_trad_champ(fieldName+"_incorrect"),5);
	    return false;
  	}  
  	else
  	{
  		return true;
  	}
}

//--test longueur du champ
function testLength(fieldValue,fieldName,fieldLength)
{
	if( parseInt(fieldValue.trim().length) < fieldLength)
	{			
	  	inlineMsg(fieldName,get_trad_champ(fieldLength+"_caracteres_min"),5);
	  	return false;
	}
	else
	{
		return true;
	}
}

function validFormContact()
{	  
 
  var nameRegex = /^[^\d,._&@\(\)\$\%#]*$/i;
  var emailRegex = /^[\w-\.]+@([\w-]+\.)+[\w-]{2,10}$/;
  var messageRegex = new RegExp(/<\/?\w+((\s+\w+(\s*=\s*(?:".*?"|'.*?'|[^'">\s]+))?)+\s*|\s*)\/?>/gim);
  var telRegex = /^[0-9\(\)\+ ]*$/;
  
  //==========================  
  //declaration de variables
  //==========================
  var sujet = document.getElementById('sujet').value;    
  var nom = document.getElementById('nom').value;
  var prenom = document.getElementById('prenom').value;
  var email = document.getElementById('email').value;
  var adresse = document.getElementById('adresse').value;
  var code_postal = document.getElementById('code_postal').value;
  var ville = document.getElementById('ville').value;
  var pays = document.getElementById('pays').value;
  var message = document.getElementById('message').value;    
	
  //==========================  
  //controles JS
  //==========================      
    
  //objet du message---
  if(!testListObl(sujet,"sujet")) return false;

  //nom-----
  if(!testObl(nom,"nom")) return false;
  if(!testMatchRegex(nom,"nom",nameRegex)) return false;  
  if(!testLength(nom,"nom",3)) return false;
  
  //prenom ------
  if(!testObl(prenom,"prenom")) return false;
  if(!testMatchRegex(prenom,"prenom",nameRegex)) return false;
  if(!testLength(prenom,"prenom",3)) return false;
  
  //email-----
  if(!testMatchRegex(email,"email",emailRegex)) return false;
  
  //adresse-----
  if(!testObl(adresse,"adresse")) return false;  
  
  //code postal-----
  if(!testObl(code_postal,"code_postal")) return false;
  if(!testMatchRegex(code_postal,"code_postal",telRegex)) return false;
  
  //ville ------
  if(!testObl(ville,"ville")) return false;  
  
  //pays ------  
  if(!testListObl(pays,"pays")) return false;  
  
  //message ------
  if(!testObl(message,"message")) return false;
  if(!testLength(message,"message",3)) return false;

  
  document.getElementById('formContact').submit();
  return true;
}


// Validation Envoi à un ami
function validEnvoiAmi() {
	
	var nameRegex = /^[^\d,._&@\(\)\$\%#]*$/i;
	var emailRegex = /^[\w-\.]+@([\w-]+\.)+[\w-]{2,10}$/;
	var messageRegex = new RegExp(/<\/?\w+((\s+\w+(\s*=\s*(?:".*?"|'.*?'|[^'">\s]+))?)+\s*|\s*)\/?>/gim);

	//==========================  
	//declaration de variables
	//==========================
	var votre_nom = document.getElementById('votre_nom').value;
	var votre_email = document.getElementById('votre_email').value;
	var nom_ami = document.getElementById('nom_ami').value;
	var email_ami = document.getElementById('email_ami').value;
	var votre_message = document.getElementById('votre_message').value;

	//==========================  
	//controles JS
	//==========================      
		
	//Votre Nom-----
	if(!testObl(votre_nom,"votre_nom")) return false;
	if(!testMatchRegex(votre_nom,"votre_nom",nameRegex)) return false;  
	if(!testLength(votre_nom,"votre_nom",3)) return false;
	
	//Votre Email ------
	if(!testMatchRegex(votre_email,"votre_email",emailRegex)) return false;
	
	//Nom Ami-----
	if(!testObl(nom_ami,"nom_ami")) return false;
	if(!testMatchRegex(nom_ami,"nom_ami",nameRegex)) return false;  
	if(!testLength(nom_ami,"nom_ami",3)) return false;
	
	//Email Ami ------
	if(!testMatchRegex(email_ami,"email_ami",emailRegex)) return false;
	
	//Votre message ------
	if(!testObl(votre_message,"votre_message")) return false;
	if(!testLength(votre_message,"votre_message",3)) return false;
	
	ajaxEnvoiAmi();
  	return true;
	
}

// *********************** Fonction SHU *********************** //


// Fonction de Changement de Page sur la Home
function changePage(laPage){
	var now=new Date();
	var randomnumber=now.getSeconds();
	langue = document.getElementById('id_langue').value;			
	$.ajax({ 
        dataType:'get', 
        url: 'ajax/changePageNews.php?idrnd='+randomnumber, 
        data: { laPage : laPage, langue : langue  }, 
        success:function(response) { 
            $("#homeNews").css({ opacity: 0 }).html(response).fadeTo("normal",1);
        } 
    });
}

// Fonction Changement de page
function submitForm(page){
	document.pagination.idPage.value = page;
	document.pagination.submit();
}



// Fonction d'envoi à un ami
function ajaxEnvoiAmi() {
	

	// *** On récup&egrave;re les champs saisis
	votre_nom 		= document.getElementById('votre_nom').value;		
	votre_email 	= document.getElementById('votre_email').value;		
	nom_ami 		= document.getElementById('nom_ami').value;			
	email_ami 		= document.getElementById('email_ami').value;			
	votre_message 	= document.getElementById('votre_message').value;								
	urlEnCours 		= document.getElementById('urlEnCours').value;
	
	$.ajax({ 
        dataType:'jsonp', 
        url: 'http://10.63.1.135/risoul_www/www/ajax/ajax_envoi_ami.php', 
        data: { votre_nom : votre_nom , votre_email : votre_email, nom_ami : nom_ami, email_ami : email_ami, votre_message : votre_message, urlEnCours : urlEnCours}, 
        success: function(response){
        	$("#formEnvoiAmi").html(response.data);
        }
    });
	
							
}

function verifId()
{
	pwd = document.getElementById('pwd').value;		
	typeAcces = document.getElementById('typeAcces').value;
	url = document.getElementById('formId').action;		
	$.ajax({ 
        dataType:'post', 
        url: 'ajax/verifId.php', 
        data: { pwd : pwd, typeAcces : typeAcces }, 
        success:function(msg) {             
        	if(msg==1)
        	{        		
            	window.location = url;
        	}
        	else
        	{
        		$("#errMsg").html(msg);
        	}
        } 
    });
}


