var ttblock_Xhr			= null;
var ttblock_tItems		= null;
var ttblock_to			= null;
var ttblock_directory	= "";
var ttblock_num			= 0;
var ttblock_fading		= false;

// Valeur configurable !
var ttblock_timeout		= 3000;
var ttblock_imgWidth	= 66;
var ttblock_imgHeight	= 66;
// var ttblock_ids			= new Array('TTBLOCK_IMG', 'TTBLOCK_TITLE', 'TTBLOCK_TEXT');
var ttblock_ids			= new Array('ttblockConteneur');
//var ttblock_ids			= new Array('middle_content_ttblock');


function ttblock_getXmlNodeValue(reponse, sName) {
	var node = reponse.getElementsByTagName(sName)[0];
	
	if ((node == null) || (node.childNodes.length == 0))
		return "";
	
	return node.firstChild.nodeValue;
}

function ttblock_getXhr(){
	var xhr = null;
	
	if(window.XMLHttpRequest)		// Firefox et autres
		xhr = new XMLHttpRequest(); 
	else if(window.ActiveXObject){	// Internet Explorer 
		try {
			xhr = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			xhr = new ActiveXObject("Microsoft.XMLHTTP");
		}
	}
	else { // XMLHttpRequest non support? par le navigateur 
		alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); 
		xhr = false; 
	}
	
	return xhr;
}

function ttblock_onChangeXhr() {
	if(ttblock_Xhr && ttblock_Xhr.readyState == 4 && ttblock_Xhr.status == 200 && ttblock_Xhr.responseXML != null) {
		var xml = ttblock_Xhr.responseXML.documentElement;
		
		ttblock_tItems = ttblock_getItems(xml);
		
		if (ttblock_tItems.length > 0) {
			ttblock_showItem(0, false);
			ttblock_to = setTimeout("ttblock_refresh();",ttblock_timeout);
		}
		
		ttblock_Xhr = null;
	}
}

function ttblock_onLoadXhr(xmlPath, directoryPath) {
	var param = "";
	ttblock_directory = directoryPath;
	
	if (ttblock_Xhr == null) {
		ttblock_Xhr = ttblock_getXhr();
		
		if (ttblock_Xhr != null) {
			try {
				ttblock_Xhr.open("GET", xmlPath, true);
				ttblock_Xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
				ttblock_Xhr.onreadystatechange = ttblock_onChangeXhr;
				ttblock_Xhr.send(param);
			}
			catch (e) {
				alert("erreur : " + e);
			}
		}
		else
			setTimeout("ttblock_onLoadXhr('" + xmlPath + "', '"+ directoryPath + "');",1000);
	}
}

/* Creation du tableau des items
	tPlaylist[i][j] : 
	i de 0 à n
	j : 0 pour l'image , 1 pour l'url
*/
function ttblock_getItems(xml) {
	var tItems = new Array();
	var node = xml.getElementsByTagName("item");
	
	for (i = 0; i < node.length; i++) {
		tItems[i] = new Array();
		if (tItems[i]) {
			tItems[i].push(ttblock_getXmlNodeValue(node[i],"image"));
			tItems[i].push(ttblock_getXmlNodeValue(node[i],"titre"));
			tItems[i].push(ttblock_getXmlNodeValue(node[i],"resume"));
			tItems[i].push(ttblock_getXmlNodeValue(node[i],"url"));
		}
	}
	
	return tItems;
}

function ttblock_refresh() {
	ttblock_showItem(ttblock_num + 1, true);
	ttblock_to = setTimeout("ttblock_refresh();",ttblock_timeout);
}

function ttblock_nextItem() {
	if (ttblock_to) {
		clearTimeout(ttblock_to);
		ttblock_to = null;
	}
	
	ttblock_showItem(ttblock_num + 1, true);
	ttblock_to = setTimeout("ttblock_refresh();",ttblock_timeout);
}

function ttblock_prevItem() {
	if (ttblock_to) {
		clearTimeout(ttblock_to);
		ttblock_to = null;
	}
	
	if (ttblock_num == 0)
		ttblock_num = ttblock_tItems.length;
	
	ttblock_showItem(ttblock_num - 1, true);
	ttblock_to = setTimeout("ttblock_refresh();",ttblock_timeout);
}

function ttblock_showItem(num, bFade) {
	ttblock_num = (num == ttblock_tItems.length ? 0: num);
	
	if (bFade) {
		ttblock_fading = true;
		ttblock_fade(100, 0, 200);
	}
	else {
		var href = ttblock_tItems[ttblock_num][3];
		var title = ttblock_tItems[ttblock_num][1];
		var text = ttblock_tItems[ttblock_num][2];
		var src = ttblock_directory;
		if (src != "")
			src += '/' + ttblock_tItems[ttblock_num][0];
		else
			src = ttblock_tItems[ttblock_num][0];
		
		// document.getElementById("TTBLOCK_IMG").innerHTML = '<a href="' + href + '"><img src="' + src + '" width="' + ttblock_imgWidth + '" height="' + ttblock_imgHeight + '"/></a>';
		document.getElementById("ttblockConteneur").style.backgroundImage  = "url(" + src + ")";
		document.getElementById("TTBLOCK_TITLE").innerHTML = '<a href="' + href + '">' + title + '</a>';
		document.getElementById("TTBLOCK_TEXT").innerHTML = '<a href="' + href + '">' + text + '</a>';
		
	}
}

function ttblock_fade(opacStart, opacEnd, millisec) {
    //speed for each frame
    var speed = Math.round(millisec / 100);
    var timer = 0;

    //determine the direction for the blending, if start and end are the same nothing happens
    if(opacStart > opacEnd) {
        for(var i = opacStart; i >= opacEnd; i--) {
            setTimeout("ttblock_opacity(" + i + ")",(timer * speed));
            timer++;
        }
    } else if(opacStart < opacEnd) {
        for(var i = opacStart; i <= opacEnd; i++) {
           setTimeout("ttblock_opacity(" + i + ")",(timer * speed));
            timer++;
        }
    }
}

function ttblock_opacity(opacity_) {
	var iCount = ttblock_ids.length;
	
	for (var i = 0; i < iCount; i++) {
		var object = document.getElementById(ttblock_ids[i]).style;
		
		object.opacity = (opacity_ / 100);
		object.MozOpacity = (opacity_ / 100);
		object.KhtmlOpacity = (opacity_ / 100);
		object.filter = "alpha(opacity=" + opacity_ + ")";
		
	}
	
	if (ttblock_fading && (opacity_ == 0)) {
		var href = ttblock_tItems[ttblock_num][3];
		var title = ttblock_tItems[ttblock_num][1];
		var text = ttblock_tItems[ttblock_num][2];
		var src = ttblock_directory;
		if (src != "")
			src += '/' + ttblock_tItems[ttblock_num][0];
		else
			src = ttblock_tItems[ttblock_num][0];
		
		
		
		// document.getElementById("ttblockContenu").innerHTML = '<a href="' + href + '"><img src="' + src + '" width="' + ttblock_imgWidth + '" height="' + ttblock_imgHeight + '"/></a>';
		document.getElementById("ttblockConteneur").style.backgroundImage  = "url(" + src + ")";
		document.getElementById("TTBLOCK_TITLE").innerHTML = '<a href="' + href + '">' + title + '</a>';
		document.getElementById("TTBLOCK_TEXT").innerHTML = '<a href="' + href + '">' + text + '</a>';
		
		ttblock_fading = false;
		ttblock_fade(0, 100, 200);
	}
}
/*
function carrouselOpacity(elem, opacStart, opacEnd, millisec) {
    //speed for each frame
    var speed = Math.round(millisec / 100);
    var timer = 0;

    //determine the direction for the blending, if start and end are the same nothing happens
    if(opacStart > opacEnd) 
    {
        for(i = opacStart; i >= opacEnd; i--) 
        {
            setTimeout("carrouselChangeOpacity(" + i + ",'" + elem.id + "')",(timer * speed));
            timer++;
        }
    } 
    else if(opacStart < opacEnd) 
    {
        for(i = opacStart; i <= opacEnd; i++) 
        {
            setTimeout("carrouselChangeOpacity(" + i + ",'" + elem.id + "')",(timer * speed));
            timer++;
        }
    }
}

function carrouselChangeOpacity(opacity_, id) {
 id = id+'_content';
 var object = document.getElementById(id).style;
 
 object.opacity = (opacity_ / 100);
 object.MozOpacity = (opacity_ / 100);
 object.KhtmlOpacity = (opacity_ / 100);
 object.filter = "alpha(opacity=" + opacity_ + ")";
 // object.filter = "alpha(opacity="+ opacity_ +") progid:DXImageTransform.Microsoft.AlphaImageLoader('enabled=true, sizingMethod=crop src=/fileadmin/templates/skin/default/imgs/tmp-se-nourir.png');";
}
*/