aboutsummaryrefslogtreecommitdiffstats
path: root/send2cgeo
diff options
context:
space:
mode:
authorrsudev <rasch@munin-soft.de>2013-10-09 22:14:44 +0200
committerrsudev <rasch@munin-soft.de>2013-10-09 22:14:44 +0200
commitb06c1a0d27ac2a906d68368aff3ab65e4881977a (patch)
tree888b97b5bcf1fc384c1092eb21807a5f9a49cace /send2cgeo
parentef511403c2f85128969c5d085b54810f3dd51dbc (diff)
downloadcgeo-b06c1a0d27ac2a906d68368aff3ab65e4881977a.zip
cgeo-b06c1a0d27ac2a906d68368aff3ab65e4881977a.tar.gz
cgeo-b06c1a0d27ac2a906d68368aff3ab65e4881977a.tar.bz2
Implements #3336, Send2cgeo for opencaching.pl
Diffstat (limited to 'send2cgeo')
-rw-r--r--send2cgeo/send2cgeoOcPl.user.js76
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&hellip;</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>&nbsp;</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>&nbsp;</p>', html);
+
+ };