Social Link Opener

by Sam Fereday

HTML

<div id="container">
  <a href="#" data-id="facebook">Facebook</a>
  <a href="#" data-id="twitter">Twitter</a>
</div>

JavaScript

(function () {

    var config = {
        title: 'Shout Rooftop Runner',
        descr: 'A festive infinite runner brought to you by Shout Digital, happy jumping!',
        url: 'http://runner.shoutdigital.com/',
        hashtags: 'christmas, shout',
        image: 'http://runner.shoutdigital.com/content/assets/ui/MAIN-MENU.gif'
    };

    var sharer = {
        load: function () {

            var container = document.getElementById('social-container');

            console.log(container);

            if (!container)
                return;

            var winHeight = 480,
                winWidth = 600;

            var winTop = (screen.height / 2) - (winHeight / 2),
                winLeft = (screen.width / 2) - (winWidth / 2);

            var self = this,
              urlConfig = ', sharer, top=' + winTop + ',left=' + winLeft + ',toolbar=0,status=0,width=' + winWidth + ',height=' + winHeight + '',
              url = '';

            container.addEventListener('click', function (e) {

                e.preventDefault();

                url = self.openWindow(e.target);

                if (url.length > 0)
                    window.open(url, "", urlConfig);

                return false;

            });

        },
        openWindow: function (target) {

            var dataId = target.getAttribute('data-id');

            if (dataId && dataId.length > 0) {

                switch (dataId) {
                    case 'twitter':
                        return this.openTwitter();
                        break;
                    case 'facebook':
                        return this.openFacebook();
                        break;
                };

            }

            return '';

        },
        openTwitter: function () {

            return 'https://twitter.com/intent/tweet?text=' + config.descr + '&url=' + config.url + '&hashtags=' + config.hashtags;

        },
        openFacebook: function () {

            return...