/[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 505 by dpavlin, Sun Oct 10 18:55:05 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            if (document.body) document.body.appendChild(debug_div);
95            else debug_div = null;
96      }
97      if (debug_div) {
98            debug_div.appendChild(document.createTextNode(msg));
99            debug_div.appendChild(document.createElement("br"));
100      }
101  }  }
102    
 //  
   
103  // Convert a number into a base 62 alphanumeric number string  // Convert a number into a base 62 alphanumeric number string
104  function convert(num)  function convert(num)
105  {  {
# Line 120  function watchdog() Line 130  function watchdog()
130    watchdog_callback(new Array());    watchdog_callback(new Array());
131  }  }
132    
133    var xmldoc;
134    
135  // This function loads the XML document from the specified URL, and when  // This function loads the XML document from the specified URL, and when
136  // 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
137  // 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 147  function loadXML(url, handler, data, res
147    
148    try    try
149    {    {
     var xmldoc;  
150      // Use the standard DOM Level 2 technique, if it is supported      // Use the standard DOM Level 2 technique, if it is supported
151      if (document.implementation && document.implementation.createDocument)      if (document.implementation && document.implementation.createDocument)
152      {      {
# Line 150  function loadXML(url, handler, data, res Line 161  function loadXML(url, handler, data, res
161    
162        // And tell it what URL to load        // And tell it what URL to load
163        xmldoc.load(url);        xmldoc.load(url);
164          return true;
165      }      }
166      // Otherwise use Microsoft's proprietary API for Internet Explorer      // Otherwise use Microsoft's proprietary API for Internet Explorer
167      // Something about not following standards once again      // Something about not following standards once again
# Line 163  function loadXML(url, handler, data, res Line 175  function loadXML(url, handler, data, res
175          if (xmldoc.readyState == 4) handler(xmldoc, url, data, result_handler);          if (xmldoc.readyState == 4) handler(xmldoc, url, data, result_handler);
176        }        }
177        xmldoc.load(url);                                     // Start loading!        xmldoc.load(url);                                     // Start loading!
178          return true;
179      }      }
180        // else fallback on usage of iframes to load xml (Opera 7.53 without Java and maybe old Mac browsers)
181        else {
182          debug("using iframe xml loader - experimental and slow");
183          if (! window.xml_iframe) {
184            debug("creating iframe");
185            window.xml_iframe = document.createElement('div');
186            window.xml_iframe.innerHTML = '<iframe src="'+url+'" name="xml_iframe" height="0" width="0" style="display: none;"></iframe>';
187            document.body.appendChild(window.xml_iframe);
188          } else {
189            debug("loading xml in existing iframe");
190            window.frames.xml_iframe.window.document.location.href = url;
191          }
192    
193          // set timeout to re-check if iframe is loaded
194          window.iframe_timeout = window.setInterval('iframe_xml_loaded();',100);
195    
196          // save some data for iframe_xml_loaded()
197          window.xml_handler = handler;
198          window.xml_url = url;
199          window.xml_data = data;
200          window.xml_result_handler = result_handler;
201          return true;
202        }
203        clearTimeout(watchdog_id);
204        debug("Browser incompatilibity: can't request XML document by one of supported methods");
205        return false;
206    }    }
207    catch(ex)    catch(ex)
208    {    {
# Line 177  function loadXML(url, handler, data, res Line 216  function loadXML(url, handler, data, res
216    return true;    return true;
217  }  }
218    
219    function iframe_xml_loaded() {
220      debug("iframe_xmldoc_loaded");
221      if (! window.frames['xml_iframe']) return;
222      var xml = eval('window.frames.xml_iframe.window.document');
223      if (xml) {
224            clearTimeout(window.iframe_timeout);
225            debug("calling handler with ("+window.xml_url+","+window.xml_data+",...)");
226            window.xml_handler(window.frames.xml_iframe.window.document, window.xml_url, window.xml_data, window.xml_result_handler);
227      } else {
228            debug("can't eval iframe with xml");
229      }
230    }
231    
232  function loadData(xmldoc, url, pos, result_handler)  function loadData(xmldoc, url, pos, result_handler)
233  {  {
234    clearTimeout(watchdog_id);    clearTimeout(watchdog_id);

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

  ViewVC Help
Powered by ViewVC 1.1.26