//++++++++++++++++++++++++++++++++++++
// YUI VERSIONTRACKER 
// 9/25/2007 - Edwart Visser
//
// detects YUI modules installed
// and shows version numbers of
// installed modules
//
// REQUIRES: yahoo-dom-event.js
//
//++++++++++++++++++++++++++++++++++++

initVersionTracker = function() {
	YAHOO.namespace("versionTracker");
	YAHOO.versionTracker.modules = ["yahoo","animation","autocomplete","calendar","button","connection","container","container_core","datasource","datatable","dom","dragdrop","event","history","logger","menu","slider","tabview","treeview"];

	for(var i=0; i<YAHOO.versionTracker.modules.length; i++) {
		if(YAHOO.env.getVersion(YAHOO.versionTracker.modules[i])) { 
			YAHOO.versionTracker[YAHOO.versionTracker.modules[i]] = true;
		}
	}
	traceModuleStatus();
}

traceModuleStatus = function() {
	var insertPoint = document.getElementById("yuiModules");
	var modulesList = document.createElement("UL");
	YAHOO.util.Dom.addClass(modulesList,"moduleList");
	for(var i=0; i<YAHOO.versionTracker.modules.length; i++){
		var modulesListItem = document.createElement("LI");
		
		if(YAHOO.versionTracker[YAHOO.versionTracker.modules[i]] === true) {
			var moduleVersion = YAHOO.env.getVersion(YAHOO.versionTracker.modules[i]);
			var modulesListItemStatus = ": installed (" + moduleVersion.version + ")";
			YAHOO.util.Dom.addClass(modulesListItem,"installed");
		} else {
			var modulesListItemStatus = ": not installed";
		}

		var modulesListItemText = document.createTextNode(YAHOO.versionTracker.modules[i] + modulesListItemStatus);

		modulesListItem.appendChild(modulesListItemText);
		modulesList.appendChild(modulesListItem);		
	}
	insertPoint.parentNode.appendChild(modulesList);
}

YAHOO.util.Event.addListener(window,"load",initVersionTracker);
