/**
 * @author serenade
 */

function initPage(){
	assignEvent('click', '#tab-container li',
							applyToThis, null,
							hideAllOtherLayouts, null);
							
	assignEvent('load', '#chat_output',
							applyToThis, null,
							scrollToBottom, null);
}

function hideAllOtherLayouts(eElement, e, extraInfo){
	//STATE MAXIMUM NUMBER OF LAYOUTS HERE PLEASE
	var maxElements = 12;
	
	
	
	//alert("eElement: " + eElement + "\n" + "ID: " + eElement.id);
	
	var ID = eElement.id;
	var elementNumber1 = ID.charAt(13);
	var elementNumber2 = ID.charAt(14);
	var elementNumber = elementNumber1 + elementNumber2;
	//alert("the number is " + elementNumber);
	elementNumber *= 1; //convert it to an actual number (ie int)
	var layoutID = "layout-" + elementNumber;
	//alert(layoutID);

	
	//First, put the active class on the newly active are
	addClassToElement(document.getElementById(layoutID), "active");
	
	
	var otherLayoutID;
	//Then, start removal of all "active" classes from all other layouts
	//using the number that was ripped as a basis for comparison
	if(elementNumber != 1){
		for(var x=1; x<elementNumber; x++){
			otherLayoutID = "layout-" + x;
			removeClassFromElement(document.getElementById(otherLayoutID), "active");
		}
	}
	if(elementNumber !=maxElements){
		for(var x=elementNumber+1; x<=maxElements; x++){
			otherLayoutID = "layout-" + x;
			removeClassFromElement(document.getElementById(otherLayoutID), "active");
		}
	}
}

function addClassToElement(eElement, nameOfClass){
	if ( eElement.className.lastIndexOf(nameOfClass) != -1 ) return;

	if ( eElement.className.length > 0 )
	{
		eElement.className = trimString(eElement.className) + " " + nameOfClass;
	}
	else
	{
		eElement.className = nameOfClass;
	}
}

function removeClassFromElement(eElement, nameOfClass){
	if ( eElement.className.lastIndexOf(nameOfClass) == -1 ) return;
	
	eElement.className = deleteString(eElement.className, nameOfClass);
}

function scrollToBottom(eElement, e, extraInfo){
	var objDiv = eElement;
	objDiv.scrollTop = objDiv.scrollHeight;
}



addEvent(window, 'unload', purgeAllEvents);
addEvent(window, 'load', initPage);
