﻿
function countryChange() {

        var ddlCountry = document.getElementById('OFC4_Optin_OptinField_Pays');
        var selIndex = ddlCountry.selectedIndex;
        var selString = ddlCountry.options[selIndex].text;
        var prov1 = document.getElementById('OFC4_Optin_OptinField_Province');
        var prov2 = document.getElementById('prov');
        if (selString == "Canada") {
            prov1.className = 'showing';
            prov2.className = 'showing';
        }
        else {
            prov1.className = 'hiding';
            prov2.className = 'hiding';
        }
        
}

function removeUnsafeCharacters() {
    document.getElementById('OFC4_Optin_OptinField_FirstName').value = document.getElementById('OFC4_Optin_OptinField_FirstName').value.replace("'", "\'");
    document.getElementById('OFC4_Optin_OptinField_LastName').value = document.getElementById('OFC4_Optin_OptinField_LastName').value.replace("'", "\'");
    document.getElementById('OFC4_Optin_OptinField_EMail').value = document.getElementById('OFC4_Optin_OptinField_EMail').value.replace("'", "\'");
    document.getElementById('OFC4_Optin_OptinField_Adresse').value = document.getElementById('OFC4_Optin_OptinField_Adresse').value.replace("'", "\'");
    document.getElementById('OFC4_Optin_OptinField_Ville').value = document.getElementById('OFC4_Optin_OptinField_Ville').value.replace("'", "\'");
    document.getElementById('OFC4_Optin_OptinField_Codepostal').value = document.getElementById('OFC4_Optin_OptinField_Codepostal').value.replace("'", "\'");
    document.getElementById('OFC4_Optin_OptinField_Telephone').value = document.getElementById('OFC4_Optin_OptinField_Telephone').value.replace("'", "\'");
    document.getElementById('OFC4_Optin_OptinField_Age').value = document.getElementById('OFC4_Optin_OptinField_Age').value.replace("'", "\'");

    document.getElementById('OFC4_Optin_OptinField_FirstName').value = document.getElementById('OFC4_Optin_OptinField_FirstName').value.replace("\"", "");
    document.getElementById('OFC4_Optin_OptinField_LastName').value = document.getElementById('OFC4_Optin_OptinField_LastName').value.replace("\"", "");
    document.getElementById('OFC4_Optin_OptinField_EMail').value = document.getElementById('OFC4_Optin_OptinField_EMail').value.replace("\"", "");
    document.getElementById('OFC4_Optin_OptinField_Adresse').value = document.getElementById('OFC4_Optin_OptinField_Adresse').value.replace("\"", "");
    document.getElementById('OFC4_Optin_OptinField_Ville').value = document.getElementById('OFC4_Optin_OptinField_Ville').value.replace("\"", "");
    document.getElementById('OFC4_Optin_OptinField_Codepostal').value = document.getElementById('OFC4_Optin_OptinField_Codepostal').value.replace("\"", "");
    document.getElementById('OFC4_Optin_OptinField_Telephone').value = document.getElementById('OFC4_Optin_OptinField_Telephone').value.replace("\"", "");
    document.getElementById('OFC4_Optin_OptinField_Age').value = document.getElementById('OFC4_Optin_OptinField_Age').value.replace("\"", "");
}

function validateAll() {

    removeUnsafeCharacters();
    
    var valid = 0;
    var ddlCountry = document.getElementById('OFC4_Optin_OptinField_Pays');
    var selIndex = ddlCountry.selectedIndex;

    valid += validate_required(document.getElementById('OFC4_Optin_OptinField_FirstName'), 'You must provide your first name.');
    valid += validate_required(document.getElementById('OFC4_Optin_OptinField_LastName'), 'You must provide your name.');
    if (validate_required(document.getElementById('OFC4_Optin_OptinField_EMail'), 'You must provide your email address.') == 0)
    {        
        valid += validate_email(document.getElementById('OFC4_Optin_OptinField_EMail'), 'Your email address is not valid.');
    }
    else {
        valid += 1;
    }
    valid += validate_required(document.getElementById('OFC4_Optin_OptinField_Adresse'), 'You must provide your address.');
    valid += validate_required(document.getElementById('OFC4_Optin_OptinField_Ville'), 'You must provide your city.');
    if (selIndex == 0) {
        valid += 1;
        document.getElementById('tr_Error_Gen').style.display = "";
        document.getElementById('text_Error_Gen').innerHTML = document.getElementById('text_Error_Gen').innerHTML + 'You must select your country.' + '<br>';
    }
    valid += validate_required(document.getElementById('OFC4_Optin_OptinField_Codepostal'), 'You must provide your postal code (zip).');
    valid += isNumericOrNull(document.getElementById('OFC4_Optin_OptinField_Age'), 'Your age is not valid.');
             
    if (valid == 0) {
        return true;
         }
    else {
        return false;
    }
}

function validate_required(field,alerttxt)
{
  with (field)
  {
    if (value==null||value=="")
    {
      document.getElementById('tr_Error_Gen').style.display = "";
      document.getElementById('text_Error_Gen').innerHTML = document.getElementById('text_Error_Gen').innerHTML + alerttxt + '<br>'; 
      return 1;
    }
    else
    {
      return 0;
    }
  }
}

function validate_email(field,alerttxt)
{
    with (field) 
    {
        var filter = /^([a-z]+)([a-z0-9\-\_\.]{1,100})([a-z0-9]+)\@([a-z0-9]+)([a-z0-9\-\.]*)([a-z0-9]+)\.([a-z]{2,6})$/;
        if (!filter.test(value)) {
          document.getElementById('tr_Error_Gen').style.display = "";
          document.getElementById('text_Error_Gen').innerHTML = document.getElementById('text_Error_Gen').innerHTML + alerttxt + '<br>'; 
          return 1;
    }
    else
    {
      return 0;
    }
  }
}

function isNumericOrNull(field, alerttxt) {
    var strString = field.value;
    var strValidChars = "0123456789";
    var strChar;
    var blnResult = 0;

    if (strString.length == 0) blnResult = 0;
    else {
        //  test myValue consists of valid characters listed above
        for (i = 0; i < strString.length && blnResult == 0; i++) {
            strChar = strString.charAt(i);
            if (strValidChars.indexOf(strChar) == -1) {
                document.getElementById('tr_Error_Gen').style.display = "";
                document.getElementById('text_Error_Gen').innerHTML = document.getElementById('text_Error_Gen').innerHTML + alerttxt + '<br>';
                blnResult = 1;
            }
        }
    }
    return blnResult;
}

function checkOptin() {
    document.getElementById("tr_Error_Gen").style.display = "none";
    document.getElementById("text_Error_Gen").innerHTML = "";
    var r = true;
    var docForm = document.getElementById('OptForm');
    if (docForm.OFC4_Optin_OptinField_ConditionsGlisse.checked == false && docForm.OFC4_Optin_OptinField_Infolettre.checked == false) {
        var ErrorMsgOptin = "You must select a subsription type.<br />";
        document.getElementById("tr_Error_Gen").style.display = "";
        document.getElementById("text_Error_Gen").innerHTML = ErrorMsgOptin;
        r = false;
    }
    if (validateAll() == false) {
        r = false;
    }
    return r;
}

