diff options
author | rsudev <rasch@munin-soft.de> | 2013-10-09 22:14:44 +0200 |
---|---|---|
committer | rsudev <rasch@munin-soft.de> | 2013-10-09 22:14:44 +0200 |
commit | b06c1a0d27ac2a906d68368aff3ab65e4881977a (patch) | |
tree | 888b97b5bcf1fc384c1092eb21807a5f9a49cace | |
parent | ef511403c2f85128969c5d085b54810f3dd51dbc (diff) | |
download | cgeo-b06c1a0d27ac2a906d68368aff3ab65e4881977a.zip cgeo-b06c1a0d27ac2a906d68368aff3ab65e4881977a.tar.gz cgeo-b06c1a0d27ac2a906d68368aff3ab65e4881977a.tar.bz2 |
Implements #3336, Send2cgeo for opencaching.pl
-rw-r--r-- | send2cgeo/send2cgeoOcPl.user.js | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/send2cgeo/send2cgeoOcPl.user.js b/send2cgeo/send2cgeoOcPl.user.js new file mode 100644 index 0000000..0405367 --- /dev/null +++ b/send2cgeo/send2cgeoOcPl.user.js @@ -0,0 +1,76 @@ +// ==UserScript== +// @name Send to c:geo for opencaching.pl +// @namespace http://send2.cgeo.org/ +// @description Add button "Send to c:geo" to opencaching.pl +// @include http://opencaching.pl/viewcache.php* +// @icon http://send2.cgeo.org/content/images/logo.png +// @version 0.1 +// ==/UserScript== + +// Inserts javascript that will be called by the s2cgeo button. The closure +// look strange, but avoids having to escape the code. + +var s = document.createElement('script'); +s.type = 'text/javascript'; +s.innerHTML = 'function s2cgeo(code) {\n' + + '// show the box and the "please wait" text\n' + + 'document.getElementById("send2cgeo").style.display="block";\n' + + 'document.getElementById("send2cgeo").childNodes[0].style.display="block";\n' + + '// hide iframe for now and wait for page to be loaded\n' + + 'document.getElementById("send2cgeo").childNodes[1]\n' + + ' .style.display="none";\n' + + 'document.getElementById("send2cgeo").childNodes[1]\n' + + ' .onload=function() {\n' + + ' document.getElementById(\'send2cgeo\').childNodes[0]\n' + + ' .style.display="none";\n' + + ' document.getElementById(\'send2cgeo\').childNodes[1]\n' + + ' .style.display="block";\n' + + ' // hide box after 3 seconds\n' + + ' setTimeout( function() {' + + ' document.getElementById(\'send2cgeo\').style.display="none";}, 3000);\n' + + ' };\n' + + 'document.getElementById("send2cgeo").childNodes[1]\n' + + ' .src="http://send2.cgeo.org/add.html?cache="+code;\n' + + '}'; + + // Inject Script. + document.getElementsByTagName("head")[0].appendChild(s); + + // Defines the elements to insert into the page ////////////////////////////// + var boxWidth = 20, + boxHeight = 7; + + var boxStyle = 'display:none; background:#1D1D1D; z-index:1000; left:50%;' + + 'box-shadow:0 0 0.5em #000; padding:0; border:0; ' + + 'position:fixed; top:0.5em; text-align:center; ' + + 'margin-left:-'+(boxWidth/2)+'em; line-height:'+boxHeight+'em;' + + 'width:'+boxWidth+'em; height:'+boxHeight+'em; color: #fff'; + var waitStyle = 'width: '+boxWidth+'em; color: #fff'; + var iframeStyle = 'border:0; width:'+boxWidth+'em; height: '+boxHeight+'em'; + + var b = document.createElement('div'); + b.id = "send2cgeo"; + b.setAttribute("style", boxStyle); + b.innerHTML = '<div style="'+waitStyle+'">Please wait…</div>' + + '<iframe style="'+iframeStyle+'"></iframe>'; + + document.getElementsByTagName("body")[0].appendChild(b); + + // Append to send2cgeo links/buttons ///////////////////////////////////////// + var oc = document.getElementById('SendToGPS').parentNode.parentNode; + + if(oc !== null) { + var occode=oc.innerHTML; + + occode = occode.substr(occode.indexOf('wp=')+3,6); + + var html = '></a><p> </p>' + + '<a class="send-to-gps" ' + + 'href="#" ' + + 'onclick="s2cgeo(\''+occode+'\'); return false;" >' + + '<input type="button" id="SendToGPS" value="Send to c:geo"' + + 'name="SendToCgeo" /></a> '; + + oc.innerHTML = oc.innerHTML.replace('></a><p> </p>', html); + + }; |