// (c) 2000, D.Holmes
var dots	= "";
var slowlinkwait = false;

var maxrows = 4;
var maxcols = 3;

var selectR = -1;
var selectC = -1;
var newR = newC = 0;

var bar_on	= new Image();
var bar_off	= new Image();
var bar_flash	= new Image();
bar_on.src	= "images/bluespace.gif";
bar_off.src	= "images/whitetransp.gif";
bar_flash.src	= "images/yellowspace.gif";

var NUM_OF_SLIDES   = 12;
var CURRENT_SLIDE   = 1;
var SKIP_AHEAD      = false;
var startSlideDELAY = 5000;
var nextSlidePAUSE  = 6000;
var IDLE_TIMER      = 50;
var IMAGE_PREFIX    = "NAV";

var FormName        = "infotxt";
var startSlideID;
var delayLinks = 5;
var delay_1_ID = delay_2_ID = delay_3_ID = delay_4_ID = delay_5_ID = 0;

var mx=0, my=0;
var sleep_state = -1;
var counter=0;
var paused = -1;
var allpages = -1;
var enlargeHTML	= "";

var hidden = false;
var blah = navigator.userAgent + '';
var good = (blah.indexOf('3.')==-1) && (blah.indexOf('MSIE')==-1);

good = true;

for (imgs = 1; imgs <= (maxrows*maxcols) ; imgs++) {
	eval("var thumb_" + imgs + " = new Image()");
	eval("var full_" + imgs + " = new Image()");
}


function insertThumbs() {

	for (row = 1 ; row <= maxrows ; row++) {
		for (column = 1 ; column <= maxcols ; column++) {
			target = "r" + row + "c" + column;
			source = "thumb_" + ((row-1)*3 + column) + ".src";
			if (eval(source) != "images/whitetransp.gif") document[target].src = eval(source);
		}
	}
}

/*
// trimmed version
function coords(newR,newC,colour) {

	var row = newR;
	var column = newC;
	var rowname     = "r" + row;
	var columnname  = "c" + column;
	var rownameB    = "r" + row + "b";
	var columnnameB = "c" + column + "b";

	if (colour == "on") {
		document[rowname].src             = bar_on.src;
		document[columnname].src          = bar_on.src;
		if (row != selectR)
			document[rownameB].src    = bar_on.src;
		if (column != selectC)
			document[columnnameB].src = bar_on.src;
	} else {
		document[rowname].src             = bar_off.src;
		document[columnname].src          = bar_off.src;
		if (row != selectR)
			document[rownameB].src    = bar_off.src;
		else
			document[rowname].src     = bar_off.src;
		if (column != selectC)
			document[columnnameB].src = bar_off.src;
		else
			document[columnname].src  = bar_off.src;
	}

}
*/
// trimmed version

function doShow(newR,newC) {
	var row = newR;
	var column = newC;

	clearTimeout(startSlideID);
	playmode = 0;
	playstop();
	if (! slowlink && f_total < 12) {
		initPanel();
		loadFulls();
	}
	doShow2(row,column);
	if (SKIP_AHEAD) SKIP_AHEAD = false;
}
	
function doShow2(newR,newC) {

	var rowNum = newR;
	var colNum = newC;

	var source,xsource;
	var oldrow, oldcol, oldrowB, oldcolB;
	var rowName  = "r" + rowNum;
	var colName  = "c" + colNum;
	var rowNameB = "r" + rowNum +"b";
	var colNameB = "c" + colNum +"b";
	
	if (selectR != -1 && selectC != -1) {
		oldrow  = "r" + selectR;
		oldcol  = "c" + selectC;
		oldrowB = "r" + selectR + "b";
		oldcolB = "c" + selectC + "b";
	// trimmed version
		//document[oldrow].src  = bar_off.src;
		//document[oldcol].src  = bar_off.src;
		document[oldrowB].src = bar_off.src;
		document[oldcolB].src = bar_off.src;
	}

	// trimmed version
	//document[rowName].src  = bar_off.src;
	//document[colName].src  = bar_off.src;
	document[rowNameB].src = bar_flash.src;
	document[colNameB].src = bar_flash.src;

	source = "full_" + ((rowNum-1)*3 + colNum) + ".src";
	//	slowlink check and load image if nec.
	if (eval(source) == "") { 
		slowlinkwait = true;
		// the onload handler to check is that of the img "show" not the full_*
		//eval("full_" + ((rowNum-1)*3 + colNum) + ".onload = slowloaddone;"); // handler call w/o () IE4/not implem. error
		document['show'].onload = slowloaddone;
		slowsrc = "full_" + ((rowNum-1)*3 + colNum) + "_url";
		eval(source = slowsrc);		
	}

	if (eval(source).indexOf('white') == -1) {	// whitetransp.gif  for blank images
		document['show'].src = eval(source);
		if (jschk && (textmode == 0)) {
			showInfo(rowNum,colNum);
		}
		xsource = eval("xl_" + ((rowNum-1)*3 + colNum));
		if (xsource.indexOf('NULL') == -1) {
			magIsavail();
			enlargeHTML = xsource;
		} else {
			magNotavail();
			enlargeHTML = "";
		}
	} else {
		SKIP_AHEAD = true;
	}
	selectR = rowNum;
	selectC = colNum;
}


function waitforload() {	// start slide show 
   if(jschk) { // JS 1.2 is require - otherwise simple, no text mode
	if (playmode == 0) { 
//		if (blah.indexOf('MSIE')==-1) {
//			document.captureEvents(Event.MOUSEMOVE);
//		}
//		document.onmousemove=update;
		delay_1_ID = setTimeout("delay_1()",1000);
	} else {
		clearTimeout(startSlideID);
	}
   } else {
   
	formFeed();
	// dirty print of error notice...
	var r = c = 0; // row and column

	var errtxt = new Array (74,97,118,97,83,99,114,105,112,116,32,49,46,50,32,82,101,113,117,105,114,101,100,10,32,32,32,32,42,32,83,105,109,112,108,101,32,77,111,100,101,32,42,10,32,32,83,101,108,101,99,116,32,116,104,117,109,98,110,97,105,108,32,111,114,32,10,80,114,101,115,115,32,103,114,101,101,110,32,80,108,97,121,32,66,117,116,116,111,110,0);

	for (i=0; i < errtxt.length; i++) {
		if (errtxt[i] == 0) {
			break;
		} else if (errtxt[i] == 10) {
			r++;
			c = 0;
		} else {
			target = 'lcd' + r + 'c' + c;
			source = fileprefix + errtxt[i] + filesuffix;
			document[target].src  = source;
			c++;
		}
	}
	killtimers();
	stopDisplay();
	playmode = 1;
	document['playbuttons'].src = eval("p1_1_1_" + playmode + ".src");
   }
}


function delay_1() {
	if (slowlinkwait) {
		killtimers();
		dots = dots + ".";
		window.status = "chargement en cours..." + dots ;
		delay_1_ID = setTimeout("delay_1()",250);
		return;
	}
	delay_1_ID = 0;
	delay_2_ID = setTimeout("delay_2()", 1000);
}

function delay_2() {
	delay_2_ID = 0;
	delay_3_ID = setTimeout("delay_3()", 1000);
}

function delay_3() {
	delay_3_ID = 0;
	delay_4_ID = setTimeout("delay_4()", 1000);
}

function delay_4() {
	delay_4_ID = 0;
	delay_5_ID = setTimeout("delay_5()", 2000);
}

function delay_5() {
	delay_5_ID = 0;
	clearTimeout("startSlideID");
	startSlideID = setTimeout("ShowNextSlide()",1000);
}

function killtimers() {
	clearTimeout(delay_1_ID);
	clearTimeout(delay_2_ID);
	clearTimeout(delay_3_ID);
	clearTimeout(delay_4_ID);
	clearTimeout(delay_5_ID);
	clearTimeout(startSlideID);
}

/*function update(event)
{
	var delaycount = 1;

	killtimers();

	if (blah.indexOf('MSIE')==-1) {
		mx = event.pageX;
		my = event.pageY;
	
	} else {
		mx = window.event.clientX;
		my = window.event.clientY;
	
	}
	if(isNaN(mx))
	{
		mx=0;
		my=0;
	}

	window.status = " ";

	if (playmode == 0 && loopmode != 2) {
		while ( delaycount < (delayLinks - 1) && eval("delay_" + delaycount + "_ID == 0") ) {
			delaycount++;
		}
		startSlideID = setTimeout("ShowNextSlide()",( (delayLinks - delaycount) * 1000) );
		window.status = "curseur actif";
	} else if (playmode == 0) {
		ShowNextSlide();
	}
}
*/

function ShowNextSlide() {
	window.status = "";
	clearTimeout("startSlideID");

	if (CURRENT_SLIDE > NUM_OF_SLIDES) {
		CURRENT_SLIDE = 1;
	
		loopSlideShow();
		if (allpages == 0) {
			if (((browseMODE == 1 || browseMODE == 3) && currString == "xHALTx") ||
			     (browseMODE == 0 || browseMODE == 2)) { 
				if (browseMODE != 0) NEXT_PAGE= NEXT_PAGE + "?" + browseMODE;
				parent.galerie_tr.location = NEXT_PAGE;	// MODIFIE POUR CADRES	MODIFIE POUR CADRES
				return;
			} else {
				CURRENT_SLIDE = NUM_OF_SLIDES + 1;
				clearTimeout("startSlideID");
				startSlideID = setTimeout("ShowNextSlide()",500);
				return;
			}
		}
	}
	window.status = "Affichage vue " + CURRENT_SLIDE;
	var imageID = IMAGE_PREFIX + CURRENT_SLIDE;
	sliderow    = (Math.ceil(CURRENT_SLIDE / maxcols));
	slidenum = CURRENT_SLIDE;
	slidecolumn = (Math.ceil(slidenum %= maxcols));

	if (slidecolumn == 0) {
		slidecolumn = 3;
	}

	doShow2(sliderow,slidecolumn);
	CURRENT_SLIDE++;

	if (loopmode == 2) {
		playstop();
	} else {
		if (SKIP_AHEAD) {
			SKIP_AHEAD = false;
			ShowNextSlide();
		} else {
			delay_1_ID = setTimeout("delay_1()",1000);
		}
	}
}

function loopSlideShow() {
	if (loopmode == 0 || loopmode == 2) {
		allpages = 0;
	} else if (loopmode == 1) {
		allpages = -1;
	}
}

function selectSlide() {

}

function slowloaddone() {
	slowlinkwait = false;
	dots = "";
}

