﻿/* ----------------- */
/* Navigator Scripts */
/* ----------------- */

function SetCurrentStep(stepIndex) {
    var lblHome = document.getElementById('SiteMapNavigator1_lblHome');
    var lblLogin = document.getElementById('SiteMapNavigator1_lblLogin');    
    var lblChooseOrganization = document.getElementById('SiteMapNavigator1_lblChooseOrganization');
    var lblChoosePaymentMethod = document.getElementById('SiteMapNavigator1_lblChoosePaymentMethod');
    var lblConfirm = document.getElementById('SiteMapNavigator1_lblConfirm');
    var lblComplete = document.getElementById('SiteMapNavigator1_lblComplete');
    var hlLogin = document.getElementById('SiteMapNavigator1_hlLogin');
    
    if (lblHome && lblLogin && lblChooseOrganization && lblChoosePaymentMethod && lblConfirm 
        && lblComplete && hlLogin) {
        
        ClearAllSteps();
        
        hlLogin.style.display = 'none';
        lblLogin.style.display = 'inline';
        
        switch (stepIndex) {
            case 1:
                SetStepCurrent(lblHome);
                hlLogin.style.display = 'inline';
                lblLogin.style.display = 'none';
                
                break;
            case 2:
                SetStepDone(lblHome);
                SetStepCurrent(lblLogin);
            
                break;
            case 3:                
                SetStepDone(lblHome);
                SetStepDone(lblLogin);
                SetStepCurrent(lblChooseOrganization);
                
                break;
            case 4:
                SetStepDone(lblHome);
                SetStepDone(lblLogin);
                SetStepDone(lblChooseOrganization);
                SetStepCurrent(lblChoosePaymentMethod);
                
                break;
            case 5:
                SetStepDone(lblHome);
                SetStepDone(lblLogin);
                SetStepDone(lblChooseOrganization);
                SetStepDone(lblChoosePaymentMethod);
                SetStepCurrent(lblConfirm);
                
                break;
            case 6:
                SetStepDone(lblHome);
                SetStepDone(lblLogin);
                SetStepDone(lblChooseOrganization);
                SetStepDone(lblChoosePaymentMethod);
                SetStepDone(lblConfirm);
                SetStepCurrent(lblComplete);
                
                break;
            default:
                // Invalid value.
                
                break;
        }
    }
}

function ClearAllSteps() {
    var lblHome = document.getElementById('SiteMapNavigator1_lblHome');
    var lblLogin = document.getElementById('SiteMapNavigator1_lblLogin');    
    var lblChooseOrganization = document.getElementById('SiteMapNavigator1_lblChooseOrganization');
    var lblChoosePaymentMethod = document.getElementById('SiteMapNavigator1_lblChoosePaymentMethod');
    var lblConfirm = document.getElementById('SiteMapNavigator1_lblConfirm');
    var lblComplete = document.getElementById('SiteMapNavigator1_lblComplete');

    if (lblHome && lblLogin && lblChooseOrganization && lblChoosePaymentMethod && lblConfirm && lblComplete) {
        SetStepUndone(lblHome);
        SetStepUndone(lblLogin);
        SetStepUndone(lblChooseOrganization);
        SetStepUndone(lblChoosePaymentMethod);
        SetStepUndone(lblConfirm);
        SetStepUndone(lblComplete);
    }
}

function SetStepUndone(undoneStep) {
    undoneStep.style.fontWeight = 'normal';
    undoneStep.style.color = 'gray';
}

function SetStepCurrent(currentStep) {
    currentStep.style.fontWeight = 'bold';
    currentStep.style.color = 'blue';
}

function SetStepDone(doneStep) {
    doneStep.style.fontWeight = 'bold';
    doneStep.style.color = 'black';
}

/* --------------------- */
/* Boxes Visible Scripts */
/* --------------------- */
function ShowBox(boxNumber) {
    var divWelcome = document.getElementById('Exhibitor1_divWelcome');
    var divLogin = document.getElementById('Exhibitor1_divLogin');
    var divPackage = document.getElementById('Exhibitor1_divPackage');
    var divPaymentMethod = document.getElementById('Exhibitor1_divPaymentMethod');
    var divConfirm = document.getElementById('Exhibitor1_divConfirm');
    var divThankYou = document.getElementById('Exhibitor1_divThankYou');
    var divEmailThankyou = document.getElementById('Exhibitor1_divEmailThankyou');
    var stepIndex = boxNumber;
    
    if (divWelcome && divLogin && divPackage && divPaymentMethod && divConfirm && divThankYou && divEmailThankyou) {
        divWelcome.style.display = 'none';
        divLogin.style.display = 'none';
        divPackage.style.display = 'none';
        divPaymentMethod.style.display = 'none';
        divConfirm.style.display = 'none';
        divThankYou.style.display = 'none';
        divEmailThankyou.style.display = 'none';
        
        switch (boxNumber)
        {
            case 1:
                divWelcome.style.display = "block";

                break;
            case 2:                
                divLogin.style.display = "block";

                break;
            case 3:                
                divPackage.style.display = "block";                

                break;
            case 4:
                divPaymentMethod.style.display = "block";

                break;
            case 5:
                divConfirm.style.display = "block";

                break;
            case 6:
                divThankYou.style.display = "block";

                break;
            case 7:
                divEmailThankyou.style.display = "block";
                stepIndex = 2;

                break;
            default:
                // Do something...
                break;
        }
        
        SetCurrentStep(stepIndex);
    }
}

function CheckRequiredFieldsPaymentMethod() {
    var rdoBankTransfer = document.getElementById('Exhibitor1_PaymentMethod1_rdoBankTransfer');
    var rdoCashOrCheque = document.getElementById('Exhibitor1_PaymentMethod1_rdoCashOrCheque');
    var returnValue = false;
    
    if (rdoBankTransfer && rdoCashOrCheque) {
        if (!rdoBankTransfer.checked && !rdoCashOrCheque.checked) {
            alert('Please select payment method first');
            returnVal = false;
        }
        else {
            returnVal = true;
        }
    }
    else {
        alert('Please select payment method first');
        returnVal = false;
    }
    
    return returnVal;
}

function GetChosenPaymentMethod() {
    var rdoBankTransfer = document.getElementById('Exhibitor1_PaymentMethod1_rdoBankTransfer');
    var rdoCashOrCheque = document.getElementById('Exhibitor1_PaymentMethod1_rdoCashOrCheque');
    var chosenPaymentMethodText = '';
    
    if (rdoBankTransfer && rdoCashOrCheque) {
        if (rdoBankTransfer.checked) {
            chosenPaymentMethodText = 'Bank Transfer';
        }
        else if (rdoCashOrCheque.checked) {
            chosenPaymentMethodText = 'Cash/Cheque';
        }
        else {
            chosenPaymentMethodText = '';
        }
    }
    
    return chosenPaymentMethodText;
}

function SetChosenPackage() {
    var lblChosenPackage = document.getElementById('Exhibitor1_Confirmation1_lblChosenPackage');
    
    if (lblChosenPackage) {
        lblChosenPackage.innerHTML = GetChosenPackage();
    }
}

function SetChosenPaymentMethod() {
    var lblPaymentMethod = document.getElementById('Exhibitor1_Confirmation1_lblPaymentMethod');
    
    if (lblPaymentMethod) {
        lblPaymentMethod.innerHTML = GetChosenPaymentMethod();
    }
}

function OrganizationChoosed() {    
    var rdlOrganization1 = document.getElementById('Exhibitor1_Organization_1_rdlOrganization_0');
    var rdlOrganization2 = document.getElementById('Exhibitor1_Organization_1_rdlOrganization_1');
    var rdlOrganization3 = document.getElementById('Exhibitor1_Organization_1_rdlOrganization_2');
    var rdlOrganization4 = document.getElementById('Exhibitor1_Organization_1_rdlOrganization_3');
    
    if (rdlOrganization1 && rdlOrganization2 
        && rdlOrganization3 && rdlOrganization4) {
        var index = "0";
        
        if (rdlOrganization1.checked) {
            index = "1";
        }
        else if (rdlOrganization2.checked) {
            index = "2";
        }
        else if (rdlOrganization3.checked) {
            index = "3";
        }
        else if (rdlOrganization4.checked) {
            index = "4";
        }
        else {
            alert('Please choose organisation first');
            return false;
        }
        
        ShowBenefit(index);
        ToggleSubmitButton(index);
    }
}

function ToggleSubmitButton(index) {
    var btnConfirmBenefit = document.getElementById('Exhibitor1_Organization_1_btnConfirmBenefit');
    
    if (btnConfirmBenefit) {
        switch (index) {
            case "1":
                var hidIsNonProfitAvailable = document.getElementById('Exhibitor1_Organization_1_hidIsNonProfitAvailable');
                
                if (hidIsNonProfitAvailable) {
                    if (hidIsNonProfitAvailable.value == 'true') 
                    {
                        btnConfirmBenefit.style.display = '';
                    }
                    else if (hidIsNonProfitAvailable.value == 'false')  {
                        btnConfirmBenefit.style.display = 'none';
                    }
                    else {
                        // Invalid value
                    }
                }
                else {
                    // Cannot get hidIsNonProfitAvailable
                }
                
                break;
            case "2":
                var hidIsRegularStandardAvailable = document.getElementById('Exhibitor1_Organization_1_hidIsRegularStandardAvailable');
                var hidIsRegularPremierAvailable = document.getElementById('Exhibitor1_Organization_1_hidIsRegularPremierAvailable');
                
                if (hidIsRegularStandardAvailable && hidIsRegularPremierAvailable) {
                    if (hidIsRegularStandardAvailable.value == 'false' && hidIsRegularPremierAvailable.value == 'false') {
                        btnConfirmBenefit.style.display = 'none';
                    }
                    else {
                        btnConfirmBenefit.style.display = '';
                    }
                }
                else {
                    // Cannot get hidIsRegularStandardAvailable and hidIsRegularPremierAvailable
                }
            
                break;
            default:
                btnConfirmBenefit.style.display = '';
                
                break;
        }
    }
    else {
        // Cannot get btnConfirmBenefit.
    }
}

function ShowBenefit(index) {
    var divNonProfitBenefit = document.getElementById('Exhibitor1_Organization_1_divNonProfitBenefit');
    var divProfitBenefit = document.getElementById('Exhibitor1_Organization_1_divProfitBenefit');
    var divAdvertisementBenefit = document.getElementById('Exhibitor1_Organization_1_divAdvertisementBenefit');
    var divRaffleDonorBenefit = document.getElementById('Exhibitor1_Organization_1_divRaffleDonorBenefit');
    var divOrganizationSelection = document.getElementById('Exhibitor1_Organization_1_divOrganizationSelection');
    var divBenefit = document.getElementById('Exhibitor1_Organization_1_divBenefit');
    var divPackage = document.getElementById('Exhibitor1_divPackage');
    var divOrganizationBG = document.getElementById('Exhibitor1_divOrganizationBG');
    var divOrganizationLoading = document.getElementById('Exhibitor1_divOrganizationLoading');
    
    if (divPackage && divNonProfitBenefit && divProfitBenefit && divAdvertisementBenefit 
        && divRaffleDonorBenefit && divOrganizationSelection && divBenefit && divOrganizationBG
        && divOrganizationLoading) {
        
        divOrganizationSelection.style.display = 'none';
        divBenefit.style.display = 'block';
        
        divNonProfitBenefit.style.display = 'none';
        divProfitBenefit.style.display = 'none';
        divAdvertisementBenefit.style.display = 'none';
        divRaffleDonorBenefit.style.display = 'none';
        
        SetBenefitTitle(index);
        
        switch (index) {
            case '1':
                // Non profit
                divNonProfitBenefit.style.display = 'block';
                divPackage.style.height = '160px';
                divOrganizationBG.style.height = '160px';
                divOrganizationLoading.style.top = '70px';
                
                break;
            case '2':
                // Profit
                divProfitBenefit.style.display = 'block';
                divPackage.style.height = '260px';
                divOrganizationBG.style.height = '260px';
                divOrganizationLoading.style.top = '140px';
                
                break;
            case '3':
                // Advertisement
                divAdvertisementBenefit.style.display = 'block';
                divPackage.style.height = '160px';
                divOrganizationBG.style.height = '160px';
                divOrganizationLoading.style.top = '70px';
                
                break;
            case '4':
                // Raffle Donor
                divRaffleDonorBenefit.style.display = 'block';
                divPackage.style.height = '145px';
                divOrganizationBG.style.height = '145px';
                divOrganizationLoading.style.top = '60px';
                
                break;
        }
    }
}

function SetBenefitTitle(index) {
    var benefitHeader = document.getElementById('lblBenefitTitle');
    var title = '';
    
    if (benefitHeader)  {
        switch (index) {
            case '1':
                title = 'Non-Profit Organisation';
                break;
            case '2':
                title = 'Profit Organisation';
                break;
            case '3':
                title = 'Advertisement Sponsor';
                break;
            case '4':
                title = 'Raffle Donor';
                break;
            default:
                // Something wrong...
                title = '';
                
                break;
        }
        
        benefitHeader.innerHTML = title;
    }
}

function BackToOrganizationSelection() {
    var divOrganizationSelection = document.getElementById('Exhibitor1_Organization_1_divOrganizationSelection');
    var divBenefit = document.getElementById('Exhibitor1_Organization_1_divBenefit');
    var divPackage = document.getElementById('Exhibitor1_divPackage');
    
    if (divOrganizationSelection && divBenefit && divPackage) {
        divOrganizationSelection.style.display = 'block';
        divBenefit.style.display = 'none';
        divPackage.style.height = '180px';
    }
}

function CheckRequiredFieldsOrganization() {
    var rdlOrganization1 = document.getElementById('Exhibitor1_Organization_1_rdlOrganization_0');
    var rdlOrganization2 = document.getElementById('Exhibitor1_Organization_1_rdlOrganization_1');
    var rdlOrganization3 = document.getElementById('Exhibitor1_Organization_1_rdlOrganization_2');
    var rdlOrganization4 = document.getElementById('Exhibitor1_Organization_1_rdlOrganization_3');
    var returnVal = true;        
    
    if (rdlOrganization1 && rdlOrganization2 
        && rdlOrganization3 && rdlOrganization4) {
        if (rdlOrganization1.checked) {                
            var rdoNonProfit = document.getElementById('Exhibitor1_Organization_1_rdoNonProfit');
            
            if (rdoNonProfit) {
                if (!rdoNonProfit.checked) {
                    alert('Please select organization first');
                    returnVal = false;
                }
                else {
                    returnVal = true;
                }
            }
            else {
                // Cannot find rdoNonProfit
            }
        }
        else if (rdlOrganization2.checked) {
            // Check Regular
            var rdoRegularStandard = document.getElementById('Exhibitor1_Organization_1_rdoRegularStandard');
            var rdoRegularPremier = document.getElementById('Exhibitor1_Organization_1_rdoRegularPremier');
            
            if (rdoRegularStandard && rdoRegularPremier) {
                if (!rdoRegularStandard.checked && !rdoRegularPremier.checked) {
                    alert('Please select organization first');
                    returnVal = false;
                }
                else {
                    returnVal = true;
                }
            }
            else {
                alert('Please select organization first');
                returnVal = false;
            }
        }
        else if (rdlOrganization3.checked) {
            var rdoAdvertisementOnly = document.getElementById('Exhibitor1_Organization_1_rdoAdvertisementOnly');
            
            if (rdoAdvertisementOnly) {
                if (!rdoAdvertisementOnly.checked) {
                    alert('Please select organization first');
                    returnVal = false;
                }
                else {
                    returnVal = true;
                }
            }
            else {
                // Cannot find rdoNonProfit
            }
        }
        else if (rdlOrganization4.checked) {
            var rdoRaffleDonor = document.getElementById('Exhibitor1_Organization_1_rdoRaffleDonor');
            
            if (rdoRaffleDonor) {
                if (!rdoRaffleDonor.checked) {
                    alert('Please select organization first');
                    returnVal = false;
                }
                else {
                    returnVal = true;
                }
            }
            else {
                // Cannot find rdoNonProfit
            }
        }
        else {
            // Do nothing...
            returnVal = true;
        }
    }
    
    return returnVal;
}

function GetChosenPackage() {
    var rdlOrganization1 = document.getElementById('Exhibitor1_Organization_1_rdlOrganization_0');
    var rdlOrganization2 = document.getElementById('Exhibitor1_Organization_1_rdlOrganization_1');
    var rdlOrganization3 = document.getElementById('Exhibitor1_Organization_1_rdlOrganization_2');
    var rdlOrganization4 = document.getElementById('Exhibitor1_Organization_1_rdlOrganization_3');
    var chosenPackageText = '';
    
    if (rdlOrganization1 && rdlOrganization2 && rdlOrganization3 && rdlOrganization4) {
        if (rdlOrganization1.checked) {
            chosenPackageText = 'Non-Profit organisation';
        }
        else if (rdlOrganization2.checked) {
            // Check Regular
            var rdoRegularStandard = document.getElementById('Exhibitor1_Organization_1_rdoRegularStandard');
            var rdoRegularPremier = document.getElementById('Exhibitor1_Organization_1_rdoRegularPremier');
            
            if (rdoRegularStandard && rdoRegularPremier) {
                if (!rdoRegularStandard.checked && !rdoRegularPremier.checked) {
                    chosenPackageText = 'Unspecified';
                }
                else if (rdoRegularStandard.checked) {
                    chosenPackageText = 'Regular Standard';
                }
                else if (rdoRegularPremier) {
                    chosenPackageText = 'Regular Premier';
                }
                else {
                    // Invalid value.
                }
            }
            else {
                chosenPackageText = 'Unspecified';
            }
        }
        else if (rdlOrganization3.checked) {
            chosenPackageText = 'Advertisement Sponsor';
        }
        else if (rdlOrganization4.checked) {
            chosenPackageText = 'Raffle Donor';
        }
        else {
            // Do nothing...
            chosenPackageText = 'Unspecified';
        }
    }
    
    return chosenPackageText;
}