/[webpac]/trunk2/out/js/search.js
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /trunk2/out/js/search.js

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 464 by dpavlin, Thu Sep 23 17:14:33 2004 UTC revision 496 by dpavlin, Sun Oct 10 06:03:06 2004 UTC
# Line 79  function intersect_results(data) Line 79  function intersect_results(data)
79   From David Flanagan's, _Javascript:_The Definitive_Guide_, pg. 294-5,   From David Flanagan's, _Javascript:_The Definitive_Guide_, pg. 294-5,
80    published by O'Reilly, 4th edition, 2002    published by O'Reilly, 4th edition, 2002
81  */  */
82    
83    var debug_div = null;
84    
85  function debug(msg)  function debug(msg)
86  {  {
87  //  return; // Disable debugging  //  return; // Disable debugging
88    
89    var debug_div = element_id('debug');    if (! debug_div) debug_div = document.getElementById('debug');
90    
91    if (debug_div) debug_div.innerHTML += msg+"<br/>\n";    // this will create debug div if it doesn't exist.
92      if (! debug_div) {
93            debug_div = document.createElement('div');
94            document.body.appendChild(debug_div);
95      }
96      if (debug_div) {
97            debug_div.appendChild(document.createTextNode(msg));
98            debug_div.appendChild(document.createElement("br"));
99      }
100  }  }
101    
 //  
   
102  // Convert a number into a base 62 alphanumeric number string  // Convert a number into a base 62 alphanumeric number string
103  function convert(num)  function convert(num)
104  {  {
# Line 120  function watchdog() Line 129  function watchdog()
129    watchdog_callback(new Array());    watchdog_callback(new Array());
130  }  }
131    
132    var xmldoc;
133    
134  // This function loads the XML document from the specified URL, and when  // This function loads the XML document from the specified URL, and when
135  // it is fully loaded, passes that document and the url to the specified  // it is fully loaded, passes that document and the url to the specified
136  // handler function.  This function works with any XML document  // handler function.  This function works with any XML document
# Line 135  function loadXML(url, handler, data, res Line 146  function loadXML(url, handler, data, res
146    
147    try    try
148    {    {
     var xmldoc;  
149      // Use the standard DOM Level 2 technique, if it is supported      // Use the standard DOM Level 2 technique, if it is supported
150      if (document.implementation && document.implementation.createDocument)      if (document.implementation && document.implementation.createDocument)
151      {      {
# Line 150  function loadXML(url, handler, data, res Line 160  function loadXML(url, handler, data, res
160    
161        // And tell it what URL to load        // And tell it what URL to load
162        xmldoc.load(url);        xmldoc.load(url);
163          return true;
164      }      }
165      // Otherwise use Microsoft's proprietary API for Internet Explorer      // Otherwise use Microsoft's proprietary API for Internet Explorer
166      // Something about not following standards once again      // Something about not following standards once again
# Line 163  function loadXML(url, handler, data, res Line 174  function loadXML(url, handler, data, res
174          if (xmldoc.readyState == 4) handler(xmldoc, url, data, result_handler);          if (xmldoc.readyState == 4) handler(xmldoc, url, data, result_handler);
175        }        }
176        xmldoc.load(url);                                     // Start loading!        xmldoc.load(url);                                     // Start loading!
177          return true;
178      }      }
179        // else fallback on usage of iframes to load xml (Opera 7.53 without Java and maybe old Mac browsers)
180        else {
181          debug("using iframe xml loader - experimental and slow");
182          if (! window.xml_iframe) {
183            debug("creating iframe");
184            window.xml_iframe = document.createElement('div');
185            window.xml_iframe.innerHTML = '<iframe src="'+url+'" name="xml_iframe" height="0" width="0" style="display: none;"></iframe>';
186            document.body.appendChild(window.xml_iframe);
187          } else {
188            debug("loading xml in existing iframe");
189            window.frames.xml_iframe.window.document.location.href = url;
190          }
191    
192          // set timeout to re-check if iframe is loaded
193          window.iframe_timeout = window.setInterval('iframe_xml_loaded();',100);
194    
195          // save some data for iframe_xml_loaded()
196          window.xml_handler = handler;
197          window.xml_url = url;
198          window.xml_data = data;
199          window.xml_result_handler = result_handler;
200          return true;
201        }
202        clearTimeout(watchdog_id);
203        debug("Browser incompatilibity: can't request XML document by one of supported methods");
204        return false;
205    }    }
206    catch(ex)    catch(ex)
207    {    {
# Line 177  function loadXML(url, handler, data, res Line 215  function loadXML(url, handler, data, res
215    return true;    return true;
216  }  }
217    
218    function iframe_xml_loaded() {
219      debug("iframe_xmldoc_loaded");
220      if (! window.frames['xml_iframe']) return;
221      var xml = eval('window.frames.xml_iframe.window.document');
222      if (xml) {
223            clearTimeout(window.iframe_timeout);
224            debug("calling handler with ("+window.xml_url+","+window.xml_data+",...)");
225            window.xml_handler(window.frames.xml_iframe.window.document, window.xml_url, window.xml_data, window.xml_result_handler);
226      } else {
227            debug("can't eval iframe with xml");
228      }
229    }
230    
231  function loadData(xmldoc, url, pos, result_handler)  function loadData(xmldoc, url, pos, result_handler)
232  {  {
233    clearTimeout(watchdog_id);    clearTimeout(watchdog_id);

Legend:
Removed from v.464  
changed lines
  Added in v.496

  ViewVC Help
Powered by ViewVC 1.1.26