/*
 *	Javascript Mode unobstructive	
 *
 *
 */

// variables globales
var hauteur = 0;

function fLoad() {	
	var optionSup = { 
		largeurBLoc   : 22,
		hauteurBLoc   : 78,
		posTopNav			: 30,
		posLeftNav		: 215
	}
	
	appel(optionSup); 
	
	Event.observe($('defilementHaut'), 'mousedown', function() { defilActu('up') }, false);
	Event.observe($('defilementHaut'), 'mouseup', sort, false);
	Event.observe($('defilementBas'), 'mousedown', function() { defilActu('down') }, false);
	Event.observe($('defilementBas'), 'mouseup', sort, false);
}

// Appel de la fonction principale (par champ)
function appel(optionSup) { 
	// Champ 1
	Actu = new Actu (
		'include/xhr-actu.php?test=1&test2=2',
		optionSup
	);
}

// Création objet actu
Actu = Class.create();

Actu.prototype = {

   initialize: function(url, options) {
      this.id          	= 'actualite';
      var navigateur 		= navigator.userAgent.toLowerCase();
      this.navIE        = navigateur.indexOf("msie") != -1;
      this.navOpera     = navigateur.indexOf("opera")!= -1;
			this.url					= url;
      this.jeuOptions(options);
			this.creationBlocNav();
			this.appelXhr();
   },
	 
   jeuOptions: function(options) {
      this.options = {
				 // Navigation
         largeurBLocNav	      : 0, // Largeur de l'image, de cette façon elle iront une en dessous de l'autre
         hauteurBLocNav	      : 0, // Hauteur, 2x la hauteur d'une image
 				 posTopNav   					: 0,
				 posLeftNav						: 0,
				 puceHautNav					: 'puce_haut.gif',
				 puceBasNav           : 'puce_bas.gif',					
				 positionBlocNav			: 'absolute'
      }
			this.options = Object.extend(this.options, options);
   },
	 
	 creationBlocNav: function() {
	 		// On supprime le lien pour les non javascript
			Element.remove('lienToutesActus');
			
	 		// Création du bloc de nav
	 		new Insertion.Top($('actualite'), '<div id="defilement"></div>');	 
      this.blocNav = $('defilement');			
      var divStyle = this.blocNav.style;
      divStyle.position    = this.options.positionBlocNav;
			divStyle.height  		 = this.options.hauteurBLoc + "px";
			divStyle.width 			 = this.options.largeurBLoc + "px";
			divStyle.top  			 = this.options.posTopNav + "px";
			divStyle.left  			 = this.options.posLeftNav + "px";
			divStyle.zIndex			 = 1000;		
			
			// Création des liens
	 		var elementHtml1 = '<a href="#" id="defilementHaut"><img src="images/' + this.options.puceHautNav + '" alt="D&eacute;filement haut" id="defilementHaut"></a>';
			var elementHtml2 = '<a href="#" id="defilementBas"><img src="images/' + this.options.puceBasNav + '" alt="D&eacute;filement bas" id="defilementBas"></a>';
			new Insertion.Top($('defilement'), elementHtml1);
			new Insertion.Bottom($('defilement'), elementHtml2);			
   },
	 
	 appelXhr: function() {
	 		new Insertion.Bottom($('actualite'), '<div id="actu"></div>');
			new Ajax.Updater('actu', this.url, {
					asynchronous: true,
					method			: "get",
					parameters	: this.url.parseQuery(),
					insertion		: Insertion.Top					
			});
	 }

}

// Fonction pour la module actu
function defilActu(sens) {
	if (sens == 'down') { 
		if (hauteur-1 < $('actu').scrollTop) { hauteur = hauteur+10; }
	}
	else {
		if (hauteur > -10) { hauteur = hauteur-10; }
	}
	$('actu').scrollTop = parseInt(hauteur);		
	oSet = setTimeout("defilActu('" + sens + "')", 50);
}
	
function sort() {
	window.clearTimeout(oSet);
}

// Observateur d'évenements
Event.observe(window, 'load', fLoad, false);