
// evans easyspace form validation library for admin tools and
// public website. each form has its own validation function.

function checkContactUs(f)
{
    // checks contact form
    errors = "The following errors have been found: \n\n";
    valid = true;

    if (f.Name.value == "")
    {
        errors += "- Name must be completed.\n";
        valid = false;
    }

    if (f.Email.value == "")
    {
        errors += "- Email must be completed.\n";
        valid = false;
    }
    
    if (f.Telephone.value == "")
    {
        errors += "- Telephone number must be completed.\n";
        valid = false;
    }

    if (f.Enquiry.value == "")
    {
        errors += "- Your Enquiry must be completed.\n";
        valid = false;
    }
    
    if (f.Referer.value == "" || (f.Referer.value.indexOf("Other") > -1 && f.OtherReferer.value == ""))
    {
        errors += "- Please tell us how you heard about us.\n";
        valid = false;
    }  

    if (!valid)
    {
        errors += "\nPlease try again";
        alert(errors);
    }

    return valid;
}

function checkImageUpload(filename)
{
    // checks image upload

    var formOk = true;
    var errMsg = "";

    if (filename == "")
    {
        formOk = false;
        errMsg = "Please select a JPG file to upload.";
    }
    else if (filenameHasSpaces(filename))
    {
        formOk = false;
        errMsg = "File names cannot contain spaces.\n\nPlease try again.";
    }
    else if ( !validFileType(filename, "jpg,jpeg") )
    {
        formOk = false;
        errMsg = "Image file must in JPEG format\n";
    }

    if (!formOk)
    {
        alert(errMsg);
    }

    return formOk;
}

function checkCSVFile(filename)
{
    // checks that the file selected for uploading looks
    // like a csv file and doesn't contain any space characters

    var formOk = true;
    var errMsg = "";

    if (filename == "")
    {
        formOk = false;
        errMsg = "Please select a CSV file to upload.";
    }
    else if (!isCsvFile(filename))
    {
        formOk = false;
        errMsg = "The selected file does not appear to be a valid CSV file name.\nFiles must be named with a .csv extension.\n\nPlease try again";
    }
    //else if (hasSpaces(filename))
    //{
    //    formOk = false;
    //    errMsg = "File names cannot contain spaces.\n\nPlease try again.";
    //}

    if (!formOk)
    {
        window.alert(errMsg);
    }

    return formOk;
}

function checkNews(title, newsText, day, month, year)
{
    // validates news item forms for new records and updates
    var formOk = true;
    var errmsg = "The following errors have been found:\n";

    if (!isCompleted(title))
    {
        formOk = false;
        errmsg += "-News title name has not been completed\n";
    }

    if (!isCompleted(newsText))
    {
        formOk = false;
        errmsg += "-News text has not been completed\n";
    }

    if (!isValidDate(day, month, year))
    {
        formOk = false;
        errmsg += "-Date is not a valid date\n";
    }

    if (!formOk)
    {
        errmsg += "Please try again.";
        window.alert(errmsg);
    }

    return formOk;
}

function checkPropForm(name, about, postcode, town, imagefile, layoutfile)
{
    // validates property form
    var formOk = true;
    var errmsg = "The following errors have been found:\n\n";

    if (!isCompleted(name))
    {
        formOk = false;
        errmsg += "-Property name has not been completed\n";
    }

    if (!isCompleted(town))
    {
        formOk = false;
        errmsg += "-Town/City name has not been completed\n";
    }

    if (!isCompleted(about))
    {
        formOk = false;
        errmsg += "-About text has not been completed\n";
    }

    if (hasSpaces(imagefile) || hasSpaces(layoutfile))
    {
        formOk = false;
        errmsg += "-File names cannot contain spaces\n";
    }

    if (!formOk)
    {
        window.alert(errmsg);
    }
    else
    {
        // check if user wants to submit form without postcode
        if (!isCompleted(postcode))
        {
            var pcodeMsg = "The postcode field has not been completed.  In order to display a location map this field must be completed with a valid postcode, however it can remain empty. Press the cancel button to abort submitting the form.";

            if (!confirm(pcodeMsg))
            {
                formOk = false;
            }

        }
    }
    return formOk;
}

function checkServicesForm(title, about, filename)
{
    // validates services form
    var formOk = true;
    var errmsg = "The following errors have been found:\n\n";

    if (!isCompleted(title))
    {
        formOk = false;
        errmsg += "- Service title name has not been completed\n";
    }

    if (!isCompleted(about))
    {
        formOk = false;
        errmsg += "- About text has not been completed\n";
    }

    if (hasSpaces(filename))
    {
        formOk = false;
        errmsg += "- File name contains spaces\n";
    }

    if (!formOk)
    {
        window.alert(errmsg);
    }

    return formOk;

}

function checkFeaturedPropertyForm(title, desc, filename)
{
    // validates services form
    var formOk = true;
    var errmsg = "The following errors have been found:\n\n";

    if (!isCompleted(title))
    {
        formOk = false;
        errmsg += "- Featured title has not been completed\n";
    }

    if (!isCompleted(desc))
    {
        formOk = false;
        errmsg += "- Description text has not been completed\n";
    }

    if (hasSpaces(filename))
    {
        formOk = false;
        errmsg += "- File name contains spaces\n";
    }

    if (!formOk)
    {
        window.alert(errmsg);
    }

    return formOk;

}

