﻿function MorphineNews() {
	//this.morphinebase = new MorphineBase() ;
	this.idCounter = 0 ;
	this.instances = new Array();
}

MorphineNews.prototype.init = function(settings) {
	morphine_base.addEvent(window, "load", MorphineNews.prototype.onLoad);
}

MorphineNews.prototype.onLoad = function() {
	for (var idInstance in morphine_news.instances) {
		morphine_news.instances[idInstance].start() ;
	}
}

MorphineNews.prototype.addItem = function(idActu, text) {
	this.instances[idActu].addItem(text) ;
}

MorphineNews.prototype.addNewsControl = function(idActu, objAlignement, decalageX, decalageY, tailleW, tailleH, tailleElH) {
		var inst = new MorphineNewsControl(idActu, objAlignement, decalageX, decalageY, tailleW, tailleH, tailleElH);
		this.instances[idActu] = inst ;
}

MorphineNews.prototype.onResize = function() {
	for (var idInstance in morphine_news.instances) {
		morphine_news.instances[idInstance].resize() ;
	}
}

MorphineNews.prototype.removeNewsControl = function(idActu) {
	this.instances[idActu].detruire() ;
}

function MorphineNewsControl(idActu, objAlignement, decalageX, decalageY, tailleW, tailleH, tailleElH) {
	this.idActu = idActu ;
	//this.monInputId = replace_element.id ;
	this.decalageX = decalageX ;
	this.decalageY = decalageY ;
	this.objAlignement = objAlignement ;
	this.tailleW = tailleW ;
	this.tailleH = tailleH ;
	this.tailleElH = tailleElH ;
	this.items = new Array();
	this.items2 = new Array();
	morphine_base.addEvent(window, "resize", MorphineNews.prototype.onResize);
};

MorphineNewsControl.prototype.addItem = function(text) {
	var i = this.items.length ;
	this.items[i] = new Object() ;
	this.items[i].texte = text ;
}
MorphineNewsControl.prototype.stop = function() {
	this.vit = 0 ;
}
MorphineNewsControl.prototype.redemarrer = function() {
	this.vit = 4 ;
}
MorphineNewsControl.prototype.start = function(text) {
	this.divPrincipale = document.createElement("div") ;
	this.divPrincipale.className = "noprint" ;
	this.divPrincipale.style.position = "absolute" ;
	this.divPrincipale.style.left = (morphine_base.getAbsX(this.objAlignement)+this.decalageX)+"px" ;
	this.divPrincipale.style.top = (morphine_base.getAbsY(this.objAlignement)+this.decalageY)+"px" ;
	this.divPrincipale.style.width = this.tailleW+"px" ;
	this.divPrincipale.style.height = this.tailleH+"px" ;
	this.divPrincipale.style.clip = "rect(0 "+(this.tailleW+2)+"px "+(this.tailleH+2)+"px 0)" ;
	this.divPrincipale.style.borderWidth = "0 0 1px 0" ;
	this.divPrincipale.style.borderStyle = "solid" ;
	this.divPrincipale.style.borderColor = "#9c9c9c" ;
	this.divPrincipale.style.overflow = "hidden" ;
	this.divPrincipale.id = "morphine_actu_"+this.idActu ;
	this.divPrincipale.style.visibility = "visible" ;
	this.vit = 4 ;
	this.divPrincipale.onmouseover = this.stop.bind(this) ;
	this.divPrincipale.onmouseout = this.redemarrer.bind(this) ;
	//monDiv.style.zIndex = 100 ;
	this.divPrincipale.innerHTML = "" ;
	document.body.appendChild(this.divPrincipale) ;
	
	this.itemActuel = 0 ;
	this.itemPlus = 1 ;
	this.compteurModulo3 = 0 ;
	var posYTemp = 0 ;
	for (i=0 ; i<this.items.length ; i++) {
		var monDiv = document.createElement("div") ;
		monDiv.style.position = "absolute" ;
		monDiv.style.top = posYTemp+"px" ;
		/*
		var posTop = -1*this.tailleH ;
		if (i==0) posTop = 0 ;
		if (i==1) posTop = this.tailleH ;
		*/
		monDiv.style.left = "0px" ;
		monDiv.style.height = this.tailleElH+"px" ;
		monDiv.style.width = this.tailleW+"px" ;
		monDiv.style.clip = "rect(0 "+this.tailleW+"px "+this.tailleElH+"px 0)" ;
		monDiv.style.visibility = "visible" ;
		monDiv.style.padding = "0px" ;
		monDiv.style.fontFamily = "Arial" ;
		monDiv.style.fontSize = "11px" ;
		/*
		monDiv.style.borderWidth = "1px" ;
		monDiv.style.borderStyle = "solid" ;
		monDiv.style.borderColor = "red" ;
		*/
		//monDiv.style.zIndex = 100 ;
		monDiv.innerHTML = this.items[i].texte ;
		this.divPrincipale.appendChild(monDiv) ;
		this.items2[i] = new Object() ;
		this.items2[i].lediv = monDiv ;
		this.items2[i].y = posYTemp ;
		posYTemp += this.tailleElH ;
	}
	
	if (this.items2.length > 1) this.animate() ;
}

MorphineNewsControl.prototype.animate = function() {
	var delai = 50 ;
	var delai2 = 3000 ;
	for (i=0 ; i<this.items2.length ; i++) {
		this.items2[i].y -= this.vit ;
		if (this.items2[i].y+this.tailleElH<0) {
			this.compteurModulo3++ ;
			this.items2[i].y = this.items2[i].y+this.items2.length*this.tailleElH ;
		}
		this.items2[i].lediv.style.top = Math.floor(this.items2[i].y)+"px" ;
	}
	if (this.compteurModulo3>0) {
		this.compteurModulo3 = 0 ;
		delai = delai2 ;
	}
	window.setTimeout(this.animate.bind(this),delai);
}

MorphineNewsControl.prototype.resize = function() {
	this.divPrincipale.style.left = (morphine_base.getAbsX(this.objAlignement)+this.decalageX)+"px" ;
	this.divPrincipale.style.top = (morphine_base.getAbsY(this.objAlignement)+this.decalageY)+"px" ;
}

MorphineNewsControl.prototype.detruire = function() {
	 document.body.removeChild(this.divPrincipale);
}


var morphine_news = new MorphineNews();
//morphine_news.init() ;

