// JavaScript Document

// Simple show/hide toggle for a single div
function toggleVisible(divID) {
	// Get div to display
	var div = document.getElementById(divID);
	if (div == null) return; // Can't find element!
	else div.style.display = (div.style.display=='none')? '':'none';
} // End function toggleVisible()


// Update donation total
function updateTotal() {
	var dollars = 0;
	var cents = 0;
	var tmp;

	// Dollars
	if (tmp = parseInt2(document.getElementById('whereNeeded').value)) dollars += tmp;
	if (tmp = parseInt2(document.getElementById('ruthHouse').value)) dollars += tmp;
	if (tmp = parseInt2(document.getElementById('eduCenter').value)) dollars += tmp;
	if (tmp = parseInt2(document.getElementById('menShelter').value)) dollars += tmp;
	if (tmp = parseInt2(document.getElementById('truckRepl').value)) dollars += tmp;

	// Cents
	if (tmp = parseInt2(document.getElementById('whereNeededCent').value)) cents += tmp;
	if (tmp = parseInt2(document.getElementById('ruthHouseCent').value)) cents += tmp;
	if (tmp = parseInt2(document.getElementById('eduCenterCent').value)) cents += tmp;
	if (tmp = parseInt2(document.getElementById('menShelterCent').value)) cents += tmp;
	if (tmp = parseInt2(document.getElementById('truckReplCent').value)) cents += tmp;
	if (cents > 100) { // Overflow
		dollars += Math.floor(cents/100);
		cents %= 100;
	}
	if (cents < 10) cents = '0'+cents;

	// Display total
	document.getElementById('totalDonation').innerHTML = '$'+dollars+'.'+cents;
} // End function updateTotal()

// parseInt() does some really strange stuff if the value has leading zeros, so this will trim it first
function parseInt2(value) {
	value = value.replace(/^[0]+/,'',value);
	return parseInt(value);
} // End function parseInt2()



var currMenus = new Array();
var currMenu  = null;

function showMenu(aTagID, subMenuID, xShift, yShift) {
	var submenu = document.getElementById(subMenuID);
	if(subMenuID != null && submenu!=undefined) {
		if(currMenus[subMenuID]==undefined) {
			currMenus[subMenuID] = new Array();
			currMenus[subMenuID]['isVisible'] = false;
			currMenus[subMenuID]['isClosing'] = false;
			currMenus[subMenuID]['timer'] = false;
		}
		if(currMenus[subMenuID]['isVisible']==false) {
			if(currMenu!=null) {
				currMenus[currMenu]['isClosing'] = true;
				hideMenu(currMenu);
			}
			currMenus[subMenuID]['isVisible'] = true;
			var submenu = document.getElementById(subMenuID);
			var aTag = document.getElementById(aTagID);
			submenu.style.marginTop = yShift+'px';
			submenu.style.marginLeft = (aTag.offsetLeft+xShift)+'px';
			submenu.style.display = 'block';
			currMenu = subMenuID;
			
			writeToErrorLog('Showing ('+subMenuID+')');
		}
		if(currMenus[subMenuID]['isClosing']==true) {
			currMenus[subMenuID]['isClosing'] = false;
			clearTimeout(currMenus[subMenuID]['timer']);
			
			writeToErrorLog('Cancel Close ('+subMenuID+')');
		}
	}
}

function hideMenu(subMenuID) {
	if(currMenus[subMenuID]!=undefined) {
		if(currMenus[subMenuID]['isClosing']==true) {

		} else {
			currMenus[subMenuID]['isClosing'] = true;
			currMenus[subMenuID]['timer'] = setTimeout("_hideMenu('"+subMenuID+"')",100);
			writeToErrorLog('<span style="color:red;">Hiding ('+subMenuID+')</span>');
		}
	}
}

function _hideMenu(subMenuID) {
	if(currMenus[subMenuID]!=undefined) {
		if(currMenus[subMenuID]['isClosing']==true) {
			var submenu = document.getElementById(subMenuID);
			currMenus[subMenuID]['isVisible'] = false;
			submenu.style.display = "none";
			writeToErrorLog('<span style="color:red;">Menu Hidden ('+subMenuID+')</span>');
			subMenuID = null;
		}
	}
}

var count = 1;
function writeToErrorLog(msg) {
	var errorConsole = document.getElementById('site_errorConsole');
	errorConsole.innerHTML = count+') '+msg+'<br />'+errorConsole.innerHTML;
	count++;
}
