function showMenu(menuNumber, eventObj) {
	//alert(eventObj);
	hideAllMenus();
	var menuId = 'menu' + menuNumber;
	if(changeObjectVisibility(menuId, 'visible')) {
	var menuTitle = getStyleObject('menuTitle' + menuNumber);
	menuTitle.backgroundColor = '#ff9900';
	eventObj.cancelBubble = true;
	return true;
	} else {
	return false;
	}
}

var numMenus = 3;
function hideAllMenus() {
	for(counter = 1; counter <= numMenus; counter++) {
		changeObjectVisibility('menu' + counter, 'hidden');
		var menuTitle = getStyleObject('menuTitle' + counter);
		menuTitle.backgroundColor = '#000000';
	}
}
// ************************
// layer utility routines *
// ************************
function getStyleObject(objectId) {
    // cross-browser function to get an object's style object given its id
    if(document.getElementById && document.getElementById(objectId)) {
		// W3C DOM
		return document.getElementById(objectId).style;
    } else if (document.all && document.all(objectId)) {
		// MSIE 4 DOM
		return document.all(objectId).style;
    } else if (document.layers && document.layers[objectId]) {
		// NN 4 DOM.. note: this won't find nested layers
		return document.layers[objectId];
    } else {
		return false;
    }
} // getStyleObject

function changeObjectVisibility(objectId, newVisibility) {
    // get a reference to the cross-browser style object and make sure the object exists
    var styleObject = getStyleObject(objectId);
    if(styleObject) {
		styleObject.visibility = newVisibility;
		return true;
    } else {
		// we couldn't find the object, so we can't change its visibility
		return false;
    }
} // changeObjectVisibility

function moveObject(objectId, newXCoordinate, newYCoordinate) {
    // get a reference to the cross-browser style object and make sure the object exists
    var styleObject = getStyleObject(objectId);
    if(styleObject) {
		styleObject.left = newXCoordinate;
		styleObject.top = newYCoordinate;
		return true;
    } else {
		// we couldn't find the object, so we can't very well move it
		return false;
    }
} // moveObject
	
document.onclick = hideAllMenus;

// you need the <body onload="setMaxLength()"
function setMaxLength()
{
        var x = document.getElementsByTagName('textarea');
        var counter = document.createElement('div');
        counter.className = 'counter';
        for (var i=0;i<x.length;i++)
        {
                if (x[i].getAttribute('maxlength'))
                {
                        var counterClone = counter.cloneNode(true);
                        counterClone.relatedElement = x[i];
                        counterClone.innerHTML = '<FONT style="font-size:12px;">Number of characters: <span>0</span>/'+x[i].getAttribute('maxlength')+'</FONT><br/><i style="font-size:10px;">(Only the first '+x[i].getAttribute('maxlength')+' characters<BR/>will be transmitted)</i>';
                        x[i].parentNode.insertBefore(counterClone,x[i].nextSibling);
                        x[i].relatedElement = counterClone.getElementsByTagName('span')[0];

                        x[i].onkeyup = x[i].onchange = checkMaxLength;
                        x[i].onkeyup();
                }
        }
}

function checkMaxLength()
{
        var maxLength = this.getAttribute('maxlength');
        var currentLength = this.value.length;
        if (currentLength > maxLength)
                this.relatedElement.className = 'toomuch';
        else
                this.relatedElement.className = '';
        this.relatedElement.firstChild.nodeValue = currentLength;
        // not innerHTML
}
