Annotation of kupuMPIWG/common/kupustart.js, revision 1.1.1.1

1.1       dwinter     1: /*****************************************************************************
                      2:  *
                      3:  * Copyright (c) 2003-2005 Kupu Contributors. All rights reserved.
                      4:  *
                      5:  * This software is distributed under the terms of the Kupu
                      6:  * License. See LICENSE.txt for license text. For a list of Kupu
                      7:  * Contributors see CREDITS.txt.
                      8:  *
                      9:  *****************************************************************************/
                     10: 
                     11: // $Id$
                     12: 
                     13: function startKupu() {
                     14:     // first let's load the message catalog
                     15:     // if there's no global 'i18n_message_catalog' variable available, don't
                     16:     // try to load any translations
                     17:     if (window.i18n_message_catalog) {
                     18:         var request = new XMLHttpRequest();
                     19:         // sync request, scary...
                     20:         request.open('GET', 'kupu-pox.cgi', false);
                     21:         request.send('');
                     22:         if (request.status != '200') {
                     23:             alert('Error loading translation (status ' + status +
                     24:                     '), falling back to english');
                     25:         } else {
                     26:             // load successful, continue
                     27:             var dom = request.responseXML;
                     28:             window.i18n_message_catalog.initialize(dom);
                     29:         };
                     30:     };
                     31:     
                     32:     // initialize the editor, initKupu groks 1 arg, a reference to the iframe
                     33:     var frame = getFromSelector('kupu-editor'); 
                     34:     var kupu = initKupu(frame);
                     35:     
                     36:     // this makes the editor's content_changed attribute set according to changes
                     37:     // in a textarea or input (registering onchange, see saveOnPart() for more
                     38:     // details)
                     39:     kupu.registerContentChanger(getFromSelector('kupu-editor-textarea'));
                     40: 
                     41:     // let's register saveOnPart(), to ask the user if he wants to save when 
                     42:     // leaving after editing
                     43:     if (kupu.getBrowserName() == 'IE') {
                     44:         // IE supports onbeforeunload, so let's use that
                     45:         addEventHandler(window, 'beforeunload', saveOnPart);
                     46:     } else {
                     47:         // some versions of Mozilla support onbeforeunload (starting with 1.7)
                     48:         // so let's try to register and if it fails fall back on onunload
                     49:         var re = /rv:([0-9\.]+)/
                     50:         var match = re.exec(navigator.userAgent)
                     51:         if (match[1] && parseFloat(match[1]) > 1.6) {
                     52:             addEventHandler(window, 'beforeunload', saveOnPart);
                     53:         } else {
                     54:             addEventHandler(window, 'unload', saveOnPart);
                     55:         };
                     56:     };
                     57: 
                     58:     // and now we can initialize...
                     59:     kupu.initialize();
                     60: 
                     61:     return kupu;
                     62: };

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>