// If there's an error
function onError(form_object, input_object, object_value)
{
	input_object.style.borderColor='firebrick';
	//alert(error_message);
	return false;	
}


// Check if the objects have any value
function hasValue(obj, obj_type) 
{
    if (obj_type == "TEXT" || obj_type == "PASSWORD") 
	{
   		if (obj.value.length == 0) {return false;}
		else if (obj.value == "http://") {return false;}
		else {return true;}
   	}
    
	else if (obj_type == "SELECT") 
	{
    	for (i=0; i < obj.length; i++) 
		{
			if (obj.options[i].selected) {return true;}
		}
       	return false;	
	}

    else if (obj_type == "SINGLE_VALUE_RADIO" || obj_type == "SINGLE_VALUE_CHECKBOX") 
	{
		if (obj.checked) {return true;}
		else {return false;}
	}
	
    else if (obj_type == "RADIO" || obj_type == "CHECKBOX") 
	{
      for (i=0; i < obj.length; i++) {
				if (obj[i].checked) {return true;}
			}
      return false;	
	}
}


function checkInteger(object_value) 
{
    /* Returns true if value is a number or is NULL
       otherwise returns false */ 
    if (object_value.length == 0) {return true;}
	
    /* Returns true if value is an integer defined as
       having an optional leading + or -
       otherwise containing only the characters 0-9 */
	var decimal_format = ".";
	var check_char;

    // The first character can be +, -, blank, or a digit.
	check_char = object_value.indexOf(decimal_format)
    
	// Was it a decimal?
    if (check_char < 1) {return checkNumber(object_value);}
	else {return false;}
}



function checkCompressed(object_value) 
{
	var len = object_value.length;
	var start = len - 3;
	if	(object_value.substring(start, len) == "zip") {return false;}
	else if (object_value.substring(start, len) == "rar") {return false;}
	
	return true;	
}



function filterWebImages(object_value) 
{
	var len = object_value.length;
	var start = len - 3;
	if	(object_value.substring(start, len) == "jpg") {return true;}
	else if (object_value.substring(start, len) == "png") {return true;}
	else if (object_value.substring(start, len) == "gif") {return true;}
	else if (object_value.substring(start, len) == "peg") {return true;}
	
	return false;
}



function filterImages(object_value) 
{
	var len = object_value.length;
	var start = len - 3;
	if	(object_value.substring(start, len) == "jpg") {return true;}
	else if (object_value.substring(start, len) == "png") {return true;}
	else if (object_value.substring(start, len) == "gif") {return true;}
	else if (object_value.substring(start, len) == "eps") {return true;}
	else if (object_value.substring(start, len) == "peg") {return true;}
	else if (object_value.substring(start, len) == "msp") {return true;}
	else if (object_value.substring(start, len) == "ppm") {return true;}
	else if (object_value.substring(start, len) == "tif") {return true;}
	else if (object_value.substring(start, len) == "iff") {return true;}
	else if (object_value.substring(start, len) == "xbm") {return true;}
	else if (object_value.substring(start, len) == "cur") {return true;}
	else if (object_value.substring(start, len) == "dcx") {return true;}
	else if (object_value.substring(start, len) == "fli") {return true;}
	else if (object_value.substring(start, len) == "gbr") {return true;}
	else if (object_value.substring(start, len) == "ico") {return true;}
	else if (object_value.substring(start, len) == "imt") {return true;}
	else if (object_value.substring(start, len) == "pcx") {return true;}
	else if (object_value.substring(start, len) == "psd") {return true;}
	else if (object_value.substring(start, len) == "tga") {return true;}
	else if (object_value.substring(start, len) == "sgi") {return true;}
	else if (object_value.substring(start, len) == "sun") {return true;}
	else if (object_value.substring(start, len) == "wmf") {return true;}
	
	return false;
}



function numberRange(object_value, min_value, max_value)
{
	// Check minimum
    if (min_value != null)
	{
        if (object_value < min_value) {return false;}
	}

    // Check maximum
    if (max_value != null)
	{
		if (object_value > max_value) {return false;}
	}
	
    // All tests passed, so...
    return true;
}



function checkNumber(object_value) 
{
	/* Returns true if value is a number or is NULL
       otherwise returns false */
	if (object_value.length == 0) {return true;}
	
    /* Returns true if value is a number defined as
       having an optional leading + or -.
       having at most 1 decimal point.
       otherwise containing only the characters 0-9. */
	var start_format = " .+-0123456789";
	var number_format = " .0123456789";
	var check_char;
	var decimal = false;
	var trailing_blank = false;
	var digits = false;

    // The first character can be + - .  blank or a digit.
	check_char = start_format.indexOf(object_value.charAt(0))
    
	// Was it a decimal?
	if (check_char == 1) {decimal = true;}
	else if (check_char < 1) {return false;}
	    
	// Remaining characters can be only . or a digit, but only one decimal.
	for (var i = 1; i < object_value.length; i++) 
	{
		check_char = number_format.indexOf(object_value.charAt(i))
		
		if (check_char < 0) {return false;}
		
		else if (check_char == 1) 
		{
			if (decimal) {return false;} // Second decimal.
			else {decimal = true;}
		}
		
		else if (check_char == 0) 
		{
			if (decimal || digits) {trailing_blank = true;}
		}
		
        // Ignore leading blanks
        else if (trailing_blank) {return false;}
		else {digits = true;}	
    }
	
	// All tests passed, so...
    return true;
}



function checkRange(object_value, min_value, max_value)
{
    // If value is in range then return true else return false
    if (object_value.length == 0) {return true;}

    if (!checkNumber(object_value)) {return false;}
    else {return (numberRange((eval(object_value)), min_value, max_value));}
	
    // All tests passed, so...
    return true;
}



function checkTime(object_value)
{
    /* Returns true if value is in time format or is NULL
       otherwise returns false */
    if (object_value.length == 0) {return true;}

    // Returns true if value is a date in the mm/dd/yyyy format
	isplit = object_value.indexOf(':');

	if (isplit == -1 || isplit == object_value.length) {return false;}

    sHour = object_value.substring(0, isplit);
	iminute = object_value.indexOf(':', isplit + 1);

	if (iminute == -1 || iminute == object_value.length)
	{
		sMin = object_value.substring((sHour.length + 1));
	}
	else
	{
		sMin = object_value.substring((sHour.length + 1), iminute);
	}
    
	// Check hour
	if (!checkInteger(sHour)) {return false;} 	
    else if (!checkRange(sHour, 0, 23)) {return false;}

	// Check minutes
	if (!checkInteger(sMin)) {return false;}
	else if (!checkRange(sMin, 0, 59)) {return false;}

	// Did they specify seconds?
    if (iminute != -1)
	{
		sSec = object_value.substring(iminute + 1);
		
		// Check seconds
		if (!checkInteger(sSec)) {return false;}
		else if (!checkRange(sSec, 0, 59)) {return false;}
	}
    
    return true;
}


/* Set initial form focus
function window.onload()
{
	document.forms(1).elements(1).focus();
}
*/