function checkLoginFormForEmpty()
{
    var bErr = 0;
    var sInput = "";

    if (trim(document.getElementById("username").value) == "")
    {
        document.getElementById("username_feedback").innerHTML = '<font color="#FF0000" size="2">Please enter username</font>';
        bErr = 1;
    }
    else
    {
        document.getElementById("username_feedback").innerHTML = '';
    }

    if (trim(document.getElementById("password").value) == "")
    {
        document.getElementById("password_feedback").innerHTML = '<font color="#FF0000" size="2">Please enter password</font>';
        bErr = 1;
    }
    else
    {
        document.getElementById("password_feedback").innerHTML = '';
    }

    if (bErr==1)
    {
        document.getElementById("login_error").value="yes";
    }
    else
    {
        document.getElementById("login_error").value="";
    }
}

function submitLoginForm()
{
    checkLoginFormForEmpty();
    if (document.getElementById("login_error").value == "")
    {
        return true;
    }
    else
    {
        return false;
    }
}

function checkUserFormForEmpty()
{
    var bErr = 0;
    var sInput = "";

    if (trim(document.getElementById("username").value) == "")
    {
        document.getElementById("username_feedback").innerHTML = '<font color="#FF0000" size="2">Please enter username</font>';
        bErr = 1;
    }
    else
    {
        uname = trim(document.getElementById("username").value);
        if (uname.length < 4)
        {
            bErr = 1;
            document.getElementById("username_feedback").innerHTML = '<font color="#FF0000" size="2">Username is too short. 4 characters minimum</font>';
        }
        else
        {
            document.getElementById("username_feedback").innerHTML = '';
        }
    }
    if (trim(document.getElementById("password").value) == "")
    {
        document.getElementById("password_feedback").innerHTML = '<font color="#FF0000" size="2">Please enter password</font>';
        bErr = 1;
    }
    else
    {
        pass = trim(document.getElementById("password").value);
        if (pass.length < 4)
        {
            document.getElementById("password_feedback").innerHTML = '<font color="#FF0000" size="2">Password is too short. 4 characters minimum</font>';
            bErr = 1;
        }
        else
        {
            document.getElementById("password_feedback").innerHTML = '';
        }
    }

    if (bErr==1)
    {
        document.getElementById("userform_error").value="yes";
    }
    else
    {
        document.getElementById("userform_error").value="";
    }
}

function submitUserForm()
{
    checkUserFormForEmpty();
    if (document.getElementById("userform_error").value == "")
    {
        return true;
    }
    else
    {
        return false;
    }
}

function trim(s)
{
    s = s.replace(/^\s+|\s+$/g, '') ;
    return s;
}

function AreRequiredFieldsOk()
{
    var bReturn = true;

    var uMode = document.getElementById('user_mode');

    // edit form not in user_mode
    if (!uMode)
    {
        listing_type = document.getElementById('listing_type').value;
        if (listing_type == "")
        {
            document.getElementById('listing_type_error').innerHTML = '<font color="#FF0000">This field is required</font>';
            bReturn = false;
        }
        else
        {
            document.getElementById('listing_type_error').innerHTML = '';
        }

        company_user = document.getElementById('add_company_for_user_id').value;
        if (company_user == "")
        {
            new_username = document.getElementById('username').value;
            new_username = trim(new_username);

            new_password = document.getElementById('password').value;
            new_password = trim(new_password);
            if (new_username == "" || new_password == "")
            {
                document.getElementById('company_user_error').innerHTML = '<font color="#FF0000">This field is required</font>';
                bReturn = false;
            }
            else
            {
                document.getElementById('company_user_error').innerHTML = '';
            }
        }
        else
        {
            document.getElementById('company_user_error').innerHTML = '';
        }
    }

    company_name = document.getElementById('company_name').value;
    company_name = trim(company_name);
    if (company_name == "")
    {
        document.getElementById('company_name_error').innerHTML = '<font color="#FF0000">This field is required</font>';
        bReturn = false;
    }
    else
    {
        document.getElementById('company_name_error').innerHTML = '';
    }

    address = document.getElementById('address').value;
    address = trim(address);
    /************ NO LONGER REQUIRED **************
    if (address == "")
    {
        document.getElementById('address_error').innerHTML = '<font color="#FF0000">This field is required</font>';
        bReturn = false;
    }
    else
    {
        document.getElementById('address_error').innerHTML = '';
    }
    */

    city = document.getElementById('city').value;
    city = trim(city);
    /************ NO LONGER REQUIRED **************
    if (city == "")
    {
        document.getElementById('city_error').innerHTML = '<font color="#FF0000">This field is required</font>';
        bReturn = false;
    }
    else
    {
        document.getElementById('city_error').innerHTML = '';
    }
    */

    province = document.getElementById('province').value;
    province = trim(province);
    /************ NO LONGER REQUIRED **************
    if (province == "")
    {
        document.getElementById('province_error').innerHTML = '<font color="#FF0000">This field is required</font>';
        bReturn = false;
    }
    else
    {
        document.getElementById('province_error').innerHTML = '';
    }
    */

    postal_code = document.getElementById('postal_code').value;
    postal_code = trim(postal_code);
    /************ NO LONGER REQUIRED **************
    if (postal_code == "")
    {
        document.getElementById('postal_code_error').innerHTML = '<font color="#FF0000">This field is required</font>';
        bReturn = false;
    }
    else
    {
        document.getElementById('postal_code_error').innerHTML = '';
    }
    */

    phone = document.getElementById('phone').value;
    phone = trim(phone);
    /************ NO LONGER REQUIRED **************
    if (phone == "")
    {
        document.getElementById('phone_error').innerHTML = '<font color="#FF0000">This field is required</font>';
        bReturn = false;
    }
    else
    {
        document.getElementById('phone_error').innerHTML = '';
    }
    */

    email = document.getElementById('email').value;
    email = trim(email);
    /************ NO LONGER REQUIRED **************
    if (email == "")
    {
        document.getElementById('email_error').innerHTML = '<font color="#FF0000">This field is required</font>';
        bReturn = false;
    }
    else
    {
        if (IsEmailValid(email))
        {
            document.getElementById('email_error').innerHTML = '';
        }
        else
        {
            document.getElementById('email_error').innerHTML = '<font color="#FF0000">Email address is not valid</font>';
            bReturn = false;
        }
    }
    */

    // atleast one category is present
    category1 = document.getElementById('category1').value;
    category2 = document.getElementById('category2').value;
    category3 = document.getElementById('category3').value;

    /****** CATEGORY NO LONGER REQUIRED....
    if ( ( category1 == "" ) && ( category2 == "" ) && ( category3 == "" ) )
    {
        document.getElementById('category_error').innerHTML = '<font color="#FF0000">This field is required</font>';
        bReturn = false;
    }
    else
    {
        document.getElementById('category_error').innerHTML = '';
    }
    */

    desc_standard = document.getElementById('desc_standard').value;
    desc_standard = trim(desc_standard);
    if (desc_standard == "")
    {
        document.getElementById('description_error').innerHTML = '<font color="#FF0000">This field is required</font>';
        bReturn = false;
    }
    else
    {
        document.getElementById('description_error').innerHTML = '';
    }


    contactName = document.getElementById('contact_name').value;
    contactName = trim(contactName);
    if (contactName == "")
    {
        document.getElementById('contact_name_error').innerHTML = '<font color="#FF0000">This field is required</font>';
        bReturn = false;
    }
    else
    {
        document.getElementById('contact_name_error').innerHTML = '';
    }

    return bReturn;
}

function ShowCompanyDetails(divId)
{
    if (document.all)
    { //IS IE 4 or 5 (or 6 beta) 
        eval( "document.all." + divId + ".style.display = 'block'");
    } 
    if (document.layers)
    { //IS NETSCAPE 4 or below 
        document.layers[divId].display = "block";
    } 
    if (document.getElementById &&!document.all)
    {
        divBlock = document.getElementById(divId);
        divBlock.style.display = "block";
    }

}

function HideCompanyDetails(divId)
{
    if (document.all)
    { //IS IE 4 or 5 (or 6 beta) 
        eval( "document.all." + divId + ".style.display = 'none'");
    } 
    if (document.layers)
    { //IS NETSCAPE 4 or below 
        document.layers[divId].display = "none";
    } 
    if (document.getElementById &&!document.all)
    {
        divBlock = document.getElementById(divId);
        divBlock.style.display = "none";
    }
}

function RemoveCompanyFromDisplay(div_id)
{
    var details_box = document.getElementById(div_id);
    details_box.style.display = "none";
}

function IsKeywordValid()
{
    q = document.getElementById('q').value;
    q = trim(q);
    if (q=="")
    {
        alert('Type a search keyword');
        return false;
    }
    if (q.length < 3)
    {
        alert('Keyword is too short');
        return false;
    }

    return true;
}

function IsDirSearchFormNotEmpty()
{
    var radios = document.getElementsByName('search_by');
    // if search by category is checked
    if (radios[0].checked)
    {
        cat_id = document.getElementById('category').value;
        if (cat_id == "")
        {
            alert('Select a category');
            return false;
        }
    }
    else if (radios[1].checked) // search by keyword is checked
    {
        q = document.getElementById('q').value;
        q = trim(q);
        if (q == "")
        {
            alert('Enter a search keyword');
            return false;
        }
        if (q.length < 3)
        {
            alert('Keyword is too short');
            return false;
        }
    }

    return true;
}

function IsUserSearchFormOk()
{
    q = document.getElementById('q').value;
    q = trim(q);
    if (q == "")
    {
        alert('Enter a keyword');
        return false;
    }
    if (q.length < 3)
    {
        alert('Keyword is too short');
        return false;
    }
    return true;
}

function IsEmailValid(email) {
   var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;

   if(reg.test(email) == false)
   {
      return false;
   }
   return true;
}