// JavaScript Document
// Kristy O'Neal - 25 Apr 2003

// main function - called from page onLoad event
function dispSidebar() {

	//get browser information
	var browserInfo = getBrowserInfo();
	
	//check for older browsers and completely skip the rest of this function
	if ((browserInfo.indexOf("Netscape") != -1) && 
		(browserInfo.charAt(browserInfo.length-1) <= 4)) {
		// if browser is Netscape 4 or below, don't execute the rest of this function
		return;
	}
	//if browser is IE on MAC, skip rest of function
	if ((browserInfo.indexOf("Microsoft") != -1) && !(browserInfo.indexOf("Win32") != -1)) { // IE on Mac
		return;
	}	
	
	//determine type of page
	var pageType = getPageType();
	
	// load images
	var imgArray = getImages(pageType);
	
	// determine the height of the table
	var tblHeight = getHeight(browserInfo);
	
	// calculate the number of images to display
	var numImg = Math.floor(tblHeight/110);
	
	// create display string
	var curImg = 0;
	var imgStr = "";
	imgStr = "<table width='140'>";
	for (var i = 0; i < numImg; i++)
	{
		if (curImg >= imgArray.length) { curImg = 0; }
		imgStr = imgStr + "<tr><td><br><img src='" + imgArray[curImg].src + "'><br></td></tr>";
		curImg++;
	}
	imgStr = imgStr + "</table>";
	
	// set display of images
	setColumnValue(browserInfo, imgStr);
	
	return;
		
}

// return string indicating name and version of browser
function getBrowserInfo() {

	var bStr = navigator.platform + "." + navigator.appName + parseInt(navigator.appVersion);
	return bStr;
}

// get page type from URL
function getPageType() {

	//initialize variables
	var url = document.URL;
	var posStart = 0; var posEnd = 0;
	var returnStr = "";
	
	// look for position of the first / after main directory
	posStart = url.indexOf("/", url.indexOf("rtp/lasp/", 0));
	
	// look for next /
	// put together, this will indicate the first-level subdiretory for the page
	posEnd = url.indexOf("/", posStart + 1);
	posStart = posEnd;
	if (url.indexOf("intra",0) != -1) {
		posEnd = url.indexOf("/", posStart + 1);
		posStart = posEnd;
	}
	posEnd = url.indexOf("/", posStart + 1);

	if (posEnd == -1) {
		returnStr = "main";
	} else {
		returnStr = url.substring(posStart + 1, posEnd);
	}

	return returnStr;
}

// get list of images and load
function getImages(dir) {

	// create list of images based on dir value
	switch (dir)
	{
	case "ahts":
		var imgListArray = new Array ("ahts1.jpg", "ahts2.jpg", "ahts3.jpg", "ahts4.jpg", "ahts5.jpg");
		break;
	case "randq":
		var imgListArray = new Array ("randq1.jpg", "randq2.jpg", "randq3.jpg", "randq4.jpg");
		break;
	case "transgenic":
		var imgListArray = new Array ("transgenic1.jpg", "transgenic2.jpg", "transgenic3.jpg", "transgenic4.jpg");
		break;
	case "ahdl":
		var imgListArray = new Array ("ahdl1.jpg", "ahdl2.jpg", "ahdl3.jpg", "ahdl4.jpg");
		break;
	case "cryo":
		var imgListArray = new Array ("cryo1.jpg", "cryo2.jpg", "cryo3.jpg", "cryo4.jpg");
		break;
	case "speed_congenics":
		var imgListArray = new Array ("cryo1.jpg", "cryo2.jpg", "cryo3.jpg", "cryo4.jpg");
		break;
	case "lam":
		//var imgListArray = new Array ("lam1.jpg", "lam1.jpg", "lam1.jpg");
		var imgListArray = new Array ("lam1.jpg", "lam2.jpg", "lam3.jpg");
		break;
	case "phl":
		var n1 = 0;
		var n2 = 0;
		var n3 = 0;
		var n4 = 0;
		n1 = "phl" + parseInt(Math.floor(Math.random() * 7 + 1)) + ".jpg";
		n2 = "phl" + parseInt(Math.floor(Math.random() * 7 + 1)) + ".jpg";
		n3 = "phl" + parseInt(Math.floor(Math.random() * 7 + 1)) + ".jpg";
		n4 = "phl" + parseInt(Math.floor(Math.random() * 7 + 1)) + ".jpg";
		var imgListArray = new Array (n1, n2, n3, n4);
		break;
	case "acuc":
		var imgListArray = new Array ("lam1.jpg", "lam2.jpg", "lam3.jpg");
		break;
	default:
		var imgListArray = new Array ("main1.jpg", "main2.jpg", "main3.jpg");
	}
	
	//create image array and set values
	var imgArray = new Array(imgListArray.length);
	for (var i = 0; i < imgListArray.length; i++) {
		imgArray[i] = new Image(100,100);
		imgArray[i].src = "/rtp/lasp/images/sidebar/" + imgListArray[i];
	}
	
	return imgArray;
}

// determine the height of the main table (method different for different browsers)
function getHeight(bInfo) {

	var h;
	if (bInfo.indexOf("Microsoft") != -1) { // IE
		h = document.all["dataCol"].clientHeight;
	} else { // Netscape 5 and above
		h = document.getElementById("dataCol").offsetHeight
	}
	return h;
}

// set HTML/text for image column (method different for different browsers)
function setColumnValue(bInfo,str)
{
	if (bInfo.indexOf("Microsoft") != -1) { // IE
		if (bInfo.indexOf("Win32") != -1) { // PC
			document.all.imgCol.innerHTML = str + "\n";
		} else { // Mac
			document.getElementById("imgCol").innerHTML = str;
		}
	} else { // Netscape 5 and above
		document.getElementById("imgCol").innerHTML = str;
	}
	return;
}
