
// parse URL for _GET values
var iCurrentTreeID = iOtherTreeID = 0;
var iPrev, iNext;
var strCurrentTreeName = '';
var strSort = strLastSort = 'LibraryID';
var strVersion = 5;
var iRealTime = 0;
var indexLinks = Array();
var bSearching = false;
var rightOffset = 10;
if (ReadCookie('legend') == '') WriteCookie('legend',true);
var legendOpen = ReadCookie('legend');
 if (legendOpen == 'true') rightOffset = 420;


var aTmpValues = self.location.href.split('?');
if (aTmpValues.length > 1) {
    var strGetValues = aTmpValues[1];
    var aGetValues = strGetValues.split('&');
    for (i=0; i < aGetValues.length; ++i) {
    	var aGet = aGetValues[i].split('=');
    	
    	if (aGet[0] == 'tree')
    		iCurrentTreeID = aGet[1];
    		
    	if (aGet[0] == 'sort')
    		strSort = aGet[1];
		
		if (aGet[0] == 'version')
			strVersion = aGet[1];
			
		if (aGet[0] == 'rt')
            iRealTime = aGet[1];
    }
}
// add tree to _GET when sort form is changed only if tree != 0
var strTreeGET = '';
if (iCurrentTreeID != 0)
	strTreeGET = '&Tree='+iCurrentTreeID;

function doClick(which, el) {	
	if (savEvtTime - dcAt <= 0) return false;	// preempt if DC occurred after original click.
	FilterTypes(el, true);
}

var lastDblClick;
function doDoubleClick(which, el) {
	var d = new Date();
	dcAt = d.getTime();
	if (savTO != null) {
		clearTimeout( savTO );	// Clear pending Click  
		savTO = null;
	}
	
	thisDblClick = 'num' + parseInt(el);	
	eval (thisDblClick + ' = true; ');
	
	if (thisDblClick != lastDblClick) {
		var type = parseInt(el);
		var state = false;
		TypeFilter(type);
		lastDblClick = thisDblClick;
	} else {
		var type = 0;
		var state = true;	
		lastDblClick = 'num0';
	}	
	
	for (p=1; p <= 6; ++p) {
		if (p != type) {
			var c = 'num' + p;
			eval (c + ' = ' + state);
			TypeFilter(p);
		}
	}
}

// slide panel function
function fShowPanels(i,variationName,numPolygons) {
	sp_variations.showPanel(i);
	document.getElementById('cur_var_name').innerHTML = variationName; 
	document.getElementById('cur_var_tris').innerHTML = numPolygons;	
}

// keystroke detection
function addListener(a,b,c,d){if(a.addEventListener){a.addEventListener(b,c,d);return true;}else if(a.attachEvent){var e=a.attachEvent("on"+b,c);return e;}else{alert("Handler could not be attached");}}
function bind(a,b,c,d){return window.addListener(a,b,function(){d.apply(c,arguments)});}
function handleKeystroke(evt) {             
	if( !evt ) evt = window.event;
	var asc = !evt.keyCode ? (!evt.which ? evt.charCode : evt.which) : evt.keyCode;
	var chr = String.fromCharCode(asc).toLowerCase();
	for (var i in this) {
		if (asc == i) {
			this[i](evt);
			break;
		}
	}
}

function cancelEvent(evt) {
	evt.cancelBubble = true;
	evt.returnValue = false;
	if (evt.preventDefault) evt.preventDefault();
	if (evt.stopPropagation) evt.stopPropagation();
	return false;
}

var keyMap = new Array();
var ARROW_LEFT = 37;
var ARROW_UP   = 38;
var ARROW_RIGHT = 39;
var ARROW_DOWN = 40;
var PAGE_UP = 33;
var PAGE_DOWN = 34;
var TAB = 9;
var ENTER = 13;
var SPACEBAR = 32;

keyMap[ARROW_LEFT] = arrowLeft;
keyMap[ARROW_UP] = arrowUp;
keyMap[ARROW_RIGHT] = arrowRight;
keyMap[ARROW_DOWN] = arrowDown;
keyMap[PAGE_UP] = pageUp;
keyMap[PAGE_DOWN] = pageDown;
keyMap[TAB] = Tab;
keyMap[ENTER] = Enter;
keyMap[SPACEBAR] = Spacebar;

function arrowLeft(evt) {
//	sp_variations.showPreviousPanel();

	iPrevCell = (sp_variations.currentPanel.id.substring(10,sp_variations.currentPanel.id.length)) - 1;
	if (iPrevCell < 0) iPrevCell = 0;
	onClickFunc = String(document.getElementById('var_' + iPrevCell).onclick);
	iStart = onClickFunc.indexOf('fShowPanels');
	leftFunc = onClickFunc.substring(iStart, onClickFunc.length - 1);
	eval(leftFunc);
}
function arrowRight(evt) {
//	sp_variations.showNextPanel();

	iNextCell = (sp_variations.currentPanel.id.substring(10,sp_variations.currentPanel.id.length))
	iNextCell++;
	
	if (document.getElementById('var_' + iNextCell)) {
		onClickFunc = String(document.getElementById('var_' + iNextCell).onclick);
		iStart = onClickFunc.indexOf('fShowPanels');
		rightFunc = onClickFunc.substring(iStart, onClickFunc.length - 1);
		eval(rightFunc);
	}
}

function arrowUp(evt) {
	cancelEvent(evt);
	var iPrev = iCurrentTreeID;
	var elOffset = 0;
	var j;	
	
	for (i=1; i < indexLinks.length; ++i) {
		if (i > 0 && indexLinks[i-1].className != 'subset' && indexLinks[i-1].className != 'divider')
			elOffset = elOffset + indexLinks[i-1].offsetHeight;
		else if (i > 1 && indexLinks[i-1].className == 'divider') 
			elOffset = elOffset + indexLinks[i-1].scrollHeight + 13;
		if (indexLinks[i].id == iCurrentTreeID) {
			j = i-1;			
			break;
		}
	}
	if (strSort == 'Name' || strSort == 'ScientificName')
		elOffset = elOffset - indexLinks[i-1].scrollHeight;

	while (j >= 0 && (indexLinks[j].className == 'divider' || indexLinks[j].className == 'subset')) j--;
	if (j > -1) {
		iPrev = indexLinks[j];
	
		var getTree = new ajaxObject('get_tree.php', processTree);
			getTree.update('tree='+parseInt(iPrev.id)+'&version='+strVersion+'&rt='+iRealTime+'&js=1');
	
		SelectNewRow(iCurrentTreeID,iPrev);
		iCurrentTreeID = iPrev.id;
		
		if (elOffset <= document.getElementById('roll_list').scrollTop)
			document.getElementById(iCurrentTreeID).scrollIntoView(true);
	}
}

function arrowDown(evt) {
	cancelEvent(evt);
	var iNext = iCurrentTreeID;
	var elOffset = indexLinks[0].scrollHeight;
	var k = 0;
			
	for (i=0; i < (indexLinks.length - 1); ++i) {
		if (i < indexLinks.length && indexLinks[i+1].className != 'subset' && indexLinks[i+1].className != 'divider')
			elOffset = elOffset + indexLinks[i+1].offsetHeight;
		else if (indexLinks[i+1].className == 'divider') 
			elOffset = elOffset + indexLinks[i+1].scrollHeight + 13;
		if (indexLinks[i].id == iCurrentTreeID) {
			k = i+1;				
			break;
		}
	}
	
	if (k < indexLinks.length) {
		while (indexLinks[k].className == 'divider' || indexLinks[k].className == 'subset') k++;
		iNext = indexLinks[k];
		var getTree = new ajaxObject('get_tree.php', processTree);
			getTree.update('tree='+parseInt(iNext.id)+'&version='+strVersion+'&rt='+iRealTime+'&js=1');
	
		SelectNewRow(iCurrentTreeID,iNext);
		iCurrentTreeID = iNext.id;
		
		if (elOffset >= (document.getElementById('roll_list').scrollTop + document.getElementById('roll_list').offsetHeight))	
			document.getElementById(iCurrentTreeID).scrollIntoView(false);
	}
}

function pageUp(evt) {
	cancelEvent(evt);
	var categories = Array();
	var foundCurrentTree = false;
	for (i=0; i < indexLinks.length; ++i) {
		if (indexLinks[i].className == 'subset')
			categories.push(i);
			
		if (indexLinks[i].id == iCurrentTreeID && j!=0) {
			var k = 1;
			if (categories.length > 1)
				k = categories[categories.length - 1];
			
			if (indexLinks[k+1].id == iCurrentTreeID && categories.length > 1) 
				k = categories[categories.length - 2];
			
			var getTree = new ajaxObject('get_tree.php', processTree);
				getTree.update('tree='+indexLinks[k+1].id+'&version='+strVersion+'&rt='+iRealTime+'&js=1');
				
			document.getElementById(indexLinks[k-1].id).scrollIntoView(true);
			SelectNewRow(iCurrentTreeID,indexLinks[k+1].id);
			iCurrentTreeID = indexLinks[k+1].id;

			break;
		}	
	}
}

function pageDown(evt) {
	cancelEvent(evt);
	var foundCurrentTree = false;
	for (i=0; i < indexLinks.length; ++i) {
		if (foundCurrentTree == false) {
			if (indexLinks[i].id == iCurrentTreeID)
				foundCurrentTree = true;
		} else {
			if (indexLinks[i].className == 'subset') {				
				var getTree = new ajaxObject('get_tree.php', processTree);
					getTree.update('tree='+indexLinks[i+1].id+'&version='+strVersion+'&rt='+iRealTime+'&js=1');
				
				document.getElementById(indexLinks[i-1].id).scrollIntoView(true);
				SelectNewRow(iCurrentTreeID,indexLinks[i+1].id);
				
				iCurrentTreeID = indexLinks[i+1].id;				
				
				break;
			}
		}
	}
}

function Enter(evt) {
	cancelEvent(evt);
	if (bSearching == true && ie) {
		AjaxSearch();
	} else if (bSearching == false && strVersion == 5) {
		elDivId = sp_variations.getCurrentPanel().id;
		var el = document.getElementById(elDivId).firstChild;
		startLytebox(el.id, el.href, el.title, el.rel);
	}
	
	return false;
}

function SetIframeFocus() {
    if (ie) {
        var myIframe = document.frames['lbIframe'];
        var myField = document.frames['lbIframe'].document.getElementById('VideoPlayer');
    } else {
        var myIframe = document.getElementById('lbIframe');
        var myField = document.getElementById('lbIframe').contentDocument.getElementById('VideoPlayer');
    }
    myIframe.focus();
    myField.focus();
    
    clearTimeout(s);
}

function Spacebar(evt) {
    if (document.getElementById('view_rotate') != undefined) {    
    	initLytebox();         
    	var viewRotate = document.getElementById('view_rotate');    	
		var objLink = document.createElement('a');
		objLink.setAttribute('href',viewRotate.href);
		objLink.setAttribute('title',viewRotate.title);
		objLink.setAttribute('rel', viewRotate.rel);
		objLink.setAttribute('rev',viewRotate.rev);
		myLytebox.start(objLink, false, true);
		
        s = setTimeout("SetIframeFocus()", 250);

		
        return false;
    }	
}

function Tab(evt) {
    if (document.getElementById('change_version_link') != undefined) {
        var linkData = document.getElementById('change_version_link');
        iCurrentTreeID = linkData.rev;
        iOtherTreeID = linkData.rel; 
    }

	if (strVersion != 5) {
		ChangeVersion(5);
		document.version_form.version_select[0].checked = true;
	} else {
		ChangeVersion(4);
		document.version_form.version_select[1].checked = true;
	}
}


// Add the keydown listener to the document object for global capture
bind(document, 'keydown', keyMap, handleKeystroke);


// highlight newly selected row
function SelectNewRow(curID,newID) {
	if (document.getElementById(curID)) {
		// remove class from old selected item
		var oldItem = document.getElementById(curID);
		var basicClass = oldItem.className.split(' current')[0];
		oldItem.className = basicClass;			

		oldItem.onmouseover = function() {this.style.cursor = 'pointer';};	
	}
	
	if (newID) {
		if (document.getElementById(newID)) newID = document.getElementById(newID);
		// make this the new selected item
		newID.className = newID.className + ' current';
		newID.onmouseover = function() {newID.style.cursor = 'default';};	
	}
}


function ResizeLegend() {

	if (legendOpen == 'true') {
		if (rightOffset > 10) {
			rightOffset = rightOffset - 10;
			document.getElementById('legendbox').style.width = rightOffset + 'px';		
			setTimeout("ResizeLegend()", 5);
		} else { 
			legendOpen = 'false'; 
			WriteCookie('legend','false',168);
		}
	} else {
		if (rightOffset < 420) {
			rightOffset = rightOffset + 10;
			document.getElementById('legendbox').style.width = rightOffset + 'px';		
			setTimeout("ResizeLegend()", 5);
		} else {
			legendOpen = 'true';
			WriteCookie('legend','true',168);
		}
	}
}


function ChangeVersion(ver) {
	strVersion = ver;	

	if (document.sort_form.sort_select.value == 'Search') AjaxSearch();
	else {
		var getIndex = new ajaxObject('tree_index.php');
			getIndex.update('tree='+iOtherTreeID+'&version='+ver+'&sort='+document.sort_form.sort_select.value+'&js=1');
			getIndex.callback = function(responseText, responseStatus) {
				processIndex(responseText, responseStatus);
			}
	}
	
	if (iCurrentTreeID != 0 && document.getElementById(iCurrentTreeID) != undefined) {
		
		var getTree = new ajaxObject('get_tree.php', processTree);
			getTree.update('tree='+iOtherTreeID+'&version='+ver+'&rt='+iRealTime+'&js=1');
			getTree.callback = function(responseText, responseStatus) {
				if (responseStatus==200) {	
					processTree(responseText, responseStatus);
				}
			};
			
        var iTempID = iCurrentTreeID;
        iCurrentTreeID = iOtherTreeID;
        iOtherTreeID = iTempID; 
	}
}

function EnforceRealTime() {
    if (document.getElementById('realtime_cb').checked == true)
        iRealTime = 1;
    else {
        iRealTime = 0;
    }
	var getTree = new ajaxObject('get_tree.php', processTree);
		getTree.update('tree='+iCurrentTreeID+'&version='+strVersion+'&rt='+iRealTime+'&js=1');
}


// Events for AJAX loaded index list
function IndexEvents() {
	
	indexLinks = document.getElementById('roll_list').getElementsByTagName('LI');
	var i=0;
	while (i<indexLinks.length) {
		indexLinks[i].style.cursor = 'pointer';
		if (indexLinks[i].className != 'subset')
		{		
			if (indexLinks[i].className != 'divider')
			{					
				indexLinks[i].onclick = function()
				{
					// highlight newly selected row
					SelectNewRow(iCurrentTreeID,this);
					iCurrentTreeID = parseInt(this.id);
					var getTree = new ajaxObject('get_tree.php', processTree);
						getTree.update('tree='+iCurrentTreeID+'&version='+strVersion+'&sort='+strSort+'&rt='+iRealTime+'&js=1');	
				};
				
				if (indexLinks[i].className.indexOf('current') != -1)
					indexLinks[i].onmouseover = function() { this.style.cursor = 'default'; };
				
			} else {	// divider
				indexLinks[i].onclick = function() { FilterTypes(this.id, false); };
			}
		}
		i++;
	}
	
	if (iCurrentTreeID != 0 && document.getElementById(iCurrentTreeID)) {
	//	if (escape(document.getElementById(iCurrentTreeID).firstChild.childNodes[1].nodeValue) == strCurrentTreeName || strCurrentTreeName == '' || strSort == 'ScientificName') {
 	//	}
			SelectNewRow(iOtherTreeID,iCurrentTreeID);
            s = setTimeout('document.getElementById(iCurrentTreeID).scrollIntoView(true); clearTimeout(s);',10);       	

	} else {
		newID = null;
		if (document.getElementById(iOtherTreeID)) {
			newID = iOtherTreeID;
			iCurrentTreeID = iOtherTreeID;
		}
		if (document.getElementById(iCurrentTreeID)) {
			document.getElementById(iCurrentTreeID).scrollIntoView(true);
			SelectNewRow(iOtherTreeID,newID);
		}
	}	
}

// Define the sliding panels globally, so they can be reloaded
var sp_variations;
function initSlidingPanels() { sp_variations = new Spry.Widget.SlidingPanels("variations", { fps: 90 }); }

function LoadedTreeEvents() {
	var thumbLinks = document.getElementById('variations_cell').getElementsByTagName('IMG');
	for (i = 0; i < thumbLinks.length; ++i) {
		thumbLinks[i].onmouseover = function() { AlphaFocus(this.id, 'varThumb'); };
		thumbLinks[i].style.cursor ="pointer";	
    	if (ie){	// load initial transparency values for rollOvers
			thumbLinks[i].style.filter ="progid:DXImageTransform.Microsoft.Alpha(opacity=100)";
		}			
	}

	var detailImgs = getElementsByClass('thumb_link', 'A');
	for (i = 0; i < detailImgs.length; ++i) {
		if (detailImgs[i].parentNode.id != 'description') {
			var childImg;
			
			if (detailImgs[i].parentNode.id.indexOf('variation') == -1) {
				detailImgs[i].onmouseover = function()
				{ 		
					childImg = document.getElementById(this.id).childNodes[1];
					if (ie) childImg = document.getElementById(this.id).firstChild;			
					childImg.style.borderColor = '#CCC'; 
					
					this.onmouseout = function() { childImg.style.borderColor = '#FFF'; };			
				};
			}
			
			if (detailImgs[i].rel.indexOf('lytebox') != -1) {
				detailImgs[i].onclick = function() {
					var el_id = this.id;
					var el = document.getElementById(el_id);
					startLytebox(el_id, el.href, el.title, el.rel);
					
					return false;
				}
			} else if (detailImgs[i].rel.indexOf('lyteframe') != -1) {
				detailImgs[i].onmousedown = function() { initLytebox(); };
				detailImgs[i].onclick = function() {
					startLytebox(this, this.href, this.title, this.rel, this.rev);
					return false;	
				}
			}
		}
	}
	
	document.getElementById('legendbox').style.width = rightOffset + 'px';
	if (ie) document.getElementById('legendbox').style.filter ="progid:DXImageTransform.Microsoft.Alpha(opacity=80)";
		
	initSlidingPanels();
}


// AJAX process functions
function AjaxSearch() {
    if (document.search_form.search.value.length < 4) {
		if (document.search_form.search.value.length == 0) {
			var getIndex = new ajaxObject('tree_index.php');
				getIndex.update('tree='+iCurrentTreeID+'&version='+strVersion+'&sort='+strLastSort+'&js=1');
				getIndex.callback = function(responseText, responseStatus) {
					processIndex(responseText, responseStatus);
					var s=0;
					while (document.getElementById('sort_select')[s].value != strLastSort) s++;

					document.getElementById('sort_select')[s].selected = true;
				}
		} else alert("Sorry, your search must be longer than 3 characters");
	} else {
	
		if (document.sort_form.sort_select.length <= 4) {
			var elOptNew = document.createElement('option');
			elOptNew.text = 'Search';
			elOptNew.value = 'Search';
			
			try { document.sort_form.sort_select.add(elOptNew, null); // standards compliant; doesn't work in IE
			} catch(ex) { document.sort_form.sort_select.add(elOptNew); }// IE only
		}
	  	document.sort_form.sort_select[4].selected = true;
	  
		searchValue = document.getElementById('search').value;
		var getSearch = new ajaxObject('tree_index.php', processIndex);						   	
			getSearch.update('version='+strVersion+'&search='+searchValue, 'POST');
			getSearch.callback = function(responseText, responseStatus)
			{
				processIndex(responseText, responseStatus);
				if (document.getElementById(iCurrentTreeID))
				{
					SelectNewRow(0,iCurrentTreeID);
					if (iCurrentTreeID != 0) document.getElementById(iCurrentTreeID).scrollIntoView(false);	
				}
			}
	}	
}

function processIndex(responseText, responseStatus) {
  if (responseStatus==200) {
	document.getElementById('ajax_master').innerHTML=responseText ;
	IndexEvents();
	// NextPrevLinks();	
  } else {
    alert(responseStatus + ' -- Error Processing Request');
  }
}


function processTree(responseText, responseStatus) {
  if (responseStatus==200) {
  	document.getElementById('ajax_detail').style.visibility = 'visible';
  	document.getElementById('ajax_detail').innerHTML=responseText;
  	if (iCurrentTreeID != 0 && iCurrentTreeID != 'ViewAll') {
  		LoadedTreeEvents();
  		
  		// google analytics tracking
  		var pageTracker = _gat._getTracker("UA-15712251-1");
        pageTracker._addIgnoredRef('sklipowicz.com');
  		var trackURL = "/trees/?tree="+iCurrentTreeID+"&version="+strVersion;
  		pageTracker._trackPageview(trackURL);
  		
		} else {
        	document.getElementById('legendbox').style.width = rightOffset + 'px';
        	if (ie) document.getElementById('legendbox').style.filter ="progid:DXImageTransform.Microsoft.Alpha(opacity=80)";
        	
        	if (document.getElementById('overview_player') != undefined) {
                // swfobject flash player
                var flashvars = {};
                var params = {};
                params.wmode = "transparent";
                params.allowFullScreen = "true";
                var attributes = {};
                attributes.id = "VideoPlayer";
                attributes.name = "VideoPlayer";
                swfobject.embedSWF("http://www.speedtree.com/trees/flash/overview.swf", "overview_player", "704", "420", "9.0.0", false, flashvars, params, attributes);
            }
        }
  } else {
    alert(responseStatus + ' -- Error Processing Request');
  }
}

// this function calls AJAX from the flash splash screen
function ViewAll() {
	var getTree = new ajaxObject('get_tree.php');
		getTree.update('tree=ViewAll');
		getTree.callback = function(responseText, responseStatus) {
			if (responseStatus==200)
			{
				document.getElementById('ajax_detail').style.visibility = 'visible';
				document.getElementById('ajax_detail').innerHTML=responseText;
				
				var categoryLinks = document.getElementById('category_links').getElementsByTagName("A");
				for (i = 0; i < categoryLinks.length; ++i)
				{
					categoryLinks[i].onclick = function() { document.getElementById(this.title).scrollIntoView(true); };	
				}
				var treeCells = getElementsByClass('cell_link');
				for (i = 0; i < treeCells.length; ++i)
				{
					treeCells[i].onmouseover = function() { CellHover(this.parentNode.parentNode.id); };
					treeCells[i].onclick = function() { 
						iCurrentTreeID = parseInt(this.id);
						var getTree = new ajaxObject('get_tree.php', processTree);
						getTree.update('tree='+parseInt(this.id)+'&js=1');
					};
				}
				
				if (ie6) ReplacePngs();
			}
		}
}

// Event handlers
function TreeBrowserEvents() {
	var getIndex = new ajaxObject('tree_index.php');
	getIndex.update('tree='+iCurrentTreeID+'&version='+strVersion+'&sort='+strSort+'&js=1');
	getIndex.callback = function(responseText, responseStatus) {
		processIndex(responseText, responseStatus);
		if (iCurrentTreeID == 'ViewAll') ViewAll();
		else if (iCurrentTreeID != 0) document.getElementById(iCurrentTreeID).scrollIntoView(false);	
	}

	if (document.getElementById('realtime_cb') != undefined) {
        document.getElementById('realtime_cb').onclick = EnforceRealTime;
	    if (document.getElementById('realtime_cb').checked == true)
            iRealTime = 1;        
    }
    
	var getTree = new ajaxObject('get_tree.php', processTree);
		getTree.update('tree='+iCurrentTreeID+'&version='+strVersion+'&rt='+iRealTime+'&js=1');
		
	document.getElementById('sort_select').onchange = function() {
		if (this.value == 'Search') AjaxSearch();
		else {
			var getIndex = new ajaxObject('tree_index.php');
				getIndex.update('tree='+iCurrentTreeID+'&version='+strVersion+'&sort='+this.value+'&js=1');
				getIndex.callback = function(responseText, responseStatus) {
					processIndex(responseText, responseStatus);
				}
			
			if (document.getElementById(iCurrentTreeID)) {
				document.getElementById(iCurrentTreeID).scrollIntoView(true);
			}
		}
		document.getElementById('search_form').focus();
		strSort = strLastSort = this.value;		
	};
	
	if (document.version_form != undefined) {
		strVersion = 5;
		document.version_form.version_select[0].checked = true;
		for (i=0; i<document.version_form.version_select.length; i++) {
			document.version_form.version_select[i].onmouseup = function() {
                Tab(); 
                return false; 
            };
		}
	}

	document.getElementById('search').onkeypress = function(event) {
		if (ie) event = window.event;
		if (event.keyCode==13){
			AjaxSearch();
			return false;
		}
	};
	
	document.getElementById('search').onfocus = function() { bSearching = true; };
	document.getElementById('search').onblur = function() { bSearching = false; };
	document.getElementById('search_button').onclick = function() { AjaxSearch(); return false; };
	
	if (strSort == 'CategoryID') 
		document.getElementById('sort_select')[2].selected = true;
		
	document.getElementById('sort_form').style.display = 'block';
	document.getElementById('version_form').style.display = 'block';
	document.getElementById('search_form').style.display = 'block';	
	
	if (ie7 || ie6) document.styleSheets[0].addRule(".subset ul li:first-child", "margin-top: -7px");
//	AddLoadEvent(function() { disableSelection('tree_cell', 'ajax_master', 'index_header');  RemoveLoading(); });
}

PreLoadEvent(TreeBrowserEvents);
