document.slideShows = new Array();

function slideShowInit( cntl, img, title, auto ) {
	if (!document.getElementById ){return;}			// dumb browser
	if ( typeof cntl == 'string' ){ cntl = document.getElementById( cntl );}
	if ( typeof cntl != 'object' ){return;}
	cntl.slideImg = document.getElementById(img);
	if ( title ) cntl.slideTitle = document.getElementById(title);
	cntl.slideSrc = new Array();
	cntl.slideTitles = new Array();
	var imgs=cntl.getElementsByTagName('a');
	for (var ix=0; ix<imgs.length; ix++ ) {
		cntl.slideSrc[ix] = imgs[ix].href;
		cntl.slideTitles[ix] = imgs[ix].title;
	}
	if ( window.location.search ){
		var slidePos = window.location.search.substring(1) -0;
	}else{
		var slidePos = Math.ceil( Math.random() * imgs.length);
	}
	document.slideShows.push( cntl );
	var str='<input type="button" name="first" value="First" onclick="setCur( 1, this.form )" /> &nbsp;';
	str += '<input type="button" name="back"  value="Prev." onclick="cngPhoto( -1, this.form )" /> &nbsp;';
	str += '<select name="timer" onchange="setTimer(this);"><option value="0">Manual</option>';
	str += '<option value="5000"> 5 Seconds</option><option value="10000">10 Seconds</option>';
	str += '<option value="20000">20 Seconds</option><option value="60000">60 Seconds</option></select> &nbsp;';
	str += '<input type="text"   name="selPhoto" size="3" value="0" onchange="setCur( this.value, this.form )" /> &nbsp;';
	str += '<input type="button" name="next"  value="Next" onclick="cngPhoto( 1, this.form )" /> &nbsp;';
	str += '<input type="button" name="last"  value="Last" onClick="setCur( 999, this.form )" />';
	cntl.innerHTML = str;
	setCur( slidePos, cntl );
	auto = Number( auto );
	if ( auto > 0 && auto < 5 ) {
		cntl.timer.selectedIndex = auto;
		setTimer( cntl.timer );
	}
}

function setTimer(sel) {
	var cntl = sel.form;
	if (cntl.timeoutID != 0)
		clearInterval(cntl.timeoutID);
	var tval = sel.value;
	if (tval != 0)
		cntl.timeoutID = setInterval(function(){cngPhoto(1,cntl);}, tval);
	else 
		cntl.timeoutID = 0;
}

function cngPhoto( delta, cntl ) {
	val = Number(cntl.selPhoto.value);
	delta = Number( delta );
	return setCur( val+delta, cntl );
}

function setCur( val, cntl ) {
	if ( typeof cntl == 'undefined' ) {
		alert( "setCur - control is undefined");
		return false;
	}
	if ( cntl.slideImg.offsetHeight == 0 )		//	Not currently displayed
		return true;
	if ( isNaN( val )) val = 1;
	if ( val == 999 || val < 1 ) val = cntl.slideSrc.length;
	if ( val > cntl.slideSrc.length ) val = 1;

	cntl.slidePos = val;
	cntl.selPhoto.value = val;
	val--;
	cntl.slideImg.src = cntl.slideSrc[val];
	cntl.slideImg.title = cntl.slideTitles[val];
	if ( cntl.slideTitle ) cntl.slideTitle.innerHTML = cntl.slideTitles[val];
     
	return true;
}

function keydown( e ) {
	if (document.all) {
		e = window.event;
	}
	var kp = e.keyCode;
	if (document.layers)	kp = e.which;
	if ( kp < 33 || kp > 36 )	return true;    // not of interest
	
	for ( var ix=0; ix<document.slideShows.length; ix++ ) {
		var cntl = document.slideShows[ix];
		if ( kp == 33 )	cngPhoto( +1, cntl );		// PgUp
		if ( kp == 34 )	cngPhoto( -1, cntl );		// PgDn
		if ( kp == 35 )	setCur( 999, cntl );		// end
		if ( kp == 36 )	setCur( 1, cntl );			// home
	}
    e.returnValue = false;
    return false;
}
document.onkeydown = keydown;

