var holdsize = new Array();
var mailsize = new Array();
var stepsize = new Array();
var targetsize = new Array();
var targetflow = new Array();
var mytimer = new Array();
var flowtimer;
var default_size = 96;
var min_size = 24;
var max_size = 312;
var nbmh;
var counter = 0;
var nix = -1;
function show_controls(i){
	if(holdsize[i] == max_size){
		document.getElementById("holdmail_"+i).style.border = "1px solid #B6C1D3";
		if(mailsize[i] > max_size){
			if(document.getElementById("holdmail_"+i).scrollTop > 0){
				document.getElementById("up_off_"+i).style.display = "none";
				document.getElementById("up_on_"+i).style.display = "block";
			}else{
				document.getElementById("up_on_"+i).style.display = "none";
				document.getElementById("up_off_"+i).style.display = "block";
			}
			if(mailsize[i] > (document.getElementById("holdmail_"+i).scrollTop + holdsize[i])){
				document.getElementById("down_off_"+i).style.display = "none";
				document.getElementById("down_on_"+i).style.display = "block";
			}else{
				document.getElementById("down_on_"+i).style.display = "none";
				document.getElementById("down_off_"+i).style.display = "block";
			}
		}
	}else{
		document.getElementById("up_off_"+i).style.display = "none";
		document.getElementById("up_on_"+i).style.display = "none";
		document.getElementById("down_off_"+i).style.display = "none";
		document.getElementById("down_on_"+i).style.display = "none";
		document.getElementById("holdmail_"+i).style.border = "1px solid #F3F5F8";
		document.getElementById("holdmail_"+i).scrollTop = 0;
	}
	for(var u = 0; u < nbmh; u++){
		if(u == nix){
			document.getElementById("holdmail_"+u).style.backgroundColor = "#FBFBFB";
			document.getElementById("link_"+u).innerHTML = ml_refermer;
		}else{
			document.getElementById("holdmail_"+u).style.backgroundColor = "#F3F5F8";
			document.getElementById("link_"+u).innerHTML = ml_liresuite;
		}
	}
}
function flow_up(i){
	var scrollpos = document.getElementById("holdmail_"+i).scrollTop;
	if(scrollpos - holdsize[i] > 0){
		targetflow[i] = document.getElementById("holdmail_"+i).scrollTop - (holdsize[i] - 18);
	}else{
		targetflow[i] = 0;
	}
	flowtimer = setTimeout("go_up("+i+")", 20);
}
function go_up(i){
	var scrollpos = document.getElementById("holdmail_"+i).scrollTop;
	if(scrollpos <= targetflow[i]){
		document.getElementById("holdmail_"+i).scrollTop = targetflow[i];
		show_controls(i);
	}else{
		document.getElementById("holdmail_"+i).scrollTop = scrollpos - Math.ceil((scrollpos - targetflow[i])/8);
		flowtimer = setTimeout("go_up("+i+")", 20);
	}
}
function flow_down(i){
	var scrollpos = document.getElementById("holdmail_"+i).scrollTop;
	if((mailsize[i] - (scrollpos + holdsize[i])) > holdsize[i]){
		targetflow[i] = document.getElementById("holdmail_"+i).scrollTop + (holdsize[i] - 18);
	}else{
		targetflow[i] = mailsize[i] - holdsize[i];
	}
	flowtimer = setTimeout("go_down("+i+")", 20);
}
function go_down(i){
	var scrollpos = document.getElementById("holdmail_"+i).scrollTop;
	if(scrollpos >= targetflow[i]){
		document.getElementById("holdmail_"+i).scrollTop = targetflow[i];
		show_controls(i);
	}else{
		document.getElementById("holdmail_"+i).scrollTop = scrollpos + Math.ceil((targetflow[i] - scrollpos)/8);
		flowtimer = setTimeout("go_down("+i+")", 20);
	}
}
function show_mail(i){
	if(holdsize[i] < targetsize[i]){
		if(holdsize[i]+stepsize[i] >= targetsize[i]){
			holdsize[i] = targetsize[i];
			document.getElementById("holdmail_"+i).style.height = targetsize[i] + "px";
			show_controls(i);
		}else{
			holdsize[i] += Math.round(stepsize[i]);
			document.getElementById("holdmail_"+i).style.height = holdsize[i] + "px";
			mytimer[i] = setTimeout("show_mail("+i+")", 10);
		}
	}else{
		if(holdsize[i]+stepsize[i] <= targetsize[i]){
			holdsize[i] = targetsize[i];
			document.getElementById("holdmail_"+i).style.height = targetsize[i] + "px";
			show_controls(i);
		}else{
			holdsize[i] += Math.round(stepsize[i]);
			document.getElementById("holdmail_"+i).style.height = holdsize[i] + "px";
			mytimer[i] = setTimeout("show_mail("+i+")", 10);
		}
	}
}

function expand_mail(x){
	if(x != nix){
		var growsize = (mailsize[x]<max_size)?mailsize[x]:max_size;
		stepsize[x] = (growsize-holdsize[x]) / 10;
		targetsize[x] = growsize;
		nix = x;
		mytimer[x] = setTimeout("show_mail("+x+")", 10);
		for(var i = 0; i<nbmh; i++){
			if(i != x){
				if(holdsize[i] > min_size){
					stepsize[i] = (min_size-holdsize[i]) / 10;
					targetsize[i] = min_size;
					mytimer[i] = setTimeout("show_mail("+i+")", 10);
				}else{
					stepsize[i] = 0;
				}
			}
		}
	}else{
		shrink_mail();
	}
}
function shrink_mail(){
	for(var i = 0; i<nbmh; i++){
		clearTimeout(mytimer[i]);
		document.getElementById("link_"+i).innerHTML = ml_liresuite;
		stepsize[i] = (default_size - holdsize[i]) / 10;
		targetsize[i] = default_size;
		mytimer[i] = setTimeout("show_mail("+i+")", 10);
	}
	nix = -1;
}
function init_mail(){
	var mails = getElementsByClassName("mail_holder", "div");
	nbmh = mails.length;
	for(var i = 0; i < nbmh; i++){
		holdsize[i] = mails[i].offsetHeight;
		stepsize[i] = 2;
	}
	var mails = getElementsByClassName("mail_content", "div");
	nbmh = mails.length;
	for(var i = 0; i < nbmh; i++){
		mailsize[i] = mails[i].offsetHeight;
	}
}
addLoadEvent(init_mail);

