﻿
(function($) {
    FiatCoUk.UIManager = (function() {
        var self = {},
            dialogTypes = {
                defaultLogin: {
                    title: "Login or register",
                    description: "Create a myFiat account, or log in if you've already got one.",
                    registerDescription: "signing up is easy and you can start enjoying the benefits of myFiat straightaway.",
                    addRedirectUrl: false,
                    redirectUrl: "/myfiat/myrewards"
                },
                saveConfigurationLogin: {
                    title: "Want to save this configuration?",
                    description: "Create a myFiat account, or log in if you've already got one. It's quick, simple and it saves your uniquely configured Fiat for next time.",
                    registerDescription: "signing up is easy and you can start enjoying the benefits of myFiat straightaway.",
                    addRedirectUrl: true
                },
                dealerLocatorLogin: {
                    title: "Set your preferred dealer",
                    description: "Create a myFiat account, or log in if you've already got one. It's quick, simple and free.",
                    registerDescription: "signing up is easy and you can start earning rewards with your dealer straightaway.",
                    addRedirectUrl: true,
                    addDealerCode: true
                }
            }
        function isUserLoggedIn() {
            //return (s.prop23 == "Not Logged In") ? true : false;
            if (s.prop23.toLowerCase() == "logged in") {
                return true;
            } else {
                return false;
            }
        }

        self.saveConfiguration = function(url) {
            if (isUserLoggedIn() === false) {
                self.populateDialog($dialog, 'saveConfigurationLogin', url);
				s.channel = 'Showroom';
				s.pageName = 'showroom > configure > save : login';
				s.hier = 'showroom > configure';
				s.events = '';
				var s_code = s.t(); if (s_code) document.write(s_code);
            } else {
                window.location = url;
            }
        };
        self.dealerLocatorLogin = function(url, dealerCode, siteCode) {
            if (isUserLoggedIn() === false) {
                self.populateDialog($dialog, 'dealerLocatorLogin', url, dealerCode, siteCode);
                if ($('input#dealerCode').length <= 0) {
                    $($dialog).find('#dialog-register').append('<input type="hidden" name="dealerCode" id="dealerCode" value="' + dealerCode + '" />');
                    $($dialog).find('#dialog-register').append('<input type="hidden" name="siteCode" id="siteCode" value="' + siteCode + '" />');
                } else {
                    $('#loginFields #dealerCode').val(dealerCode);
                    $('#loginFields #siteCode').val(siteCode);
                }
				/*
                DealerLocator.Omniture.doResultPageClickTracking({
                    'pageName': 'dealer_locator > save_as_preferred_dealer : login',
                    'eVar50': 'Dealer search:Main panel:Save as preferred dealer',
                    'hier': 'dealer_locator'
                });
				*/
				s.channel = 'dealer locator';
				s.pageName = 'dealer_locator > save_as_preferred_dealer : login';
				s.hier = 'dealer_locator > search_results';
				s.eVar50 = 'Dealer search:Main panel:Save as preferred dealer';
				s.events = '';
				var s_code = s.t(); if (s_code) document.write(s_code);

            } else {
                var form = $('#setAsPreferredForm');
				DealerLocator.Omniture.doResultPageClickTracking({
                    'pageName': 'dealer_locator > search_results > main_panel : save_as_preferred_dealer',
                    'eVar50': 'Dealer search:Main panel:Save as preferred dealer',
                    'hier': 'dealer_locator > search_results',
                    'prop11': 'Dealer Search: Save As Preferred Dealer'
                });
                form.submit();
            }
        };

        self.populateDialog = function($dialog, dialogType, url, dealercode, sitecode) {
            var dialogType = (dialogType != null) ? dialogTypes[dialogType] : defaultLogin,
                url = (url != null) ? url : defaultLogin.url;
            url = encodeURIComponent(url);

            $($dialog).find('#dialog-description h2').html(dialogType.title);
            $($dialog).find('#dialog-description p').html(dialogType.description);
            $($dialog).find('#dialog-register #registerDescription').html(dialogType.registerDescription);

            if (dialogType.addRedirectUrl) {
                if (dealercode && sitecode) {
                    $($dialog).find('#dialog-register .dialog-register-link').attr('href', '/myFiat/registration/?dealercode=' + dealercode + '&sitecode=' + sitecode + '&ReturnUrl=' + url);
                } else {
                    $($dialog).find('#dialog-register .dialog-register-link').attr('href', '/myFiat/registration/?ReturnUrl=' + url);
                }
                if ($('input#ReturnUrl').length <= 0) {
                    $('#dialog-register').append('<input type="hidden" name="ReturnUrl" id="ReturnUrl" value="' + url + '" />');
                } else {
                    $('input#ReturnUrl').val(url);
                }
            }

            $dialog.dialog('open');
            FiatCoUk.FontManager.refresh('dialog');
        };

        self.initDialog = function() {
            $dialog = jQuery('#dialog-login');
            $dialog.dialog({
                autoOpen: false,
                closeText: 'Close',
                width: 532,
                position: '200 center',
                modal: true,
                create: function(type, data) {
                $(this).parent().appendTo("#aspnetForm");
                Cufon.replace('.buttonCta');
                }
            });
        };
        return self;
    } ());
} (jQuery));
