function jsLoad(loc, callback){
  var e=document.createElement('script');
  e.setAttribute('language','javascript');
  e.setAttribute('src',loc);
  if (callback) e.onload = callback;
  document.head.appendChild(e);
}

function cssLoad(loc, callback){
  var e=document.createElement('link');
  e.setAttribute('rel','stylesheet');
  e.setAttribute('href',loc);
  e.setAttribute("type", "text/css")
  if (callback) e.onload = callback;
  document.head.appendChild(e);
}

function escapeQuotesHTML(string){
  return string.replace(/"/g,"&quot;").replace(/'/g,"&apos;");
}

var ENV = "";
var CUR = {
  "DEV":"http://127.0.0.1:4444",
  "PROD":"http://quoteth.is"
};

(window.location.host == "127.0.0.1:4444" || window.location.host == "localhost:4444") ? ENV = "DEV" : ENV = "PROD";
//ENV = "DEV";

cssLoad( CUR[ENV] + "/css/qt_embed.css" );

var createPopups = function(){

  jQuery(".qt_link").each(function(){

    var ME = jQuery(this);
    var linkhash = "";

    // find hash value
    if (ME.data("hash")) {
      linkhash = ME.data("hash");
    } else {
      linkhash = ME.attr("title");
      ME.data("hash",linkhash);
      ME.attr("title","");
    }

    //linkhash = (ME.data("hash") || ME.attr("title"));

    jsLoad( CUR[ENV] + "/meta/" + linkhash + "?varname=qt_data_" + linkhash, function(){

      //ME.data("meta",eval('('+rdata+')'));
      ME.data("meta",document["qt_data_"+linkhash]);

      var qt_popup = jQuery("<div>").css({"display":"none", "position":"absolute"}).addClass("qt_popup");
      var qt_container = jQuery("<div>").addClass("qt_container");
      qt_container.html('<div class="qt_quote">'+ME.data("meta").quote+'</div>');

      qt_popup.append(qt_container);
      jQuery('body').append(qt_popup);

      var qt_logo = jQuery("<div>").addClass("qt_logo");
      qt_logo.html("<a href='http://quoteth.is' class='qt_logo' target='_blank'><img src='"+ CUR[ENV] +"/images/qt_logo_mini.png' /></a>");
      qt_container.append(qt_logo);

      var qt_twitter = jQuery("<div>").addClass("qt_twitter");
      qt_twitter.html('<a href="https://twitter.com/share" class="twitter-share-button" data-url="'+CUR[ENV]+"/"+ME.data("meta").urlhash+'" data-related="Nemonics:Nemonics Media" data-text="'+escapeQuotesHTML((ME.data("meta").twitter || ME.data("meta").quote))+'" data-count="none">Tweet</a>');
      qt_container.append(qt_twitter);

      fShare = function(url,summary,title,imageurl){
        window.open('http://www.facebook.com/sharer.php?s=100&p[url]=' + url + '&p[summary]=' + summary + '&p[title]=' + title + '&p[images][0]=' + imageurl,'sharer','toolbar=0,status=0,resizable=0,width=640,height=352');
      }

      var qt_facebook = jQuery("<div>").addClass("qt_facebook");
      qt_facebook.append(
        jQuery("<a>").click(function(){
          fShare(CUR[ENV]+"/"+ME.data("meta").urlhash, ME.data("meta").quote, (ME.data("meta").name || "QuoteTh.is"), (ME.data("meta").imageurl || "http://quoteth.is/images/bigquote.png") );
        }).append(jQuery("<img src='"+ CUR[ENV] +"/images/fb_share_button.png'>"))
      );
      qt_container.append(qt_facebook);

      ME.after('<img class="qt_chicklet" src="'+ CUR[ENV] +'/images/qt_chicklet_mini.png">');

      var timerid;

      qt_popup.hover(function(){
        clearTimeout(timerid);
        jQuery(this).fadeIn();
      }, function(){
        jQuery(this).fadeOut();
      });

      ME.hover(function(){
        var link = jQuery(this).next("img.qt_chicklet");
        if (link.offset().left < 500) {
          qt_popup.css({"top":link.offset().top + link.outerHeight() + 8,"left":link.offset().left});
        } else {
          qt_popup.css({"top":link.offset().top + link.outerHeight() + 8,"left":link.offset().left - 420});
        }
        clearTimeout(timerid);
        qt_popup.stop().fadeTo(400,1);
      }, function(){
        timerid = setTimeout(function(){
          qt_popup.fadeOut();
        },1000);
      });

      jsLoad( "https://platform.twitter.com/widgets.js" );

    }); //END of .get

  }); //END .each FUNCTION

}

if (typeof jQuery == 'undefined') {
  jsLoad('http://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js', function(){
    jQuery(function(){
      //console.log(jQuery(".qt_link"));
      createPopups();
    });
  });
} else {
  jQuery(function(){
    //console.log(jQuery(".qt_link"));
    createPopups();
  });
}

