ajalist = new Array();
keep = 0;


function showAlign(e,id,k){
	
	if (keep == 1 && k==0) {return;} // case: user has clicked before and just gliding over
	var popup = $("popup");
	popup.style.top=(e.pageY+30)+'px';
	popup.style.visibility='visible';
	for (var i = 0; i < ajalist.length; ++i) // stopping all running ajaxes
		ajalist[i].cancel();
	var log = $('t')
	keep = k;
	// case not yet in buffer. modified: or clicked || k==1 
	if (alibuf[id]==null ) {
		log.empty().addClass('ajax-loading');
		var url = baseurl+"/alignReadForeignRow.cgi?row="+id+"&p="+$('pos').getValue()+"&n="+$('neg').getValue()+"&t="+$('table').getValue();
		var aj=new Ajax(url, {
				method: 'get',
				update: log,
				encoding: 'utf-8',
				autoCancel:true,
				onComplete: function() {
					log.removeClass('ajax-loading');
					alibuf[id]=log.innerHTML;
				}
			});
		ajalist.push(aj);
		aj.request();
	}
	// case already in buffer
	else {
		log.innerHTML=alibuf[id];
		log.removeClass('ajax-loading'); // robust: just in case
	}

}

function hideAlign(e){
for (var i = 0; i < ajalist.length; ++i)
  	ajalist[i].cancel();
if (keep == 0)
	{document.getElementById("popup").style.visibility='hidden';}
}

function cli(e){
var id = e.target.id;
// alert(id);
if ((id=="popupLang0") || (id=="popupLang1") || (id=="t") || (id=="c")) {return;}
keep = 0;
hideAlign(e);
}

function closeTablePopup(e) {
// alert(e.clientX)
if ((e.target.id=="popupLang0") || (e.target.id=="popupLang1")) {return;}
var popup = document.getElementById("popup"); 
popup.style.visibility='hidden';
return false;
}


// for options opening and closing ################## 


var ouvert=0;
var glisse_timer;
var glisse_fermtimer;

function calculOuverture(ouvDemande) {

valmax = 0.75;

hautfen = window.innerHeight;
if (!hautfen) {hautfen = document.body.offsetHeight;}

hautfenmax = hautfen * valmax;
if (ouvDemande > hautfenmax) {return  hautfenmax - hautfenmax%25;}
else {return ouvDemande;}

}


function ouvre(i, hauteur) {

	hauteur = calculOuverture(hauteur);
	
  	if(ouvert!==0 && ouvert!=i) {
  		//si qqch déjà ouvert
		glisseferm(ouvert, hauteur, 0, 25, 'idRow' + ouvert);
		nameObj = (document.getElementById) ? document.getElementById('name' + ouvert) : eval("document.all['name" + ouvert + "']");
		nameObj.className="row";		
  	}

  	var trObj = (document.getElementById) ? document.getElementById('idRow' + i) : eval("document.all['idRow" + i + "']");
  	nameObj = (document.getElementById) ? document.getElementById('name' + i) : eval("document.all['name" + i + "']");
	//   var ifObj = (document.getElementById) ? document.getElementById('idIframe' + i) : eval("document.all['idIframe" + i + "']");

	if (trObj !== null) {
		if (trObj.style.display=="none") {
			trObj.style.display="";
				nameObj.className="rowopen";
			//       if (!ifObj.src) ifObj.src = href;
			glisse('idRow' + i, 0, hauteur, 25, 'o');
				ouvert = i;
		}
		else {
			nameObj.className="rowopen";
			glisse('idRow' + i, hauteur, 0, 25, 'idRow' + i);
				ouvert = 0;
		}
  	}    
}


function dessus(i) {  
  var nameObj = (document.getElementById) ? document.getElementById('name' + i) : eval("document.all['name" + i + "']");
  if (nameObj !== null) {nameObj.className="rowover";}	
}
function parti(i) {
 	if (i==ouvert) {return;}
  	var trObj = (document.getElementById) ? document.getElementById('idRow' + i) : eval("document.all['idRow" + i + "']");  
  	var nameObj = (document.getElementById) ? document.getElementById('name' + i) : eval("document.all['name" + i + "']");    
  	if (trObj === null || trObj.style.display=="none") {nameObj.className="row";}
}
function glisse(id, curH, targetH, stepH, mode) {
  diff = targetH - curH;
  if (diff !== 0) {
    newH = (diff > 0) ? curH + stepH : curH - stepH;
    ((document.getElementById) ? document.getElementById(id) : eval("document.all['" + id + "']")).style.height = newH + "px";
    if (glisse_timer) window.clearTimeout(glisse_timer);
    glisse_timer = window.setTimeout( "glisse('" + id + "'," + newH + "," + targetH + "," + stepH + ",'" + mode + "')", 20 );
  }
  else if (mode != "o") {((document.getElementById) ? document.getElementById(mode) : eval("document.all['" + mode + "']")).style.display="none";}
}
function glisseferm(i, curH, targetH, stepH, mode) {
  diff = targetH - curH;
  if (diff !== 0) {
  	id = "idRow" +  i;	
    newH = (diff > 0) ? curH + stepH : curH - stepH;
    ((document.getElementById) ? document.getElementById(id) : eval("document.all['" + id + "']")).style.height = newH + "px";
    if (glisse_fermtimer) {window.clearTimeout(glisse_fermtimer);}
    glisse_fermtimer = window.setTimeout( "glisseferm('" + i + "'," + newH + "," + targetH + "," + stepH + ",'" + mode + "')", 20 );
  }
  else if (mode != "o") {((document.getElementById) ? document.getElementById(mode) : eval("document.all['" + mode + "']")).style.display="none";}
}


// general stuff


// document.onmousedown=kimsDragHandler;
document.onclick=cli;
