﻿/**
*  Live Nation UK jQuery plugin
*  http://www.livenation.co.uk/
*
*	by Matthew French
*
$('.tweetButton').tweetButton({
            data_via: 'livenationuk',
            data_text: $('.details h1').text(),
            data_lang: LIVENATION.language
        });
*/

(function($) {
    function loadTbScript(element) {

        var script = document.createElement('script');
        script.async = true;
        script.type = 'text/javascript';
        script.src = document.location.protocol + document.config.twitterWidgetsUrl;
        document.getElementsByTagName('head')[0].appendChild(script);
    }
    function tbInit(element) {
        if (typeof twttr == 'undefined') {
            loadTbScript(element);
            return;
        }

        // to render a new tweetButton after onload we could use the tweetButton iframe
        // and .render
        // var tweet_button = new twttr.TweetButton(element);
        // tweet_button.render();
        // OR
        // we could just reload the cached widget.js

        try {
            $.ajax({ url: document.config.twitterWidgetsUrl, dataType: 'script', cache: true });
        } catch (e) { }
    }

    $.fn.tweetButton = function(options) {

        // TODO: this is called more than needed on preopened page
        // data_via is country twitter account name
        // data_text event name
        var defaults = {
            twitterHref: document.config.twitterHref,
            twitterClass: document.config.twitterClass,
            data_url: null,
            data_via: 'anish337',
            data_text: null,
            data_related: null,
            data_count: 'horizontal',
            data_lang: null,
            data_counturl: null
        };

        var myOptions = $.extend(defaults, options);

        function cleanUrl(url) {
            url = url + '';
            var p = url.indexOf('?');
            if (p > 0) {
                url = url.slice(0, p);
            }
            return url;
        }

        return this.each(function() {
            var data_url;
            if (myOptions.data_url == null) {
                data_url = cleanUrl(document.location);
            } else {
                data_url = 'http://' + window.location.hostname + cleanUrl(myOptions.data_url);
            }
            
            //var html = '<fb:like show_faces="' + myOptions.showFaces + '" href="' + url + '" width="' + w + '" layout="' + myOptions.layout + '"' + 'send="' + myOptions.send + '"></fb:like>';
            var html = '<a href="' + myOptions.twitterHref + '" class="' + myOptions.twitterClass + '"'
                + 'data-url="' + myOptions.data_url + '"'
                + 'data-via="' + myOptions.data_via + '"'
                + 'data-text="' + myOptions.data_text + '"'
                + 'data-related="' + myOptions.data_related + '"'
                + 'data-lang="' + myOptions.data_lang + '"'
                + 'data-count="' + myOptions.data_count + '" >Tweet</a>';
            $(this).html(html);
            var element = $(this).get()[0];
            tbInit(element);
        });
    }
})(jQuery);
