(function(window,document) {
    var isIE8 = window.XDomainRequest ? true : false;
    var url = ('' === '') ?  window.location : '' ;
    if(!document.getElementsByClassName) {
        document.getElementsByClassName = function(classname) {
            var a = [];
            var re = new RegExp('(^| )'+classname+'( |$)');
            var els = document.getElementsByTagName("*");
            for(var i=0,j=els.length; i<j; i++) 
                if(re.test(els[i].className))a.push(els[i]);
            return a;
        }
    }

    function updateQueryStringParameter(uri, key, value) {
      var re = new RegExp("([?|&])" + key + "=.*?(&|$)", "i");
      separator = uri.indexOf('?') !== -1 ? "&" : "?";
      if (uri.match(re)) {
        return uri.replace(re, '$1' + key + "=" + value + '$2');
      }
      else {
        return uri + separator + key + "=" + value;
      }
    }

	var KcyButton = function(div) {

		var iframe = document.createElement("iframe");
        iframe.allowtransparency = "true";
        iframe.scrolling = "no";
        iframe.frameBorder = "0";
        iframe.style.cssText = 'width: 100px;height:23px;';
        iframe.src = updateQueryStringParameter('http://rodney.karmacracy.com/widget-3.0/content.php?id=ID&button=1&display=right&show-tooltip=0&medio-id=296739150','url',url);

        var tooltip = document.createElement("div");
        tooltip.id = 'tooltip-ID';   
        tooltip.className = 'kcy-it-tooltip';
                div.style.display = 'inline-block';
        div.style.position = 'relative';
        div.appendChild(tooltip);     

        div.appendChild(iframe);        
	}    


    if (typeof window.KarmacracyOverlay === "undefined") {
        window.KarmacracyOverlay = {};
        var ko = document.createElement('script'); ko.type = 'text/javascript'; ko.async = true;
        ko.src = 'http://rodney.karmacracy.com/widget-3.0/scripts/KarmacracyOverlay.js';
        var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ko, s);

        var css = document.createElement('link'); css.type = 'text/css'; 
        css.href = 'http://rodney.karmacracy.com/widget-3.0/css/kcy-tooltip.css';
        css.media='screen, projection'; css.rel='stylesheet';
        s.parentNode.insertBefore(css, s);
    }

    var overlayIframe;
    //window.addEventListener("message", receiveMessage, false);

    var buttons = document.getElementsByClassName("kcy_karmacracy_widget_h_ID");
    if( !buttons[0].hasChildNodes() ) {
    	var l = buttons.length; 
        for (var i = 0; i < l; i++) {
        	KcyButton(buttons[i]);
        }
    }

    function getAjaxTooltip(url, tooltip){
        var xmlhttp;
        if (isIE8) {
            xmlhttp = new window.XDomainRequest();
        } else if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
            xmlhttp = new XMLHttpRequest();
        } else {// code for IE6, IE5
            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
        }

        if (!isIE8) {
            xmlhttp.onreadystatechange = function() {
                if (  xmlhttp.readyState == 4 && xmlhttp.status == 200 ) {
                   tooltip.innerHTML = xmlhttp.responseText;
                }
            }
        } else {
            xmlhttp.onload = function(){
                tooltip.innerHTML = xmlhttp.responseText;
            }
        }


        xmlhttp.open("GET",url,true);
        xmlhttp.send();
    }

    
})(window,document);
