<!--
// ############################################################################
// #                    A U T O . N E T [_o]  (c)  2 0 0 7                    #
// ############################################################################
// #                         PROJECT - ADDLAP Website                         #
// #                        URL - http://www.addlap.pt                        #
// #==========================================================================#
// #             JAVASCRIPT MODULE FOR WEBPAGE ficha_int_proj.asp             #
// #             -------------------------------------------------            #
// #                         FILE:  ficha_int_proj.js                         #
// #                         INCLUDES:  validation.asp                        #
// #           CREATION (Author, Date):  Vitor Varalonga, 2007/10/19          #
// #         LAST UPDATE (Author, Date):  Vitor Varalonga, 2007/10/22         #
// ############################################################################


// ============================================================================
// ||                                FUNCTIONS                               ||
// ============================================================================


// HilightBtn - Hilight Form Button

function HilightBtn(objBtn)
{
    objBtn.className = "form_btn_hi";
}


// HilightBtnOff - Remove Form Button Hilight

function HilightBtnOff(objBtn)
{
    objBtn.className = "form_btn";
}


// ResetErrors - Remove all Error indications

function ResetErrors(objForm)
{
    var tag = "";
    for (var idx = 0; idx < objForm.elements.length; idx++)
        with (objForm.elements[idx])
        {
            tag = tagName.toUpperCase();
            if (tag == "TEXTAREA" || (tag == "INPUT" && type.toUpperCase() == "TEXT"))
                className = "form_text";
        }
}


// UpdateErrorList - Updates the Form Error Message and sets Error indications for according objects

function UpdateErrorList()
{
    for (var idx = 0; idx <= arguments.length - 3; idx++)
        arguments[idx + 2].className = "form_text_err";
    
    return arguments[0] + "\n- " + arguments[1];
}


// ValidateForm - Form Validation

function ValidateForm(objForm)
{
    var strErr = "";
    
    ResetErrors(objForm);
    
    if (objForm.ent_name.value == "")
        strErr = UpdateErrorList(strErr, "NOME/ENTIDADE: não indicado.", objForm.ent_name);
    
    if (objForm.address.value == "")
        strErr = UpdateErrorList(strErr, "ENDEREÇO (ENTIDADE): não indicado.", objForm.address);
    
    if (objForm.zip1.value == "" || objForm.zip2.value == "" ||
        !ValidateInt(objForm.zip1.value, 4) || !ValidateInt(objForm.zip2.value, 3))
        strErr = UpdateErrorList(strErr, "CÓDIGO POSTAL (ENTIDADE): não indicado ou inválido.", objForm.zip1, objForm.zip2);
    
    if (objForm.city.value == "")
        strErr = UpdateErrorList(strErr, "LOCALIDADE DO C.P. (ENTIDADE): não indicado.", objForm.city);
    
    if (objForm.phone.value == "")
        strErr = UpdateErrorList(strErr, "TELEFONE (ENTIDADE): não indicado.", objForm.phone);
    
    if (objForm.email.value != "" && !ValidateEmail(objForm.email.value))
        strErr = UpdateErrorList(strErr, "E-MAIL (ENTIDADE): inválido.", objForm.email);
    
    if (objForm.cont_name.value == "")
        strErr = UpdateErrorList(strErr, "PESSOA A CONTACTAR: não indicado.", objForm.cont_name);
    
    if (objForm.cont_address.value == "")
        strErr = UpdateErrorList(strErr, "ENDEREÇO (CONTACTO): não indicado.", objForm.cont_address);
    
    if (objForm.cont_zip1.value == "" || objForm.cont_zip2.value == "" ||
        !ValidateInt(objForm.cont_zip1.value, 4) || !ValidateInt(objForm.cont_zip2.value, 3))
        strErr = UpdateErrorList(strErr, "CÓDIGO POSTAL (CONTACTO): não indicado ou inválido.", objForm.cont_zip1, objForm.cont_zip2);
    
    if (objForm.cont_city.value == "")
        strErr = UpdateErrorList(strErr, "LOCALIDADE DO C.P. (CONTACTO): não indicado.", objForm.cont_city);
    
    if (objForm.cont_phone.value == "")
        strErr = UpdateErrorList(strErr, "TELEFONE (CONTACTO): não indicado.", objForm.cont_phone);
    
    if (objForm.cont_email.value != "" && !ValidateEmail(objForm.cont_email.value))
        strErr = UpdateErrorList(strErr, "E-MAIL (CONTACTO): inválido.", objForm.cont_email);
    
    if (objForm.proj_title.value == "")
        strErr = UpdateErrorList(strErr, "DESIGNAÇÃO DO PROJECTO: não indicado.", objForm.proj_title);
    
    if (objForm.proj_abstract.value == "")
        strErr = UpdateErrorList(strErr, "BREVE DESCRIÇÃO DO PROJECTO: não indicado.", objForm.proj_abstract);
    
    if (objForm.proj_goals.value == "")
        strErr = UpdateErrorList(strErr, "OBJECTIVOS DO PROJECTO: não indicado.", objForm.proj_goals);
    
    if (objForm.proj_staff.value != "" && !ValidateInt(objForm.proj_staff.value, 1))
        strErr = UpdateErrorList(strErr, "NÚMERO DE POSTOS DE TRABALHO PREVISTO: inválido.", objForm.proj_staff);
    
    if (!ValidateMoney(objForm.proj_investment.value) || objForm.proj_investment.value == 0)
        strErr = UpdateErrorList(strErr, "INVESTIMENTO TOTAL PREVISTO: não indicado ou inválido.", objForm.proj_investment);
    
    if (objForm.proj_expenses.value == "")
        strErr = UpdateErrorList(strErr, "TIPOLOGIA DE DESPESAS A REALIZAR: não indicado.", objForm.proj_expenses);
    
    if (objForm.proj_area.value == "")
        strErr = UpdateErrorList(strErr, "LOCALIZAÇÃO DO PROJECTO (CONCELHO): não indicado.", objForm.proj_area);
    
    if (objForm.proj_subarea.value == "")
        strErr = UpdateErrorList(strErr, "LOCALIZAÇÃO DO PROJECTO (FREGUESIA): não indicado..", objForm.proj_subarea);
    
    if (strErr != "")
    {
        alert("ADDLAP.PT\n------------------------------------------\n\n" +
            "Não foi possível processar a sua Ficha de Intenção de Projecto devido à ocorrência dos seguintes erros:\n" + strErr);
        return false;
    }
    else
        return true;
}
-->