var clockTower = {};
clockTower.version = '0.1.0';
clockTower.externalLinks = new Array();
clockTower.initEls = function(){
	var links = document.getElementsByTagName('a');
	clockTower.subNav = document.getElementById('nav2');
	clockTower.topNav = document.getElementById('nav1');
	clockTower.bottomNav = document.getElementById('bottom_nav1');
	clockTower.imageAddLink = document.getElementById('add_image');
	for(i=0; i<links.length; i++){
		if(links[i].className == 'externalLink'){
			clockTower.externalLinks.push(links[i]);
		}
	}
}

clockTower.initBottomNav= function(){
	var links2 = clockTower.bottomNav.getElementsByTagName('a');
	for(i=0; i<links2.length; i++){
		links2[i].onmouseover = clockTower.bottomNavMenu;
		links2[i].onmouseout = clockTower.bottomNavMenuBack;
	}
}

clockTower.initExternals= function(){
	for(i=0; i<clockTower.externalLinks.length; i++){
		clockTower.externalLinks[i].onclick = clockTower.openNewWindow;
	}
}

clockTower.initMainNav = function(){
	var links = clockTower.topNav.getElementsByTagName('a');
	for(i=0; i<links.length; i++){
		links[i].onmouseover = clockTower.subNavMenu;
	}
}

clockTower.initSecondaryNav = function(){
	var lists = clockTower.subNav.getElementsByTagName('ul');
	for(i=0; i<lists.length; i++){
		lists[i].className = 'hidden';
	}
}	

clockTower.initImageAdder = function(){
	clockTower.imageAddLink.onclick = clockTower.addImageFields;
}
	
/*Thanks to Simon Wilson (http://simonwillison.net/) for the addLoadEvent function.*/
clockTower.addLoadEvent = function (func){
	var oldonload = window.onload; 
	if (typeof window.onload != 'function'){ 
		window.onload = func; 
	}else{
		window.onload = function(){
			if (oldonload){
				oldonload();
			} 
			func(); 
		} 
	}
}
	
clockTower.addImageFields = function(){
	fieldsets = document.getElementsByTagName('fieldset');
	for(i=0; i<fieldsets.length; i++){
		if(fieldsets[i].className == 'image_upload_info'){
			newNode = fieldsets[i].cloneNode(true);
			table = clockTower.hideFieldset(fieldsets[i]);
		}
		else{
			continue;
		}
	}
	this.parentNode.parentNode.parentNode.parentNode.appendChild(table);
	this.parentNode.parentNode.parentNode.parentNode.appendChild(newNode);
	this.parentNode.removeChild(this);
	clockTower.imageAddLink = document.getElementById('add_image');
	clockTower.initImageAdder();
}

clockTower.hideFieldset = function(objectFieldset){
	var fieldsetClass = objectFieldset.className;
	var tableObject = document.getElementById(fieldsetClass);
	if(!tableObject){
		var newTable = document.createElement('table');
		var newRow = document.createElement('tr');
		inputEls = objectFieldset.getElementsByTagName('input');
		for(i=0; i<inputEls.length; i++){
			var newDatum = document.createElement('td');
			newDatum.innerHTML = inputEls[i].value;
			newRow.appendChild(newDatum);
		}
		newTable.appendChild(newRow);
		newTable.id = fieldsetClass;
		objectFieldset.className = 'hidden_fieldset';
		return newTable;
	}
	else{
		var newRow = document.createElement('tr');
		inputEls = objectFieldset.getElementsByTagName('input');
		for(i=0; i<inputEls.length; i++){
			var newDatum = document.createElement('td');
			newDatum.innerHTML = inputEls[i].value;
			newRow.appendChild(newDatum);
		}
		tableObject.appendChild(newRow);
		objectFieldset.className = 'hidden_fieldset';
		return tableObject;
	}
}

clockTower.subNavMenu = function(){
	var id = this.id;
	var submenu = document.getElementById('nav2');
	var lists = submenu.getElementsByTagName('ul');
	for(i=0; i<lists.length; i++){
		if(lists[i].title == id){
			lists[i].className = 'visible';
		}
		else if((lists[i].title != id)){
			lists[i].className = 'hidden';
		}
	}
}

clockTower.bottomNavMenu = function(){
	var div = this.parentNode.parentNode;
	div.className = 'bottom_nav_hover';
}

clockTower.bottomNavMenuBack = function(){
	var div = this.parentNode.parentNode;
	div.className = 'bottom_nav';
}

clockTower.openNewWindow = function(){
	var newWindow = window.open(this.href, '_blank');
	newWindow.focus();
	return false;
}
// JavaScript Document