window.addEvent('domready', function()
{
    ///
	//Lighview sur les images
	///
    if(EstUnNavigateurIE6() == false)
    {
	    Fastbox('ul a.fastbox', 'Pages/javascript/mootools/fastbox/fastbox.css', '');
	}
	//
	// Ajout de l'event pour le détail
	//
	var AjoutEventDetail = function(id)
	{
    	var bloc = $(id);
	    if(bloc != null)
	        bloc.addEvent('click', AfficherCacherDetailClick);
	}
	//Evénements
    $$('#nav-one li').addEvent('mouseenter', MenuMouseIn);
    
    InitScrollToTop('LienHautDePage');
    AjoutEventDetail('DetailSepaVersions');
    AjoutEventDetail('DetailSepaCommentaires');
    AjoutEventDetail('DetailSepaAdd');
    CacherBlocsDetail();
});

///
/// Cacher un bloc
///
var CacherBloc = function(id)
{
    var Bloc = $(id);
    if(Bloc != null)
    {
        var collapsible = new Fx.Slide(Bloc);
        collapsible.hide();
    }
}

//
// Navigation Automatique (url)
//
var CacherBlocsDetail  = function()
{
    AfficherBlocsDetail('');
}

//
// Navigation Automatique (param)
//
var AfficherBlocsDetail= function(BlocSpe)
{
    if ((BlocSpe != null) && (BlocSpe != ''))
    {
        var results = Array();
        results[0] = '';
        results[1] = BlocSpe;
    }
    else
    {
        BlocSpe = "";
        url = location.href;
        var regex = new RegExp("/programme-[0-9]+-.*#(.*)");
        var results = regex.exec(url);
    }
    if((results == null) || (results.lenght < 1) || (results[1] == null))
    {
        CacherBloc('DetailVersions');
	    CacherBloc('DetailCommentaires');
        CacherBloc('DetailAdd');    
    }
    else
    {
        switch(results[1])
        {
            case "commentaire":
            {
                CacherBloc('DetailVersions');
	            CacherBloc('DetailCommentaires');
	            if(BlocSpe != "")
	                AfficherCacherDetail('DetailSepaAdd');
	            ScrollTo('DetailSepaAdd');
                break;
            }
            case "commentaires":
            {
                CacherBloc('DetailVersions');
                CacherBloc('DetailAdd'); 
                if(BlocSpe != "")
	                AfficherCacherDetail('DetailSepaCommentaires');
                 ScrollTo('DetailCommentaires');
                break;
            }
            case "commentairesajout":
            {
                CacherBloc('DetailVersions');
                CacherBloc('DetailAdd'); 
                if(BlocSpe != "")
	                AfficherCacherDetail('DetailSepaCommentaires', false);
                ScrollTo('DetailSepaAdd');
                break;
            }
            case "versions":
            {
	            CacherBloc('DetailCommentaires');
                CacherBloc('DetailAdd');
	            if(BlocSpe != "")
	                AfficherCacherDetail('DetailSepaVersions');
                ScrollTo('DetailSepaVersions');
                break;
            }
            case "tout":
            {
                break;
            }
            default:
            {
                CacherBloc('DetailVersions');
	            CacherBloc('DetailCommentaires');
                CacherBloc('DetailAdd');
	            if(BlocSpe != "")
	                AfficherCacherDetail('DetailSepaVersions');
                ScrollTo('DetailSepaVersions');  
                break;
            }
        }
    }
    
}

///
///Scroll vers
///
var ScrollTo = function(IdElementToScroll)
{
    Bloc = $(IdElementToScroll);
    if(Bloc != null)
        var myFx = new Fx.Scroll(window).toElement(Bloc);
}

///
///Scroll vers le haut
///
var InitScrollToTop = function(id)
{
	BlocClik = $(id);
	if(BlocClik != null)
	{
		var scroller = new Fx.Scroll(document.body);
		BlocClik.removeProperty('href');
		BlocClik.set('styles', {'cursor': 'pointer'});
		BlocClik.addEvent('click', function(){scroller.toTop();});
	}
}

///
///Effet sur le sous menu
///
var MenuMouseIn = function()
{
    if(EstUnNavigateurIE6() == false)
    {
		var ThisLi = this.getElements('li');
	    if(ThisLi != null)
	    {
			var NavIe8 = EstUnNavigateurIE8();
		
		    ThisLi.each(function(item, index)
		    {
				if(NavIe8 == false)
				{
					item.setStyle('width','170px'); //bug ie
					item.fade('hide');
					item.fade('in');
				}
	
				var myFx = new Fx.Tween(item, { duration: '200', transition: Fx.Transitions.Bounce.easeOut });
				myFx.set('margin-top', '0px');
				myFx.start('margin-top', '-5px', '0px');
			});
	    }
	}
}

///
///Cahcer/Afficher le détail
///
var AfficherCacherDetailClick = function()
{
    AfficherCacherDetail(this.id, true);
}
///
///Cahcer/Afficher le détail
///
var AfficherCacherDetail = function(BlocId)
{
    AfficherCacherDetail(BlocId, true);
}
///
///Cahcer/Afficher le détail
///
var AfficherCacherDetail = function(BlocId, Effet)
{
	var Div;
    var Img;
    
    switch(BlocId)
    {
        case 'DetailSepaVersions':
            Div = $('DetailVersions');
            Img = $('DetailVersionsFleche');
            break;
        case 'DetailSepaCommentaires':
            Div = $('DetailCommentaires');
            Img = $('DetailCommentairesFleche');
            break;
        case 'DetailSepaAdd':
            Div = $('DetailAdd');
            Img = $('DetailAddFleche');
            break;
    }
    
    var LienImg =  Img.getProperty('src');
    if(LienImg == '../Styles/images/Detail_FlecheDroite.png')
        Img.setProperty('src', '../Styles/images/Detail_FlecheBas.png');
    else
        Img.setProperty('src', '../Styles/images/Detail_FlecheDroite.png');

    if(Effet)
    {
        var collapsible = new Fx.Slide(Div);
        collapsible.toggle();
    }
    else
    {
        var collapsible = new Fx.Slide(Div);
        collapsible.show();
    }
}


///
/// ValiderCommentaire
///
function ValiderCommentaire(Form_Commentaire)
{
   	var pseudo=$("pseudo");
    var email=$("email");
	var message=$("message");
    var code=$("code");
    
    var msg = "";

    //----------PSEUDO----------
    pseudo.set('styles', {'border': '1px solid #bec6ca'});
    if(!pseudo.value)
    {
	    msg+=" * Votre pseudo est manquant<br />";
	    pseudo.set('styles', {'border': '1px solid #FF0000'});
    }
    else
    {
    	if(pseudo.value.length<2)
    	{
    		 msg+=" * Votre pseudo est trop court (inférieur à 2 caractères)<br />";
    		 pseudo.set('styles', {'border': '1px solid #FF0000'});
    	}
    	var strPseudo=pseudo.value.toLowerCase() ;	
		if((strPseudo=="oximoron")||(strPseudo=="oxi"))
		{
			msg+=" * Ce pseudo est résérvé<br />";
			pseudo.set('styles', {'border': '1px solid #FF0000'});
		}
		else if(strPseudo.indexOf("oximoron",0)!=-1)
		{
			msg+=" * Votre pseudo ne peut contenir \"oximoron\"<br />";
			pseudo.set('styles', {'border': '1px solid #FF0000'});
		}
    }   

    //----------EMAIL----------
    email.set('styles', {'border': '1px solid #bec6ca'});
    if(!email.value)
    {
     	msg+=" * Votre Email est manquant, ne sera pas visible sur le site. Il est uniquement utilisé pour répondre plus facilement à vos questions.<br />";
  		email.set('styles', {'border': '1px solid #FF0000'});
    }    
    else
    {
        var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	    if(!filter.test(Form_Commentaire.commentaire_mail.value))
	    {
	     	msg+=" * Votre Email est invalide, il ne sera pas visible sur le site. Il est uniquement utilisé pour répondre plus facilement à vos questions.<br />";
	     	email.set('styles', {'border': '1px solid #FF0000'});
     	}
    }
    
    //----------MSG----------
    message.set('styles', {'border': '1px solid #bec6ca'});
    if(!message.value)
    {
	    msg+=" * Votre commentaire est manquant<br />";
	    message.set('styles', {'border': '1px solid #FF0000'});
    }
    else
    {
    	if(message.value.length<4)
    	{
    		 msg+=" * Votre commentaire est trop court (inférieur à 4 caractères)<br />";
    		 message.set('styles', {'border': '1px solid #FF0000'});
    	}
    }
    
    //----------CODE----------
    code.set('styles', {'border': '1px solid #bec6ca'});
    if(!code.value)
    {
	    msg+=" * Le code de verification est manquant<br />";
	    code.set('styles', {'border': '1px solid #FF0000'});
    }
    else
    {
    	if(code.value.length != 3)
    	{
    		 msg+=" * Le code de verification n'est pas bon (Non égal à 3 caractères)<br />";
    		 code.set('styles', {'border': '1px solid #FF0000'});
    	}
    }
    
    //--------------------
    if(msg!="")
    {
        var b = $('CommentaireblocAjoutErreur');
    
        if((b != null) && (b.getParent() != null) && (b.getParent() != null))
        {
            b.getParent().getParent().set('styles',{'height': 'auto'});
        }
        $('CommentaireblocAjoutErreur').show();
        $('CommentaireblocAjoutErreurTxt').set('html',msg);
    }
    else
	{
     	Form_Commentaire.submit();
	    $('commentaire_validation').value = "Enregistrement en cours ...";
	    $('commentaire_validation').set('disabled','disabled');
 	}
    
}

function ValiderMail(formulaire)
{ 
	var msg="";

	var nom=$("nom");
	var email=$("email");
	var sujet=$("sujet");
	var code=$("code");
	var message=$("message");
	
    nom.set('styles', {'border': '1px solid #bec6ca'});
	if(!nom.value)
	{
		msg+="* Votre nom est manquant<br />";
		nom.set('styles', {'border': '1px solid #FF0000'});
	}
	
	sujet.set('styles', {'border': '1px solid #bec6ca'});
	if(!sujet.value)
	{
		msg+="* Le sujet est manquant<br />";
		sujet.set('styles', {'border': '1px solid #FF0000'});
	}
	
	email.set('styles', {'border': '1px solid #bec6ca'});
	if(!email.value)
	{
		msg+="* Votre Email est manquant<br />";
		email.set('styles', {'border': '1px solid #FF0000'});
	}
	else
	{
		if((email.value.indexOf("@",0))<0)
		{
			msg+="* Votre Email est invalide<br />";
			email.set('styles', {'border': '1px solid #FF0000'});
		}
	}
	
	message.set('styles', {'border': '1px solid #bec6ca'});
	if(!message.value)
	{
		msg+="* Le message est manquant<br />";
		message.set('styles', {'border': '1px solid #FF0000'});
	}
	
	//----------CODE----------
    code.set('styles', {'border': '1px solid #bec6ca'});
    if(!code.value)
    {
	    msg+=" * Le code de verification est manquant<br />";
	    code.set('styles', {'border': '1px solid #FF0000'});
    }
    else
    {
    	if(code.value.length != 3)
    	{
    		 msg+=" * Le code de verification n'est pas bon (Non égal à 3 caractères)<br />";
    		 code.set('styles', {'border': '1px solid #FF0000'});
    	}
    }
	
	$('CommentaireblocAjoutOK').hide();
	
    //--------------------
    if(msg!="")
    {
        $('CommentaireblocAjoutErreur').show();
        $('CommentaireblocAjoutErreurTxt').set('html',msg);
    }
    else
	{
     	formulaire.submit();
	    $('commentaire_validation').value = "Envoi en cours ...";
	    $('commentaire_validation').set('disabled','disabled');
 	}
}















function EstUnNavigateurIE6()
{
    var vIE=0
    if (navigator.appVersion.indexOf("MSIE")!=-1)
    {
        temp=navigator.appVersion.split("MSIE")
        vIE=parseFloat(temp[1])
    }
    
    if(vIE <= 0)
        return false;
        
    if((vIE > 0) && (vIE < 7))
        return true;
        
    return false;
}

function EstUnNavigateurIE8()
{
    var vIE=0
    if (navigator.appVersion.indexOf("MSIE")!=-1)
    {
        temp=navigator.appVersion.split("MSIE")
        vIE=parseFloat(temp[1])
    }
    
    if(vIE <= 0)
        return false;
        
    if((vIE >= 8) && (vIE < 9))
        return true;
        
    return false;
}

function EstUnNavigateurIE()
{
    var vIE=0
    if (navigator.appVersion.indexOf("MSIE")!=-1)
    {
        temp=navigator.appVersion.split("MSIE")
        vIE=parseFloat(temp[1])
    }
    
    if(vIE <= 0)
        return false;
    else
        return true;
}


function StrAccents(str)
{
  str = str.replace(/[à]/gi,"\340");
  str = str.replace(/[á]/gi,"\341");
  str = str.replace(/[â]/gi,"\342");
  str = str.replace(/[ã]/gi,"\343");
  str = str.replace(/[ä]/gi,"\344");
  str = str.replace(/[ç]/gi,"\347");
  str = str.replace(/[è]/gi,"\350");
  str = str.replace(/[é]/gi,"\351");
  str = str.replace(/[ê]/gi,"\352");
  str = str.replace(/[ë]/gi,"\353");
  str = str.replace(/[î]/gi,"\356");
  str = str.replace(/[ï]/gi,"\357");
  str = str.replace(/[ñ]/gi,"\361");
  str = str.replace(/[ò]/gi,"\362");
  str = str.replace(/[ó]/gi,"\363");
  str = str.replace(/[ô]/gi,"\364");
  str = str.replace(/[ö]/gi,"\366");   
  str = str.replace(/[ù]/gi,"\371");
  str = str.replace(/[ú]/gi,"\372");
  str = str.replace(/[û]/gi,"\373");
  str = str.replace(/[ü]/gi,"\374");
  return str
//http://www.pjb.com.au/comp/diacritics.html
}



function ReloadImages()
{
	var obj=document.getElementById('CodeGen');
	var ListeObjet=obj.getElementsByTagName("img");
	var now = new Date();
	
	for(i=0;i<ListeObjet.length;i++)
		ListeObjet[i].src=ListeObjet[i].src+"&amp;"+now.getTime();
}






function SelectGoUrl(IdForm,IdSelect)
{
	try
	{
		var objSelect=Get(IdSelect);
		var lien=(objSelect.options[objSelect.selectedIndex].value);
		var FormSelect=Get(IdForm);
		FormSelect.action=lien;
		FormSelect.submit();
	}
	catch(e)
	{
		alert("SelectGoUrl(): "+e);
	}
}

function cacher(name,name_a)
{
	var MyDiv=document.getElementById(name);
	if(MyDiv.style.display=="none")
		MyDiv.style.display="inline";
	else
		MyDiv.style.display="none";
	
	if(name_a!="")
	{
		var MyA=document.getElementById(name_a);			
		var CodeHtml=MyA.innerHTML;
		if(MyDiv.style.display!="none")
			MyA.innerHTML=str_Replace(CodeHtml,"Voir","Masquer");
		else
			MyA.innerHTML=str_Replace(CodeHtml,"Masquer","Voir");
	}
}

function str_Replace(Chaine,Chaine_A,Chaine_B)
{
	var Pos=0
	while (Pos!=-1)
	{
		Pos=Chaine.indexOf(Chaine_A,Pos);
		if (Pos>=0)
		{
			Chaine=Chaine.substring(0,Pos)+Chaine_B+Chaine.substring(Pos+Chaine_A.length);
			Pos+=Chaine_B.length;
		}
	}
	return Chaine
}

var ajax = null; 

function DefineAjax()
{
	try
	{
		if(window.XMLHttpRequest) // Firefox et autres
			ajax = new XMLHttpRequest(); 
		else if(window.ActiveXObject) // Internet Explorer 
		{
			try
			{
				ajax = new ActiveXObject("Msxml2.XMLHTTP");
			}
			catch(e)
			{
				ajax = new ActiveXObject("Microsoft.XMLHTTP");
			}
		}
		else
		{ // XMLHttpRequest non support? par le navigateur 
			alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); 
			ajax = false;
		}
	}
	catch(e)
	{
		alert("Probl?me d'initialisation AJAX:"+e);
	}
}

function AppelAjax_GetDescription(id)
{
	try
	{	
		html="";
		DefineAjax();
		// On défini ce qu'on va faire quand on aura la réponse
		ajax.onreadystatechange = function()
		{
			// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
			if(ajax.readyState == 4 && ajax.status == 200)
			{
				var html=ajax.responseText;
				
				var	BlocInfo=Get("MenuXi_BlocInfo");
				BlocInfo.innerHTML=html;
			}
		}
		var url="Pages/ajax/GetProgDescription.php?id="+id;

		ajax.open("GET",url,true);
		//alert(url);
		ajax.send(null);
	}
	catch(e)
	{
		alert("Problème lors de l'appel AJAX:"+e);
	}
}
