//<!--
	var sExpandedLetter = "";
	var sBgColor="#FFFFFF";
	var oColoredLetters;

	var oReq;
	var iIndiId4ThumbRow;
	var oDisplayedDiv;
	var sFirstActiveLetter;
	var sLastSurname;
	var iLastChunkNo;
	var iLastMaxChunkSize;
	var iLastThisChunkSize;
	var iLastNumChunks;

	// Get the absolute left coordinate of the object
	function absoluteLeft(oNode)
	{
		var oCurrentNode = oNode;
		var iLeft = 0;
		while (oCurrentNode.tagName != "BODY")
		{
			iLeft += oCurrentNode.offsetLeft;
			//status = "oCurrentNode.offsetParent.id = " + oCurrentNode.offsetParent.id + 
			//		", oCurrentNode.id = " + oCurrentNode.id +
			//		", oCurrentNode.tagName = " + oCurrentNode.tagName;
			oCurrentNode = oCurrentNode.offsetParent;
		}
		return iLeft;
	}

	// Get the absolute top coordinate of the object
	function absoluteTop(oNode)
	{
		var oCurrentNode = oNode;
		var iTop = 0;
		while (oCurrentNode.tagName != "BODY")
		{
			iTop += oCurrentNode.offsetTop;
			oCurrentNode = oCurrentNode.offsetParent;
		}
		return iTop;
	}

	function createRequest()
	{
		try
		{
			oReq = new ActiveXObject("Msxml2.XMLHTTP");

		}
		catch (e)
		{
			try
			{
				//alert ("In createRequest: before creating ActiveXObject");
				oReq = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch (oc)
			{
				oReq = null;
			}
		}

		if (!oReq && typeof XMLHttpRequest != "undefined")
		{
			oReq = new XMLHttpRequest();
		}
		//alert ("In createRequest oReq = " + oReq);
	}
	
	function getListOfSurnames(sUserPrefix, sLetter, sForWhom)
	{
		if (sForWhom == "4user")
		{
			parent.frames["topFrame"].document.Settings.Index1stLetter.value = sLetter;
		}
		
		createRequest(); //Stupid IE cannot reuse an existing request
		var sURL = "../cgi-bin/getlistofsurnames.pl";
		if (oReq != null)
		{
			//alert ("In getListOfSurnames: oReq is not null!");
			oReq.onreadystatechange = displaySurnames;
			//alert ("After oReq.onreadystatechange");
			oReq.open("GET", sURL + "?UserPrefix=" + sUserPrefix + "&Letter2Show=" + sLetter  + "&ForWhom=" + sForWhom, true);
			//alert ("After oReq.open" + sURL + "?UserPrefix=" + sUserPrefix + "&Letter2Show=" + sLetter  + "&ForWhom=" + sForWhom);
			oReq.send("");
			//alert ("After oReq.send");

			// Change CGIStuff
			if (sForWhom == "4user")
			{
				document.getElementById("CGIStuff").value = "?UserPrefix=" + sUserPrefix + "&DispType=Index&Index1stLetter=" + sLetter;
			}
		}
		else
		{
			alert ("In getListOfSurnames: oReq  is null");
		}
	}

	function displaySurnames()
	{
		if (oReq.readyState == 4)
		{
			if (oReq.status == 200)
			{
				document.getElementById("Surnames").innerHTML = oReq.responseText;
			}
			else
			{
				alert("There was a problem with XMLHTTP request: " + oReq.statusText);
			}
		}
	}

	function getNames4Surname(sUserPrefix, sSurname, sForWhom, iChunkNo, iMaxChunkSize, iThisChunkSize, iNumChunks)
	{
		//Hide all Links2Chunks DIVs
		hideAllDivs();
		document.getElementById("Surnames").style.cursor = "wait";

		sLastSurname = sSurname;
		iLastChunkNo = iChunkNo;
		iLastMaxChunkSize = iMaxChunkSize;
		iLastThisChunkSize = iThisChunkSize;
		iLastNumChunks = iNumChunks;

		//alert ("sLastSurname = " + sLastSurname);

		createRequest(); //Stupid IE cannot reuse an existing request
		var sURL = "../cgi-bin/getnames4surname.pl";
		if (oReq != null)
		{
			oReq.onreadystatechange = displayNames;
			//alert ("Before oReq.open: URL = " + "?UserPrefix=" + sUserPrefix + "&Surname=" + sSurname + "&ForWhom=" + sForWhom);
			oReq.open("GET", sURL + "?UserPrefix=" + sUserPrefix + "&Surname=" + sSurname + "&ForWhom=" + sForWhom  + "&ChunkNo=" + iChunkNo + 
									"&MaxChunkSize=" + iMaxChunkSize + "&ThisChunkSize=" + iThisChunkSize + "&NumChunks=" + iNumChunks, true);
			//alert ("After oReq.open");
			oReq.send("");
		
			
			if (sForWhom == "4user")
			{
				// Change CGIStuff
				document.getElementById("CGIStuff").value = "?UserPrefix=" + sUserPrefix + "&DispType=Index&Surname=" + sSurname;
			}
		}
		else
		{
			alert ("In getListOfSurnames: oReq  is null");
		}
		
}

	function displayNames()
	{
		//alert ("oReq.readyState = " + oReq.readyState);
		if (oReq.readyState == 4)
		{
			if (oReq.status == 200)
			{
				//alert ("oReq.responseText = " + oReq.responseText);
				document.getElementById("Surnames").innerHTML = oReq.responseText;
				if (document.getElementById("VCRLinks"))
				{
					document.getElementById("VCRLinks").style.width = document.getElementById("TableOfNames").offsetWidth;
					document.getElementById("VCRLinks").style.textAlign = 'center';
					//document.getElementById("VCRLinks").style.border = '0.2cm groove pink';
				}
			}
			else
			{
				alert("There was a problem with XMLHTTP request: " + oReq.statusText);
			}
		}
		document.getElementById("Surnames").style.cursor = "default";
	}

	function getLittleThumbRow(sUserPrefix, iIndiId, sIndiName, sForAdmin)
	{
		iIndiId4ThumbRow = iIndiId;

		// If the little thumb row is already open, close it
		if (document.getElementById("PicRow_" + iIndiId4ThumbRow).style.display == "block")
		{
			document.getElementById("PicRow_" + iIndiId4ThumbRow).style.display = "none";
			return;
		}

		var iClientW;
		if (document.body.clientLeft > 0)
				// This test was added for Mozilla
		{
			iClientW = document.body.offsetWidth - 2 * document.body.clientLeft; 
					// This is better than document.body.clientWidth, because the latter changes when the vertical scrollbar appears
		}
		else // Probably, this is Mozilla
		{
			iClientW = 750;
		}
		// alert ("(document.body.offsetWidth, iClientW, iClientH) = " + document.body.offsetWidth + ", " + iClientW + ", " + iClientH);

		createRequest(); //Stupid IE cannot reuse an existing request
		var sURL = "../cgi-bin/littlethumbrow.pl";
		if (oReq != null)
		{
			oReq.onreadystatechange = displayLittleThumbRow;
			//alert ("Before oReq.open: URL = " + "?UserPrefix=" + sUserPrefix + "&IndiId=" + iIndiId + "&ForWhom=" + sForAdmin);
			oReq.open("GET", sURL + "?UserPrefix=" + sUserPrefix + "&IndiId=" + iIndiId + "&WinW=" + iClientW + "&IndiName=" + sIndiName + "&ForAdmin=" + sForAdmin, true);
			//alert ("After oReq.open");
			oReq.send("");
		}
		else
		{
			alert ("In getListOfSurnames: oReq  is null");
		}
	}

	function displayLittleThumbRow()
	{
		//alert ("oReq.readyState = " + oReq.readyState);
		if (oReq.readyState == 4)
		{
			if (oReq.status == 200)
			{
				//alert ("oReq.responseText = " + oReq.responseText);
				document.getElementById("PicRow_" + iIndiId4ThumbRow).innerHTML = oReq.responseText;
				document.getElementById("PicRow_" + iIndiId4ThumbRow).style.display = "block";
			}
			else
			{
				alert("There was a problem with XMLHTTP request: " + oReq.statusText);
			}
		}
	}

	function overLetters(oSelSpan)
	{
		oSelSpan.style.borderColor ="blue";
		oColoredLetters = oSelSpan;
	}

	function outOfLetters(oSelSpan, sBgColor)
	{
		//alert ("In outOfLetters!");
		oSelSpan.style.borderColor = sBgColor;
	}

	function submitForm(sLetters)
	{
		//alert ("In submitForm(): sLetters = " + sLetters);

		// Discolor previously colored letters
		oColoredLetters.style.borderColor = sBgColor;
		// Collapse the previously expanded letter if any
		if (sExpandedLetter != "" && document.getElementById("WholeLevel2_" + sExpandedLetter) )
		{
			document.getElementById("WholeLevel2_" + sExpandedLetter).style.display = "none";
		}
		PutIndex(sLetters, '');
	}


	function showLinks2Chunks(iSurnNo)
	{
		hideAllDivs();

		var oItem = document.getElementById('N' + iSurnNo);
		with (document.getElementById("Links2Chunks_" + iSurnNo))
		{
			style.left = absoluteLeft(oItem)  + 0.2 * oItem.offsetWidth;
			style.top = absoluteTop(oItem)  + 1.2 * oItem.offsetHeight;
			style.visibility = "visible";
		}
	}
	function hideAllDivs()
	{
		var oSurnames = document.getElementById('Surnames');
		var aDivs = oSurnames.getElementsByTagName("DIV");
		//alert (aDivs.length)
		// Loop over all divs
		var i;
		for (i = 0; i < aDivs.length; i++)
		{
			aDivs[i].style.visibility = "hidden";
		}
	}






//-->

