function isNumber(number) 
{
	for (i=0; i<parseInt(number.length); i++)
	{
		if ((number.charAt(i) > "9" || number.charAt(i) < "0") && number.charAt(i) != ".")
		{
			return false;
		}
	}

	return true;
}


function trim(inputString)
{
   // Removes leading and trailing spaces from the passed string. Also removes
   // consecutive spaces and replaces it with one space. If something besides
   // a string is passed in (null, custom object, etc.) then return the input.
   if (typeof inputString != "string") { return inputString; }
   var retValue = inputString;
   var ch = retValue.substring(0, 1);
   while (ch == " ") { // Check for spaces at the beginning of the string
      retValue = retValue.substring(1, retValue.length);
      ch = retValue.substring(0, 1);
   }
   ch = retValue.substring(retValue.length-1, retValue.length);
   while (ch == " ") { // Check for spaces at the end of the string
      retValue = retValue.substring(0, retValue.length-1);
      ch = retValue.substring(retValue.length-1, retValue.length);
   }
   while (retValue.indexOf("  ") != -1) { // Note that there are two spaces in the string - look for multiple spaces within the string
      retValue = retValue.substring(0, retValue.indexOf("  ")) + retValue.substring(retValue.indexOf("  ")+1, retValue.length); // Again, there are two spaces in each of the strings
   }
   return retValue; // Return the trimmed string back to the user
}

function ACLmixedCase(mystring)
{
    mystring = trim(mystring);
 
    if (mystring!="" && (mystring == mystring.toUpperCase() || mystring == mystring.toLowerCase()))
    {
        mystring = mystring.substring(0,1).toUpperCase() + mystring.substring(1).toLowerCase();
 
        for ( x = 0; x < mystring.length; x++ )
        {
            if ( mystring.substring(x,x+1) == " " )
            {
                mystring =  mystring.substring(0,x+1) + mystring.substring(x+1,x+2).toUpperCase() + mystring.substring(x+2,mystring.length) ;
            }
        }
    }
 
    return mystring;
}

function ACLupperCase(mystring)
{
    mystring = trim(mystring);
 
    mystring = mystring.toUpperCase();
 
    return mystring;
}

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];}
}
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 dialogParentWindow()
{
	if (window.dialogArguments)
	{
		parentWindow = dialogArguments
	}
	else
	{
		if (parent.window.dialogArguments)
		{
			parentWindow = parent.window.parentWindow
		} 
		else 
		{
			if (window.opener)
			{
				parentWindow = window.opener
			}
			else
			{
				if (parent.window.opener)
				{
					parentWindow = parent.window.parentWindow
				} 
				else
				{
					parentWindow = null
				}
			}
		}
	}

	return parentWindow;
}

function left(str, n){
	if (n <= 0)
	    return "";
	else if (n > String(str).length)
	    return str;
	else
	    return String(str).substring(0,n);
}
function right(str, n){
    if (n <= 0)
       return "";
    else if (n > String(str).length)
       return str;
    else {
       var iLen = String(str).length;
       return String(str).substring(iLen, iLen - n);
    }
}
