﻿
function SocialMediaBar(cssclass, options) {
    var value = "";
    var find = "socialmediabar=";
    var ca = document.cookie.split(';');
    for (var i = 0; i < ca.length; i++) {
        var c = ca[i];
        while (c.charAt(0) == ' ') c = c.substring(1, c.length);
        if (c.indexOf(find) == 0) {
            value = c.substring(find.length, c.length);
        }
    }

    if (value=="") { value = "show"; }
    if (value == "close") { return; }
    
    var container = document.createElement("div");
    container.className = cssclass;
    document.body.appendChild(container);

    var toggler = document.createElement("a");
    toggler.options = options;
    toggler.onclick = function() { this.toggle(); this.blur(); return false; }
    toggler.title = "Show the content of this bar";
    toggler.toggle = function() {
        var div = this.parentNode.childNodes[1];
        if (div.style.display == "none") {
            div.style.display = "block";
            this.childNodes[0].nodeValue = "hide";
            if (div.childNodes.length == 0) {
                if (this.options) {
                    for (i = 0; i < this.options.length; i++) {
                        var found = false;
                        switch (this.options[i]) {
                            case "tweet":
                                var button = document.createElement("a");
                                button.setAttribute("href", "https://twitter.com/share");
                                button.className = "twitter-share-button";
                                button.setAttribute("data-text", "Current looking at");
                                button.setAttribute("data-count", "vertical");
                                button.appendChild(document.createTextNode("Tweet"));
                                div.appendChild(button);

                                var script = document.createElement('script');
                                script.type = "text/javascript";
                                script.src = "//platform.twitter.com/widgets.js";
                                document.getElementsByTagName('head')[0].appendChild(script);
                                found = true;
                                break;

                            case "google+1":
                                var button = document.createElement("g:plusone");
                                button.setAttribute("size", "tall");
                                div.appendChild(button);

                                var script = document.createElement('script');
                                script.type = "text/javascript";
                                script.src = "https://apis.google.com/js/plusone.js";
                                document.getElementsByTagName('head')[0].appendChild(script);
                                found = true;
                                break;

                            case "facebook":
                                var button = document.createElement("div");
                                button.className = "fb-like";
                                button.setAttribute("data-send", "true");
                                button.setAttribute("data-layout", "box_count");
                                button.setAttribute("data-width", "55px");
                                button.setAttribute("data-show-faces", "false");
                                button.style.position = "relative";
                                button.style.left = "2px";
                                div.appendChild(button);

                                var alsodiv = document.createElement("div");
                                alsodiv.id = "fb-root";
                                document.body.appendChild(alsodiv);

                                var script = document.createElement('script');
                                script.id = "facebook-jssdk";
                                script.src = "//connect.facebook.net/en_GB/all.js#xfbml=1";
                                document.getElementsByTagName('head')[0].appendChild(script);
                                found = true;
                                break;

                            case "stumbleupon":
                                var button = document.createElement("div");
				button.style.float="left";
                                var script = document.createElement("script");
                                script.src = "http://www.stumbleupon.com/hostedbadge.php?s=5";
                                button.appendChild(script);
                                div.appendChild(button);
                                found = true;
                                break;

                            case "linkedin":
                                var button = document.createElement("script");
                                button.type = "IN/Share"
                                button.setAttribute("data-counter", "top");
                                div.appendChild(button);

                                var script = document.createElement('script');
                                script.src = "http://platform.linkedin.com/in.js";
                                document.getElementsByTagName('head')[0].appendChild(script);
                                found = true;
                                break;

                            default:
                                div.appendChild(document.createTextNode(this.options[i]));
                                found = true;
                                break;

                        }
                        if (found) {
                            var spacer = document.createElement("div");
                            spacer.style.height = "15px";
                            div.appendChild(spacer);
                        }
                    }
                }
            }
            toggler.title = "Hide the content of this bar";
            document.cookie = "socialmediabar=show;path=/";
        }
        else {
            div.style.display = "none";
            this.childNodes[0].nodeValue = "show";
            toggler.title = "Show the content of this bar";
            document.cookie = "socialmediabar=hide;path=/";
        }
    }
    toggler.appendChild(document.createTextNode("show"));
    toggler.href = "#";
    toggler.style.display = "block";
    toggler.style.color = "#000000";
    toggler.style.fontSize = "10px";
    toggler.style.width = "100%";
    toggler.style.borderBottom = "1px dotted black";
    toggler.style.background = "#E0E0E0";
    toggler.style.padding = "2px";
    container.appendChild(toggler);

    var div = document.createElement("div");
    div.style.color = "#000000";
    div.style.display = "none";
    div.style.paddingTop = "15px";
    div.style.paddingBottom = "15px";
    container.appendChild(div);

    if (value == "show") { toggler.toggle(); }
    
    var close = document.createElement("a");
    close.onclick = function() { 
        this.parentNode.style.display = "none"; 
        this.blur(); 
        document.cookie = "socialmediabar=close; path=/";
        return false; 
    }
    close.appendChild(document.createTextNode("close"));
    close.href = "#";
    close.style.display = "block";
    close.style.color = "#000000";
    close.style.fontSize = "10px";
    close.style.borderTop = "1px dotted black";
    close.style.background = "#E0E0E0";
    close.style.padding = "2px";
    close.style.width = "100%";
    close.style.bottom = "0px";
    close.title = "Remove this bar completely";
    container.appendChild(close);

}

