/**
 * Error handing for JavaScript
 */

// Available error modes
var printToDocument     = 1;
var printToErrorDiv     = 2; // Requires evErrorDiv to be set 
var alertBox            = 3;

// Other configuration
var evErrorDiv          = 'evErrorDiv';

// Set the error mode
var evErrorMode = printToDocument;

/**
 * Example use: 
 * \code
 * top.evError('testing...'); 
 * \endcode
 */
function evError(errorMessage) {
    if(evErrorMode==printToDocument) {
        ///top.document.print('ERROR: ' + errorMessage);
        obj = document.createElement('div')
        obj.innerHTML = 'ERROR: ' + errorMessage;
        try {
            document.body.insertBefore(obj, document.body.lastChild);
        } catch(e) {
            alert('ERROR: ' + e.message);
        }
    }  else 
    if(evErrorMode==alertBox) {
        alert('ERROR: ' + errorMessage);
    } else 
    if(evErrorMode==printToErrorDiv) {
        try {
            top.document.getElementById(evErrorDiv).innerHTML = 'evError: ' + errorMessage;
        } catch(e) {
            alert('ERR: ' +_e.message);
            top.evErrorMode = alertBox;
            top.evError('evError could not use ' + evErrorMode + ' - resetting error mode to "alertBox"');
        }
    }
}

