Index: /lang/javascript/vimperator-plugins/trunk/ldrize_cooperation_fetch_flv.js
===================================================================
--- /lang/javascript/vimperator-plugins/trunk/ldrize_cooperation_fetch_flv.js (revision 8690)
+++ /lang/javascript/vimperator-plugins/trunk/ldrize_cooperation_fetch_flv.js (revision 8715)
@@ -1,4 +1,4 @@
 // Vimperator plugin: 'Cooperation LDRize Mappings - Niconico Flv Fetcher'
-// Version: 0.1
+// Version: 0.2
 // Last Change: 03-Apr-2008. Jan 2008
 // License: Creative Commons
@@ -6,52 +6,47 @@
 //
 // Cooperation LDRize Mappings - Niconico Flv Fetcher for vimperator0.6.*
-//
+// Require LDRize Cooperation ver 0.13
 (function(){
-    function LDRizeCooperationNiconicoFlvFetcher(LDRizeCooperation){
-        var NiconicoFlvFetcher = [
-            {
-                pattern: 'http://www.nicovideo.jp/watch/*',
-                handler: function(url,title){
-                    const nicoApiEndPoint = "http://www.nicovideo.jp/api/getflv?v=";
-                    const nicoWatchEndPoint = "http://www.nicovideo.jp/watch/";
-                    var videoId = url.match(/\wm\d+/)[0];
-                    httpGET(nicoApiEndPoint + videoId,function(apiResult){
-                        var flvUrl = decodeURIComponent(apiResult.match(/url=(.*?)&/)[1]);
+    function LDRizeCooperationNiconicoFlvFetcher(){
+        var NiconicoFlvFetcher = {
+            pattern: 'http://www.nicovideo.jp/watch/*',
+            handler: function(url,title){
+                const nicoApiEndPoint = "http://www.nicovideo.jp/api/getflv?v=";
+                const nicoWatchEndPoint = "http://www.nicovideo.jp/watch/";
+                var videoId = url.match(/\wm\d+/)[0];
+                httpGET(nicoApiEndPoint + videoId,function(apiResult){
+                    var flvUrl = decodeURIComponent(apiResult.match(/url=(.*?)&/)[1]);
 
-                        httpGET(nicoWatchEndPoint + videoId,function(watchPage){
-                            try{
-                                var DownloadManager = Cc["@mozilla.org/download-manager;1"]
-                                    .getService(Ci.nsIDownloadManager);
-                                var WebBrowserPersist = Cc["@mozilla.org/embedding/browser/nsWebBrowserPersist;1"]
-                                    .createInstance(Ci.nsIWebBrowserPersist);
+                    httpGET(nicoWatchEndPoint + videoId,function(watchPage){
+                        try{
+                            var DownloadManager = Cc["@mozilla.org/download-manager;1"]
+                                .getService(Ci.nsIDownloadManager);
+                            var WebBrowserPersist = Cc["@mozilla.org/embedding/browser/nsWebBrowserPersist;1"]
+                                .createInstance(Ci.nsIWebBrowserPersist);
 
-                                var sourceUri = makeURI(flvUrl,null,null);
-                                var file = DownloadManager.userDownloadsDirectory;
-                                file.appendRelativePath(title + ".flv");
-                                var fileUri = makeFileURI(file);
+                            var sourceUri = makeURI(flvUrl,null,null);
+                            var file = DownloadManager.userDownloadsDirectory;
+                            file.appendRelativePath(title + ".flv");
+                            var fileUri = makeFileURI(file);
 
-                                var download = DownloadManager.addDownload(0, sourceUri, fileUri, title + ".flv",
-                                        null, null, null, null, WebBrowserPersist);
-                                WebBrowserPersist.progressListener = download;
-                                WebBrowserPersist.saveURI(sourceUri, null, null, null, null, file);
-                            }catch(e){log(e);liberator.echoerr(e)}
-                        });
+                            var download = DownloadManager.addDownload(0, sourceUri, fileUri, title + ".flv",
+                                    null, null, null, null, WebBrowserPersist);
+                            WebBrowserPersist.progressListener = download;
+                            WebBrowserPersist.saveURI(sourceUri, null, null, null, null, file);
+                        }catch(e){log(e);liberator.echoerr(e)}
                     });
-                },
-                wait: 5000
-            }
-        ]
-        LDRizeCooperation.convertHandlerInfo(NiconicoFlvFetcher);
-        LDRizeCooperation.handlerInfo.unshift(NiconicoFlvFetcher[0]);
+                });
+            },
+            wait: 5000
+        }
+        this.convertHandlerInfo([NiconicoFlvFetcher]);
+        this.handlerInfo.unshift(NiconicoFlvFetcher);
     }
 
     if(liberator.plugins.LDRizeCooperation == undefined){
-        liberator.plugins.watch('LDRizeCooperation',function(id,oldValue,newValue){
-            liberator.plugins.unwatch('LDRizeCooperation');
-            LDRizeCooperationNiconicoFlvFetcher(newValue);
-            return newValue;
-        });
+        liberator.plugins.LDRizeCooperationPlugins = liberator.plugins.LDRizeCooperationPlugins || [];
+        liberator.plugins.LDRizeCooperationPlugins.push(LDRizeCooperationNiconicoFlvFetcher);
     }else{
-        LDRizeCooperationNiconicoFlvFetcher(liberator.plugins.LDRizeCooperation);
+        LDRizeCooperationNiconicoFlvFetcher.apply(liberator.plugins.LDRizeCooperation);
     }
 
Index: /lang/javascript/vimperator-plugins/trunk/ldrize_cooperation.js
===================================================================
--- /lang/javascript/vimperator-plugins/trunk/ldrize_cooperation.js (revision 8690)
+++ /lang/javascript/vimperator-plugins/trunk/ldrize_cooperation.js (revision 8715)
@@ -1,4 +1,4 @@
 // Vimperator plugin: 'Cooperation LDRize Mappings'
-// Version: 0.13
+// Version: 0.14
 // Last Change: 03-Apr-2008. Jan 2008
 // License: Creative Commons
@@ -103,4 +103,11 @@
             this.initLDRizeCooperationFuture();
             this.setupStatusbarPanel();
+
+            if(liberator.plugins.LDRizeCooperationPlugins != undefined){
+                liberator.plugins.LDRizeCooperationPlugins.forEach(function(func){
+                    func.apply(self,arguments);
+                });
+                delete liberator.plugins.LDRizeCooperationPlugins;
+            }
         },
         setupStatusbarPanel: function(){
