function fnShowMenu(strName) {
	if (document.getElementById) {
		var a = document.getElementsByTagName('ul');
		for (var i = 0; a.length > i; i++) {
			if ((a[i].clasName == "dropDownMenu") && (a[i].id != strName)) {
				a[i].style.display = 'none';
			} //end if
		} //end for

		var o = document.getElementById(strName);
		if (o) {
			with (o.style) {
				strMenuName = strName.substring(2, strName.length);
				left = ((fnFindPosX(document.getElementById('td' + strMenuName)) - 37));		
				top = ((fnFindPosY(document.getElementById('td' + strMenuName)) + 24));						
				display = 'block';
			} //end with
		} //end if
	} //end if
} //fnShowMenu

function fnHideMenu(strName) {
	var o = document.getElementById(strName);
	o.style.display = 'none';
} //fnHideMenu

function fnFindPosY(obj) {	
	var intY = 0;
	if (obj.offsetParent) {
		while (obj.offsetParent) {
			intY += obj.offsetTop
			obj = obj.offsetParent;
		} //end while
	} else if (obj.y) {
		intY += obj.y;
	} //end if
	return intY;
} //fnFindPosY

function fnFindPosX(obj) {	
	var intX = 0;
	if (obj.offsetParent) {
		while (obj.offsetParent) {
			intX += obj.offsetLeft
			obj = obj.offsetParent;
		} //end while
	} else if (obj.x) {
		intX += obj.x;
	} //end if
	return intX;
} //fnFindPosX

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_validateForm() { //v4.0
  var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
  for (i=0; i<(args.length-2); i+=3) {
   test=args[i+2]; val=MM_findObj(args[i]);
    if (val) { nm=val.id; if ((val=val.value)!="") {
      if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
        if (p<1 || p==(val.length-1)) errors+='- '+nm+' must contain an e-mail address.\n';
      } else if (test!='R') {
        if (isNaN(val)) errors+='- '+nm+' must contain a number.\n';
        if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
          min=test.substring(8,p); max=test.substring(p+1);
          if (val<min || max<val) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
    } } } else if (test.charAt(0) == 'R') errors += '- '+nm+' is required.\n'; }
  } if (errors) alert('The following error(s) occurred:\n\n'+errors);
  document.MM_returnValue = (errors == '');
}
