var flag_on_menu = false;

$(document).ready(function() {

	// Retirer la class (on dispose du JS)
	$('body.no-js').removeClass('no-js');

	setMenu();

	//cacher certains détails de la pagination dans la liste des résultats de glossaire
	$(".showResultsWrap").hide();

	//<MODIFJOUVE>	codes rajoutés par les développeurs
	//on rajoute l'attribut "target= 'blank'" pour toutes les liens d'impression, et les liens de partage facebook, twitter, tout sur l'environnement etc.
	var li_print = $("ul#menu_toolbar").children("li:first").next().children("a");
	li_print.attr("target","_blank");
	var li_zoom_plus = $("ul#menu_toolbar").children("li:first").next().next().children("a");
	li_zoom_plus.attr("href", document.location + "#");
	var li_zoom_moins = $("ul#menu_toolbar").children("li:first").next().next().next().children("a");
	li_zoom_moins.attr("href", document.location + "#");
	var li_facebook = $("ul#menu_toolbar").children("li:first").next().next().next().next().children("a");
	li_facebook.attr("target","_blank");
	var li_twitter = $("ul#menu_toolbar").children("li:first").next().next().next().next().next().children("a");
	li_twitter.attr("target","_blank");
	$("#envlink").attr("target","_blank");

	//rajoutons la class css "rss" et le title "Voir les articles pour ce flux (Formal XML)" aux liens correspondant aux flux rss ( pour éviter de modifier l'extension afin de coller à la maquette)
	$("#box_list_rss a").addClass("rss");
	$("#box_list_rss a").attr("title","Voir les articles pour ce flux (Formal XML)");

	// ouverture popup "Envoyer à un contact"
	if($("a.popin-open-send").popin)
	{
		$(".popup_send").hide();
		$("a.popin-open-send").popin({ width:609, height:400, opacity: .7, onNameDiv: '.popup_send' });
	}

	// ouverture popup "Newsletter"
	if($("a.popin-open-newsletter").popin)
	{
		$(".popup_newsletter").hide();
		$("a.popin-open-newsletter").popin({ width:824, height:600, opacity: .7, onNameDiv: '.popup_newsletter' });
	}

	// ouverture popup "Pour aller plus loin..."
	if($("a.button_seeMore").popin)
	{
		if(gup('printSeeMore') == '')  $(".popup_more").hide();
		$("a.button_seeMore").popin({ width:619, height:511, opacity: .7, onNameDiv: '.popup_more' });
	}

	//fomulaire années des publications (accueil-collection)
	$("#rsltYearFld").change(function() {
        $("#form_select_year").submit();
    });

    //traitement emplacement image tt_news publication
    var img = $("div.news-single-img").children("a").children("img");
    $(img).prependTo($("div#box_article"));
    $("div.news-single-img").remove();

    // sélection de l'onglet de la page cartographie
	if($("#tab_cartes").tabs)
	{
    	var news_uid = gup('tx_ttnews[tt_news]');
    	if(news_uid == '') $("#tab_cartes").tabs({ selected: 0 });
    	else {
    		var elt = document.getElementById('news-'+news_uid);
    		if(elt && elt.getAttribute('href')) {
    			var href = elt.getAttribute('href');
    			if(href && href.substring(0, 5) == '#tab-') {
	    			var selectidx = href.substring(5);
	    			$("#tab_cartes").tabs({ selected: selectidx-1 });
	    		} else $("#tab_cartes").tabs({ selected: 0 });
    		} else $("#tab_cartes").tabs({ selected: 0 });
    	}
    }

	//<MODIFJOUVE>
});

function setMenu() {

	// Ajoute la classe "dax" aux premiers <li> des sous-menus de menu_products
	$('#menu_products > li > a').addClass("ttr");

	// Ajoute la classe "first" aux premiers <li> des sous-menus de menu_products
	$('#menu_products ul').find('li:first').addClass("first");

	// Masquer tous les sous-menus
	$('#menu_products ul').hide();

	// Calculer le décalage des sous menus pour faire coller le graphisme
	$('#menu_products > li').each(function(i, el) {

		//var width = $(el).width();
		var width = $(el).find('a').width();
		var left = (width/2)-78;
		var	right = 'auto';

		// Ajustement de position pour la premiere entrée du menu
		if ( $(el).attr('class') == "menu_pub" ) left = left + 2;

		// Aligner à droite le dernier menu pour éviter qu'il sorte du cadre
		if($(this).hasClass('menu_cartes'))
		{
			right = -15;
			left = 'auto';
		}

		$(el).find('ul').css({left: left, right: right});

	});

	// Ouverture du sous menu
	$('#menu_products > li').hover(function() {

		flag_on_menu = true;

		// Tout masquer
		$('#menu_products ul').hide();

		// Afficher le sous menu correspondant
		$(this).find('ul').fadeIn('fast');

	}, function() {flag_on_menu = false; window.setTimeout('tempoMenu()', 500);});


	// Navigation au clavier (TAB)
	$('#menu_products > li > a').focus(function() {$('#menu_products ul').hide(); $(this).next('ul').show();});
	$('#menu_toolbar a').focus(function() {$('#menu_products ul').hide();});

}


function isIE6()
{
	if($.browser.msie == true && $.browser.version <= 6)
		return true;
	return false;
}

/**
* Activer l'effet 'arbre' sur les ul li
*/
function EnableTree(module)
{
	//si ul vide => le supprimer et enlever class tree-n1 de son li parent
	$(module +' .tree > li ul').each(function(i, el) {
		if($(el).text()=='')
		{
			$(el).prev('a').removeClass('tree-n1');
			$(el).remove();
		}
	});

	// Masquer les sous-niveaux

	$(module +' .tree > li').removeClass('');
	$(module +' .tree > li').addClass('close');
	$(module +' .tree > li > ul').hide();


	var effet = null;
	if( ! isIE6())
		effet = 'slow';

	$(module +' .tree > li').find('a.tree-n1').click(function() {
		$(this).next().toggle(effet).parent().toggleClass('close');
		return false;
	});
}


/*
* Temporiser la fermeture du menu
*/
function tempoMenu() {
	if( ! flag_on_menu)
		$('#menu_products ul').hide();
}


/*
* Permet d'agrandir ou diminuer la taille des caracteres sur les articles
*/
function fontAdjust(doThis)
{
	if(document.getElementById('site'))  contentPart = document.getElementById('site');
        if(contentPart)
        {
		actualSize = parseFloat(contentPart.style.fontSize);
		if(!actualSize) { actualSize  = 1; }
		newSize = actualSize;
		if(doThis=='plus' && actualSize<2) { newSize = actualSize + 0.2;}
		if(doThis=='min' && actualSize>1) { newSize = actualSize - 0.2;}
		contentPart.style.fontSize = newSize + 'em' ;
         }
}
/*******************************************************************************************************
//<MODIFJOUVE> : fonctions rajouté	s par les développeurs
/*******************************************************************************************************/
function glossaire()
{
location.href="/index.php?id=76&filterLetter="+document.getElementById('filterLetter').options[document.getElementById('filterLetter').selectedIndex].value;
}

function impression()
{
	var objhead = getobjHead("print.css", "css") //get all occurences "print.css" on page
	$(objhead).attr("media",'all');
	javascript:print();
}

function impressionSeeMore()
{
	var objhead = getobjHead("print.css", "css") //get all occurences "print.css" on page
	$(objhead).attr("media",'all');
	$(objhead).attr("href",'fileadmin/templates/css/print.seeMore.css');
	javascript:print();
}

//Dynamically get an occurrence of an external JavaScript or CSS file
function getobjHead(filename, filetype){
	 var targetelement=(filetype=="js")? "script" : (filetype=="css")? "link" : "none" //determine element type to create nodelist from
	 var targetattr=(filetype=="js")? "src" : (filetype=="css")? "href" : "none" //determine corresponding attribute to test for
	 var allsuspects=document.getElementsByTagName(targetelement)
	 for (var i=allsuspects.length; i>=0; i--){ //search backwards within nodelist for matching elements to remove
	  if (allsuspects[i] && allsuspects[i].getAttribute(targetattr)!=null && allsuspects[i].getAttribute(targetattr).indexOf(filename)!=-1)
	   return allsuspects[i];
	 }

	 return null;
}

function setNewsLetterUrl(url)
{
    var li_print = $("ul#menu_toolbar_newsletter").children("li:first").children("a");
	li_print.attr("target","_blank");
    li_print.attr("href", url + "&print=1&no_cache=1");
    $("#content_newsletter").attr("src", url);
	$("#link_newsletter").attr("href", url);
}

function gup( name ) {
  name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
  var regexS = "[\\?&]"+name+"=([^&#]*)";
  var regex = new RegExp( regexS );
  var results = regex.exec( window.location.href );
  if( results == null )
    return "";
  else
    return unescape(decodeURI(results[1]).replace(/\+/gi, ' '));
}

/**
* Fonction de suppression des blancs à gauche et à droite
*/
function trim(string) {
	return string.replace(/(^\s*)|(\s*$)/g,'');
}

function checkContactForm(form)
{
	var keywords = form.keywords.value;
	var from2 = form.from2.value;
	var object = form.object.value;
	var msg2 = form.msg2.value;
    if(keywords.length == 0)
    {
        printMsgError('cttMsgError', "Vos nom et pr\u00E9nom sont obligatoires.");
        return false;
    }
    if(from2.length == 0)
    {
        printMsgError('cttMsgError', "Votre courriel est obligatoire.");
        return false;
    }
    if(!validateEmail(from2))
    {
        printMsgError('cttMsgError', "Votre courriel doit \u00EAtre valide.");
        return false;
    }
    if(object.length == 0)
    {
        printMsgError('cttMsgError', "L'objet du message est obligatoire.");
        return false;
    }
    if(msg2.length == 0)
    {
        printMsgError('cttMsgError', "Le message est obligatoire.");
        return false;
    }
    return true;
}

function checkSendForm(form)
{
	var from = form.from.value;
	var to = form.to.value;
    if(from.length == 0)
    {
        printMsgError('sendMsgError', "Votre courriel est obligatoire.");
        return false;
    }
    if(!validateEmail(from))
    {
        printMsgError('sendMsgError', "Votre courriel doit \u00EAtre valide.");
        return false;
    }
    if(to.length == 0)
    {
        printMsgError('sendMsgError', "Le courriel du ou des destinataires est obligatoire.");
        return false;
    }
    var toArr = to.split(/\s*,\s*/);
    for(var i in toArr)
    {
    	if(!validateEmail(toArr[i]))
    	{
	    	printMsgError('sendMsgError', "Le courriel de destination \"" + toArr[i] + "\" est invalide.");
	    	return false;
    	}
    }

    return true;
}

function printMsgError(key, msg)
{
    var msgZone = document.getElementById(key);
    if(msgZone != null)
    {
        msgZone.innerHTML = '<strong class="rouge">' + msg + '</strong>';
    }
    window.scrollTo(0, 0);
}

function validateEmail(email)
{
   var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
   if(reg.test(email) == false)
   {
      return false;
   }
   return true;
}

function getSubDomains(select)
{
	$('#formsearchpub').attr('action', $('#redirect').val());
	$('#formsearchpub').submit();
}

function validerFormRechPub()
{
	var keywordsDefaultText = 'Saisir un ou plusieurs mots';

	if (($('#pubkeywords').val() == '' || $('#pubkeywords').val() == keywordsDefaultText) &&
		$('#pubThemeFld').val() == '' && $('#pubSubthemeFld').val() == '' && $('#pubCollFld').val() == '' &&
		$('#pubYearFld').val() == '')
	{
		alert('Veuillez saisir au moins un critère de recherche');
		return false;
	}

	if ($('#pubkeywords').val() == keywordsDefaultText)
		$('#pubkeywords').val('');


	return true;
}

function zoneKeywordPubFocus()
{
	if ($('#pubkeywords').val() == "Saisir un ou plusieurs mots")
		$('#pubkeywords').val('');
}

function zoneKeywordPubBlur()
{
	if ($('#pubkeywords').val() == "")
		$('#pubkeywords').val("Saisir un ou plusieurs mots");
}

function validerFormRechAdv() {
	if ($('#advTextFld').val() == '' && $('#advThemeFld').val() == '' && $('#advSubthemeFld').val() == '' && $('#advProdFld').val() == '')
	{
		alert("Veuillez renseigner au moins un crit\u00E8re de recherche.");
		return false;
	}

	return true;
}

function validerFormRechGlossaire()
{
	if (($('#defKeywords').val() == '' || $('#defKeywords').val() == "Saisir un ou plusieurs mots") &&
		$('#defThemeLbl').val() == '')
	{
		alert('Veuillez saisir au moins un critère de recherche');
		return false;
	}

	if ($('#defKeywords').val() == "Saisir un ou plusieurs mots")
		$('#defKeywords').val('');

	return true;
}

function zoneKeywordDefFocus()
{
	if ($('#defKeywords').val() == "Saisir un ou plusieurs mots")
		$('#defKeywords').val('');
}

function zoneKeywordDefBlur()
{
	if ($('#defKeywords').val() == "")
		$('#defKeywords').val("Saisir un ou plusieurs mots");
}

function validerFormRechLink()
{
	if (($('#linkKeywords').val() == '' || $('#linkKeywords').val() == "Saisir un ou plusieurs mots") &&
		$('#linkThemeLbl').val() == '' && $('#linkSubthemeLbl').val() == '')
	{
		alert('Veuillez saisir au moins un critère de recherche');
		return false;
	}

	if ($('#linkKeywords').val() == "Saisir un ou plusieurs mots")
		$('#linkKeywords').val('');


	return true;
}

function zoneKeywordLinkFocus()
{
	if ($('#linkKeywords').val() == "Saisir un ou plusieurs mots")
		$('#linkKeywords').val('');
}

function zoneKeywordLinkBlur()
{
	if ($('#linkKeywords').val() == "")
		$('#linkKeywords').val("Saisir un ou plusieurs mots");
}

function displaySubTheme(pIdLstTheme, pClassItemTheme, pIdLstSubTheme)
{
	if (pIdLstSubTheme != "")
		$('#' + pIdLstSubTheme).selectmenu('value', 0);

	$('.' + pClassItemTheme).hide();

	var idTheme = $('#' + pIdLstTheme).val();
	if (idTheme != '')
		$('.itemSub' + idTheme).show();
}

function displaySubThemeAdv(pIdLstTheme, pClassItemTheme, pIdLstSubTheme)
{
	if (pIdLstSubTheme != "")
		$('#' + pIdLstSubTheme).selectmenu('value', 0);

	$('.' + pClassItemTheme).hide();

	var objTheme = document.getElementById(pIdLstTheme);
	if (objTheme != null)
	{
		var opt = objTheme.options[objTheme.selectedIndex];
		var id = $(opt).attr('id');

		if (id != "")
		{
			id = id.substr(4);
			$('.itemSub' + id).show();
		}
	}
}
function validerFormRechSimple()
{
	var badMess = 'Veuillez saisir au moins un mot clef à rechercher';
	if($('#simplequerykeywords').val() == "")
	{
		alert(badMess);
		return false;
	}
}
