function mustEnter(element, name)
{
   if(element.value == '')
   {
       alert('You must enter ' + name + '.');
       element.focus();
       return true;
   }
   return false;
}

function limitTA(element, limit, msg)
{
  if(element.value.length >= limit)
  {
    alert(msg);
    try { element.value = element.value.substring(0, limit); } catch(e) {}
    return false;
   }
   return true;
}

function limitTextArea(element, limit, msg)
{
  if(element.value.length >= limit)
  {
    alert(msg);
    try { element.value = element.value.substring(0, limit); } catch(e) {}
    return false;
   }
   return true;
}

function focusTA(textarea, defaultMsg)
{
	if(textarea.value == defaultMsg)
	{
		textarea.value = '';
	}
}


function getRadio(name)
{
var elements = document.getElementsByName(name);
if (elements)
{
/* loop over all the radio buttons */
for (i = 0; i < elements.length; i++)
{
if (elements[i].checked)
return elements[i];
}
}
/* either no group by that name was found
or none were selected */
return null;
}

function getRadioValue(name)
{
var element = getRadio(name);
if (element)
return element.value;
/* there must not have been a radio button
selected */
return '';
}

function popUp(url, title, width, height)
{
  popUp(url, title, width, height, 'menubar=no,status=no,toolbar=no');
}

function popUp(url, title, width, height, args)
{
  var top = (document.body.clientHeight/2) - (height/2);
  var left = (document.body.clientWidth/2) - (width/2);

  var finalArgs = 'left=' + left + ',top=' + top + ',width=' + width + ',height=' + height;
  try
  {
     finalArgs = finalArgs + (args.length > 0?(',' + args):'');
  }catch(e){}

  window.open(url, title, finalArgs);
}


function MM_swapImgRestore() { //v3.0
 var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
 var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
   var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
   if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

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_swapImage() { //v3.0
 var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
  if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
} 