/************************************************
*   mooquee v.01                                 *
*   Http: WwW.developer.ps/moo/mooquee          *
*   Dirar Abu Kteish dirar@zanstudio.com        *
/***********************************************/
/*
var lesTextes = new Array();
lesTextes.push({cat:'Science et sant&eacute',url:'/nouvelles/science-sante/',texte:'Les automobilistes ont dû payer l\'essence 10 ¢ de plus vendredi dans plusieurs régions du pays. Le litre est à plus de 5 sous.'});
lesTextes.push({cat:'Environnement',url:'/nouvelles/environnement/',texte:'bli bli bli'});
lesTextes.push({cat:'International',url:'/nouvelles/international/',texte:'blu blu blu'});
*/

function createLink(oTicker,sType){
	
	var strReturned;
		
	if (sType == 'surtitre'){
		
		if (oTicker.url == ''){
			strReturned = oTicker.cat;
		}else{
			strReturned = '<a id="tickerA" onclick="CT(\'heure_titre\');" href="'+oTicker.url+'">'+oTicker.cat+'</a>';
		}
		
	}
	
	if (sType == 'contenu') {
		
		if (oTicker.url == ''){
			strReturned = oTicker.texte;
		}else{
			strReturned = '<a  onclick="CT(\'heure_details\');" href="'+oTicker.url+'">'+oTicker.texte+'</a>';
		}
		
	}
		
	return strReturned;
}


var mooquee = new Class({
    initialize: function(element, options) {
		this.setOptions({
			marHeight: 15,
			marWidth: 590,
			steps: 1,
			speed: 1,
			direction: 'left',
			pauseOnOver: true
	    }, options);
		this.alerteEnCours = 0;
		this.alertes = null;
	    this.timer = null;
	    this.textElement = null;
		this.element = element;
	    this.mooqueeElement = $(element);	    	    
	    this.constructMooquee();
		window.addEvent('domready', function() {
			this.alertes = lesTextes;
		}.bind(this));		
	},
	constructMooquee: function() {
		var el = this.mooqueeElement;
		el.setStyles({
		    'width' : this.options.marWidth
		    ,'height' : this.options.marHeight
		});
		this.textElement = new Element('div',{
		    'class' : 'mooquee-text'
		    ,'id' : 'mooquee-text'
			,'width' : '100%'
		});
		this.textElement.innerHTML = el.innerHTML;
		el.innerHTML = '';
		this.textElement.injectInside(el);
		this.textElement = $('mooquee-text');
		(this.options.direction == 'left') ?  this.textElement.setStyle('left', ( -1 * this.textElement.getCoordinates().width.toInt())) : this.textElement.setStyle('left', el.getCoordinates().width.toInt());
		if(this.options.pauseOnOver){this.addMouseEvents();}
		//start marquee
		this.timer = this.startMooquee.delay(this.options.speed, this);
	},
	addMouseEvents : function(){
	    this.textElement.addEvents({
	        'mouseenter' : function(me){
	            this.clearTimer();
	        }.bind(this),
	        'mouseleave' : function(me){
	            this.timer = this.startMooquee.delay(this.options.speed, this);
	        }.bind(this)
	    });
	},
    startMooquee: function(){
        var pos = this.textElement.getStyle('left').toInt();
        this.textElement.setStyle('left', ( pos + ((this.options.direction == 'left') ? -1 * (this.options.steps) : this.options.steps)) + 'px');
        this.checkEnd(pos);
        this.timer = this.startMooquee.delay(this.options.speed, this);        
    },
    resumeMooquee: function(){
        this.stopMooquee();
        if(this.options.pauseOnOver){this.addMouseEvents();}
        this.timer = this.startMooquee.delay(this.options.speed, this);        
    },
    stopMooquee: function(){
        this.clearTimer();        
        this.textElement.removeEvents();        
    },
    clearTimer: function(){
        $clear(this.timer);
    },
    checkEnd: function(pos){
        if(this.options.direction == 'left'){
            if(pos < -1 * (this.textElement.getCoordinates().width.toInt())){
                this.textElement.setStyle('left', this.mooqueeElement.getCoordinates().width);
				this.nextText();
            }
        }
        else{
            if(pos > this.mooqueeElement.getCoordinates().width.toInt()){
                this.textElement.setStyle('left', -1 * (this.textElement.getCoordinates().width.toInt()) );                
				this.nextText();
            }
        }        
    },
    setDirection: function(dir){
        this.options.direction = dir;
    },
	nextText : function(){
	
		var largeurDuDivDeTexte = 0;
		
		$(this.element+'_TITRE').innerHTML = createLink(lesTextes[this.alerteEnCours],'surtitre');	
			
		/// $$$ modif pour ppage : if statement
			if (document.location.href.indexOf("/ppage")!=-1 || document.location.href=="http://www.radio-canada.dev/" || document.location.href=="http://www.radio-canada.dev/index.shtml"){ /// on est dans la ppage3
				largeurDuDivDeTexte = 625 - ($('TICKER_TITRE').getStyle('width').toInt() + 30);	
			}else{ /// on est dans une page/site de la section http://www.radio-canada.ca/nouvelles/ ou sports
				//largeurDuDivDeTexte = 755 - ($('TICKER_TITRE').getStyle('width').toInt() + 30);	
				largeurDuDivDeTexte = 565 - ($('TICKER_TITRE').getStyle('width').toInt() + 30);/* page Grand titres: pour faire de la place pour le liens RSS et le titre*/	
			}

		$(this.element).style.width = largeurDuDivDeTexte+'px';

		this.textElement.innerHTML = createLink(lesTextes[this.alerteEnCours],'contenu');
		
		this.alerteEnCours++;
		if (this.alerteEnCours >= lesTextes.length){
			this.alerteEnCours = 0;
		}

	}
});
mooquee.implement(new Options);
