// ==UserScript==
// @name          yummyit
// @namespace     http://voltlick.com/su/yummy/
// @description   Inserts result count of a url's entries found on del.ico.us in a StumbleUpon review page
// @include       http://*.stumbleupon.com/url*
// @exclude     
// ==/UserScript==

window.addEventListener("load", function() { do_script() }, false);



function do_script(){

var uri = document.location.href;
var surev = "http://www.stumbleupon.com/url/";

if (uri.indexOf(surev) == false){

var ourbit= new Array();
ourbit= uri.split(surev);

delurl="http://del.icio.us/url/check?url=http%3A%2F%2F" + escape(ourbit[1]);


//include("greasemonkey.js");

GM_xmlhttpRequest({
    method: 'GET',
    url: "http://www.dapper.net/transform.php?dappName=DeliciousLinkData&transformer=CSV&extraArg_fields[]=popularity&variableArg_0="+ourbit[1],
    headers: {
        'User-agent': 'Mozilla/4.0 (compatible) Greasemonkey',
        'Accept': 'application/atom+xml,application/xml,text/xml',
    },
    onload: function(responseDetails) {
var block=responseDetails.responseText;

if(block > ""){


//insertable=insertable + '<br /><iframe src="' + delurl + '" width="100%" height="150" scrolling="yes" name="delicious"></iframe>';
insertable='<span class="textOk"><strong>' + block + '</strong></span> saves';
insertable=insertable+"<a href='" + delurl + "'> on del.icio.us</a>";




} else{insertable='<span class="textOk"><strong>0</strong></span> saves';
insertable=insertable+"<a href='" + delurl + "'> on del.icio.us</a>"; }
//this is to find the right place to put the del.icio.us info

patha=document.evaluate('/HTML[1]/BODY[1]/DIV[4]/DIV[1]/DIV[1]/DIV[1]/H4[1]/A[3]', document, null, XPathResult.FIRST_ORDERED_NODE_TYPE,null).singleNodeValue;
pathb=document.evaluate('/HTML[1]/BODY[1]/DIV[4]/DIV[1]/DIV[1]/DIV[1]/H4[1]/A[4]', document, null, XPathResult.FIRST_ORDERED_NODE_TYPE,null).singleNodeValue;

usey='/HTML[1]/BODY[1]/DIV[4]/DIV[1]/DIV[1]/DIV[1]/H4[1]/A[4]';
if (pathb == null){usey='/HTML[1]/BODY[1]/DIV[4]/DIV[1]/DIV[1]/DIV[1]/H4[1]/A[3]';}
//now we know the correct path to use

//we can do our html injection

html_insert_it(window.document,document.evaluate(usey, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE,null).singleNodeValue,insertable,false,true);


    }
});

} else {alert("n/a");}
}

//here we have some nice platypus functions
function html_insert_it(doc, element, new_html, before, insert_as_block) {
  var new_element;
  if (insert_as_block) {
    new_element = doc.createElement ("DIV");
  } else {
    new_element = doc.createElement ("SPAN");
  };
  new_element.innerHTML = new_html;
  if (before) {
      element.parentNode.insertBefore(new_element, element);
  } else {
      insertAfter(new_element, element);
  };
};
function insertAfter(newNode, target) {
    var parent = target.parentNode;
    var refChild = target.nextSibling;
    if(refChild != null)
parent.insertBefore(newNode, refChild);
    else
parent.appendChild(newNode);
};
 

