﻿(function($) {
    jQuery.rcn = function(options) {
        if (options) {
            jQuery.rcn.settings = $.extend({}, $.rcn.defaults, options);
        }
    };

    jQuery.rcn.settings = [];
    jQuery.rcn.events = {
        loggedIn: 'loggedin',
        loggedOut: 'loggedout',
        shoppingcartChanged: 'shoppingcartchanged',
        userRegistered: 'userRegistered',
        customerRegistered: 'customerRegistered'
    };

    jQuery.rcn.sourceOfRegisterPage = {
        Header: 'Register Page opened – from Header',
        LoginLayer: 'Register Page opened – from Login Layer',
        Checkout: 'Register Page opened – from Checkout',
        ProductDetail: 'Register Page opened – from PDP'
    }

    function getCacheKey() {
        return new Date().getTime();
    }

    $.extend($.rcn, {
        defaults: {
            cacheKey: getCacheKey(),
            sitename: 'Sitename not set',
            bml: 0,
            url: {},
            selectors: {}
        },
        resetCache: function() {
            $.rcn.settings.cacheKey = getCacheKey();
        },
        bind: function(eventName, func) {
            $('body').bind(eventName, func);
        },
        trigger: function(eventName) {
            $('body').trigger(eventName);
        },
        unbind: function(eventName) {
            $('body').unbind(eventName);
        },
        loadRssFeed: function(settings) {
            if(!settings.url)
                return;

            var api = "//ajax.googleapis.com/ajax/services/feed/load?v=1.0&callback=?&q=" + settings.url;
            
            if(settings.count)
                api += "&num=" + settings.count;

            $.getJSON(api, function (data) {
                if (data.responseStatus == 200) {
                    settings.onSuccess(data.responseData.feed);
                } else {
                    if(settings.onError)
                        settings.onError(data);
                };
            });
        }
    });
})(jQuery);

