	function confirmSubmit(text)
	  {
	  var agree=confirm("Are you sure you wish to " + text + "?");
	  if (agree)
	    return true;
	  else
	    return false;
	  }

  function validate_monetary(field, alerttext)
		{
		if (! field) // Check for invalid entry's and abort
			{
			alert('invalid field defined for validate monetary');	
			return (false);
			}					
			
		if (field.value.match(/^\d+$/))
			{		
			return (true)
			}
		else if (field.value.match(/\b[0-9]{1,3}(?:,?[0-9]{3})*\.[0-9]{2}\b/))
			{
			return (true)
			}
		else
			{
			if (alerttext != '')
				{
				alert(alerttext)
				field.focus();
				}
			return (false)								
			}		
		}
		
	function validate_numberField(field, alerttext)
		{	
		if (! field) // Check for invalid entry's and abort
			{
			alert('invalid field defined for validate numberfield');	
			return (false);
			}			
				
		if (field.value.match(/^\d+$/))
			{
			return (true)
			}
		else
			{
			if (alerttext != '')
				{
				alert(alerttext)
				field.focus();
				}
			return (false)								
			}
		}

// Validates an image path and assures that the proper type of image is specified
	function validate_filePath(field, alerttext)
		{
		var picPat = "^.*(\.([Gg][Ii][Ff]|[Jj][Pp][Gg]|[Bb][Mm][Pp]|[Pp][Nn][Gg]))$";
		
		if (! field) // Check for invalid entry's and abort
			{
			alert('invalid field defined for validate filePath');	
			return (false);
			}			
		
		
		if (field.value.match(picPat))
			{
			return (true)	
			}
		else
			{
			if (alerttext != '')				
				{
				alert(alerttext)
				field.focus();
				}
			return (false)				
			}		
		}

// Validates an email form field to make sure it matches the current email convention
	function validate_emailAddress(field, alerttext)
		{		
		if (! field) // Check for invalid entry's and abort
			{
			alert('invalid field defined for validate emailAddress');	
			return (false);
			}			
				
		if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(field.value))
			{
			return (true)
			}
		else
			{	
			if (alerttext != '')			
				{
				alert(alerttext)
				field.focus();			
				}
			return (false)
			}		
		}			
		
	function validate_dateField(field, alerttext)
		{
		var picPat = "(0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])[- /.](19|20)[0-9]{2}";
		
		if (! field) // Check for invalid entry's and abort
			{
			alert('invalid field defined for validate dateField');	
			return (false);
			}			
		
		if (field.value.match(picPat))
			{
			return (true);
			}
		else
			{
			if (alerttext != '')
				{
				alert(alerttext);	
				field.focus();			
				}
			return (false);
			}			
		}


	//  This function returns false if there is no select option chosen, the first or unselected
	// option must have a blank or '' value for this command to work.
	function validate_select(field, alerttext)
		{
		if (! field) // Check for invalid entry's and abort
			{
			alert('invalid field defined for validate select');	
			return (false);
			}			
			
		if (field.value == null || field.value.length == 0)
			{
			if (alerttext != '')
				{
				alert(alerttext);				
				field.focus();			
				}
			return (false);
			}
		else
			{
			return (true);
			}
		}

  // Validate than an array has some data entered into it
	function validate_array(oarray,alerttext)
		{
		if (! oarray) // Check for invalid entry's and abort
			{
			alert('invalid field defined for validate array');	
			return (false);
			}			
			
		if (oarray.length > 0) 
			{
			return(true);	
			}
		else
			{
			if (alerttext != '')
				{
				alert(alerttext);
				return (false);
				}
			}
		}

// Validates a form field has data and displays	an alert if it's not
	function validate_field(field,alerttext)
	  {
		if (! field) // Check for invalid entry's and abort
			{
			alert('invalid field defined for validate field');	
			return (false);
			}			
			
	  with (field)
	    {
	    if (value==null||value=="")
	      {
				if (alerttext != '')					
					{
		  	  alert(alerttext);
	  			field.focus();				
					}
	  	  return (false);
			  }
	    else 
	  	  {
			  return (true);
			  }
		  }
  	}

	
	function validate_checkboxes(fields)
		{
		if (! fields) // Check for invalid entry's and abort
			{
			alert('invalid field defined for validate checkbox');					
			return ('');
			}
		if (fields[0]) // Check to make sure this is an array.
			{
			for (j = 0; j < fields.length; j++)
				{
				if (fields[j].checked == 1)
					{
					return (true);
					}
				}
			}
		return (false);	
		}			

// Returns the selected value for a radio checkbox set
	function return_radio_selected(fields)		
		{
		if (! fields) // Check for invalid entry's and abort
			{
			alert('invalid field defined for return radio selected');					
			return ('');
			}
		if (fields[0]) // Check to make sure this is an array.
			{
			for (j = 0; j < fields.length; j++)
				{
				if (fields[j].checked)
					{
					return (fields[j].value);
					}
				}
			}
		return ('');	
		}


	function validate_radio(field,alerttext)
		{
		if (! field) // Check for invalid entry's and abort
			{
			alert('invalid field defined for return radio validate');					
			return ('');
			}
		if (return_radio_selected(field) == '')
			{
			if (alerttext != '')					
				{
		    alert(alerttext);			
				}
	 	  return (false);
		  }
    else 
  	  {
		  return (true);
		  }
		}				

// Returns the selected value for a select list (single not multi)

	function return_select_option(field)
		{
		if (! field) // Check for invalid entry's and abort
			{
			alert('invalid field defined for return select option');					
			return ('');
			}

		with (field)
			{
			var index = field.selectedIndex;
			return (field.options[index].value);
			}
		}
		
	function isDate(Mo,Dy,Yr) 
		{
		if(((Mo==4||Mo==6||Mo==9||Mo==11)&&Dy>30)||(Mo==2&&(Dy>29||((Yr/4!=parseInt(Yr/4))&&Dy>28)))||Mo==0||Dy==0||Yr==0||Dy>31)
			{
			return false;
			}
		return true;
		}

	function validate_date_range(field, alerttext)
		{
		var datePat = /^(\d{1,2})(\/|-)(\d{1,2})(\/|-)(\d{4})$/;
		var dateString = trim(field.value);
		var matchArray = dateString.match(datePat); // is the format ok?
			
		if (matchArray == null)	
			{
			alert(alerttext);	
			field.focus();
			return (false);				
			}

		var month = parseInt(matchArray[1], 10); // p@rse date into variables		
		var day = parseInt(matchArray[3], 10); 
		var year = parseInt(matchArray[5], 10);
	
		if (! isDate(month, day, year))
			{
  	  alert(alerttext);
 			field.focus();				
			return (false);								
			}
		return (true);	
		}
				
	function validate_start_end_date(field1, field2, alerttext)
		{
		if (! validate_date_range(field1, alerttext))
			{
			return (false);
			}

		if (! validate_date_range(field2, alerttext))
			{
			return (false);
			}
			
		var dt1 = Date.parse(field1.value);
		var dt2 = Date.parse(field2.value);				

		if (dt1 > dt2)
			{
  	  alert(alerttext);
 			field2.focus();				
			return (false);												
			}
		return (true);	
		}
		
  function validate_sql_search_string(field, alerttext)
		{
		if (! field) // Check for invalid entry's and abort
			{
			alert('invalid field defined for sql search option');					
			return (false);
			}
	
		if (field.value.match(/[\x21\x22\x23\x24\x25\x26\x27\x28\x29\x2A\x2B\x2C\x2D\x2E\x2F\x3A\x3B\x3C\x3D\x3E\x3F\x40\x5B\x5C\x5D\x5E\x5F\x60\x7B\x7C\x7D\x7E]/)) 
			{
			if (alerttext != '')
				{
				alert(alerttext);	
				field.focus();			
				}
			return (false);
			}
		else
			{				
			return (true);				
			}			
		}
		
	function trim(stringToTrim) 
		{
		return stringToTrim.replace(/^\s+|\s+$/g,"");
		}
		
	function ltrim(stringToTrim) 
		{
		return stringToTrim.replace(/^\s+/,"");
		}
		
	function rtrim(stringToTrim) 
		{
		return stringToTrim.replace(/\s+$/,"");
		}
			
		
	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);
    	}
		}
		