// JavaScript Document
function hideEl(el) {
theUL = el.parentNode;
theUL.className = theUL.className=='open'?'closed':'open';
}


function item_clicked(evt){
	var child = Event.element(evt);
	alert('The child node with id=' + child.id + ' was clicked');
	Event.stop(evt); //avoid another call related to 'parent_node' itself
}

function menuOver(el) {
	// action, object, class1, class2
	jscss("add",el,"menuOver");
}
function menuOut (el) {
	// action, object, class1, class2
	jscss("remove",el,"menuOver");
}

function jscss(a,o,c1,c2)
{
  switch (a){
    case 'add':
	   if(!jscss('check',o,c1)){o.className+=o.className?' '+c1:c1;}
    break;
    case 'remove':
	  var rep=o.className.match(' '+c1)?' '+c1:c1;
      o.className=o.className.replace(rep,'');
    break;
    case 'check':
      return new RegExp('\\b'+c1+'\\b').test(o.className)
    break;
  }
}

function bookmark() {
	title = document.title;
	url = document.location.href;
	if (window.sidebar){
		window.sidebar.addPanel(title, url,"");
	}
	else if( document.all ){
		window.external.AddFavorite(url, title);
	}
	else {
		return true;
	}
}

function checkEnter(formId, e){ //e is event object passed from function invocation

	var characterCode; // literal character code will be stored in this variable
	
	if(e && e.which){ //if which property of event object is supported (NN4)
		e = e;
		characterCode = e.which; //character code is contained in NN4's which property
	}
	else{
		e = event;
		characterCode = e.keyCode; //character code is contained in IE's keyCode property
	}
	
	if(characterCode == 13){ //if generated character code is equal to ascii 13 (if enter key)
		var targ;
		if (!e) var e = window.event;
		if (e.target) targ = e.target;
		else if (e.srcElement) targ = e.srcElement;
		if (targ.nodeType == 3) // defeat Safari bug
			targ = targ.parentNode;

		safeSubmit(formId, targ.id);
		
		//document.forms[formId].submit(); //submit the form
		return false;
	}
	else{
		return true;
	}

}

function checkSpace(formId, e){ //e is event object passed from function invocation

	var characterCode; // literal character code will be stored in this variable
	
	if(e && e.which){ //if which property of event object is supported (NN4)
		e = e;
		characterCode = e.which; //character code is contained in NN4's which property
	}
	else{
		e = event;
		characterCode = e.keyCode; //character code is contained in IE's keyCode property
	}
	
	if(characterCode == 32){ //if generated character code is equal to ascii 13 (if enter key)

		safeSubmit(formId);
		//document.forms[formId].submit(); //submit the form
		return false;
	}
	else{
		return true;
	}

}

function checkFields(formId){
	var theform = document.forms[formId];

	for(i=0; i<theform.elements.length; i++){
		var field = theform.elements[i];
		//alert(theform.elements[i].type);
//		var isReq = (field.name.charAt(0)=="*") ? true : false;
//		if(isReq){
		
			if((field.type=="text" || field.type=="textarea" || field.type=="password") && field.value==""){
			alert("Please fill in the '"+field.name + formId+ "' field.");
			setTimeout("document.forms["+formId+"].elements["+i+"].focus()", 10);
			return false;
			}
			
			if(field.type=="select-one" && field.selectedIndex == 0){
			alert("Please select a value for the '"+field.name+ "' field.");
			setTimeout("document.forms["+formId+"].elements["+i+"].focus()", 10);
			return false;
			}
			
			if(field.type=="select-multiple"){	
			Sel=0;
				for(o=0; o<field.options.length; o++){
					if(field.options[o].selected){
					Sel++;
					break;
					}
				}
				if(Sel == 0){
				alert("Please select a value for the '"+field.name+ "' field.");
				setTimeout("document.forms["+formId+"].elements["+i+"].focus()", 10);
				return false;
				}			
			}
			
			if(field.type=="checkbox" || field.type=="radio"){
			var startingIndex = i;
			var Checked = 0;
			var rLength=1;
				while(field.type == theform.elements[i+1].type){
				rLength++;
				i++;
				}
				
				for(g = startingIndex; g < rLength+startingIndex; g++){
					if(theform.elements[g].checked){
					Checked++;
					break;
					}
				}		
				if(Checked == 0){
				i=startingIndex;
				alert("Please select a value for the '"+field.name+ "' "+field.type+" group");
				setTimeout("document.forms["+formId+"].elements["+i+"].focus()", 10);
				return false;
				}
			}
			
//		}//isReq
	  
	}//for
	return true;
}
