/CVox/res/raw/email.js

http://eyes-free.googlecode.com/ · JavaScript · 57 lines · 43 code · 5 blank · 9 comment · 19 complexity · bf1c9e9220ac1c0596dde79d5104b8e6 MD5 · raw file

  1. // ==UserScript==
  2. // @name Pick E-mail address
  3. // @description Fill forms by picking an E-mail address from Android contacts
  4. // @author Jeffrey Sharkey
  5. // @include http://*digg.com/register*
  6. // @include http://*facebook.com*
  7. // @include http://*m.yahoo.com/p/mail/compose*
  8. // @include http://*m.half.com*
  9. // ==/UserScript==
  10. function insertAfter(newElement,targetElement) {
  11. var parent = targetElement.parentNode;
  12. if(parent.lastchild == targetElement) {
  13. parent.appendChild(newElement);
  14. } else {
  15. parent.insertBefore(newElement, targetElement.nextSibling);
  16. }
  17. }
  18. function generate(item) {
  19. var helper = document.createElement('input');
  20. helper.type = 'button';
  21. helper.value = 'Pick Android contact...';
  22. helper.style.background = '#cfc';
  23. helper.style.color = '#484';
  24. helper.style.border = '1px solid #484';
  25. helper.style.padding = '5px';
  26. helper.style.marginLeft = '10px';
  27. helper.addEventListener('click', function(event) {
  28. var result = window.intentHelper.startActivityForResult(JSON.stringify({
  29. action:'ACTION_GET_CONTENT',
  30. type:'vnd.android.cursor.item/email'
  31. }));
  32. result = JSON.parse(result);
  33. item.value = result['data']['data'];
  34. }, false);
  35. return helper;
  36. }
  37. var append = [];
  38. var items = document.body.getElementsByTagName('input');
  39. for(i in items) {
  40. var item = items[i];
  41. var digg = (item.name == 'email' || item.name == 'emailverify');
  42. var facebook = (item.name == 'reg_email__');
  43. var yahoo = (item.className == 'd' && (item.name.substr(0,2) == 'to' || item.name.substr(0,2) == 'cc'));
  44. var half = (item.name == 'email');
  45. if(digg || facebook || yahoo || half)
  46. append.push([item,generate(item)]);
  47. }
  48. for(i in append) {
  49. var target = append[i][0];
  50. var generated = append[i][1];
  51. insertAfter(generated, target);
  52. }