YAHOO.namespace("version");
		
/**
*	Toggle the issues classes on or off, i.e show or hide using display none/block
* http://www.lutsr.nl/yui/toggle/
*/
YAHOO.version.toggle = function(e, o){
	id = o.cmstii;
	
	if(YAHOO.util.Dom.getStyle('tmp-issues-id-' + id, 'display') == 'block'){
		YAHOO.util.Dom.get('tmp-state-id-' + id).innerHTML = ' [expand] ';
		YAHOO.util.Dom.setStyle('tmp-issues-id-' + id, 'display', 'none');
	}
	else{
		YAHOO.util.Dom.get('tmp-state-id-' + id).innerHTML = ' [collapse] ';
		YAHOO.util.Dom.setStyle('tmp-issues-id-' + id, 'display', 'block');
	}
	
	// stop default link to be followed if any
	YAHOO.util.Event.preventDefault(e);
}

/**
*	Initializes everything
*	@param String tag The tags we are using, for eg li, div, p
*	@param String cmstiiClass the class for the cmstii
*	@param String issuesClass the class for the issues
*/
YAHOO.version.init = function(tag, cmstiiClass, issuesClass){
	// get all the nodes
	var cmstiiNodes = YAHOO.util.Selector.query(tag + '.' + cmstiiClass);
	var issuesNodes = YAHOO.util.Selector.query(tag + '.' + issuesClass);
	
	// check if the cmstiiNodes and issuesNodes are same length 
	if(cmstiiNodes.length == issuesNodes.length){
	
		// set CSS cursor pointer for cmstii class
		YAHOO.util.Dom.setStyle(cmstiiNodes, 'cursor', 'pointer');
		
		// hide the issues class by setting display none for issues
		YAHOO.util.Dom.setStyle(issuesNodes, 'display', 'none');
		
		// assign temporary ids for the cmstiis for easier DOM manipulation afterwards
		for(var i=0;i<cmstiiNodes.length;i++){
			cmstiiNodes[i].id = 'tmp-cmstii-id-' + i;
			// add the [+] sign here
			cmstiiNodes[i].innerHTML =  '<div class = "cmstiiver">' + cmstiiNodes[i].innerHTML + '</div>' 
			+ '<span id="tmp-state-id-' + i + '"> [expand] </span>';
			// add the onclick listener to that cmstii to show the issues
			YAHOO.util.Event.addListener('tmp-cmstii-id-' + i, 'click', YAHOO.version.toggle, {"cmstii" : i});
		}
		
		// set ids for issues
		for(var i=0;i<issuesNodes.length;i++){
			issuesNodes[i].id = 'tmp-issues-id-' + i;
		}
	}
	else{
		// show an error message if length of cmstii and issues not same
		alert('Number of cmstii and issues incorrect');
	}
}

YAHOO.util.Event.addListener(window, 'load', function(){
	YAHOO.version.init('div', 'version-cmstii', 'version-issues');
});