﻿$(function () {
    Components.init();

    $('#Register').click(function (e) {
        e.preventDefault();
        if (!$(this).is(':disabled') && $('#PropertyID').val() !== '') {
            window.location = $(this).attr('href') + "&proid=" + $('#PropertyID').val();
        }
    });

    function togglePreRegisterSections(element) {
        if (!element) {
            element = $('label[data-toggler] > input:radio').first();
        }

        //have only one checked
        //display section
        var attrToggler = 'data-toggler';
        var attrForToggle = 'data-toggled';

        var chosenType = $(element).closest('span').attr(attrToggler);
        
        $('[' + attrForToggle + ']').hide();
        $('[' + attrForToggle + ' = ' + chosenType + ']').show();
    }

    $('span[data-toggler] input:radio').on('click', function (e) {
        togglePreRegisterSections($(this));
    });

    $('input').on('click keyup', function (e) {
        $('.validation-summary').fadeOut(500);
    });

    togglePreRegisterSections($('span[data-toggler] input:radio[checked]').first());

    $('#SignInContainer').on('keydown', '#Username,#Password', function (e) {
        if (e.which === 13) {
            e.preventDefault();
            $('form').submit();
        }
    });

    $('form').submit(function () {
        if ($(this).valid()) {
            $('button').button('disable');
        }
    });

    function styleNoLogoDiv() {
        // if there is no CSS loaded from CSSurl, style the property name header
        if ($('#SignInLogoWrapper div.no-logo-or-css').text().trim().length > 0) {
            var fontSize = 2 - ($('#SignInLogoWrapper div.no-logo-or-css').text().trim().length / 100);
            $('#SignInLogoWrapper div.no-logo-or-css').css('font-size', fontSize + "em");
            $('#SignInLogoWrapper div.no-logo-or-css').css('text-align', 'center');
        }
    }
    styleNoLogoDiv();

    $('#Page').on('click', 'div.message #MessageLeft span', function () {
        $(this).closest('.message').remove()
    });

    $('#PropertyID').on('change', function () {
        if ($(this).val() == "") {
            if ($(this).is('select')) {
                $('#SignInLogo').html(''); // show no logo, or show management company logo?
            }

            $('#ForgotLinks a').addClass('disabled');
            $('#Register').button('disable');
        }
        else {
            if ($(this).is('select')) {
                var logoUrl = $('option:selected', $(this)).data('logo-url');
                if (logoUrl !== '' && logoUrl !== undefined) {
                    $('#SignInLogoWrapper').html('<img class="property-logo" src="' + logoUrl + '" alt="" />'); // display the logo for the selected property
                }
                else {
                    var noLogoDiv = '<div class="no-logo-or-css" style="width: 100%;">' + $('option:selected', $(this)).text() + '</div>';
                    $('#SignInLogoWrapper').html(noLogoDiv); // no logo url so display nothing
                    styleNoLogoDiv();
                }
            }

            $('#ForgotLinks a').removeClass('disabled');
            $('#Register').button('enable');

            updateLink($('#ForgotUsername'));
            updateLink($('#ForgotPassword'));
        }
    });
    $('#PropertyID').change();

    function updateLink(link) {
        var href = link.attr('href').substring(0, link.attr('href').indexOf('?'))
        link.attr('href', href + "?accid=" + $("#AccountID").val() + '&proid=' + $('#PropertyID').val());
    }

    $('a.disabled').on('click', function (e) {
        e.preventDefault();
    });

    //reparseValidation($('form'));
});

//# sourceURL=Access.js
