// Javascript from Moodle modules
/* $Id: javascript.php,v 1.2.2.1 2006/12/05 10:05:29 janne Exp $ */
/* ImageGallery object's constructor */
function ImageGallery () {
    this.ratio = 1.3333333333;
};
/* Change width value */
ImageGallery.prototype.change_dim_width = function (hvalue, fieldname) {
    if ( document.getElementById) {
        var elem = document.getElementById('menu' + fieldname);
        if ( elem ) {
            var newWidth = Math.round(hvalue * this.ratio);
            elem.value = newWidth;
        }
    }
};
/* Change height value */
ImageGallery.prototype.change_dim_height = function (vvalue, fieldname) {
    if ( document.getElementById ) {
        var elem = document.getElementById('menu' + fieldname);
        if ( elem ) {
            var newHeight = Math.round(vvalue / this.ratio);
            elem.value = newHeight;
        }
    }
};

ImageGallery.prototype._newWidth =  function (height) {
};

/**
 * Make HTTP GET request and get ImageGallery's categories if any.
 *
 */
ImageGallery.prototype._HTTPGET = function (cmid, sesskey, url, galleryid, cmd) {

    var req;
    var fullurl = url +'?id='+ cmid +'&sesskey='+ sesskey +'&gallery='+ galleryid +'&cmd='+ cmd;

    // branch for native XMLHttpRequest object
    if (window.XMLHttpRequest) {
        req = new XMLHttpRequest();
        //req.onreadystatechange = processReqChange;
        //netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead");
        req.open("GET", fullurl, false);
        req.send(null);
    // branch for IE/Windows ActiveX version
    } else if (window.ActiveXObject) {
        req = new ActiveXObject("Microsoft.XMLHTTP");
        if (req) {
            //req.onreadystatechange = processReqChange;
            req.open("GET", fullurl, false);
            req.send();
        }
    }

    return req.responseXML;

};

/**
 * Clear category entries from category dropdown menu.
 *
 */
ImageGallery.prototype._clearEntries = function () {

    if ( document.getElementById ) {
        var elem = document.getElementById('cat_id');
        for ( var i = 0; i < elem.options.length; i++ ) {
            var curEntry = elem.options[i];
            if ( curEntry.getAttribute('value') > 0 ) {
                elem.removeChild(curEntry);
            }
        }
        // crappy hack to remove last entry.
        if ( elem.options.length > 1 ) {
            elem.removeChild(elem.options[1]);
        }
    }
};

/**
 * Add category entries into category dropdown menu.
 *
 */
ImageGallery.prototype._getCat = function ( cmid, sesskey, url, galleryid, cmd ) {

    this._clearEntries();
    if ( document.getElementById ) {
        var output = document.getElementById('cat_id');
        var content = this._HTTPGET(cmid, sesskey, url, galleryid, cmd);

        if ( content ) {
            var categories = content.getElementsByTagName('category');
            for ( var i = 0; i < categories.length; i++ ) {
                var curEntry = categories[i];
                var catId = curEntry.getAttribute('id');
                var catName = curEntry.firstChild.nodeValue;
                if ( catId && catName ) {
                    var optVal = document.createElement('option');
                    optVal.setAttribute("value", catId);
                    if ( i < 1 ) {
                        optVal.setAttribute('selected', 'selected');
                    }
                    var txt = document.createTextNode(catName);
                    optVal.appendChild(txt);
                    output.appendChild(optVal);
                }
            }
        }
    }
};

iGallery = new ImageGallery(); // Initialize new object./////////////////////////////////////////////////////////////////////////////
//                                                                         //
// NOTICE OF COPYRIGHT                                                     //
//                                                                         //
// Moodle - Filter for converting ASCIImath notation to MathML             //
// Now also handles a larger subset of LaTeX, as well as ASCIIsvg          //
//                                                                         //
// Copyright (C) 2007 by Peter Jipsen                                      //
// This program is free software; you can redistribute it and/or modify    //
// it under the terms of the GNU General Public License as published by    //
// the Free Software Foundation; either version 2 of the License, or       //
// (at your option) any later version.                                     //
//                                                                         //
// This program is distributed in the hope that it will be useful,         //
// but WITHOUT ANY WARRANTY; without even the implied warranty of          //
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the           //
// GNU General Public License for more details:                            //
//                                                                         //
//          http://www.gnu.org/copyleft/gpl.html                           //
//                                                                         //
/////////////////////////////////////////////////////////////////////////////

// if this script url sniffing does not work try setting wwwroot explicitly
// var wwwroot = "http://path/to/your/moodledir"
// or copy the ASCIIMathML.js file into this file.

var wwwroot = document.getElementsByTagName("script")[0].src.replace(/((.*?)\/lib\/.*)/,"$2"); 
document.write('<script src="'+wwwroot+'/filter/asciimath/ASCIIMathML.js"></script>');
/**
 * JavaScript for checking or unchecking 
 * all the students or all students in a group.
 *
 * @param toggle Check All/None
 * @param start the first checkbox to be changed
 * @param end the last checkbox to be changed
 * return boolean
 **/
function block_quickmail_toggle(toggle, start, end) {
    // Element ID
    var id = 'mailto'+start;

    // iterate through all of the appropriate checkboxes and change their state
    while(document.getElementById(id) && start != end) {
        document.getElementById(id).checked = toggle;
        start++;
        id = 'mailto'+start;
    }

    return false;
}