var sspeed = 150;	// number of pixels to move each time
var timer = 1;		// number of milliseconds to wait before next movement

var activeIds = new Array();
var divCounter = 1;
var accordian_divs = new Array();
var isSubjectPage = false;

var subjectDiv = null;
var categoryId = null;

function showHideContent(e,inputId) {
	if(!inputId)inputId = this.id;
	inputId = inputId + '';
	var numericId = inputId.replace(/[^0-9]/g,'');
	if (activeIds[accordian_divs[numericId-1]] != numericId) {
		activeIds[accordian_divs[numericId-1]] = numericId;
		slideContent(numericId,sspeed,true);
	}
	else {
		var header_obj = document.getElementById('accordian_header_' + numericId);
		var header_obj_div = header_obj.getElementsByTagName('DIV')[0].getElementsByTagName('DIV')[0];
		if (header_obj_div.className == 'accordian_header_off2' || header_obj_div.className == 'accordian_header_on2') {
			// don't do anything if there is no actual content to slide
		}
		else
			slideContent(numericId,-sspeed,false);
	}
}

function slideContent(inputId,direction,firsttime) {
	if (inputId == activeIds[accordian_divs[inputId-1]]) {
		// hide all others
		if (firsttime) {
			accordianId = accordian_divs[inputId-1];
			for (var i=1; i<divCounter; i++) {
				if (accordian_divs[i-1] == accordianId) {
					var header_obj = document.getElementById('accordian_header_' + i);
					var header_obj_div = header_obj.getElementsByTagName('DIV')[0].getElementsByTagName('DIV')[0];
					if (header_obj_div.className == 'accordian_header_off2' || header_obj_div.className == 'accordian_header_on2')
						header_obj_div.className = 'accordian_header_off2';
					else
						header_obj_div.className = 'accordian_header_off';
					var obj = document.getElementById('accordian_details_' + i);		
					obj.style.height = '1px';
					obj.style.display ='none';
				}
			}
		}
		var header_obj = document.getElementById('accordian_header_' + inputId);
		var header_obj_div = header_obj.getElementsByTagName('DIV')[0].getElementsByTagName('DIV')[0];

		if (header_obj_div.className == 'accordian_header_off2' || header_obj_div.className == 'accordian_header_on2')
			header_obj_div.className = 'accordian_header_on2';
		else
			header_obj_div.className = 'accordian_header_on';

		var contentDiv = document.getElementById('accordian_details_' + inputId);
		contentDiv.style.display='block';
		contentDiv.style.visibility = 'visible';
					
		var obj =document.getElementById('accordian_details_' + inputId);
		var contentObj = document.getElementById('accordian_details_c' + inputId);	

		if (isSubjectPage)
			clearCategories(contentObj);
	
		height = obj.clientHeight;
		height = height + direction;
		
		rerunFunction = true;
		if (height>contentObj.offsetHeight) {
			height = contentObj.offsetHeight;
			rerunFunction = false;
		}
		if (height < 0) {
			height = 1;
			rerunFunction = false;
			if (header_obj_div.className == 'accordian_header_off2' || header_obj_div.className == 'accordian_header_on2')
				header_obj_div.className = 'accordian_header_off2';
			else
				header_obj_div.className = 'accordian_header_off';
			obj.style.display ='none';
			activeIds[accordian_divs[inputId-1]] = false;
		}
		obj.style.height = height + 'px';
		var topPos = height - contentObj.offsetHeight;
		if (topPos>0) topPos=0;
		contentObj.style.top = topPos + 'px';
		if(rerunFunction) {
			setTimeout('slideContent(' + inputId + ',' + direction + ')',timer);
		}
	}
}

function setupDetailDivs(subjectPage) {
	var cur_accordian = 0;
	var all_divs = document.getElementsByTagName('DIV');
	for (var i=0;i<all_divs.length; i++) {
		if(all_divs[i].className=='accordian_div') {
			cur_accordian++;
			activeIds[cur_accordian] = false;
			var curdiv = all_divs[i];
			var divs = curdiv.getElementsByTagName('DIV');
			for(var no=0;no<divs.length;no++){
				if(divs[no].className=='accordian_header') {
					accordian_divs.push(cur_accordian);
					divs[no].onselectstart = function () {return false};
					
					divs[no].onclick = showHideContent;
//					divs[no].onmouseover = showHideContent;
					divs[no].id = 'accordian_header_'+divCounter;
					var content = divs[no].nextSibling;
					while(content && content.tagName!='DIV'){
						content = content.nextSibling;
					}
					content.id = 'accordian_details_'+divCounter;	
					contentDiv = content.getElementsByTagName('DIV')[0];
					contentDiv.style.top = 0 - contentDiv.offsetHeight + 'px'; 	
					contentDiv.className='accordian_details_content';
					contentDiv.id = 'accordian_details_c' + divCounter;
					content.style.display='none';
					content.style.height='1px';
					divCounter++;
				}		
			}	
		}
	}
	
	// display a random one from each accordian
	isSubjectPage = subjectPage;
	if (isSubjectPage)
		sspeed = 6000;

	if (!subjectPage) {
		var start = 0;
		var end = 0;
		for (var i=0; i<cur_accordian; i++) {
			for (var j=start; j<accordian_divs.length; j++) {
				if (accordian_divs[j] == (i+1)) {
					end=j;
				}
			}
			var randomnumber=Math.floor(Math.random()*(end-start+1)) + start + 1;
			showHideContent(null, randomnumber);
			start = end+1;
		}
	}
	else {
		if (subjectDiv != null) {
			showHideContent(null, subjectDiv);
		}
		if (categoryId != null) {
			subCategoryClicked(document.getElementById("catdiv" + categoryId));
		}
	}
}

function clearCategories(holder_div) {
	var divs = holder_div.getElementsByTagName('DIV');
	for(var no=0;no<divs.length;no++) {
		if (divs[no].className == 'details_on')
			divs[no].className = 'details_off';
	}
}

function subCategoryClicked(e) {
	clearCategories(e.parentNode);
	e.className = 'details_on';
}

