﻿//=========================================
//              eTC Home
//=========================================
$(document).ready(function() {
    $("table.etclisttable tr").mouseover(function() {
        $(this).css("background-color", "#F2F2F2");
    });
    $("table.etclisttable tr").mouseout(function() {
        $(this).css("background-color", "#FFFFFF");
    });
});


//=========================================
//      Landing page functions
//=========================================
var eTCAjaxContent = "";

function ShoweTrainingOverview() {
    $('#data_etcresume').empty();
    $('#data_etcresume').html(eTCAjaxContent);
}

function HideeTrainingOverview() {
    $('#data_etcresume').slideToggle(600);
}

function GeteTrainingOverview(id) {
    $.getJSON("/common/shared/webseminar/etraining/etraining-resume.ashx?id=" + id, "", 
        function(json) {
            $('#data_etcresume').empty();

            // Header
            eTCAjaxContent = "<table>";
            eTCAjaxContent += "<tr><td align='right'><a href='javascript:HideeTrainingOverview()'>[x] close</a></td></tr>";
            eTCAjaxContent += "<tr><td><div style='text-align:justify;padding:5px;line-height:20px'>";
            // Resume
            eTCAjaxContent += "<b>" + json.etraining.title + "</b>";
            // Resume
            eTCAjaxContent += "<br /><br /><b>Resume</b>: " + json.etraining.resume;
            // Rating
            if (json.etraining.rating != null && json.etraining.rating != "") {
                eTCAjaxContent += "<br /><br />" + json.etraining.rating + "</div></td></tr>";
            }
            // Access to Landing Page
            if (json.etraining.landingpage) {
                eTCAjaxContent += "<tr><td align='center'><a href='?id=" + id + "' onclick='HideeTrainingOverview()' target='blank'>More information</a></td></tr>";
            }
            // Footer
            eTCAjaxContent += "</table>";

            $('#data_etcresume').html(eTCAjaxContent);
        }
    );
}

$(document).ready(function() {
    if ($('a[id*="localtime"]')) {
        $('a[id*="summarytime"]').attr('href', $('a[id*="localtime"]').attr('href'));
    }

    $("a.etcresume").click(function(e) {
        // get e-training id
        var id = $(this).attr('href').substring($(this).attr('href').indexOf('id=') + 3);
        eTCAjaxContent = "";

        //calculating offset for displaying popup
        leftVal = e.pageX + "px";
        topVal = e.pageY + "px";

        // display loader
        $('#data_etcresume').css({ left: leftVal, top: topVal });
        $('#data_etcresume').html("<div style='height:180px'><br /><br /><br /><br /><br /><img src='/img/icons/ajax-loader.gif' alt='Loading' width='16' height='16' /></div>").slideToggle(600);

        // display e-training resume and ratings
        GeteTrainingOverview(id);
        return false;
    });
});

function DisplayAbstract(id) {
    document.getElementById(id + 'resume').style.display = 'block';
    document.getElementById(id).style.display = 'none';
}

function ChangeStyle(layer, layerstyle) {
    if (document.all && document.all[layer])
        document.all[layer].style.color = layerstyle;
    else if (document.getElementById(layer))
        document.getElementById(layer).style.color = layerstyle;
}

function DisplayMultiSeatOffers() {
    document.getElementById('learnmore').style.display = 'none';
    BackUpTab(6);
    document.getElementById('etcfeemultiseatoffer1').style.display = 'block';
    document.getElementById('etcfeemultiseatoffer2').style.display = 'block';
}

//=========================================
//      Tabs Navigation Management
//=========================================
function ShowTab(index) {
    if (document.getElementById("etctablist")) {
        var list = document.getElementById("etctablist").childNodes;
        for (var i = 1; i <= 5; i++) {
            if (document.getElementById("etctab" + i) && document.getElementById("tab" + i)) {
                document.getElementById("etctab" + i).style.display = "none";
                document.getElementById("tab" + i).className = "";
            }
        }

        if (document.getElementById("etctab" + index) && document.getElementById("tab" + index)) {
            document.getElementById("etctab" + index).style.display = "block";
            document.getElementById("tab" + index).className = "current";
        }

        if (index == 5) {
            //_gaq.push(['_trackEvent', 'eTC', 'Register_CTA']);
            _gaq.push(['_trackPageview', '/eTC/register-tab.aspx']);

            document.getElementById("etctabgreenborder").style.display = "block";
            document.getElementById("etctabblueborder").style.display = "none";
            moveTo('#form');
        }
        else {
            document.getElementById("etctabblueborder").style.display = "block";
            document.getElementById("etctabgreenborder").style.display = "none";
        }

        BackUpTab(index);
    }
    // V2
    else {
        var list = document.getElementById("etctablistV2").childNodes;
        for (var i = 1; i <= 5; i++) {
            if (document.getElementById("etctab" + i) && document.getElementById("tab" + i)) {
                document.getElementById("etctab" + i).style.display = "none";
                document.getElementById("tab" + i).className = "";
            }
        }

        if (document.getElementById("etctab" + index) && document.getElementById("tab" + index)) {
            document.getElementById("etctab" + index).style.display = "block";
            document.getElementById("tab" + index).className = "current";
        }

        if (index == 5) {
            //_gaq.push(['_trackEvent', 'eTC', 'Register_CTA']);
            _gaq.push(['_trackPageview', '/eTC/register-tab.aspx']);
            ScrollToWithAnimation("tabs");
        }

        BackUpTab(index);
    }
}

function ScrollToWithAnimation(anchorname) {
    //get the top offset of the target anchor
    var target_offset = $("#" + anchorname).offset();
    var target_top = target_offset.top;

    //goto that anchor by setting the body scroll top to anchor top
    $('html, body').animate({ scrollTop: target_top }, 500);
}


//=========================================
//      Tabs Navigation Track
//=========================================
function InitEtrainingTabs() {
    DisplayAttendeesLocation();
    if (GetValueFromURL("tab") != null) {
        var tab = GetValueFromURL("tab");
        switch (tab) {
            case "1":
                ShowTab('1');
                break;
            case "2":
                ShowTab('2');
                break;
            case "3":
                ShowTab('3');
                break;
            case "4":
                ShowTab('4');
                break;
            case "5":
                ShowTab('5');
                break;
        }
    }
    else {
        BackUpTab(1);
    }
}

function BackUpTab(tab) {
    var id = GetValueFromURL("id");
    $.ajax({ url: "/common/shared/webseminar/etraining/backuptab.aspx?t=" + tab + "&id=" + id });
}

//=========================================
//      Registration Form Validation
//=========================================
function isPhoneNumber(aStr) {
    var index;
    var reg = "0123456789()+/\\-_. "
    for (index = 0; index < aStr.length; index++)
        if (reg.indexOf(aStr.charAt(index)) == -1)
        return false;
    return true;
}

function checkphone(champ, message) {
    if (!isPhoneNumber(champ.value)) {
        alert(message);
        champ.select();
    }
}

function DisplayAttendeesLocation() {
    if (getObjFormField("WsSignUp", "nbAttendees")) {
        var nbAttendees = getObjFormField("WsSignUp", "nbAttendees");
        if (nbAttendees) {
            if (nbAttendees.selectedIndex > 0) {
                document.getElementById("attendeesLocationdiv").style.display = "block";
            }
            else {
                document.getElementById("attendeesLocationdiv").style.display = "none";
            }
        }
    }
}

function Validation() {
    var nbAttendees         = getObjFormField("WsSignUp", "nbAttendees");
    var RegularAccess       = getObjFormField("WsSignUp", "RegularAccess");
    var MultiAccess         = getObjFormField("WsSignUp", "MultiAccess");

    var FirstName           = getObjFormField("WsSignUp", "FirstName");
    var LastName            = getObjFormField("WsSignUp", "LastName");
    var Company             = getObjFormField("WsSignUp", "Company");
    var Country             = getObjFormField("WsSignUp", "Country");
    var ConfirmEmail        = getObjFormField("WsSignUp", "ConfirmEmail");
    var Email               = getObjFormField("WsSignUp", "Email");
    var InterPhone          = getObjFormField("WsSignUp", "InterPhone");
    var Phone               = getObjFormField("WsSignUp", "PhoneNumber");
    var Address             = getObjFormField("WsSignUp", "Address");
    var Job                 = getObjFormField("WsSignUp", "Job");
    var Zip                 = getObjFormField("WsSignUp", "ZipCode");
    var City                = getObjFormField("WsSignUp", "City");
    var Activity            = getObjFormField("WsSignUp", "Activity");
    var VAT                 = getObjFormField("WsSignUp", "VAT");
    var form                = getObjForm("WsSignUp");

    // Attendees Location
    if (nbAttendees && nbAttendees.selectedIndex > 0) {
        check = false;
        ctr = 0;
        for (i = 0; i < form.length; i++) {
            if ((form[i].type == "radio") && (form[i].name.indexOf("attendeesLocation") > -1)) {
                ctr++;
                if (form[i].checked) {
                    check = true;
                }
            }
        }
        if (ctr > 0) {
            if (!check) {
                alert("Please specify if all registrants will attend from the same room.");
                return false;
            }
        }
    }
    // V2
    if (RegularAccess) {
        if (!RegularAccess.checked && !MultiAccess.checked) {
            alert("Please select your training access.");
            return false;
        }
    }



    // First Name
    if (isNull(FirstName.value)) {
        alert("First Name is required.");
        FirstName.focus();
        return false;
    }
    // Last Name
    if (isNull(LastName.value)) {
        alert("Last Name is required.");
        LastName.focus();
        return false;
    }
    // Email
    if (isNull(Email.value)) {
        alert("E-Mail is required.");
        Email.focus();
        return false;
    }
    if (!checkmail(Email.value)) {
        alert("Email address does not seem to be valid.");
        Email.focus();
        return false;
    }
    // Confirmation Email
    if (isNull(ConfirmEmail.value)) {
        alert("Please confirm your e-mail address.");
        ConfirmEmail.focus();
        return false;
    }
    else if (Email.value.toLowerCase() != ConfirmEmail.value.toLowerCase()) {
        alert("You have specified 2 different email addresses. Please make sure you enter similar and correct addresses.")
        //BackUpMistypedEmails(USREG_00_Email.value, USREG_00_ConfirmEmail.value)
        //ConfirmEmail.select();
        Email.focus();
        ConfirmEmail.focus();
        return false;
    }
    // Company Name
    if (isNull(Company.value)) {
        alert("Company is required.");
        Company.focus();
        return false;
    }
    // Job
    if (Job.selectedIndex == 0) {
        alert("Job is required.");
        Job.focus();
        return false;
    }
    // Activity
    if (Activity.selectedIndex == 0) {
        alert("Main activity is required.");
        Activity.focus();
        return false;
    }
    // Address
    if (isNull(Address.value)) {
        alert("Address is required.");
        Address.focus();
        return false;
    }
    // Area/Zip Code
    if (Zip && isNull(Zip.value)) {
        alert("Area / Zip Code is required.");
        Zip.focus();
        return false;
    }
    // City
    if (isNull(City.value)) {
        alert("City is required.");
        City.focus();
        return false;
    }
    // Country
    if (Country.selectedIndex == 0) {
        alert("Country is required.");
        Country.focus();
        return false;
    }
    // Phone number
    if (isNull(Phone.value)) {
        alert("Phone is required.");
        Phone.focus();
        return false;
    }
    else if (isNull(InterPhone.value)) {
        alert("International code for phone is required.");
        InterPhone.focus();
        return false;
    }

    //VAT
    if (!isNull(VAT.value)) {
        if (!CheckVATValue(VAT.value)) {
            alert("Please check your VAT identification number.");
            VAT.focus();
            return false;
        }
    }

    // CkeckBoxes
//    check = false;
//    ctr = 0;
//    for (i = 0; i < form.length; i++) {
//        if ((form[i].type == "checkbox") && (form[i].name.indexOf("SessionDate") > -1)) {
//            ctr++;
//            if (form[i].checked) {
//                check = true;
//            }
//        }
//    }
//    if (ctr > 0) {
//        if (!check) {
//            alert("Please choose a session date.");
//            return;
//        }
//    }
    //_gaq.push(['_trackEvent', 'eTC', 'Continue_CTA']);

    return true;
}

//=========================================
//      VAT Code Validation
//=========================================
function SelectCountry() {
    var obj = getObjFormField("WsSignUp", "Country");
    var VAT = getObjFormField("WsSignUp", "VATIDNumber");

    switch (obj.options[obj.selectedIndex].value) {
        case "39": //Austria
        case "40": //Belgium
        case "85": //Cyprus
        case "67": //Czech Republic
        case "44": //Germany
        case "41": //Denmark
        case "68": //Estonia
        case "47": //Greece
        case "57": //Spain
        case "42": //Finland
        case "60": //United Kingdom
        case "69": //Hungary
        case "49": //Ireland
        case "50": //Italy
        case "71": //Lithuania
        case "51": //Luxembourg
        case "70": //Latvia
        case "209": //Malta
        case "53": //Netherlands / Holland
        case "74": //Poland
        case "55": //Portugal
        case "58": //Sweden
        case "78": //Slovenia
        case "77": //Slovak Republic
            VAT.disabled = false;
            ChangeStyle("vatlayer", "#000000");
            break;
        default:
            VAT.value = "";
            VAT.disabled = true;
            ChangeStyle("vatlayer", "#CCCCCC");
            break;
    }
}
function CheckVATValue(value) {
    var obj = getObjFormField("WsSignUp", "Country");

    var regex = null;
    switch (obj.options[obj.selectedIndex].value) {
        case "39": //Austria
            regex = /^(ATU)(\d){8}$/;
            break;
        case "40": //Belgium
            regex = /^(BE)(\d){9,10}$/;
            break;
        case "85": //Cyprus
            regex = /^(CY)(\d){8}[A-Z]$/;
            break;
        case "67": //Czech Republic
            regex = /^(CZ)(((\d){8})|((\d){9})|((\d){10}))$/;
            break;
        case "44": //Germany
            regex = /^(DE)(\d){9}$/;
            break;
        case "41": //Denmark
            regex = /^(DK)(\d){8}$/;
            break;
        case "68": //Estonia
            regex = /^(EE)(\d){9}$/;
            break;
        case "47": //Greece
            regex = /^(EL)(\d){8,9}$/;
            break;
        case "57": //Spain
            regex = /^(ES)[0-9A-Z](\d){7}[0-9A-Z]$/;
            break;
        case "42": //Finland
            regex = /^(FI)(\d){8}$/;
            break;
        case "60": //United Kingdom
            regex = /^(GB)(((\d){9})|((\d){12})|((GD|HA)(\d){3}))$/;
            break;
        case "69": //Hungary
            regex = /^(HU)(\d){8}$/;
            break;
        case "49": //Ireland
            regex = /^(IE)\d[0-9A-Z+*](\d){5}[A-Z]$/;
            break;
        case "50": //Italy
            regex = /^(IT)(\d){11}$/;
            break;
        case "71": //Lithuania
            regex = /^(LT)(((\d){9})|((\d){12}))$/;
            break;
        case "51": //Luxembourg
            regex = /^(LU)(\d){8}$/;
            break;
        case "70": //Latvia
            regex = /^(LV)(\d){11}$/;
            break;
        case "209": //Malta
            regex = /^(MT)(\d){8}$/;
            break;
        case "53": //Netherlands / Holland
            regex = /^(NL)(\d){9}(B)(\d){2}$/;
            break;
        case "74": //Poland
            regex = /^(PL)(\d){10}$/;
            break;
        case "55": //Portugal
            regex = /^(PT)(\d){9}$/;
            break;
        case "58": //Sweden
            regex = /^(SE)(\d){12}$/;
            break;
        case "78": //Slovenia
            regex = /^(SI)(\d){8}$/;
            break;
        case "77": //Slovak Republic
            regex = /^(SK)(\d){10}$/;
            break;
    }
    if (regex != null) {
        var vat = value.toUpperCase().replace(" ", "");
        return regex.test(vat);
    }
    return false;
}

//=========================================
//      Alerts
//=========================================
function UnCheckAlerts() {
    var form = getObjForm("Form1");
    for (var i = 0; i < form.length; i++) {
        if (form[i].type == "checkbox") {
            form[i].checked = false;
        }
    }
}

