﻿
App = function () {

    /* Private */

    /* Properties */

    var cmp = {};





    /* Defaults */

    TVI.debug = true;





    /* Methods */

    var init = function () {

        /* Constructor */

        if (window.location.search.indexOf('viewall=1') != -1) {

            $('.paging1').show();
            $('.paging0').hide();
        }

        $('#footerCycle').cycle({

            timeout: 5000,
            cleartypeNoBg: true

        });

        if (!FlashDetect.installed) {
            $('.flashBanner').hide();
            $('.banner').show();
        }

        cmp.searchForm = new TVI.Form({

            ID: 'search',
            validate: false,
            local: true,
            success: function () {
                window.location.href = 'search.aspx?keywords=' + this.field('keywords').val();
            }

        });

        $('.newsletterSignup').click(function () {

            TVI.Popup.show({

                title: 'Subscribe to the Newsletter',
                width: 500,
                template: 'newsletterPopup',
                success: function () {

                    hideFlash();

                    cmp.newsletterForm = new TVI.Form({

                        ID: 'newsletterForm',
                        query: 'joinMailList'

                    });

                }

            });

            return false;

        });

        $('#loginRegister').click(function () {

            TVI.Popup.show({

                title: 'Login / Register',
                width: 800,
                template: 'loginPopup',
                success: function () {

                    hideFlash();

                    cmp.loginForm = new TVI.Form({

                        ID: 'loginForm',
                        url: TVI.handlers + 'App.aspx/loginUser',
                        success: function () {
                            window.location.reload();
                        }

                    });

                    cmp.registerForm = new TVI.Form({

                        ID: 'registerForm',
                        url: TVI.handlers + 'App.aspx/registerUser',
                        success: function () {
                            window.location.reload();
                        }
                    });

                }

            });

            return false;

        });

        $('.TVI-popup-close').live('click', function () {

            TVI.Popup.close();
            showFlash();

        });

        if ($('#logout').length > 0) {
            cmp.logout = new TVI.Form({

                ID: 'logout',
                validate: false,
                url: TVI.handlers + 'App.aspx/logoutUser',
                success: function () {
                    window.location.href = '/beechamresearch.com/';
                }

            });
        }

        $('.currencyNav').hover(
            function () {

                $('.currencyTooltip').stop(true, true).slideDown();

            }, function () {

                $('.currencyTooltip').stop(true, true).slideUp();

            }
        );

    };


    var menu = function (name) {
        TVI.ready(function () {

            $('#' + name + "Nav").addClass('selected');

        });
    };


    /* Public */

    TVI.apply(cmp, {

        menu: function (name) {

            menu(name);

        }

    });


    TVI.ready(init);


    return cmp;


} ();

function restrictEntry(event) {
    switch (event.keyCode) {
        case 8: //backspace
        case 9: //tab
        case 37: //arrows
        case 38:
        case 39:
        case 40:
        case 46: //delete
        case 48: //numbers
        case 49:
        case 50:
        case 51:
        case 52:
        case 53:
        case 54:
        case 55:
        case 56:
        case 57:
        case 96: //numpad
        case 97:
        case 98:
        case 99:
        case 100:
        case 101:
        case 102:
        case 103:
        case 104:
        case 105:
        case 116: //f5
            return true;
            break;
        default:
            event.preventDefault();
            break;
    }
}

function changeCurrency(clickedCurrency, currency, poundConversion, euroConversion) {
    $('.currency').removeClass('selected');
    $(clickedCurrency).addClass('selected');

    var conversionRate = 1;
    var currencySymbol = "";

    switch (currency) {
        case "pound":
            conversionRate = poundConversion;
            currencySymbol = "£";
            break;
        case "euro":
            conversionRate = euroConversion;
            currencySymbol = "€";
            break;
        default:
            conversionRate = 1;
            currencySymbol = "$";
            break;
    }

    TVI.ajax({

        url: TVI.handlers + 'App.aspx/changeCurrency',
        data: {

            currency: currency

        }

    });

    $('.priceCurrency').text(currencySymbol);

    for (i = 0; i < $('.priceNumber').length; i++) {

        var priceNumber = $('.priceNumber')[i];

        var price = parseInt($(priceNumber).attr('basePrice')).toFixed(2);

        $(priceNumber).text((price * conversionRate).toFixed(2).replace('.00', ''));

    }
}

function hideFlash() {

    $('.flashBanner').hide();
    $('.banner').show();

}

function showFlash() {

    $('.banner').hide();
    $('.flashBanner').show();

}
