SHARE
TWEET

Parashuram

a guest Jan 3rd, 2008 280 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /*
  2.  * javascript:d=document;c=d.createElement('script');c.id='_bml_;'d.body.appendChild(c);c.src='http://localhost/Bookmarklet.js';void(0)
  3.  */
  4.  
  5. /**
  6.  * The Class that contains all the logic to manipulate the page and set a
  7.  * stage for bookmarklet to be placed
  8.  */
  9. var Bookmarklet =
  10. {
  11.         /*
  12.          * Initializes the Bookmarklet
  13.          */
  14.         init : function()
  15.         {
  16.                 if (document.getElementById("_bml_"))
  17.                 {
  18.                         // if the script already exists, then don't invoke the Bookmarklet and just return
  19.                         return;
  20.                 }
  21.                
  22.                 this.loadStyleClasses("bookMarklet.css"/*Modify this to match to your CSS file*/);
  23.                 this.loadScripts();
  24.         },
  25.        
  26.         /**
  27.          * Responsible for loading all the external dependent script files
  28.          */
  29.         loadScripts : function(callbackHandler)
  30.         {      
  31.                 var includeScripts =
  32.                 [
  33.                         "http://yui.yahooapis.com/2.4.1/build/yahoo-dom-event/yahoo-dom-event.js",
  34.                         "http://yui.yahooapis.com/2.4.1/build/dragdrop/dragdrop-min.js",
  35.                         "http://yui.yahooapis.com/2.4.1/build/get/get-beta-min.js",
  36.                         "RecruiterPilot.js"
  37.                         /*Add all the external script libraries that you wanna load*/
  38.                 ];
  39.                
  40.                 var loadedScripts = 0;
  41.                 var currentObject = this;
  42.                
  43.                 for (var i = 0; i < includeScripts.length; i++)
  44.                 {
  45.                         var scriptTag = document.createElement("script");
  46.                         scriptTag.src = includeScripts[i];
  47.                         scriptTag.onload = function()
  48.                                                                 {
  49.                                                                         console.log(this.src + " loaded");
  50.                                                                         loadedScripts++;
  51.                                                                         if (loadedScripts >= includeScripts.length)
  52.                                                                         {
  53.                                                                                 callbackHandler.call(currentObject);
  54.                                                                         }      
  55.                                                                 };
  56.                         document.body.appendChild(scriptTag);
  57.                 }
  58.         },
  59.  
  60.         /**
  61.          * Callback handler called when all the specified scripts have completed loaded
  62.          */
  63.         onAllScriptsLoaded : function()
  64.         {
  65.                 console.log("All scripts have been loaded");
  66.                 /*Add your main function here, of let the last included file call it right away */
  67.         },
  68.  
  69.  
  70.         /**
  71.          * Responsible for loading the style sheets
  72.          */
  73.         loadStyleClasses : function(styleFile)
  74.         {
  75.                 var styleSheet = document.createElement("link");
  76.                 styleSheet.rel = "stylesheet";
  77.                 styleSheet.type = "text/css";
  78.                 styleSheet.href = styleFile;
  79.                 document.body.appendChild(styleSheet);
  80.         },
  81.  
  82. /**
  83. *For debugging in firebug, and so that this does not break on IE !
  84. */
  85. if (typeof(console) == "undefined")
  86. {
  87.         console = {};
  88.         console.log = function(){};
  89. }
  90.  
  91. Bookmarklet.init();
RAW Paste Data
Pastebin PRO Summer Special!
Get 60% OFF on Pastebin PRO accounts!
Top