﻿var ignoreValidation = true;

function change() {
    var obj = document.getElementById("FormPage1");
    if (obj) obj.style.display = 'inline';
}

function setPageTwo() {
    document.getElementById("FormPage2").style.display = "block";
    document.getElementById("buttonFour").style.display = "none";
    document.getElementById("buttonTwo").style.display = "block";
    document.getElementById("FormPage2").scrollIntoView();
}

function setPageThree() {

    var obj = document.getElementById("BuildingFloor");
    if (obj && obj.value.match(/eg\..*/)) obj.value = "";

    obj = document.getElementById("BuildingNumber");
    if (obj && obj.value.match(/eg\..*/)) obj.value = "";

    obj = document.getElementById("Street");
    if (obj && obj.value.match(/eg\..*/)) obj.value = "";

    obj = document.getElementById("Locality");
    if (obj && obj.value.match(/eg\..*/)) obj.value = "";

    obj = document.getElementById("Town");
    if (obj && obj.value.match(/eg\..*/)) obj.value = "";

    obj = document.getElementById("State");
    if (obj && obj.value.match(/eg\..*/)) obj.value = "";

    document.getElementById("FormPage3").style.display = "block";
    document.getElementById("buttonTwo").style.display = "none";
    document.getElementById("buttonThree").style.display = "block";
    document.getElementById("FormPage3").scrollIntoView(); 
}

function setPageFour() {
    document.getElementById("FormPage4").style.display = "block";
    document.getElementById("buttonOne").style.display = "none";
    document.getElementById("buttonFour").style.display = "block";
    document.getElementById("FormPage4").scrollIntoView();
}

function setPageOne() {
    document.getElementById("FormPage1").style.display = "block";
    document.getElementById("FormPage2").style.display = "none";
    document.getElementById("FormPage3").style.display = "none";
    document.getElementById("FormPage4").style.display = "none";
    document.getElementById("buttonThree").style.display = "none";
    document.getElementById("buttonOne").style.display = "block";
}

function validatePageOne() {
    ignoreValidation = false;

    document.getElementById("Country_Label").style.color = "black";
    var passtest = true;
    var ErrorMessage = '';

    if (document.getElementById("Country").value == null || document.getElementById("Country").value == "" || document.getElementById("Country").value == ".") {
        ErrorMessage = 'Country is required';
        document.getElementById("Country_Label").style.color = "red";
        passtest = false;
    }

    if (passtest == true) {
        setPageFour();
    } else {
        alert(ErrorMessage)
    }
}

function validatePageFour() {
    if (ignoreValidation) return true;
    document.getElementById("Title_Label").style.color = "black";
    document.getElementById("Email_Label").style.color = "black";
    document.getElementById("Last_Name_Label").style.color = "black";
    document.getElementById("First_Name_Label").style.color = "black";
    document.getElementById("Job_Title_Label").style.color = "black";
    document.getElementById("Job_Title_Label").style.fontWeight = "normal";
    var passtest = true;
    var ErrorMessage = '';
    var varRegExp = '^[A-Z0-9!#\\$%&\'\\*\\+\\-/=\\?\\^_`\\{\\|\\}~][A-Z0-9!#\\$%&\'\\*\\+\\-/=\\?\\^_`\\{\\|\\}~\\.]{0,62}@([A-Z0-9](?:[A-Z0-9\\-]{0,61}[A-Z0-9])?(\\.[A-Z0-9](?:[A-Z0-9\\-]{0,61}[A-Z0-9])?)+)$';
    var emailObj = document.getElementById('Email');
    if ((emailObj) && (emailObj.value != '')) {
        var reg = new RegExp(varRegExp, "i");
        var match = reg.exec(emailObj.value);
        if ((match) && (match.length = 3) && (match[1].length <= 255) && ((match[2].length >= 3) & (match[2].length <= 7))) {
            passtest = true;
        } else {
            ErrorMessage = 'The Email Address you entered is invalid' + '\n';
            document.getElementById("Email_Label").style.color = "red";
            passtest = false;
        }
    } else {
        ErrorMessage = 'Email Address is required' + '\n';
        document.getElementById("Email_Label").style.color = "red";
        passtest = false;
    }

    if (document.getElementById("Title").value == null || document.getElementById("Title").value == ".") {
        ErrorMessage = ErrorMessage + 'Title is required' + '\n';
        document.getElementById("Title_Label").style.color = "red";
        passtest = false;
    }
    else {
        document.getElementById("HiddenFieldTitle_").value = document.getElementById("Title").value;
    }


    if (document.getElementById("LastName").value == null || document.getElementById("LastName").value == "") {
        ErrorMessage = ErrorMessage + 'Last Name is required' + '\n';
        document.getElementById("Last_Name_Label").style.color = "red";
        passtest = false;
    }

    if (document.getElementById("FirstName").value == null || document.getElementById("FirstName").value == "") {
        ErrorMessage = ErrorMessage + 'First Name is required' + '\n';
        document.getElementById("First_Name_Label").style.color = "red";
        passtest = false;
    }

    if (document.getElementById("JobTitle").value == "" && document.getElementById("JobRole").value == "") {
        ErrorMessage = ErrorMessage + 'Please select a Job Role or enter your Job Title';
        document.getElementById("Job_Title_Label").style.fontWeight = "bold";
        document.getElementById("Job_Title_Label").style.color = "red";
        passtest = false;
    }

    if (passtest == true) {
        setPageTwo();
    } else {
        alert(ErrorMessage)
    }
}

function otherChallenge() {
    if (document.getElementById("otherChalText").value != "") {
        document.getElementById("challother").checked = true;
    } else {
        document.getElementById("challother").checked = false;
    }
}

function otherIndustry() {
    var selObj = document.getElementById('Industry');
    if (selObj.value == 'Other (please specify)') {
        document.getElementById("OtherIndustry").style.display = "inline";
    }
}

function setDefaultPhone() {
    var countrycode = document.getElementById("Country");
    var obj = document.getElementById('Phone');
    var phonecode = setTelephone(countrycode);
    obj.value = phonecode;

    if (obj.value == "undefined") {
        obj.value = '';
    }
}

function validatePageThree() {
    if (ignoreValidation) return true;

    document.getElementById("Company_Label").style.color = "black";
    document.getElementById("Challenge_Label").style.color = "black";
    document.getElementById("Challenge_Label").style.fontWeight = "normal";
    var passtest = true;
    var ErrorMessage = '';

    var countrycode = document.getElementById("Country");
    var obj = document.getElementById('Phone');
    var phonecode = setTelephone(countrycode);
    if (obj.value === phonecode) {
        obj.value = '';
    }

    if (document.getElementById("Company").value == null || document.getElementById("Company").value == "") {
        document.getElementById("Company_Label").style.color = "red";
        ErrorMessage = 'Company Name is required' + '\n';
        passtest = false;
    }

    var NewCount = 0;
    if (document.getElementById("ChallengesSetupSpeed").checked == true) {
        NewCount = NewCount + 1;
    }
    if (document.getElementById("ChallengesEncourage").checked == true) {
        NewCount = NewCount + 1;
    }
    if (document.getElementById("ChallengesExperience").checked == true) {
        NewCount = NewCount + 1;
    }
    if (document.getElementById("ChallengesDataQuality").checked == true) {
        NewCount = NewCount + 1;
    }
    if (document.getElementById("ChallengesResponses").checked == true) {
        NewCount = NewCount + 1;
    }
    if (document.getElementById("ChallengesData").checked == true) {
        NewCount = NewCount + 1;
    }
    if (document.getElementById("ChallengesOtherCb").checked == true) {
        NewCount = NewCount + 1;
    } else {
        document.getElementById("ChallengesOther").value = '';
    }
    if (NewCount > 3) {
        ErrorMessage = ErrorMessage + 'Please select a maximum of three Contact Us challenges\n';
        document.getElementById("Challenge_Label").style.color = "red";
        document.getElementById("Challenge_Label").style.fontWeight = "bold";
        passtest = false;
    }

    var indObj = document.getElementById('Industry');
    if (indObj.value == 'Other (please specify)' && document.getElementById("OtherIndustry").value == "") {
        document.getElementById("Industry_Label").style.color = "red";
        ErrorMessage = ErrorMessage + 'Please specify other industry';
        passtest = false;
    }


    if (passtest == true) {
        var objForm = $('maincontactus');
        objForm.action = 'http://www.crmtechnologies.com/clients/Percassity/Default.aspx';
        return true;
    } else {
        alert(ErrorMessage);
        return false;
    }
}

function clearDefault(field) {
    var Field = field;
    if (field.value.match(/eg\..*/)) {
        field.value = '';
        field.style.color = '#000000';
    }
}

function setTelephone(countrycode) {

    var Country = countrycode.value;

    this.TelPrefix = new Array();
    this.TelPrefix["AD"] = "+376 (0)"
    this.TelPrefix["AU"] = "+61 (0)"
    this.TelPrefix["AT"] = "+43 (0)"
    this.TelPrefix["BE"] = "+32 "
    this.TelPrefix["CA"] = "+1 (0)"
    this.TelPrefix["CH"] = "+41 (0)"
    this.TelPrefix["CZ"] = "+420 (0)"
    this.TelPrefix["DE"] = "+49 "
    this.TelPrefix["DK"] = "+45 (0)"
    this.TelPrefix["ES"] = "+34 "
    this.TelPrefix["FI"] = "+358 (0)"
    this.TelPrefix["FR"] = "+33 (0)"
    this.TelPrefix["GB"] = "+44 (0)"
    this.TelPrefix["GR"] = "+30 (0)"
    this.TelPrefix["HU"] = "+36 (0)"
    this.TelPrefix["IE"] = "+353 (0)"
    this.TelPrefix["IT"] = "+39 (0)"
    this.TelPrefix["LU"] = "+352 (0)"
    this.TelPrefix["MX"] = "+52 (0)"
    this.TelPrefix["NL"] = "+31 (0)"
    this.TelPrefix["NO"] = "+47 (0)"
    this.TelPrefix["NZ"] = "+64 (0)"
    this.TelPrefix["PL"] = "+48 (0)"
    this.TelPrefix["PT"] = "+351 (0)"
    this.TelPrefix["RU"] = "+7 (0)"
    this.TelPrefix["SM"] = "+378 (0)"
    this.TelPrefix["SE"] = "+46 (0)"
    this.TelPrefix["US"] = "+1 "

    strTelPrefix = this.TelPrefix[Country];
    return strTelPrefix;
}

function doLabels(lang) {
    if (lang.length == 3) {
        for (x in Labels.Labels)
            if (Labels.Labels[x].Language_Code.split(".")[1] == lang)
            lang = x;
    }
     
    var trans = Labels.Labels[lang];
    var def = Labels.Labels["EN"];
    var labels = $$("span");
    
    if (trans && labels && def) {
        for (var i = 0; i < labels.length; i++) {

            var id = labels[i].id;

            if(def[id])
                labels[i].innerHTML = def[id];

            if (trans[id])
                labels[i].innerHTML = trans[id];
        }

        var titleObj = $("Title");
        if (titleObj) {
            
            for (; titleObj.options.length > 0;) {
                titleObj.removeChild(titleObj.options[0]);
            }
            titles  = def["Title"];
            for (var i = 0; i < titles.length; i++) {
                var elOptNew = document.createElement('option');
                elOptNew.text = titles[i];
                elOptNew.value = titles[i];
                try {
                    titleObj.add(elOptNew, null); // standards compliant; doesn't work in IE
                }
                catch (ex) {
                    titleObj.add(elOptNew); // IE only
                }
            }

            if (trans["Title"]) {
                for (; titleObj.options.length > 0; ) {
                    titleObj.removeChild(titleObj.options[0]);
                }
                titles = trans["Title"];
                for (var i = 0; i < titles.length; i++) {
                    var elOptNew = document.createElement('option');
                    elOptNew.text = titles[i];
                    elOptNew.value = titles[i];
                    try {
                        titleObj.add(elOptNew, null); // standards compliant; doesn't work in IE
                    }
                    catch (ex) {
                        titleObj.add(elOptNew); // IE only
                    }
                }
            
            }
        }

    }

    if (trans && trans.Language_Code) {
        document.getElementById('HiddenFieldISOCountryLang').value = trans.Language_Code;
    }

}


function dopcaw(lang) {
    //var lang = new String(document.getElementById('HiddenFieldISOCountryLang').value);
    var instructions = 'Instructions';
    //document.title = 'Contact Us';
    if (lang == '') lang = 'USA.ENG';

    var cntry = lang.split('.')[0];
    lang = lang.split('.')[1];

    objFinder = new PCASmartForm(document.getElementById("FormPage1"), document.getElementById("divSmartForm"), cntry, lang, cb, instructions);
    objFinder.ShowAllCountries = false;
    objFinder.DrawForm();

}

function cb() {
    setDefaultPhone();
    var countryObj = document.getElementById("Country");
    var languageObj = document.getElementById("language");
    if(languageObj)
        doLabels(languageObj.value);
}

function challengeCheck() {
    var NewCount = 0;
    if (document.getElementById("ChallengesSetupSpeed").checked == true) {
        NewCount = NewCount + 1;
    }
    if (document.getElementById("ChallengesEncourage").checked == true) {
        NewCount = NewCount + 1;
    }
    if (document.getElementById("ChallengesExperience").checked == true) {
        NewCount = NewCount + 1;
    }
    if (document.getElementById("ChallengesDataQuality").checked == true) {
        NewCount = NewCount + 1;
    }
    if (document.getElementById("ChallengesResponses").checked == true) {
        NewCount = NewCount + 1;
    }
    if (document.getElementById("ChallengesData").checked == true) {
        NewCount = NewCount + 1;
    }
    if (document.getElementById("ChallengesOtherCb").checked == true) {
        NewCount = NewCount + 1;
    } else {
        document.getElementById("ChallengesOther").value = '';
    }
    if (NewCount >= 3) {

        if (document.getElementById("ChallengesSetupSpeed").checked == false) {
            document.getElementById("ChallengesSetupSpeed").disabled = true;
        }
        if (document.getElementById("ChallengesEncourage").checked == false) {
            document.getElementById("ChallengesEncourage").disabled = true;
        }
        if (document.getElementById("ChallengesExperience").checked == false) {
            document.getElementById("ChallengesExperience").disabled = true;
        }
        if (document.getElementById("ChallengesDataQuality").checked == false) {
            document.getElementById("ChallengesDataQuality").disabled = true;
        }
        if (document.getElementById("ChallengesResponses").checked == false) {
            document.getElementById("ChallengesResponses").disabled = true;
        }
        if (document.getElementById("ChallengesData").checked == false) {
            document.getElementById("ChallengesData").disabled = true;
        }
        if (document.getElementById("ChallengesOtherCb").checked == false) {
            document.getElementById("ChallengesOtherCb").disabled = true;
        } else {
            document.getElementById("ChallengesOther").value = '';
        }


    }
    else {
        document.getElementById("ChallengesSetupSpeed").disabled = false;
        document.getElementById("ChallengesEncourage").disabled = false;
        document.getElementById("ChallengesExperience").disabled = false;
        document.getElementById("ChallengesDataQuality").disabled = false;
        document.getElementById("ChallengesResponses").disabled = false;
        document.getElementById("ChallengesData").disabled = false;
        document.getElementById("ChallengesOtherCb").disabled = false;
    }

}


function init() {
    var contentObj = document.getElementById("content_container");
    if (enactiscontent) {
        contentObj.innerHTML = enactiscontent.innerHTML;
    }

    var form = document.getElementById("maincontactus");

    if (form == null || typeof Labels == "undefined" || typeof DefaultLanguageCountry == "undefined") {
        setTimeout(init, 1000);
        return;
    }
    
    var countryObj = document.getElementById("Country");
    var languageObj = document.getElementById("language");

    countryObj.value = DefaultLanguageCountry.country;
    languageObj.value = DefaultLanguageCountry.language;
    doLabels(languageObj.value);
    dopcaw(DefaultLanguageCountry.threelettercode);
    setDefaultPhone()
//    var obj = document.getElementById("Country");
//    if (obj) {
//        obj.onchange = function() {
//            setDefaultPhone();
//            if (objFinder) {
//                objFinder.SetCountry(document.getElementById('HiddenFieldISOCountryLang').value.split(".")[0]);
//            }
//            //dopcaw(document.getElementById('HiddenFieldISOCountryLang').value);
//        }
//    }

//    obj = document.getElementById("language");
//    if (obj) {
//        obj.onchange = function() {
//            var countryObj = document.getElementById("Country");
//            var languageObj = document.getElementById("language");
//            doLabels(languageObj.value);
//            if (objFinder) {
//                objFinder.SetLanguage(document.getElementById('HiddenFieldISOCountryLang').value.split(".")[1]);
//            }

//        }
//    }

    obj = document.getElementById("ChallengesSetupSpeed");
    if (obj) {
        obj.onclick = challengeCheck;
    }

    obj = document.getElementById("ChallengesEncourage");
    if (obj) {
        obj.onclick = challengeCheck;
    }
    obj = document.getElementById("ChallengesExperience");
    if (obj) {
        obj.onclick = challengeCheck;
    }
    obj = document.getElementById("ChallengesDataQuality");
    if (obj) {
        obj.onclick = challengeCheck;
    }
    obj = document.getElementById("ChallengesResponses");
    if (obj) {
        obj.onclick = challengeCheck;
    }
    obj = document.getElementById("ChallengesData");
    if (obj) {
        obj.onclick = challengeCheck;
    }
    obj = document.getElementById("ChallengesOtherCb");
    if (obj) {
        obj.onclick = challengeCheck;
    }


    obj = document.getElementById("Industry");
    if (obj) obj.onchange = otherIndustry;

    obj = document.getElementById("BuildingFloor");
    if (obj) obj.onfocus = function() { clearDefault(document.getElementById("BuildingFloor")) };

    obj = document.getElementById("BuildingNumber");
    if (obj) obj.onfocus = function() { clearDefault(document.getElementById("BuildingNumber")) };

    obj = document.getElementById("Street");
    if (obj) obj.onfocus = function() { clearDefault(document.getElementById("Street")) };

    obj = document.getElementById("Locality");
    if (obj) obj.onfocus = function() { clearDefault(document.getElementById("Locality")) };

    obj = document.getElementById("Town");
    if (obj) obj.onfocus = function() { clearDefault(document.getElementById("Town")) };

    obj = document.getElementById("State");
    if (obj) obj.onfocus = function() { clearDefault(document.getElementById("State")) };




}
