/* grove.js - bridgegrove Javascript functions */
icon_image = new Image();
icon_image.src = "favicon.ico";

/* Image/rollover processing */	
function m_over(parm_name) {
	document[parm_name].src = "images/menu_link1.gif";
}
function m_out(parm_name) {
	document[parm_name].src = "images/menu_link.gif";
}

/* Animation */
function animateCSS(element, id, numFrames, interval, objAnimation) {
	var frame = 0;
	var time = 0;
	var hInterval = setInterval(displayNextFrame, interval);

	function displayNextFrame()	{
		if (frame >= numFrames)	{
			clearInterval(hInterval);
			if (id == "web") {
				animate("java", 10);
			} else if (id == "java") {
				animate("db", 10);
			}
			return;
		}
		for (var cssprop in objAnimation) {
			element.style[cssprop] = objAnimation[cssprop](frame,time);
		}
		++frame;
		time += interval;
	}
}
function getElement(id) {
	var element=null;
	if (document.getElementById) {
		element = document.getElementById(id);
	} else if (document.all) {
		element = document.all[id];
	} 
	return element;
}
function animate(id, offset) {
	var element = getElement(id);
	if (element) {
		animateCSS( element
				  , id
				  , 16	// frames
				  , 35	// interval
				  , { top: function(frame,time) { return -60+frame*4 + "px"; },
					  left: function(frame,time) { return offset + "px"; } }
				  );
		element.style["z-index"] = 1;
		element.style["visibility"] = "visible";
		element.style["color"] = "#996699";
	}
}

/* Forms processing */
function trim(str) {
	for( var i=0; i<str.length && str.charAt(i)==' '; i++ )	{}
	for( var j=str.length-1; j>i && str.charAt(j)==' '; j-- ) {} 
	return str.substring(i,j+1);
}
function chkForm(frm) {
	var rvalue=true;
	for (var i=0; i<frm.length && rvalue; i++) {
		rvalue = reqText( frm.elements[i] );
	}
	return rvalue;
}
function reqText(txt) {
	var rvalue=true;
	if (trim(txt.value) == "")
	{
		if (txt.desc)
			alert( "Please enter "+txt.desc+"." );
		else
			alert( "Please enter "+txt.name+"." );
		txt.focus();
		rvalue=false;
	}
	return rvalue;
}

