//
//IMPORTANT: This code should be consistent with the validation 
//           at the downnow.htm PHP validation code
//
function String_Validator(FldVar,FldName,CharSet,MinLen,MaxLen)
{
    if ((FldVar.value == "") && (MinLen > 0))
    {
		alert("Please enter a value for the " + FldName + " field.");
		FldVar.focus();
		return (false);
    }

    if (FldVar.value.length < MinLen)
    {
		alert("Invalid value in " + FldName + " field.");
		FldVar.focus();
		return (false);
    }

    if (FldVar.value.length > MaxLen)
    {
		alert("Please enter at most " + MaxLen + " characters in the " + FldName + " field.");
		FldVar.focus();
		return (false);
    }

    //If Character set validation is not required we exit
    if (CharSet.length == 0)
        return (true);
   
    var allValid	= true;
    var allWhite	= true;
    var ch			= 'x';
    
    for (i = 0;  i < FldVar.value.length;  i++)
    {
		ch = FldVar.value.charAt(i);
		
		if (ch > ' ') allWhite = false;
		
		for (j = 0;  j < CharSet.length;  j++)
			if (ch == CharSet.charAt(j))
			break;
			
		if (j == CharSet.length)
		{
			allValid = false;
			break;
		}
    }
    
    if (!allValid)
    {
		alert("Invalid character in the " + FldName + " field: " + ch);
		FldVar.focus();
		return (false);
    }
    
    if (allWhite && (MinLen > 0))
    {
		alert("Invalid value in " + FldName + " field.");
		FldVar.focus();
		return (false);
    }

    return (true);
}

function DownloadPage_Validator(theForm)
{
    return  (String_Validator(theForm.Contact_FullName,    "Name",        "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzƒŠŒŽšœžŸÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ-_., ",1,50) &&
			 String_Validator(theForm.Contact_Title,       "Title",       "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzƒŠŒŽšœžŸÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ-_., ",1,50) &&
			 String_Validator(theForm.Contact_Organization,"Organization","ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzƒŠŒŽšœžŸÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ0123456789-_., ",1,50) &&
			 String_Validator(theForm.Contact_Email,       "E-mail",      "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzƒŠŒŽšœžŸÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ0123456789-_.@",3,256) &&
			 String_Validator(theForm.Contact_WorkPhone,   "Work Phone",  "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_.,@()*+# ",0,25) &&
			 String_Validator(theForm.Contact_FAX,         "FAX",         "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_.,@()*+# ",0,25));
}

function ContactPage_Validator(theForm) 
{
    return  (String_Validator(theForm.Username,     "Name",         "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzƒŠŒŽšœžŸÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ-_., ", 1, 50) &&
			 String_Validator(theForm.UserEmail,    "E-mail",       "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzƒŠŒŽšœžŸÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ0123456789-_.@", 3, 256) &&
			 String_Validator(theForm.Comments,     "Comments",     "", 1, 1000) &&
			 String_Validator(theForm.UserTel,      "Tel",          "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_.,@()*+# ", 0, 25) &&
			 String_Validator(theForm.UserFAX,      "FAX",          "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_.,@()*+# ", 0, 25));
}
