window.addEvent( 'domready', function() {
    //hideSitemap();
    init();
    initPopUp();
    menu_deroulant() ;
    lien_blank();
    if( $$(".sitemap").length>0 ){
        sitemap();
    }
} );


// Fonction utlise pour le menu 
function hideSitemap(){
 uls2 = $$('.accordion_2');
 uls = $$('.accordion_1');

 if(uls.length > 1){
	for(i=0; i < (uls2.length); i++){
 		uls2[i].style.display = 'none';
	}

	for(i=0; i < (uls.length); i++){
 		uls[i].style.display = 'none';
	}
 }
 
 $$('.click').each( function( obj ) {
		 
	 if( obj.getElements( 'li' ).length != 0 )
	 {
	
		 var plus_img = new Element( 'img', {
				 'src': img_deplie,
				 'alt': 'Déplier le menu '+obj.getFirst('a.rub').get('text')
		 } );

		 ret = plus_img.inject( obj.getElement('a') );
		 obj.set('styles', {'background':'none',
				 'padding':'0'});		 
				 
		 
	 }else{
		 obj.getElement('a').set('styles', {'margin-left':'17px'});
	 }
 } );
}

// Initialisation pour le sommaire auto
function init( ) {
    if( $chk($$('.sommaire_page')) ) {
	    sommaireAutoInit();
	    changeDisplaySommaire();
    }
   // initExternalLinks();
    var myTips = new Tips( '.tips' );
}

// Lien vers l exterieur
function initExternalLinks()
{
    $$( 'a[rel=external]' ).each( function( item ) {
        item.target = '_blank';
    } );
}

function initPopUp()
{
    $$('a.popup').each( function(item) {
        item.addEvent( 'click', function() {
            url = item.href;
            url = url.replace( 'http://' + location.host, '' );
            url = ezpopup + url;
            return open_popup( url );
        } );
    } );
}

function open_popup( url )
{
    window.open( url );
    return false;
}

function closeNAVc(){
	var ultoclose;
	var temp;
	
	ultoclose = document.getElementById('sitemap').getElementsByTagName('ul');
	for(var i=0; i<ultoclose.length; i++){
		temp = ultoclose[i].getElementsByTagName('ul');
		for(var y=0; y<temp.length; y++){
			temp[y].style.display = "none";
		}
	}
}

function showPrintLink()
{
	document.write('<p class="print"><a href="#" onclick="print();" title="' + print_title + '">' + print_label + '</a></p>');
}

function showSitemap(_o, _libel){
	var srub;
	
//	srub = _o.getElementsByTagName("ul");
	srub = document.getElementById("accordion_"+_libel);
	img = _o.getElementsByTagName("img");
	
	if( srub.style.display == "none" ){
		srub.style.display = "block";		
		//img[0].title = "Replier le menu : "+ srub.getPrevious().text; 
		img[0].src = "/extension/ird_site_de_representation/design/ird_representation/images/puces/puce_replie.png";
	}else if( srub.style.display =="block"  || srub.style.display ==""){
		srub.style.display = "none";		
		//img[0].title = "Déplier le menu : "+ srub.getPrevious().text;
		img[0].src = "/extension/ird_site_de_representation/design/ird_representation/images/puces/puce_deplie.png";
	}
}

function checkDaBox(_form, _param){

	var checkBox;
	var temp;	
	
	temp = document.getElementById(_form).getElementsByTagName('input');
	
	if(_param == 'off'){
		for( i = 0; i<temp.length; i++){
			if(temp[i].type == "checkbox"){
				temp[i].checked = false;
			}
		}
	}else{
		for( i = 0; i<temp.length; i++){
			if(temp[i].type == "checkbox"){
				temp[i].checked = true;
			}
		}
	}
	
	return false;
}

function GMapWritePoint( lat, lng , div )
{
    var myicon = new GIcon();
    myicon.image = picto_url;
    myicon.shadow = shadow_url;
    myicon.iconSize = new GSize( 42, 27 );
    myicon.shadowSize = new GSize( 42, 27 );
    myicon.iconAnchor = new GPoint( 11, 23 )

    var mark = new GMarker( new GLatLng( lat, lng ), myicon );
    GEvent.addListener( mark, 'click', function() {
        mark.openInfoWindowHtml( document.getElementById( div ).innerHTML );
    } );
    return mark;
}

function GMapWriteCurrentPoint( lat, lng , div )
{
    var myicon = new GIcon();
    myicon.image = current_url;
    myicon.shadow = shadow_url;
    myicon.iconSize = new GSize( 42, 27 );
    myicon.shadowSize = new GSize( 42, 27 );
    myicon.iconAnchor = new GPoint( 11, 23 )

    var mark = new GMarker( new GLatLng( lat, lng ), myicon );
    GEvent.addListener( mark, 'click', function() {
        mark.openInfoWindowHtml( document.getElementById( div ).innerHTML );
    } );
    return mark;
}

/****** Menu automatique ******/

// permet de mettre tous les div en display none sauf celui que l'on vient de cliquer en yes
function initDisplayNone(titre,nb) {
	
	for (var i = 0; i < nb; i++) {
		var temp = "titre"+i;
		
		if (temp != titre) {
			var DivElt = $('chapitre_'+temp);
			DivElt.set('class', 'chapitre_display_no');
			var ancreChapitre = DivElt.getPrevious('a').getProperty('id');
			changeStrongInHref(temp, ancreChapitre);
		} else {
			
			var DivElt = $('chapitre_'+titre);
			DivElt.set('class', 'chapitre_display_yes');
			changeHrefInStrong(titre);
		}
	}
}

// Plan du site 
function sitemap(){
    
    var ss_menu = $$('.deplie').getFirst('ul');
    ss_menu.set('styles',{'display':'none'});

    var event_replie_sitemap = function(){
        var parent = this.getParent();
        var menu_deplie = parent.getFirst('ul');
        menu_deplie.set('styles',{'display':'block'});
        parent.removeClass('deplie');
        parent.addClass('replie');
        var image = this.getChildren();
        image.set('src', img_replie);
        image.set('alt', 'Replier le menu titre du menu');
        deplie_sitemap( this );
    };

    var event_deplie_sitemap = function(){
        var parent = this.getParent();
        var menu_deplie = parent.getFirst('ul');
        menu_deplie.set('styles',{'display':'none'});
        parent.removeClass('replie');
        parent.addClass('deplie');
        var image = this.getChildren();
        image.set('src', img_deplie);
        image.set('alt', 'Déplier le menu titre du menu');
        replie_sitemap(this);
    };
    
     function replie_sitemap( lien ){
        lien.removeEvent('click', event_deplie_sitemap);
        lien.addEvent('click', event_replie_sitemap);
    }
    
    function deplie_sitemap( lien ){
        lien.removeEvent('click', event_replie_sitemap);
        lien.addEvent('click', event_deplie_sitemap);
    }
        
    $$('.deplie').each(function(el){
            var lien = new Element('a', {'class':'picto','href':'#'});
        var image = new Element('img', {'src':img_deplie, 'alt':'Déplier le menu titre du menu'});
        lien.inject(el, 'top');
        lien.set('href','javascript:void(0)');
        image.inject(lien);
        replie_sitemap(lien); 
    }); 
    
}

// Generation sommaire automatique 
function sommaireAutoInit() {
        
	if ( $chk($$('.sommaire_page')[0]) ){

	// On recupere tout les titre 1 (pour le user) mais H3 en html
	var myarray = $$('.article')[0].getChildren('h3');

	if (myarray.length > 0) {
		// On recupere le H3 du sommaire auto
		var fisrt_h3 = $$('.sommaire_page')[0].getElement('h3');
		// On affiche le div contenan le menu si Javascript est active ...
		var div = $$('.sommaire_page')[0].getElement('h3').getParent();
		div.set('class', 'chapitre_display_yes sommaire sommaire_page');
		
		var ul = new Element('ul');	
		ul.inject(fisrt_h3, 'after');
		var tabli = '';
		var tabValue = [];

		// On ajoute lancre 
		var ancreChapitre = myarray[0].getPrevious('a').getProperty('id');
		// on forme notre liste li
		myarray.each(function(item,i) {
			tabValue[i] =item.textContent;
			tabli = tabli + '<li id="titre'+i+'"><a href="#'+ancreChapitre+'">'+item.getText()+'</a></li>';
		});
	
		ul.set('html', tabli);
		
		// CONTENT
		var myarray2 = $$('.article')[0].getChildren('*');
		var tabElt = [];
		var cpt = 0;
		var new_div = false;
		
		myarray2.each(function(item,i) {
			if (item.tagName != 'H3') {
				if( $chk( new_div ) ) 	{
					item.inject( new_div );
				}
			} else {
				
				new_div = new Element('div', {
				'class': 'chapitre_display_no',
				'id': 'chapitre_titre'+cpt});
				
				new_div.inject( item, 'after' );
				item.inject( new_div );
				cpt++;
			}
		});
		
		// on affiche seulement la premier section
		$('chapitre_titre0').set('class', 'chapitre_display_yes');
		changeHrefInStrong('titre0');
	}
	}
}      

function changeHrefInStrong(titre) {

	var text_href = $(titre).getElement('a').get('text');
	
	var strong = new Element('strong', {'text': text_href });
	$(titre).empty();
	strong.inject($(titre));
}

function changeStrongInHref(titre, ancreChapitre) {

	if ( $chk($(titre).getElement('strong')) ) {
		var text_strong = $(titre).getElement('strong').getText();
		//alert($('titre0').getElement('strong').getText());
		
		var href = new Element('a', {'href': '#'+ancreChapitre,
								'html': text_strong });
		$(titre).empty();
		href.inject($(titre));
	}
}


// On permute entre display none et inline pour afficher les different div
function changeDisplaySommaire() {
	//compte le nombre d element h3
	var nbH3 = $$('.article h3');
	var nb = nbH3.length;
	if (nb > 0) {
		var sommaire = $$('.sommaire_page')[0];
		    if( $chk(sommaire)) {
			var tabHref = sommaire.getElements('li');
		
			tabHref.each(function (item,i) {
					item.addEvent('click', function() {
						var IdValueHref = item.getProperty('id');
						if (item.getFirst().get('tag') == 'a') {
							// on met a jour les div et les item du menu
							initDisplayNone(IdValueHref,nb);
						}
						
					});
			});
		    }
	}
}

/* menu principal déroulant */
function menu_deroulant() {
		
	/*$$(".main_nav li ul").set('styles',
		{'display':'none',
		'width':'16em',
        'position':'absolute',
        'z-index':'99'
		});*/
    
	$$(".main_nav li .a_deplie").each(function(item, index){
		var menu_ok = "menu_"+index;
		var ssmenu = "#"+menu_ok+" ul";
        
	    item.addEvent('focus', function(){
            $$(".main_nav li ul").set('styles',{'display':'none'});
            $$(ssmenu).set('styles',{'display':'block'});
	    });
        
        $$('a').addEvent('focus', function(){
                if(this.getParents('.main_nav')==''){
                    $$(".main_nav li ul").set('styles',{'display':'none'});
                }                                                             
        });
        
	});
    
    $$(".main_nav .li_deplie").each(function(item, index){
		var menu_ok = "menu_"+index;
		var ssmenu = "#"+menu_ok+" ul";
		
	    item.addEvent('mouseover', function(){
                $$(".main_nav li ul").set('styles',{'display':'none'});
                $$(ssmenu).set('styles',{'display':'block'});
	    });
        item.addEvent('mouseout', function(){
                $$(ssmenu).set('styles',{'display':'none'});
	    });
	});
}

/* permet d'ouvrir les liens externes dans une nouvelle fenêtre */
function lien_blank() {
    var liens = $$("a");
    liens.each(function(lien) {
		    	
               var href = lien.get("href");
	       
		       if(null != href && (href.contains('http://')||href.contains('https://'))) 
		       {
			       /** Condition tres special pour empecher le bug sur les ancre du sommaire auto**/
			       if (lien.getParent().getParent().getParent().getProperty('class').contains('sommaire')) {
					       
			       }else{
			       
					   lien.addEvent("click", function() {window.open(href);return false;});
					   var titre_lien = lien.get('title');
					   if(titre_lien)
					   {
					       lien.set("title", titre_lien+" (nouvelle fenêtre)");
					   }
					   else 
					   {
					       var intitule_lien = lien.innerText||"";
					       if( intitule_lien == '') 
					       { 
						   for(var i = 0; i <lien.childNodes.length; i++) 
						   {
						       if(lien.childNodes[i].nodeName == 'IMG' )
						       {
							   intitule_lien += lien.childNodes[i].attributes['alt'].nodeValue.trim() + " ";
						       }
						       else if ( lien.childNodes[i].textContent ) 
						       {
							   intitule_lien += lien.childNodes[i].textContent.trim() + " ";
						       }
						   }
					       }
					       lien.set("title", intitule_lien+"(nouvelle fenêtre)");
					   }
			   
			       }
		       }
	       
	});
	
}

function complete( searchControl, searcher )
{
    var nb_par_page = 8;
    
    $$( '.gs-result' ).each( function( gs_result, i) {
        var href =  gs_result.getElement( '.gs-title a' ).get( 'href' );
        var siteurl = gs_result.getElement( '.gs-visibleUrl-long' ).get( 'text' );
        var link = '<p class="lien_vue"><a href="' + href + '" rel="external" target="_blank">'+ siteurl +'</a></p>';
        gs_result.getElement( '.gs-visibleUrl-short' ).set( 'html', link );
    });

    $$('.gsc-cursor-box').each( function( item ) { item.dispose(); });
    
    if (searcher.cursor && searcher.cursor.pages.length > 1) 
    { 
        var ctnPaginationNode = new Element( 'div', {'class' : 'pagination'});
        new Element( 'p', {'html': '<strong>Navigation par page</strong>'}).inject( ctnPaginationNode, 'bottom' );
        var paginationContentNode = new Element( 'ul', {'class' : 'content'} ).inject( ctnPaginationNode, 'bottom' );
        var ctnPaginationNodeFooter = ctnPaginationNode.clone();
        var paginationContentNodeFooter = ctnPaginationNodeFooter.getElement( 'ul' );

        var pageNodeFirst = new Element( 'li', {'class': "picto prev"} ).inject( paginationContentNode, 'top' );
        var pageNodeFirstFooter = pageNodeFirst.clone();
        var pageNodeFirstLink = new Element( 'a', {'href': '#',
                                                'title': 'Première page',
                                                'events': {'click': function(){searcher.gotoPage( 0 );  return false; } }
                                            } );
        var pageNodePrevLink = new Element( 'a', {'href': '#',
                                                'title': 'Page précédente',
                                                'events': {'click': function(){searcher.gotoPage( searcher.cursor.currentPageIndex - 1 );  return false; } }
                                            } );
        if ( searcher.cursor.currentPageIndex == 0 )
        {
            pageNodeFirstLink = new Element( 'span', {'class': 'disabled',
                                                'title': 'Première page'} );
            pageNodePrevLink = new Element( 'span', {'class': 'disabled',
                                                'title': 'Page précédente'} );
        }
        pageNodeFirstLink.inject( pageNodeFirst, 'top' )
        new Element( 'img', {'src' : '/extension/ird_representation/design/ird_representation/images/pictos/picto_pagination_prev.png',
                    'alt' : 'Premier'}).inject( pageNodeFirstLink );
        pageNodeFirstLink.clone().cloneEvents( pageNodeFirstLink ).inject( pageNodeFirstFooter );
        pageNodeFirstFooter.inject(  paginationContentNodeFooter, 'top' );
        
        var pageNodePrev = new Element( 'li', {'class': "picto prev_un"} ).inject( paginationContentNode, 'bottom' );
        var pageNodePrevFooter = pageNodePrev.clone();
        pageNodePrevLink.inject( pageNodePrev );
        new Element( 'img', {'src' : '/extension/ird_representation/design/ird_representation/images/pictos/picto_pagination_prev_un.png',
                    'alt' : 'Précédent'}).inject( pageNodePrevLink );
        pageNodePrevLink.clone().cloneEvents( pageNodePrevLink ).inject( pageNodePrevFooter );
        pageNodePrevFooter.inject(  paginationContentNodeFooter, 'bottom' );
        
        for ( var i=0; i < searcher.cursor.pages.length; i++ ) 
        {
            if ( i == searcher.cursor.currentPageIndex )
            {
                var pageSpan = new Element( 'li').inject( paginationContentNode, 'bottom' );
                if (i > 0 )
                {
                    pageSpan.set( 'html', ' - ' );
                }
                var pageStrong = new Element( 'strong', {'html': searcher.cursor.pages[i].label} ).inject( pageSpan, 'bottom' );
                var pageSpanFooter = pageSpan.clone().inject( paginationContentNodeFooter, 'bottom' );
            }
            else
            {
                var pageSpan = new Element( 'li' ).inject( paginationContentNode, 'bottom' );
                if (i > 0 )
                {
                    pageSpan.set( 'html', ' - ' );
                }
                var pageSpanFooter = pageSpan.clone().inject( paginationContentNodeFooter, 'bottom' );
                var pageSpanLink = new Element( 'a', {'href': '#',
                                                    'title': 'Page ' + searcher.cursor.pages[i].label,
                                                    'html': searcher.cursor.pages[i].label,
                                                    'events': {'click': function(){
                                                        var page = this.get( 'text' );
                                                        page -- ;
                                                        searcher.gotoPage( page );
                                                        return false;
                                                        } }
                                                } ).inject( pageSpan, 'bottom' );
                pageSpanLink.clone().cloneEvents( pageSpanLink ).inject( pageSpanFooter );
            }
        }

        var pageNodeNext = new Element( 'li', {'class': "picto next_un"} ).inject( paginationContentNode, 'bottom' );
        var pageNodeNextFooter = pageNodeNext.clone();
        var pageNodeNextLink = new Element( 'a', {'href': '#',
                                                'title': "Page suivante",
                                                'events': {'click': function(){searcher.gotoPage( searcher.cursor.currentPageIndex + 1 );  return false;} }
                                            } );
        var pageNodeLastLink = new Element( 'a', {'href': '#',
                                                'title': "Dernière page",
                                                'events': {'click': function(){searcher.gotoPage( 7 ); return false; } }
                                    } );
        if ( searcher.cursor.currentPageIndex ==  7)
        {
            pageNodeLastLink = new Element( 'span', {'class': 'disabled',
                                                'title': 'Dernière page'} );
            pageNodeNextLink = new Element( 'span', {'class': 'disabled',
                                                'title': 'Page suivante'} );
            $('googleMoreResults').removeClass( 'hidden' );
        }
        pageNodeNextLink.inject( pageNodeNext );
        new Element( 'img', {'src' : '/extension/ird_representation/design/ird_representation/images/pictos/picto_pagination_next_un.png',
                    'alt' : 'Suivant'}).inject( pageNodeNextLink );
        pageNodeNextLink.clone().cloneEvents( pageNodeNextLink ).inject( pageNodeNextFooter );
        pageNodeNextFooter.inject(  paginationContentNodeFooter, 'bottom' );

        var pageNodeLast = new Element( 'span', {'class': "goto_first"} ).inject( paginationContentNode, 'bottom' );
        var pageNodeLastFooter = pageNodeLast.clone();
        pageNodeLastLink.inject( pageNodeLast, 'bottom' );
        new Element( 'img', {'src' : '/extension/ird_representation/design/ird_representation/images/pictos/picto_pagination_next.png',
                    'alt' : 'Dernier'}).inject( pageNodeLastLink );
        pageNodeLastLink.clone().cloneEvents( pageNodeLastLink ).inject( pageNodeLastFooter );
        pageNodeLastFooter.inject(  paginationContentNodeFooter, 'bottom' );
        
        ctnPaginationNode.inject( $('googleSearchControl').getElement('.gsc-results'), 'top' );
        ctnPaginationNodeFooter.inject( $('googleSearchControl').getElement('.gsc-results'), 'bottom' );
        
        var infosPage = new Element( 'p').inject( ctnPaginationNode, 'bottom' );
        var infosPagesSpan = new Element('strong').inject( infosPage );
        var currentPage = searcher.cursor.currentPageIndex + 1 ;
        var firstIndex = ( searcher.cursor.currentPageIndex * nb_par_page ) + 1;
        var lastIndex = currentPage * nb_par_page ;
        infosPagesSpan.set( 'text', 'Page ' + currentPage + ' : Résultats ' + firstIndex + ' à ' + lastIndex );

    }

}


