//--------------------------------------------------------------------------------------------
var xhr = null;

function getXhr(){
	if (window.XMLHttpRequest) {
		xhr = new XMLHttpRequest(); 
	} else if (window.ActiveXObject) {
		try {
			xhr = new ActiveXObject("MSXML2.XMLHTTP");
		} catch (e) {
			xhr = null;
			alert("Can't load the ActiveX object needed by AJAX.");
		}
	}
}


//--------------------------------------------------------------------------------------------
function refresh() {
	if (xhr == null) {
		return;
	}
		
	if (xhr.readyState != 4 || xhr.status != 200) {
		return;
	}
	
	var response = xhr.responseXML;

	if (response == null) {
		return;
	}
		
	var doc = response.documentElement;
			
	if (doc == null) {
		return;
	}
			
	var list = doc.getElementsByTagName('file');

	if (list == null || list.length < 1) {
		return;
	}
	
	var content = '';
	
	var arr = new Array('id','path','encpath','vmname','type','region','sdate','blocks','shortdesc','longdesc','userdesc','icon','eyecatch');
	var params = new Array();

	params['basedir'] = '/vmu/save/public';
	params['encbasedir'] = '%2fvmu%2fsave%2fpublic';
	//params['col'] = 'cfebff';
	params['col'] = '';
	params['width'] = '440';
	//document.getElementById('fileslist').innerHTML = '';
	
	/* TODO: utiliser une variable au lieu d'une valeur en dur pour la taille de la liste */
	for (var i=0; i<10; i++) {
		var _el = document.getElementById('file'+(i+1));
		
		if (i >= list.length) {
			_el.style.display = 'none';
			continue;
		}
		
		for (var j=0; j<arr.length; j++) {
			var el = doc.getElementsByTagName(arr[j]);
			
			if (!el) {
				alert("impossible de charger <"+el+">");
				continue;
			}
			
			params[arr[j]] = unescape(el[i].firstChild.nodeValue);
		}
		
		_el.innerHTML = addfile(params);
	}
	
	//alert(content);
	//document.getElementById('fileslist').innerHTML = content;
}


//--------------------------------------------------------------------------------------------
function refreshlist(lg, menu, path, r) {
	getXhr();
	
	if (xhr == null) {
		return;
	}
	
	//document.getElementById('fileslist').innerHTML = 'Loading...';
	
	/* TODO: utiliser une variable au lieu d'une valeur en dur pour la taille de la liste */
	for (var i=0; i<10; i++) {
		var el = document.getElementById('file'+(i+1));
		
		if (!el) {
			continue;
		}
		
		el.style.display = 'block';
		//el.innerHTML = '<center>LOADING...</center>';
	}
	
	var params = "ajx=true&mode=jeu&lg="+escape(lg)+"&menu="+escape(menu)+"&path="+escape(path)+"&r="+escape(r);
	
	xhr.onreadystatechange = refresh;
	
	xhr.open("POST", "liste.php", true);
	xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	xhr.send(params);
}


//--------------------------------------------------------------------------------------------
function getopacity(el) {
	if (el == null || typeof(el.style) == 'undefined') {
		return;
	}
	
	var nOpacity=100;
	
	if (typeof(el.style.filter) != 'undefined' && el.style.filter != '') {
		var filter = el.style.filter;
		var pos = filter.indexOf('alpha(opacity=');
		
		if (pos >= 0) {
			sOpacity = filter.substring(pos+14);
			sOpacity = sOpacity.substring(0, sOpacity.indexOf(')'));
			nOpacity = parseInt(sOpacity);
		 }
	} else if (typeof(el.style.opacity) != 'undefined' && el.style.opacity != '') {
		var sOpacity = el.style.opacity;
		nOpacity = parseFloat(sOpacity) * 100;
	}
	
	return nOpacity;
}


//--------------------------------------------------------------------------------------------
function setopacity(el, n) {
	if (el == null || typeof(el.style) == 'undefined') {
		return;
	}
	
	if (typeof(el.style.filter) != 'undefined') {
		el.style.filter = 'alpha(opacity=' + n.toString() + ')';
	} else if (typeof(el.style.opacity) != 'undefined') {
		el.style.opacity = '' + (n / 100).toString() + '';
	}
}


//--------------------------------------------------------------------------------------------
function movefilemenu() {
	var el = document.getElementById('filemenu');
	
	if (el.style.position == 'static') {
		el.style.position = 'fixed';
	} else {
		el.style.position = 'static';
	}
}


//--------------------------------------------------------------------------------------------
function showfilemenu(n) {
	var el = document.getElementById('filemenu');
	
	if (el.style.position != 'fixed') {
		return;
	}
	
	if (getopacity(el) != n) {
		setopacity(el, n);
	}
}
