var offset =0;
var glossary_terms = new Array;
var list = null;

function initGlossary()
{
	if(!document.getElementById || !document.getElementById('dl-glossary')) return;
	
	var dts = document.getElementById('dl-glossary').getElementsByTagName("dt");
	
	//for nav
	var prevletter = "";
	var curletter  = "";
	var newHTML    = "";
	var divider    = "";
	
	//back to top link
	var dd = document.createElement("dd");
	dd.innerHTML = '<p><br /><a href="#top">back to top</a><br /></p>';	

  	
	//loop over images
	for (var i = 0; i < dts.length; i++)
	{	
		
		curletter = dts[i].innerHTML.substring(0, 1).toLowerCase();

		
		//sometimes a <a> tag at start so we should get the text of that
		if(curletter == '<') 
		{
			curletter= dts[i].getElementsByTagName("a")[0].innerHTML.substring(0, 1).toLowerCase();
			glossary_terms[i] = dts[i].getElementsByTagName("a")[0].innerHTML.toLowerCase();
		}
		else
		{
			glossary_terms[i] = dts[i].innerHTML.toLowerCase();
		}
		
		if((curletter != '<') && (curletter != prevletter))
		{
			
			//newHTML += divider + '<a href="#' + curletter + '">' + curletter + '</a>';
			newHTML += divider + '<a href="#' + curletter + '" onclick="ScrollWin.scroll(\'' + i + '\'); return false;">' + curletter + '</a>';
			divider = ' | ';
			
			//dts[i].setAttribute('name', curletter);
			dts[i].innerHTML = '<a name="' + curletter + '"></a>' + dts[i].innerHTML;


			if(prevletter != '')
			{
				//add back to top link with new dd
				var dd2 = dd.cloneNode(true);	
				document.getElementById('dl-glossary').insertBefore(dd2,dts[i]);
				offset++;
			}
		}
		

			dts[i].setAttribute ('id','dt'+i);
			dts[i].innerHTML = dts[i].innerHTML + ' <a name="a-dt'+i + ' "></a>';
            
		prevletter = curletter;
	}
	
	document.getElementById('glossary-nav').innerHTML = '<p>' + newHTML + '</p>';

}




function findit(field)
{
        //var selobj = document.getElementById(sel);
        var d = document.getElementById("display");
        var len = glossary_terms.length;
        
        if(field.value.length > 2)
        {
        		var first = false;
				d.innerHTML = '';
	
                var reg = new RegExp(field.value,"i");
                var tmp = null;
                var count = 0;
                var msg = "";
                var br = '';
                for(var i = 0;i < len;i++)
                {
                        if(reg.test(glossary_terms[i]))
                        {
                        //	alert(len);
                                //d.childNodes[0].nodeValue = msg;
                                d.innerHTML += br + '<a href="#" onclick="ScrollWin.scroll(\'' + i + '\'); return false;">'+glossary_terms[i]+'</a>';
                                
                                if(!first)
                                {
                                	ScrollWin.scroll(i);
                                	first = true;
                                }
                                //br = '<br />';
                        }
                } 
        }
        /**else if(list && len > selobj.options.length)
        {
                selobj.selectedIndex = 0;
                fillit(sel,field);
        }**/
}


/** NOTHING OF INTEREST BEYOND HERE **/


function init() {
       // quit if this function has already been called
       if (arguments.callee.done) return;

       // flag this function so we don't do the same thing twice
       arguments.callee.done = true;

       // create the "page loaded" message
       //var text = document.createTextNode("Page loaded!");
       //var message = document.getElementById("message");
       //message.appendChild(text);
       initGlossary();
   };

   /* for Mozilla */
   if (document.addEventListener) {
       document.addEventListener("DOMContentLoaded", init, null);
   }

   /* for Internet Explorer */
   /*@cc_on @*/
   /*@if (@_win32)
   /* document.write("<script defer src=ie_onload.js><"+"/script>"); */
   /*@end @*/

   /* for other browsers */
   window.onload = init;
   
   
   
   
