/***********************************************
************************************************
				JS	 		CESR
				Date :		20.09.2006
				Revision :  18.10.2006
				Version : 	1.0
				Program : 	Churchill
				
Changelog :
	- 20/09 : 	creation du script : gestion des onglets recherche et recherche thématique via javascript
	- 27/09 :	intégration du script nice titles
	- 18/10 : 	ajout de la librairie scriptaculous (cf init();)
				Correction de l'intégration du script nice titles (fonctionne désormais)
				modification du script nice titles pour ne pas afficher l'url dans le nicetitle (noeud tnd supprimé)
***********************************************
************************************************/


/***********************************************
 Gestion des onglets de recherche
***********************************************/


var regExpEmailAdress = /^[A-Za-z0-9](([_\.\-]?[a-zA-Z0-9]+)*)@([A-Za-z0-9]+)(([\.\-]?[a-zA-Z0-9]+)*)\.([A-Za-z]{2,})$/g; // Accepte une adresse email. Ex : toto@toto.com
var regExpDate = /^\d{2}([\/]|[\-])+\d{2}([\/]|[\-])+\d{2}(\d{2})*$/g; // D : Date (xx/xx/xx ou xx/xx/xxxx ou xx-xx-xx ou xx-xx-xxxx)
var regExpAlphaNum = /^[A-Za-zàâäéèêëîïôùûç\s,'0-9\-]+$/g; // Accepte une chaîne alphanumérique



function matchRegularExpression(valeur, regularExpression)
{
	var resultat = valeur.match(regularExpression);
	if(resultat!=null && resultat.length==1) return true;
	else return false;
}



function doesntMatchRegularExpression(valeur, regularExpression)
{
	if(matchRegularExpression(valeur, regularExpression)) return false;
	else return true;
}

function isNotEmailAdress(valeur)
{
	return doesntMatchRegularExpression(valeur, regExpEmailAdress);
}


function init()
{
	// a test to avoid some browser like IE4, Opera 6, and IE Mac
    if ( browser.isDOM1 
    && !( browser.isMac && browser.isIE ) 
    && !( browser.isOpera && browser.versionMajor < 7 )
    && !( browser.isIE && browser.versionMajor < 5 ) )
    {
		// get some elements
		var rech = document.getElementById('ongRech'); // l'onglet recherche
		var rechThem = document.getElementById('ongRechThem'); // l'onglet recherche thématique
		
		// Ajout des événements sur les éléménts au chargement.
		addAnEvent(rech,'click',showRech);
		addAnEvent(rechThem,'click',showRechThem);
		addAnEvent(rech.parentNode,'click',returnFalse);
		addAnEvent(rechThem.parentNode,'click',returnFalse);
		if (document.getElementById('rechThemTop'))
		{
			addAnEvent(document.getElementById('rechThemTop'),'click',showRechThem);
		}
		
		new Effect.Highlight('effectLayer',{duration:1.5}); return false;

    }
}

//library de fonctions
//--------------------

function addAnEvent( target, eventName, functionName )
{
    // apply the method to IE
    if ( browser.isIE )
    {
        //attachEvent dont work properly with this
        eval('target.on'+eventName+'=functionName');
    }
    // apply the method to DOM compliant browsers
    else
    {	
        target.addEventListener( eventName , functionName , true ); // true is important for Opera7
    }
}

function showRech(){
	//some elements
	var rech = document.getElementById('formRech');
	var rechThem = document.getElementById('searchTheme');
	var rechImg = document.getElementById('ongRech'); // l'onglet recherche
    var rechThemImg = document.getElementById('ongRechThem'); // l'onglet recherche thématique

	//affiche les blocs de recherche
	rech.style.display='block';
	rechThem.style.display='none';
	//change les onglets
	if (rechThemImg.src.search(/_on\..+/) != -1){
		rechImg.src = rechImg.src.replace(/.gif/,'_on.gif');
		rechThemImg.src = rechThemImg.src.replace(/_on\./,'.');
		document.getElementById('onglets').style.marginTop = '-27px';
	}
}

function showRechThem(){
	//some elements
	var rech = document.getElementById('formRech');
	var rechThem = document.getElementById('searchTheme');
	var rechImg = document.getElementById('ongRech'); // l'onglet recherche
    var rechThemImg = document.getElementById('ongRechThem'); // l'onglet recherche thématique
	
	//affiche les blocs de recherche
	rech.style.display='none';
	rechThem.style.display='block';
	//change les onglets
	if (rechImg.src.search(/_on\..+/) != -1){
		rechImg.src = rechImg.src.replace(/_on\./,'.');
		rechThemImg.src = rechThemImg.src.replace(/.gif/,'_on.gif');
		document.getElementById('onglets').style.marginTop = '-29px';
//		document.getElementById('searchTheme').style.marginTop = '-2px';
	}
}

function returnFalse(){
	return false;
}

// Applique le javascript au chargement de la page
//-------------------------------------------------

window.onload = init;