/*************************************************/
/** Fichier javascript général pour le site wwf **/
/** Dépend de mootools version 1.2              **/
/*************************************************/

/** Identifiant add this **/
var addthis_pub  = 'kaliop';
var addthis_logo = 'http://www.wwf.fr/extension/wwf_site/design/wwf_site/images/wwfSlogan.png';
//console.debug('Initialisation de la console firefox pour le debugage');

/** Variables pour Google Analytics **/
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
var pageTracker;

/**
 * Fonction add this et chargement des javascript distant.
 */
window.addEvent('domready', function() {
	var addThisLink = $('addThis');
	if (addThisLink) {
		new Asset.javascript('http://s7.addthis.com/js/152/addthis_widget.js');
		addThisLink.addEvents({
			'mouseover': function() {
				return addthis_open(this, '', '[URL]', '[TITLE]');
			},
			'mouseout': function() {
				addthis_close();
			},
			'click': function () {
				return addthis_sendto();
			}
		});
	}
	
	/**
	 * Google analytic en lazy-loading
	 */
    new Asset.javascript(gaJsHost + "google-analytics.com/ga.js", {
        onload: function() {
            pageTracker = _gat._getTracker("UA-1858777-1"); 
            pageTracker._setDomainName("wwf.fr");
            pageTracker._initData();
            pageTracker._trackPageview();
        }
    });
	 
	 /**
	  * Wibiya
	  * OlC 20100104: désactivation suite à conflit avec mootools.
	  */
	 //new Asset.javascript("http://toolbar.wibiya.com/toolbarLoader.php?toolbarId=19740&nc=0&pl=1");
	 
	 /**
	  * Tracker criteo
	  */
	 new Asset.javascript("http://ld2.criteo.com/criteo_ld.js", {
		onload: function() {
		 var criteoDiv = new Element ('div', {
			'id' : 'cto_se_7710242_ac',
			'styles' : {
			 'display' : 'none'
		 	}
		 });
		 
		 var criteoServerDiv = new Element ('div', {'class': 'ctoWidgetServer'});
		 criteoServerDiv.set('text', 'http:\/\/wwffr.widget.criteo.com\/pvx\/');
		 criteoServerDiv.inject(criteoDiv);
		 
		 var criteoDataDiv = new Element ('div', {'class': 'ctoDataType'});
		 criteoDataDiv.set('text', 'sendEvent');
		 criteoDataDiv.inject(criteoDiv);
		 
		 var criteoParamsDiv = new Element ('div', {'class': 'ctoParams'});
		 criteoParamsDiv.set('text', 'wi=7710242&pt1=0&pt2=1');
		 criteoParamsDiv.inject(criteoDiv);
		 
		 criteoDiv.inject($$('body')[0]);
		 
	 	}
	 });
});

/**
 * 1- Met un curseur loupe sur tous les liens rel=milkbox[_*] (vue
 * de l'image originale en grand en transparence au dessus de la page)
 * 2- ouverture des iens de type rel=external dans une nouvelle fenêtre
 * 
 * On fait tout dans la même fonction pour ne pas parcourir les liens de la page 2 fois...
 */
window.addEvent('domready', function() {
	var allRelLinks = document.getElements('a[rel]');
	allRelLinks.each(function(link) {
		var relName = link.get('rel');
		if (relName.contains('milkbox')) {
			link.style.cursor = 'url("/extension/wwf_site/design/wwf_site/images/common/loupe.cur"), pointer';
		}
		else {
			if (relName == 'external') {
				link.target = "_blank";
			}
		}
	});
});

/**
 * Tooltips pour les missions icones de mission
 */
// Le tooltip fout l'affichage ie 6 en l'air
if (!Browser.Engine.trident4) {
	window.addEvent('domready', function() {
		var missionLinks = $('missionSelector').getElements('ul li a');
		missionLinks.each( function(link) {
			var aTip = new Tips(link);
		});
	});
}

/**
 * Gestion du nuage de tags
 */
var tagCloudOptions = {
	minPercent: 80,
	maxPercent: 150,
	tipFormat: '%%number%% articles',
	annimate: false
}
if (Browser.Engine.trident4) {
	tagCloudOptions['useTips'] = false;
}
window.addEvent('domready', function() {
	if($('tagCloud')){
		new bmTagCloud($('tagCloud').getElement('ul'), tagCloudOptions);
	}
});

/**
 * Suivi automatique des liens dans les valeurs d'option
 * sur les select avec la classe "autogo"
 */
window.addEvent('domready',function(){
		$$('.autogo').each(function(el){
		el.addEvent('change',function(){
			var val = this.get('value');
			if(val!=''){
				window.location = val;
			}
		}.bind(el));
	});
});

/* Modification automatique des liens email marqué avec un tag anti-spam */

function nospam(adresse){
	adresse = adresse.replace(/_AT_/g, '@');
	adresse = adresse.replace(/_DOT_/g, '.');
	return adresse;
}

/**
	Ordre des boites de la page d'accueil
*/
var boxOrder = {
	'order' : [],
	
	'load': function() {
		this.order = Cookie.read('box_order')
		if (this.order != null) {
			this.order = this.order.split(",");
		}
	},
		
	'save': function(tab_order) {
		this.order = tab_order;
		Cookie.write('box_order', this.order);		
	}
};

/**
 * Réordonancement des boites selon l'ordre de l'internaute
 * lors du chargement de la page.
 */
window.addEvent('domready', function() {
	boxOrder.load();
	if ($('frontBoxCampaign') == null) return;
	
	try {
		var i = 0;
		var frontBoxList = $$('#frontBoxList li.frontBox');
		
		/** 
		 * On réordonne les boites en prenant l'ordre
		 * en prenant l'ordre enregistré dans le cookie.
		 * !!! Attention !!!: il faut passer par des clones
		 * des éléments pour ne pas les perdre en route
		 * lors du remplacement (on remplace les clones, pas
		 * les éléments eux mëme).
		 */
		 if (this.order != null) {
		boxOrder.order.each( function(id) {
			if (frontBoxList[i].get('id') != id) {
				var copyElement = $(id).clone();
				copyElement.injectAfter($(id));
				
				var replacedElement = frontBoxList[i].clone();
				replacedElement.injectAfter(frontBoxList[i]);
				
				$(id).replaces(replacedElement);
				frontBoxList[i].replaces(copyElement);
				
				frontBoxList = $$('#frontBoxList li.frontBox');
			}
			i++;
		});
		}
		//$$('#frontBoxList').setStyle('display','block');
	}
	catch (e) {alert(e)} 
});

/**
 * Drag and drop sortable page d'accueil
 */ 
window.addEvent('domready', function() {

	homeSortables = new Sortables('.frontBoxCol', {
    	'constrain': false,
    	'clone': true,
    	'revert': false,
    	'handle': 'h2'
    });

	homeSortables.addEvents({
		
		'init': function() {},
    
   		'start': function(elt) {
   			this.origin = elt; 
   			this.startList 	= elt.getParent();
   		},
   		
    	'complete': function(elt) {
    		next = elt.getNext('li.frontBox');
    		if (next == null) {
    			previous = elt.getPrevious('li.frontBox');
    			if (previous != null) {
    				this.startList.grab(previous,'top');
    				// this.startList.grab(previous,'bottom');
    			}
       		}
    		else {
    			this.startList.grab(next,'bottom');
    		}
    		tmp = [];
    		$$('#frontBoxList li.frontBox').each(function(elt) {
    			tmp.push(elt.id); 
    		})
    		boxOrder.save(tmp);
    	}
   	});
   	
});

/**
 * Animation de la page d'accueil
 */
window.addEvent('domready', function() {

	// Période de répétition
	var PERIODE		= 5000;
	
	var fct = function(img,position) {
		var markupImg1 = $('headAnimation').getChildren();
		var markupLink = $('lienBandeau');
		var myFx = new Fx.Tween('headAnimationImg1');
		myFx.start('opacity', 0.75, 1);
		markupImg1.set('src',img.get('src'));
		//alert('Lien : '+links[position]);
		markupLink.setProperty('href',links[position]);
	}
	
	var repeat = function(periode) {
		var i = 0;
		homeImages.each(function(img,index) {
			fct.delay(i * periode,img,Array(img,index));
			i += 1;
		});
	}
	
	repeat(PERIODE);
	repeat.periodical(nbImages * PERIODE,PERIODE,PERIODE);
	
});

/**
 * Accès rapide 
 */
 window.addEvent('domready', function() {
 	$$('#rightCol > div.rapidAccess a.selectionner').addEvent('click', function() {
 		var ancre = $$('#rapidAccessList');
 		if (ancre.get('class').contains('visible')) {
 			ancre.set('class', '');
 		}
 		else {
 			ancre.set('class','visible');
 		}
 	});
 });
 
 /**
  * Gestion de l'autoplay pour la gallery milkbox du portfolio de l'accueil avec
  * un délai de 5 secondes.
  */
window.addEvent('domready', function() {
	milkbox.setAutoPlay({gallery:'portfolio', autoplay:true, delay:5});
});


function milkboxImage()
{
	window.open (lightURL, "_blank");
}

/**
 * Affichage d'un flash dans une lightbox
 */
window.addEvent('domready', function() {
	var element = $$( 'a[rel=milkbox_flash]' )[0];
	if( !element ) {
		Cookie.dispose( 'flash_front' );
	}
	else
	{
		var str = Cookie.read( 'flash_front' );
		var id = element.id;
		if( str != id )
		{
			Cookie.write( 'flash_front', id, {path: '/'} );
			
			milkbox.addEvent('complete',function(){
				if ( typeof lightURL != "undefined" )
				{
                    if ( lightURL != "" )
                    {
					    var elem = $$('#mbCanvas')[0];
					    elem.addEvent('click',milkboxImage );
					    elem.style.cursor = "pointer";
					    milkbox.addEvent('closed',function()
					    						 {
					    							lightURL = "";
					    							var elem = $$('#mbCanvas')[0];
					    							elem.removeEvent('click',milkboxImage);
					    							elem.style.cursor = "default";
					    						 }
					    				);
				    }
                }
			});
			
			milkbox.openMilkbox( [element], 0 );
		}
	}
});
