//BDLP/SCRIPTS.JS
//(c) 2005 Trésor de la langue française au Québec
//Université Laval
//Jean-François SMITH
//Description: Javascripts pour la BDLP
//************************************************
//Index des fonctions
//************************************************
//function Active(oForm,formfield)																											Ajustement du formulaire de recherche transversale si on coche "Autre catégorie grammaticale"
//function Affiche(i)																																		Contrôle de l'affichage des onglets du formulaire de recherche transversale
//function Desactive(oForm,value)																											Ajustement du formulaire de recherche transversale si on choisit une première catégorie grammaticale
//function DesactivePourTransversale(oForm, current, cntFrom, cntTo)									Ajustement du formulaire de recherche transversale si on coche plus d'une case dans l'onglet Francophonie
//function DesactivePourZone(oForm, current, DefaultDatabase, cntFrom, cntTo)				Ajustement du formulaire de recherche transversale si on coche une zone
//function LectureAudio()																															Joue le fichier son (WAV) du document
//function ToutesLesBases(oForm, current, DefaultDatabase, cntFrom, cntTo) 						Ajustement du formulaire de recherche transversale si on coche "Toutes les bases"

//Fonctions spécifiques d'ouverture de pop-ups
//function Audio(intNumeroVedette, strFichier, strPolice, strPrononciation, strBase)			Ouverture du pop-up de fichier son (WAV)
//function Imago(nom, strBase)																												Ouverture du pop-up de fichier IMAGE (GIF ou JPG)
//function Musica(nom, strBase)																												Ouverture du pop-up de fichier MUSIQUE (MP3)
//function Video(nom, strBase)																												Ouverture du pop-up de fichier VIDÉO (AVI)
//function Vedette(numero_vedette, rubrique, base)																		Ouverture de la fenêtre des détails d'une vedette

//************************************************
//Fonctions
//************************************************

function Active(oForm,formfield) {
//************************************************
//Ajustement du formulaire de recherche transversale si on coche "Autre catégorie grammaticale"
//		oForm: nom du formulaire
//		formfield: nom du contrôle
//************************************************
var i;
         with (oForm) {
		 		  if (formfield != 'r15'){
	              document.getElementById(formfield).disabled = (document.getElementById(formfield).disabled) ? false : true;
				  }
				  else {
		         r14.disabled = (r14.disabled) ? false : true;
				 r15[0].disabled = (r15[0].disabled) ? false : true;		
				 r15[1].disabled = (r15[1].disabled) ? false : true;				  				  
				 if (!(r15[0].checked) && !(r15[1].checked)) {
	 				 r15[0].checked = (r15[0].checked) ? false : true;		
				 }
				  }
	         }
}


function Affiche(i) {
//************************************************
//Contrôle de l'affichage des onglets du formulaire de recherche transversale
//		i: numéro de l'onglet à traiter
//************************************************
	var j;
	shown[i] = (shown[i]) ? false : true;
	current = (shown[i]) ? 'block' : 'none';
	if (document.getElementById)
	{
		for(j=1; j<=max; j++)
		{
			if (j == i)
			{
				document.getElementById('tableau'+j).style.display = current;
			}
			else
			{
				document.getElementById('tableau'+j).style.display = 'none'; shown[j] = false;
			}
		}
	}
}


function Desactive(oForm,value) {
//************************************************
//Ajustement du formulaire de recherche transversale si on choisit une première catégorie grammaticale
//		oForm: nom du formulaire
//		value: valeur du contrôle
//************************************************
	        if(value == "") {
	            oForm.categorie2.checked = false;
	            oForm.categorie2.disabled = true;
				oForm.r14.disabled = true;
				oForm.r15[0].disabled = true;
				oForm.r15[1].disabled = true;				
	         }
			 else
			 {
			    oForm.categorie2.disabled = false;
				if (oForm.categorie2.checked == true) {
					oForm.r14.disabled = false;
					oForm.r15[0].disabled = false;
					oForm.r15[1].disabled = false;					
				}
			 }
}


function DesactivePourTransversale(oForm, current, cntFrom, cntTo) {
//************************************************
//Ajustement du formulaire de recherche transversale si on coche plus d'une base  dans l'onglet Francophonie
//		oForm: nom du formulaire
//		current: index de l'élément coché
//		cntForm: index du premier élément dans l'onglet Francophonie
//		cntTo: index du dernier élément dans l'onglet Francophonie
//************************************************
var j, i, field;
i=0;
   for(j=cntFrom; j<=cntTo; j++)
	{
		     with (oForm)
			 {
			 		field = 'r' + j;
					if(document.getElementById(field) != null){
							if(document.getElementById(field).checked == true)
							{
								i = i+1;
							}
					}
			 }//with
	 }//for
	with (oForm) 
	{
		if((i == 1) && (document.getElementById(current).checked) == true)
			 {
				 r4.disabled = false;	
				 r21.disabled = false;	
				 r25.disabled = false;	
				 r26.disabled = false;					 				 				 
			 }
		 else
		  {
				 r4.disabled = true;	
				 r21.disabled = true;	
				 r25.disabled = true;	
				 r26.disabled = true;	 
		 }//if
	}//with
}//function


function DesactivePourZone(oForm, current, DefaultDatabase, cntFrom, cntTo) {
//************************************************
//Ajustement du formulaire de recherche transversale si on coche une zone
//		oForm: nom du formulaire
//		current: index de l'élément coché
//		DefaultDatabase: index de la BDLP par défaut
//		cntForm: index du premier élément dans l'onglet Francophonie
//		cntTo: index du dernier élément dans l'onglet Francophonie
//************************************************
var j, i, field;
i=0;
   for(j=cntFrom; j<=cntTo; j++)
	{
		     with (oForm) 
			 {
			 		field = 'r' + j;
					if(document.getElementById(field) != null){
							if(document.getElementById(field).checked == true)
							{
								i = i+1;
							}
					}
			 }//with
	 }
	with (oForm) {
		if((i == 1) && (document.getElementById(current).checked) == true) {
				for(j=cntFrom; j<=cntTo; j++) 
			 	{
			    	 with (oForm)
					 {
					 		field = 'r'+j;
					 		if(document.getElementById(field) !== null)
							{
									document.getElementById(field).checked = false;
									document.getElementById(field).disabled = true;
							}
					 	}//with
			 	}//for
				r4.disabled = true;	
				r21.disabled = true;	
				r25.disabled = true;	
				r26.disabled = true;
				r38.disabled = true;
				r38.checked = false;
		 }
		if((i < 1) && (document.getElementById(current).checked) == false) {
			for(j=cntFrom; j<=cntTo; j++) 
			 	{
			    	 with (oForm)
					 {
					 		field = 'r'+j;
					 		if(document.getElementById(field) !== null)
							{
									document.getElementById(field).disabled = false;
							}
					 	}//with
			 	}//for	 
 			 r4.disabled = false;	
			 r21.disabled = false;	
			 r25.disabled = false;	
			 r26.disabled = false;
 			 r38.disabled = false;
			 r38.checked = false;
			document.getElementById(DefaultDatabase).checked = true;
			 }
	}
}

function LectureAudio() { 
//************************************************
//Joue le fichier son (WAV) du document
//************************************************
	document.Son.play(); 
}

function ToutesLesBases(oForm, current, DefaultDatabase, cntFrom, cntTo) {
//************************************************
//Ajustement du formulaire de recherche transversale si on coche "Toutes les bases"
//		oForm: nom du formulaire
//		current: index de l'élément coché
//		DefaultDatabase: index de la BDLP par défaut
//		cntForm: index du premier élément dans l'onglet Francophonie
//		cntTo: index du dernier élément dans l'onglet Francophonie
//************************************************
var j, i;
	with (oForm) {
		if((document.getElementById(current).checked) == true)
		{
				for(j=cntFrom; j<=cntTo; j++) 
			 	{
			    	 with (oForm)
					 {
					 	field = 'r'+j;
				 		if(document.getElementById(field) !== null)
						{
								document.getElementById(field).checked = true;
								document.getElementById(field).disabled = true;
						}//if
				 	}//with
			 	}//for
			 	r4.disabled = true;	
				r21.disabled = true;	
				r25.disabled = true;	
				r26.disabled = true;	 
		 }//if
	 
		if((document.getElementById(current).checked) == false)
		{
 				for(j=cntFrom; j<=cntTo; j++)
				{
					     with (oForm)
						 {
							field = 'r'+j;
				 			if(document.getElementById(field) !== null)
							{
								document.getElementById(field).checked = false;
								document.getElementById(field).disabled = false;
							}//if
						 }//with
				 }//for
			 	 r4.disabled = false;	
				 r21.disabled = false;	
				 r25.disabled = false;	
				 r26.disabled = false;	 
				document.getElementById(DefaultDatabase).checked = true;
		 } // if
	} //with
} //function

//************************************************
//Fonctions spécifiques d'ouverture de pop-ups
//************************************************

function Audio(intNumeroVedette, strFichier, strPolice, strPrononciation, strBase) {
//************************************************
//Ouverture du pop-up de fichier son (WAV)
//		intNumeroVedette: numéro de la vedette associée au fichier son
//		strFichier: nom du fichier WAV
//		strPolice: police API de la transcription phonétique du fichier son
//		strPrononciation: transcription phonétique du fichier son
//		strBase: BDLP à interroger
//************************************************
	url = "media.asp?base=" + strBase + "&media=Audio&fichier=" + strFichier + "&police=" + strPolice + "&legende=" + strPrononciation;
	window.open(url,"Audio" + intNumeroVedette,"status=no,toolbar=no,directories=no,menubar=no,location=no,resizable=no,scrollbars=no,width=350,height=150");
}

function Imago(nom, strBase) {
//************************************************
//Ouverture du pop-up de fichier IMAGE (GIF ou JPG)
//		nom: nom du fichier à ouvrir
//		strBase: BDLP à interroger
//************************************************
	url = "media.asp?base=" + strBase + "&media=Image&fichier=" + nom;
	window.open(url,"Image" + strBase,"status=no,toolbar=no,directories=no,menubar=no,location=no,resizable=no,scrollbars=no,width=700,height=500");
}

function Musica(nom, strBase) {
//************************************************
//Ouverture du pop-up de fichier MUSIQUE (MP3)
//		nom: nom du fichier à ouvrir
//		strBase: BDLP à interroger
//************************************************
	url = "media.asp?base=" + strBase + "&media=Musique&fichier=" + nom;
	window.open(url,"Musica" + strBase,"status=no,toolbar=no,directories=no,menubar=no,location=no,resizable=no,scrollbars=no,width=350,height=200");
}

function Video(nom, strBase) {
//************************************************
//Ouverture du pop-up de fichier VIDÉO (AVI)
//		nom: nom du fichier à ouvrir
//		strBase: BDLP à interroger
//************************************************
	url = "media.asp?base=" + strBase + "&media=Video&fichier=" + nom;
	window.open(url,"Video" + strBase,"status=no,toolbar=no,directories=no,menubar=no,location=no,resizable=no,scrollbars=no,width=350,height=200");
}


function Vedette(numero_vedette, rubrique, base) {
//************************************************
//Ouverture de la fenêtre des détails d'une vedette
//		numero_vedette: numéro de la vedette à afficher
//		rubrique: rubrique à ouvrir automatiquement, si besoin est
//		base: BDLP à interroger
//************************************************
	url = "vedette.asp?base=" + base +"&no=" + numero_vedette + "&rubrique=" + rubrique;
	window.open(url,"Vedette" + numero_vedette,"status=no,toolbar=no,directories=no,menubar=no,location=no,resizable=no,scrollbars=yes,width=680,height=500");
}