﻿function trim(stringToTrim) {
    return stringToTrim.replace(/^\s+|\s+$/g, "");
}

function ltrim(stringToTrim) {
    return stringToTrim.replace(/^\s+/, "");
}

function rtrim(stringToTrim) {
    return stringToTrim.replace(/\s+$/, "");
}

//--- String trimmer
function Left(str, n) {
    if (n <= 0)
        return "";
    else if (n > String(str).length)
        return str;
    else
        return String(str).substring(0, n);
}
function Right(str, n) {
    if (n <= 0)
        return "";
    else if (n > String(str).length)
        return str;
    else {
        var iLen = String(str).length;
        return String(str).substring(iLen, iLen - n);
    }
}

function isNumericKey(evt) {
    var charCode = (evt.which) ? evt.which : event.keyCode
    if (charCode > 31 && (charCode < 48 || charCode > 57))
        return false;

    return true;
}

function isValidEmail(src) {

    var emailReg = "^[\\w-_\.]*[\\w-_\.]\@[\\w]\.+[\\w]+[\\w]$";
    var regex = new RegExp(emailReg);
    return regex.test(src);
}

function validateSeminarForm(chkinterestedsolution) {
    var reqFieldValidator = true;
    if (trim(document.getElementById("Salutation").value) == "") {
        reqFieldValidator = false;
        document.getElementById("Salutation").focus();
    }
    else if (trim(document.getElementById("FirstName").value) == "") {
        reqFieldValidator = false;
        document.getElementById("FirstName").focus();
    }
    else if (trim(document.getElementById("LastName").value) == "") {
        reqFieldValidator = false;
        document.getElementById("LastName").focus();
    }
    else if (trim(document.getElementById("CompanyName").value) == "") {
        reqFieldValidator = false;
        document.getElementById("CompanyName").focus();
    }
    else if (trim(document.getElementById("CCTel").value) == "") {
        reqFieldValidator = false;
        document.getElementById("CCTel").focus();
    }
    else if (trim(document.getElementById("ACTel").value) == "") {
        reqFieldValidator = false;
        document.getElementById("ACTel").focus();
    }
    else if (trim(document.getElementById("PhoneNumber").value) == "") {
        reqFieldValidator = false;
        document.getElementById("PhoneNumber").focus();
    }
    else if (trim(document.getElementById("Email").value) == "") {
        reqFieldValidator = false;
        document.getElementById("Email").focus();
    }
    else if (trim(document.getElementById("Country").value) == "") {
        reqFieldValidator = false;
        document.getElementById("Country").focus();
    }
    else if (trim(document.getElementById("JobFunction").value) == "") {
        reqFieldValidator = false;
        document.getElementById("JobFunction").focus();
    }
    else if (trim(document.getElementById("Industry").value) == "") {
        reqFieldValidator = false;
        document.getElementById("Industry").focus();
    }
    else if (trim(document.getElementById("NumberOfDesktop").value) == "") {
        reqFieldValidator = false;
        document.getElementById("NumberOfDesktop").focus();
    }
    else if (trim(document.getElementById("PlanAdobePurchase").value) == "") {
        reqFieldValidator = false;
        document.getElementById("PlanAdobePurchase").focus();
    }
    else if (trim(document.getElementById("TimeFrameToPurchase").value) == "") {
        reqFieldValidator = false;
        document.getElementById("TimeFrameToPurchase").focus();
    }
    else if (trim(document.getElementById("IsBudgetDefined").value) == "") {
        reqFieldValidator = false;
        document.getElementById("IsBudgetDefined").focus();
    }
    else if (trim(document.getElementById("NumLicensesToPurchase").value) == "") {
        reqFieldValidator = false;
        document.getElementById("NumLicensesToPurchase").focus();
    }
    else if (trim(document.getElementById("ReceiveFutureEmails").value) == "") {
        reqFieldValidator = false;
        document.getElementById("ReceiveFutureEmails").focus();
    }
    else {
        //other validation
        if (!isValidEmail(trim(document.getElementById("Email").value))) {
            alert("Please provide a valid email.");
            document.getElementById("Email").focus();
            return false;
        }
    }

    if (!reqFieldValidator) {
    //validate all mandatory fields
        alert("Please fill in all mandatory fields.");
        return false;
    } 
    var solutions = "";
    for (var i = 0; i < chkinterestedsolution.length; i++) {
        if (chkinterestedsolution[i].checked) {
            if (solutions != "") { solutions = solutions + ", "; }
            solutions = solutions + chkinterestedsolution[i].value;
        }
    }
    document.getElementById("hidinterestedsolution").value = solutions;
}

function validateEtutorialForm(chkeTutorials, chkinterestedsolution) {
    var reqFieldValidator = true;
    var etutorial = "";
    for (var i = 0; i < chkeTutorials.length; i++) {
        if (chkeTutorials[i].checked) {
            if (etutorial != "") { etutorial = etutorial + "||"; }
            etutorial = etutorial + chkeTutorials[i].value;
        }
    }
    document.getElementById("hideTutorials").value = etutorial;

    var solutions = "";
    for (var i = 0; i < chkinterestedsolution.length; i++) {
        if (chkinterestedsolution[i].checked) {
            if (solutions != "") { solutions = solutions + ", "; }
            solutions = solutions + chkinterestedsolution[i].value;
        }
    }
    document.getElementById("hidinterestedsolution").value = solutions;
    
    if (trim(document.getElementById("hideTutorials").value) == "") {
        reqFieldValidator = false;
        document.getElementById("checkbox").focus();
    }
    /*else if (trim(document.getElementById("Salutation").value) == "") {
        reqFieldValidator = false;
        document.getElementById("Salutation").focus();
    }*/
    else if (trim(document.getElementById("FirstName").value) == "") {
        reqFieldValidator = false;
        document.getElementById("FirstName").focus();
    }
    else if (trim(document.getElementById("LastName").value) == "") {
        reqFieldValidator = false;
        document.getElementById("LastName").focus();
    }
    else if (trim(document.getElementById("CompanyName").value) == "") {
        reqFieldValidator = false;
        document.getElementById("CompanyName").focus();
    }
    else if (trim(document.getElementById("CCTel").value) == "") {
        reqFieldValidator = false;
        document.getElementById("CCTel").focus();
    }
    else if (trim(document.getElementById("ACTel").value) == "") {
        reqFieldValidator = false;
        document.getElementById("ACTel").focus();
    }
    else if (trim(document.getElementById("PhoneNumber").value) == "") {
        reqFieldValidator = false;
        document.getElementById("PhoneNumber").focus();
    }
    else if (trim(document.getElementById("Email").value) == "") {
        reqFieldValidator = false;
        document.getElementById("Email").focus();
    }
    else if (trim(document.getElementById("Country").value) == "") {
        reqFieldValidator = false;
        document.getElementById("Country").focus();
    }
    else if (trim(document.getElementById("JobFunction").value) == "") {
        reqFieldValidator = false;
        document.getElementById("JobFunction").focus();
    }
    else if (trim(document.getElementById("Industry").value) == "") {
        reqFieldValidator = false;
        document.getElementById("Industry").focus();
    }
    else if (trim(document.getElementById("NumberOfDesktop").value) == "") {
        reqFieldValidator = false;
        document.getElementById("NumberOfDesktop").focus();
    }
    else if (trim(document.getElementById("PlanAdobePurchase").value) == "") {
        reqFieldValidator = false;
        document.getElementById("PlanAdobePurchase").focus();
    }
    else if (trim(document.getElementById("hidinterestedsolution").value) == "") {
        reqFieldValidator = false;
        document.getElementById("chkPrintPublishing").focus();
    }
    else if (trim(document.getElementById("TimeFrameToPurchase").value) == "") {
        reqFieldValidator = false;
        document.getElementById("TimeFrameToPurchase").focus();
    }
    else if (trim(document.getElementById("IsBudgetDefined").value) == "") {
        reqFieldValidator = false;
        document.getElementById("IsBudgetDefined").focus();
    }
    else if (trim(document.getElementById("NumLicensesToPurchase").value) == "") {
        reqFieldValidator = false;
        document.getElementById("NumLicensesToPurchase").focus();
    }
    else if (trim(document.getElementById("ReceiveFutureEmails").value) == "") {
        reqFieldValidator = false;
        document.getElementById("ReceiveFutureEmails").focus();
    }
    else {
        //other validation
        if (!isValidEmail(trim(document.getElementById("Email").value))) {
            alert("Please provide a valid email.");
            document.getElementById("Email").focus();
            return false;
        }
    }

    if (!reqFieldValidator) {
    //validate all mandatory fields
        alert("Please fill in all mandatory fields.");
        return false;
    } 
}
