﻿/*

Nutrilett
Tracking functions

Author: Creuna Danmark A/S / www.creuna.dk
Copyright: 2011, Creuna Danmark A/S. All rights resevered

-----------------------------------------------------------------------*/

var _gaq = _gaq || [];
if (!NutrilettTracking) var NutrilettTracking = {};

(function ($) {

    // init
    NutrilettTracking.init = function (trackingId, customUrl) {
        if(typeof(trackingId) != 'undefined' && trackingId) {
            
            _gaq.push(['_setAccount', trackingId]);
            _gaq.push(['_trackPageLoadTime']);

            if(typeof(window.myPageTrackingUrl) != 'undefined' && window.myPageTrackingUrl) {
                _gaq.push(['_trackPageview', window.myPageTrackingUrl]);
            }
            else {
                if(typeof(customUrl) != 'undefined' && customUrl) {
                    _gaq.push(['_trackPageview', customUrl]);
                }
                else {
                    _gaq.push(['_trackPageview']);
                }
            }

            NutrilettTracking.dietSubs();
            NutrilettTracking.ecommerce();
            NutrilettTracking.profileUpdate();
            
        }
        NutrilettTracking.embedJs();
    };

    // // // // // // // // // // // // // //
    // 9. TRACKING DIET SUBSCRIPTIONS
    // // // // // // // // // // // // // //
    NutrilettTracking.dietSubs = function () {
        var btnStartSignup = '.signUp';
        
        $(btnStartSignup).live('click', function () {
            _gaq.push(['_trackPageview','/Sign-up/Start']);
            _gaq.push(['_trackEvent', 'Diet plan', 'Signup Start']);
        });
    };
    
    // // // // // // // // // // // // // //
    // 12. E-COMMERCE TRACKING
    // // // // // // // // // // // // // //
    NutrilettTracking.ecommerce = function () {

        this.init = function () {
            productPerfomance();
            shoppingCart();
        };
        
        // 12.3.1. Product performance
        var productPerfomance = function () {
            var ptDtls = $('#productDetails');
            if(ptDtls.length) {
                _gaq.push(['_trackEvent', 'Shop performance', 'Product view', $.trim(ptDtls.find('h1').text())]);
            }
        };

        // 12.3.2. Shopping cart performance
        var shoppingCart = function () {
            
            addProduct();
            removeProduct();
            viewPage();
            
            // view basket
            function viewPage() {
                var shoppingCartBox = 'ul.shoppingBasket';
                if($(shoppingCartBox).length) {
                    _gaq.push(['_trackEvent', 'Shop performance', 'Cart view']);
                }
            }
            
            // removing product
            function removeProduct() {
                var btnRemove = '.btnProductRemove',
                    btnDecrease = '.btnProductDecrease';

                $(btnRemove).live('click', function () {
                    var self = $(this);
                    trackIt(self.data('productName'));
                });
                $(btnDecrease).live('click', function () {
                    var self = $(this),
                        amount = self.siblings('.quantity');
                    if($.trim(amount.text()) == 1){
                        trackIt(self.data('productName'));
                    }
                });
                
                var trackIt = function (productName) {
                    _gaq.push(['_trackEvent', 'Shop performance', 'Product removed', productName]);
                };
            }
            
            // adding product
            function addProduct() {
                var btnAdd = ".btnAddToCart";

                $(btnAdd).live('click', function () {
                    var self = $(this);
                    _gaq.push(['_trackEvent', 'Shop performance', 'Product added', self.data('productName')]);
                });
            }
        };

        this.init();
    };
    
    NutrilettTracking.profileUpdate = function () {
        
    };

    
    NutrilettTracking.signUp = function () {
        
    };
    
    // embeding js provided by Google
    NutrilettTracking.embedJs = function () {
        
        var ga = document.createElement('script');
        ga.type = 'text/javascript';
        ga.async = true;
        ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
        var s = document.getElementsByTagName('script')[0];
        s.parentNode.insertBefore(ga, s);
        
    };
    
})(jQuery);


