$(document).ready(function () {
    if ($("#background-image").length > 0) {
        $("#background-image")
            .css(
                {
                    width: "1343px",
                    height: "851px",
                    left: "0px"
                }
            )
            .animate(
                {
                    width: "1168px",
                    height: "740px",
                    left: "0px"
                },
                14000,
                function (x, t, b, c, d, s) {
                    if (s == undefined) s = 1.70158;
                    if ((t /= d / 2) < 1) return c / 2 * (t * t * (((s *= (1.525)) + 1) * t - s)) + b;
                    return c / 2 * ((t -= 2) * t * (((s *= (1.525)) + 1) * t + s) + 2) + b;
                }
        );
    }

    //BTB comp functions
    if ($("#btbcomp").length > 0) {
        $('#btbcomp-loginform #Username,#btbcomp-sendpasswordform input[name="Username"]').each(function () {
            var default_value = this.value;
            $(this).focus(function () {
                if (this.value == default_value) {
                    this.value = '';
                }
            });
            $(this).blur(function () {
                if (this.value == '') {
                    this.value = default_value;
                }
            });
        });

        $('#btbcomp-loginform #Password-fake').focus(function () {
            $(this).css('display', 'none');
            $('#btbcomp-loginform #Password').css('display', 'block');
            $('#btbcomp-loginform #Password').focus();
        });
        $('#btbcomp-loginform #Password').blur(function () {
            if ($('#btbcomp-loginform #Password').val() == '') {
                $(this).css('display', 'none');
                $('#btbcomp-loginform #Password-fake').css('display', 'block');
            }
        });

        $('#btn-btbcomp-forgot').click(function () {
            $('#btbcomp-loginform').fadeOut('fast', function () {
                $('#btbcomp-sendpasswordform').fadeIn('slow');
            });
        });
        $('#btn-btbcomp-backlogin').click(function () {
            $('#btbcomp-sendpasswordform').fadeOut('fast', function () {
                $('#btbcomp-loginform').fadeIn('slow');
            });
        });

        //add ticket to competition 
        if ($("#btbcomp-counter").length > 0) {
            //on point-page load get the current users points
            var myCounter = new flipCounter("counter", { setAuto: false, inc: 0, pace: 100 });
            $.ajax({
                type: "GET",
                url: "/Default.aspx?ID=934&CodePart1=0&CodePart2=0&Ajax=true",
                dataType: "text",
                success: function (ajaxText) {
                    var ajaxSplit = ajaxText.split(';');
                    myCounter.setValue(Number(ajaxSplit[1]));
                    $('#btbcomp-name').html(ajaxSplit[2]);
                }
            });

            //update ticket ajax function
            $('#submit-token').click(function () {
                $.ajax({
                    type: "GET",
                    url: "/Default.aspx?ID=934&CodePart1=" + $('#comp-code-1').val() + "&CodePart2=" + $('#comp-code-2').val() + "&Ajax=true",
                    dataType: "text",
                    success: function (ajaxText) {
                        ajaxSplit = ajaxText.split(';');
                        switch (ajaxSplit[0]) {
                            case '0':
                                $('#error-text').html(' ');
                                $('#error-message').css('display', 'none');
                                $('#comp-code-1,#comp-code-2').val('');
                                myCounter.setValue(Number(ajaxSplit[1]));
                                break;
                            case '1':
                                $('#error-text').html('Kode allerede brugt<br /> eller ukorrekt indtastet! <br />Prøv igen.');
                                $('#error-message').slideDown('fast');
                                break;
                            case '2':
                                $('#error-text').html('Point ikke tildelt! <br />Gem den indtastede<br /> kode og kontakt Royalgreenland kundeservice');
                                $('#error-message').slideDown('fast');
                                break;
                            default:
                                //default action
                                $('#error-text').html(' ');
                                $('#error-message').css('display', 'none');
                        }
                    }
                });
            });
        }
        if ($("#error-message").length > 0) {
            $('#error-message .close').click(function () {
                $('#error-message').slideUp('fast');
            });
        }
    }


    //new user and edit controls
    if ($(".btbcomp-create,.btbcomp-edit").length > 0) {
        $('#hidden-chain .form-select input,#hidden-business .form-select input,#Wholesaler1Text,#Wholesaler2Text').each(function () {
            var default_value = this.value;
            $(this).focus(function () {
                if (this.value == default_value) {
                    this.value = '';
                }
            });
            $(this).blur(function () {
                if (this.value == '') {
                    this.value = default_value;
                }
            });
        });

        //"branche" select box action
        $('#Industry').change(function () {
            if ($(this).val() != '-1') {
                $('#hidden-chain select,#hidden-business select').each(function () {
                    $(this).find('option:first').attr('selected', 'selected');
                });
                $('#hidden-chain,#hidden-business .form-select,#hidden-chain .form-select,#hidden-chain .form-select input,#hidden-business .form-select input').css('display', 'none');
                $('#hidden-business .form-select').eq(($('#Industry option:selected').index() - 1)).css('display', 'block');
                $('#hidden-business').fadeIn('fast');
            } else {
                $('#hidden-chain select,#hidden-business select').each(function () {
                    $(this).find('option:first').attr('selected', 'selected');
                });
                $('#hidden-business,#hidden-chain').fadeOut('fast');
                $('#hidden-business .form-select,#hidden-chain .form-select,#hidden-chain .form-select input').css('display', 'none');
            }
        });

        //"forretningstype" select box action
        $('#hidden-business .form-select select').change(function () {
            switch ($(this).val()) {
                case 'Kantine':
                    $('#hidden-chain select').each(function () {
                        $(this).find('option:first').attr('selected', 'selected');
                    });
                    $('#hidden-chain, #hidden-chain .form-select, #hidden-business .form-select input').css('display', 'none');
                    $('#ChainCanteenSelect').parent().css('display', 'block');
                    $('#hidden-chain').fadeIn('fast');
                    break;
                case 'Hotel/konference':
                    $('#hidden-chain select').each(function () {
                        $(this).find('option:first').attr('selected', 'selected');
                    });
                    $('#hidden-chain, #hidden-chain .form-select, #hidden-business .form-select input').css('display', 'none');
                    $('#ChainHotelSelect').parent().css('display', 'block');
                    $('#hidden-chain').fadeIn('fast');
                    break;
                case 'Restaurant - slow food':
                    $('#hidden-chain select').each(function () {
                        $(this).find('option:first').attr('selected', 'selected');
                    });
                    $('#hidden-chain, #hidden-chain .form-select, #hidden-business .form-select input').css('display', 'none');
                    $('#ChainRestaurentSelect').parent().css('display', 'block');
                    $('#hidden-chain').fadeIn('fast');
                    break;
                case 'Grillbar/pizza/kebab':
                    $('#hidden-chain select').each(function () {
                        $(this).find('option:first').attr('selected', 'selected');
                    });
                    $('#hidden-chain, #hidden-chain .form-select, #hidden-business .form-select input').css('display', 'none');
                    $('#ChainGrillBarSelect').parent().css('display', 'block');
                    $('#hidden-chain').fadeIn('fast');
                    break;
                case 'Diner transportable':
                    $('#hidden-chain select').each(function () {
                        $(this).find('option:first').attr('selected', 'selected');
                    });
                    $('#hidden-chain, #hidden-chain .form-select, #hidden-business .form-select input').css('display', 'none');
                    $('#ChainDinerTransportableSelect').parent().css('display', 'block');
                    $('#hidden-chain').fadeIn('fast');
                    break;
                case 'Slagter/delikatesse':
                    $('#hidden-chain select').each(function () {
                        $(this).find('option:first').attr('selected', 'selected');
                    });
                    $('#hidden-chain, #hidden-chain .form-select, #hidden-business .form-select input').css('display', 'none');
                    $('#ChainButcherSelect').parent().css('display', 'block');
                    $('#hidden-chain').fadeIn('fast');
                    break;
                case 'Bager':
                    $('#hidden-chain select').each(function () {
                        $(this).find('option:first').attr('selected', 'selected');
                    });
                    $('#hidden-chain, #hidden-chain .form-select, #hidden-business .form-select input').css('display', 'none');
                    $('#ChainBakerSelect').parent().css('display', 'block');
                    $('#hidden-chain').fadeIn('fast');
                    break;
                case 'Tankstationer/convenience':
                    $('#hidden-chain select').each(function () {
                        $(this).find('option:first').attr('selected', 'selected');
                    });
                    $('#hidden-chain, #hidden-chain .form-select, #hidden-business .form-select input').css('display', 'none');
                    $('#ChainGasStationSelect').parent().css('display', 'block');
                    $('#hidden-chain').fadeIn('fast');
                    break;
                case 'Indkøber':
                    $('#hidden-chain select').each(function () {
                        $(this).find('option:first').attr('selected', 'selected');
                    });
                    $('#hidden-chain, #hidden-chain .form-select, #hidden-business .form-select input').css('display', 'none');
                    $('#ChainBuyerSelect').parent().css('display', 'block');
                    $('#hidden-chain').fadeIn('fast');
                    break;
                case 'Telesalg':
                    $('#hidden-chain select').each(function () {
                        $(this).find('option:first').attr('selected', 'selected');
                    });
                    $('#hidden-chain, #hidden-chain .form-select, #hidden-business .form-select input').css('display', 'none');
                    $('#ChainTelesalesSelect').parent().css('display', 'block');
                    $('#hidden-chain').fadeIn('fast');
                    break;
                case 'Konsulent':
                    $('#hidden-chain select').each(function () {
                        $(this).find('option:first').attr('selected', 'selected');
                    });
                    $('#hidden-chain, #hidden-chain .form-select, #hidden-business .form-select input').css('display', 'none');
                    $('#ChainConsultantSelect').parent().css('display', 'block');
                    $('#hidden-chain').fadeIn('fast');
                    break;
                case 'Afdelingsleder':
                    $('#hidden-chain select').each(function () {
                        $(this).find('option:first').attr('selected', 'selected');
                    });
                    $('#hidden-chain, #hidden-chain .form-select, #hidden-business .form-select input').css('display', 'none');
                    $('#ChainDepartmentSelect').parent().css('display', 'block');
                    $('#hidden-chain').fadeIn('fast');
                    break;
                case 'Andet':
                    $('#hidden-chain select').each(function () {
                        $(this).find('option:first').attr('selected', 'selected');
                    });
                    $('#hidden-chain').css('display', 'none');
                    $(this).next().fadeIn('fast');
                    break;
                default:
                    $('#hidden-chain select').each(function () {
                        $(this).find('option:first').attr('selected', 'selected');
                    });
                    $('#hidden-chain, #hidden-chain .form-select, #hidden-business .form-select input').css('display', 'none');
            }
        });

        //edit form specific functions
        if ($(".btbcomp-edit").length > 0) {
            var userSelectedBusiness = '';
            var userSelectedChain = '';
            var userSelectedWhole = new Array();

            $('#form-hidden-business input[value!=""]').eq('0').each(function () {
                var selectId = '#' + $(this).attr('id') + 'Select';
                $(selectId).parent().parent().css('display', 'block');
                $(selectId).parent().css('display', 'block');
                userSelectedBusiness = $(this).val();
            });

            $('#form-hidden-chain input[value!=""]').eq('0').each(function () {
                var selectId = '#' + $(this).attr('id') + 'Select';
                $(selectId).parent().parent().css('display', 'block');
                $(selectId).parent().css('display', 'block');
                userSelectedChain = $(this).val();
            });

            $('#form-hidden-whole input[value!=""]').each(function () {
                var selectId = '#' + $(this).attr('id') + 'Select';
                $(selectId).parent().parent().css('display', 'block');
                $(selectId).parent().css('display', 'block');
                userSelectedWhole.push($(this).val());
            });


            $('#hidden-business .form-select select:visible').each(function () {
                var businessOther = true;
                $(this).find('option').each(function () {
                    if (userSelectedBusiness == $(this).val()) {
                        businessOther = false;
                    }
                });
                if (businessOther) {
                    $('#hidden-business .form-select select:visible option:last').attr('selected', 'selected');
                    $('#hidden-business .form-select select:visible').next().css('display', 'block').val(userSelectedBusiness);
                }
            });

            $('#hidden-chain .form-select select:visible').each(function () {
                var chainOther = true;
                $(this).find('option').each(function () {
                    if (userSelectedChain == $(this).val()) {
                        chainOther = false;
                    }
                });
                if (chainOther) {
                    $('#hidden-chain .form-select select:visible option:last').attr('selected', 'selected');
                    $('#hidden-chain .form-select select:visible').next().css('display', 'block').val(userSelectedChain);
                }
            });

            if ($('#Wholesaler1').val() != '' && $('#Wholesaler1').val() != '-1') {
                $('.whole-saler:first').each(function () {
                    var wholesalerOther = true;
                    $(this).find('option').each(function () {
                        if (userSelectedWhole[0] == $(this).val()) {
                            wholesalerOther = false;
                        }
                    });
                    if (wholesalerOther) {
                        $('.whole-saler:first select option:last').attr('selected', 'selected');
                        $('.whole-saler:first select').next().css('display', 'block').val(userSelectedWhole[0]);
                    }
                });
            }

            if ($('#Wholesaler2').val() != '' && $('#Wholesaler2').val() != '-1') {
                $('.whole-saler:last').each(function () {
                    var wholesalerOther = true;
                    $(this).find('option').each(function () {
                        if (userSelectedWhole[1] == $(this).val()) {
                            wholesalerOther = false;
                        }
                    });
                    if (wholesalerOther) {
                        $('.whole-saler:last select option:last').attr('selected', 'selected');
                        $('.whole-saler:last select').next().css('display', 'block').val(userSelectedWhole[1]);
                    }
                });
            }


        }

        //"kæde" select action
        $('#hidden-chain .form-select select').change(function () {
            switch ($(this).val()) {
                case 'Andet':
                    $(this).next().fadeIn('fast');
                    break;
                default:
                    $('#hidden-chain .form-select input').css('display', 'none');
            }
        });
        //"grossist" select action
        $('#Wholesaler1Select, #Wholesaler2Select').change(function () {
            switch ($(this).val()) {
                case 'Andet':
                    $(this).next().fadeIn('fast');
                    break;
                default:
                    $(this).next().css('display', 'none');
            }
        });
    }

    // submit action for create user
    $("#createUserForm").submit(function () {
        var industryInput = '';
        switch ($('#Industry').val()) {
            case 'Offentlig':
                industryInput = '#BusinessTypePublic';
                break;
            case 'Privat':
                industryInput = '#BusinessTypePrivate';
                break;
            case 'Grossist':
                industryInput = '#BusinessTypeWholesaler';
                break;
            case 'Øvrige':
                industryInput = '#BusinessTypeOther';
                break;
            default:
        }
        $('#BusinessTypePublic,#BusinessTypePrivate,#BusinessTypeWholesaler,#BusinessTypeOther').val('');
        if ($('#hidden-business .form-select select:visible').val() == 'Andet') {
            $(industryInput).val($('#hidden-business .form-select select:visible').next().val());
        } else {
            $(industryInput).val($('#hidden-business .form-select select:visible').val());
        }
        $('#BusinessType').val($(industryInput).val());

        $('#ChainBaker,#ChainButcher,#ChainBuyer,#ChainCanteen,#ChainConsultant,#ChainDepartment,#ChainDinerTransportable,#ChainGasStation,#ChainGrillBar,#ChainHotel,#ChainRestaurent,#ChainTelesales,#Wholesaler1,#Wholesaler2').val('');
       
        $('#hidden-chain .form-select select:visible').eq(0).each(function () {
            var chainInput = '#' + $(this).attr('id').replace("Select", "");
            if ($(this).val() == 'Andet') {
                $(chainInput).val($('#hidden-chain .form-select select:visible').next().val());
            } else {
                $(chainInput).val($('#hidden-chain .form-select select:visible').val());
            }
            $('#Chain').val($(chainInput).val());
        });        

        $('.whole-saler select').each(function () {
            var chainInput = '#' + $(this).attr('id').replace("Select", "");
            $(chainInput).val($(this).val());
        });
        
        

        if ($('.whole-saler input:visible, #hidden-business .form-select input:visible,#hidden-chain .form-select input:visible').length > 0) {
            $('.whole-saler input:visible, #hidden-business .form-select input:visible,#hidden-chain .form-select input:visible').each(function () {
                var inputId = '#' + $(this).attr('id').replace("Text", "");
                $(inputId).val($(this).val());
            });
        }

        formValidName = false;
        formValidLastName = false;
        formValidEmail = false;
        formValidPassword = false;
        formValidPassword2 = false;
        formValidIagree = false;

        if ($("#Surename").val() != "") {
            $('#Surename').removeClass('invalid');
            formValidName = true;
        } else {
            $('#Surename').addClass('invalid');
            formValidName = false;
        }
        if ($("#Lastname").val() != "") {
            $('#Lastname').removeClass('invalid');
            formValidLastName = true;
        } else {
            $('#Lastname').addClass('invalid');
            formValidLastName = false;
        }
        if ($("#Email").val() != "" && validateEmail($("#Email").val())) {
            $('#Email').removeClass('invalid');
            formValidEmail = true;
        } else {
            $('#Email').addClass('invalid');
            formValidEmail = false;
        }
        if ($("#Password").val() != "") {
            $('#Password').removeClass('invalid');
            formValidPassword = true;
        } else {
            $('#Password').addClass('invalid');
            formValidPassword = false;
        }
        if ($("#Password2").val() == $("#Password").val()) {
            $('#Password2').removeClass('invalid');
            formValidPassword2 = true;
        } else {
            $('#Password2').addClass('invalid');
            formValidPassword2 = false;
        }
        if ($('#CompConfirmed:checked').length > 0) {
            $('#CompConfirmed').removeClass('invalid');
            formValidIagree = true;
        } else {
            $('#CompConfirmed').addClass('invalid');
            formValidIagree = false;
        }
        if (formValidName == true && formValidLastName == true && formValidEmail == true && formValidPassword == true && formValidPassword2 == true) {
            if ($('.btbcomp-create').length > 0) {
                if (formValidIagree == true) {
                    return true;
                } else {
                    return false;
                }
            } else {
                return true;
            }
        } else {
            return false;
        }
    });

});

function validateEmail(email) {
    var regex = new RegExp(/^([\w\!\#$\%\&\'\*\+\-\/\=\?\^\`{\|\}\~]+\.)*[\w\!\#$\%\&\'\*\+\-\/\=\?\^\`{\|\}\~]+@((((([a-z0-9]{1}[a-z0-9\-]{0,62}[a-z0-9]{1})|[a-z])\.)+[a-z]{2,6})|(\d{1,3}\.){3}\d{1,3}(\:\d{1,5})?)$/i);
    if (email.match(regex)) {
        return true;
    } else {
        return false;
    }
}
