// Scripts pour les templates 112 et 113 - Formulaire de Contact / Newsletter B2B //
// et Formulaire Droits de Reproduction											  //

function change_display_block(id){
	var element_style=null
	if (document.getElementById) {
	     element_style=document.getElementById(id).style;
	}else if (document.all) {
	     element_style=document.all[id];
	} else if (document.layers) {
	     element_style=document.layers[id].style;
	}
	if(element_style){
		element_style.display="block";
	}
}

function change_display_none(id){
	var element_style=null
	if (document.getElementById) {
	     element_style=document.getElementById(id).style;
	}else if (document.all) {
	     element_style=document.all[id];
	} else if (document.layers) {
	     element_style=document.layers[id].style;
	}
	if(element_style){
		element_style.display="none";
	}
}

function natureChange(option, demande){
	if(option==demande){
		change_display_block('tableDevis');
	}
	else {
		change_display_none('tableDevis');
	}
}
function afficheChampSupportAutre(id, autres){
	supportChange(document.getElementById(id).value, autres);
}
function supportChange(option, autres){
	if(option==autres){
		change_display_block('support5');
	}
	else {
		change_display_none('support5');
	}
}

function typeChange(option, autres){
	if(option==autres){
		change_display_block('typeDetail');
	}
	else {
		change_display_none('typeDetail');
	}
}

function collectionChange(option, autres){
	if(option==autres){
		change_display_block('collectionDetail');
	}
	else {
		change_display_none('collectionDetail');
	}
}

function utilisationChange(option){
	if(option=='gratuit'){
		change_display_block('gratuit');
		change_display_none('vendu');
	}
	else if (option=='vendre'){
		change_display_block('vendu');
		change_display_none('gratuit');
	}
}

function utiliserChange(option){
	if(option=='1'){
		change_display_block('showCartographie');
	}
	else if(option=='2'){
		change_display_none('showCartographie');
	}
}

function demandeChange(option){
	if(option=='duree'){
		change_display_block('demandeDuree');
		change_display_none('demandeNombre');
	}
	else if (option=='nombre'){
		change_display_block('demandeNombre');
		change_display_none('demandeDuree');
	}
}


function clearChamps(obj){
	 obj.value = "";
}

function clearChampsDate(obj, param){
	if(obj.value==param){
		obj.value = "";
	}
}

/* Ajout le 15/10/2008 par S.MIZRAHI
 * Objet : TMAtic 002 - RM002 - Le champ societe ne doit pas etre affiche si la liste statut est definie a 'particulier'
 */

/*
 * Fonction permettant d'afficher / cacher deux elements cibles en fonction d'une valeur (Particulier) de l'element source
 * @param	idEltSource			Id de l'element source
 * @param	idEltCibleLabel		Id de l'element cible (a afficher / cacher) - Le label du champ
 * @param	idEltCibleChamp		Id de l'element cible (a afficher / cacher) - Le champ lui meme
 *
 * @return	0
 */
function afficheChampSociete(idEltSource, idEltCibleLabel, idEltCibleChamp)
{
	if (document.getElementById(idEltSource).value == "Particulier") {
        document.getElementById(idEltCibleLabel).style.visibility = 'hidden';
        document.getElementById(idEltCibleChamp).style.visibility = 'hidden';
        document.getElementById(idEltCibleLabel).style.display = 'none';
        document.getElementById(idEltCibleChamp).style.display = 'none';
        document.getElementById('tdBlocSociete').className = 'initTd';
		document.getElementById('societe').value = '';
	} else {
        document.getElementById(idEltCibleLabel).style.visibility = 'visible';
        document.getElementById(idEltCibleChamp).style.visibility = 'visible';
        document.getElementById(idEltCibleLabel).style.display  = 'block';
        document.getElementById(idEltCibleChamp).style.display = 'block';
        document.getElementById('tdBlocSociete').className = 'visibleTd';
	}

	return 0;
}
// Fin ajout

/* Ajout le 15/10/2008 par S.MIZRAHI
 * Objet : TMAtic 002 - RM003 - un champ supplementaire apparait lorsque la valeur "Autre" du secteur d'activite est selectionnee
 */

/*
 * Fonction permettant d'afficher / cacher un element cible en fonction d'une valeur (Autre) de l'element source
 * @param	idEltSource		Id de l'element source
 * @param	idEltCible		Id de l'element cible (a afficher / cacher)
 *
 * @return	0
 */
function afficheChampSecteurAutre(idEltSource, idEltCible)
{
	if (document.getElementById(idEltSource).value == "AUTRE") {
		document.getElementById(idEltCible).style.visibility = 'visible';
	} else {
		document.getElementById(idEltCible).style.visibility = 'hidden';
	}

	return 0;
}
// Fin ajout

/* Ajout le 16/10/2008 par S.MIZRAHI
 * Objet : TMAtic 002 - RM003 - la case a cocher 'inscription newsletter' doit etre automatiquement cochee lorsque
 * la valeur 'nature de la demande' est a 'inscription newsletter'
 */

/*
 * Fonction permettant de cocher / decocher automatiquement la case inscription newsletter en fonction de la nature de la demande
 * @param	idEltSource		Id de l'element source (liste deroulante)
 * @param	idEltCible		Id de l'element cible (case a cocher)
 *
 * @return	0
 */
function cocheNewsletter(idEltSource, idEltCible) 
{
	// Test pour savoir si le formulaire a deja ete soumis
	var url = location.search;
	if (url.indexOf('submit') == -1) {
		// Pour eviter les problemes d'accents, on verifie simplement la presence du mot 'newsletter'
		if (document.getElementById(idEltSource).value.indexOf("newsletter") != -1) {
			document.getElementById(idEltCible).checked = true; 
		} else {
			document.getElementById(idEltCible).checked = false; 
		}
	}

	return 0;
}
// Fin ajout

/* Ajout le 16/10/2008 par S.MIZRAHI
 * Objet : TMAtic 002 - les champs titre, millesime, nom auteur ne doivent pas etre obligatoires si 
 * la valeur 'autre' du type de document est selectionnee
 */

/*
 * Fonction permettant de cacher les contenus des ids titreDocOlbli, millesimeOlbli et auteurOlbli
 * par rapport a la valeur de idEltSource
 *
 * @param	idEltSource		Id de l'element source (liste deroulante)
 *
 * @return	0
 */
function cacheChampObliDoc(idEltSource)
{
	if (document.getElementById(idEltSource).value.indexOf('Autre') != -1) {
		document.getElementById('titreDocOlbli').style.visibility = 'hidden';
		document.getElementById('millesimeOlbli').style.visibility = 'hidden';
		document.getElementById('auteurOlbli').style.visibility = 'hidden';
	} else {
		document.getElementById('titreDocOlbli').style.visibility = 'visible';
		document.getElementById('millesimeOlbli').style.visibility = 'visible';
		document.getElementById('auteurOlbli').style.visibility = 'visible';
	}
	return 0;
}
// Fin ajout

/* Ajout le 16/10/2008 par S.MIZRAHI
 * Objet : TMAtic 002 - RM013 - Un message d'avertissement s'affiche lorsque 'fichier numerique est selectionne'
 */
 
/*
 * Fonction permettant de cacher un contenu
 *
 * @param	nomEltSource	Nom complet (avec document.form) de l'element source (radio button)
 * @param	idEltCible		Id de l'element cible (div)
 *
 * @return	0
 */
function afficheMessFichierAvert(nomEltSource, idEltCible)
{
	if (nomEltSource[0].checked) {
		change_display_block(idEltCible);
	} else {
		change_display_none(idEltCible);
	}
	return 0;
}
// Fin ajout

/* Ajout le 16/10/2008 par S.MIZRAHI
 * Objet : TMAtic 002 - RM014 - le champ fax ne devient plus obligatoire si le statut est 'particulier'
 */

/*
 * Fonction permettant de cacher les contenus des ids faxObli
 * par rapport a la valeur de idEltSource
 *
 * @param	idEltSource		Id de l'element source (liste deroulante)
 *
 * @return	0
 */
function cacheChampObliFax(idEltSource)
{
	if (document.getElementById(idEltSource).value == 'Particulier') {
		document.getElementById('faxObli').style.visibility = 'hidden';
	} else {
		document.getElementById('faxObli').style.visibility = 'visible';
	}
	return 0;
}
// Fin ajout

/* Ajout le 17/10/2008 par S.MIZRAHI
 * Objet : TMAtic 002 - RM1 - La surface en dmē doit etre calculee
 */

/*
 * Fonction permettant de calculer une surface
 *
 * @param	idEltLongueur		Id de l'element texte contenant la longueur
 * @param	idEltLargeur		Id de l'element texte contenant la largeur
 *
 * @return	surfaceCalculee
 */
function calculSurface(idEltLongueur, idEltLargeur)
{
	var surfaceCalculee;
	surfaceCalculee = document.getElementById(idEltLongueur).value.replace(',','.') * document.getElementById(idEltLargeur).value.replace(',','.');
	return Math.round((surfaceCalculee * 100))/100;
}
// Fin ajout