// preload menu graphics
menuhome1 = new Image;
menuhome1.src = "images/home1.jpg";
menuhome2 = new Image;
menuhome2.src = "images/home2.jpg";
menuabout1 = new Image;
menuabout1.src = "images/about1.jpg";
menuabout2 = new Image;
menuabout2.src = "images/about2.jpg";
menuclasses1 = new Image;
menuclasses1.src = "images/classes1.jpg";
menuclasses2 = new Image;
menuclasses2.src = "images/classes2.jpg";
menuschedule1 = new Image;
menuschedule1.src = "images/schedule1.jpg";
menuschedule2 = new Image;
menuschedule2.src = "images/schedule2.jpg";
menutestimonials1 = new Image;
menutestimonials1.src = "images/testimonials1.jpg";
menutestimonials2 = new Image;
menutestimonials2.src = "images/testimonials2.jpg";
menujoyful1 = new Image;
menujoyful1.src = "images/joyful1.jpg";
menujoyful2 = new Image;
menujoyful2.src = "images/joyful2.jpg";
menulinks1 = new Image;
menulinks1.src = "images/links1.jpg";
menulinks2 = new Image;
menulinks2.src = "images/links2.jpg";
menucontact1 = new Image;
menucontact1.src = "images/contact1.jpg";
menucontact2 = new Image;
menucontact2.src = "images/contact2.jpg";

var section;

function initScripts(page) {
    section = page;
    swapNav(2, section);
    if (page == 'joyful') {
        initGallery();
    }
}

function swapNav(num, obj) {
    var navobj = eval('document.' + obj);
    if (obj == section) {
        navobj.src = eval('menu' + obj + '2.src');
    } else {
        navobj.src = eval('menu' + obj + num + '.src');
    }
}

document.getElementsByClassName = function(cl) {
    var retnode = [];
    var myclass = new RegExp('\\b'+cl+'\\b');
    var elem = this.getElementsByTagName('*');
    for (var i = 0; i < elem.length; i++) {
        var classes = elem[i].className;
        if (myclass.test(classes)) {
            retnode.push(elem[i]);
        }
    }
    return retnode;
}; 

var galimage;
var gallerybusy;
var pics = new Array();

function initGallery() {
    pics = document.getElementsByClassName('gallerytn');
    for (var i = 0; i < pics.length; i++) {
        pics[i].onclick = doGallery;
        pics[i].index = i + 1;
    }
}

function doGallery() {
    if (gallerybusy) {
        return;
    }

    document.getElementById('gallerybig').style.visibility = 'visible';
    document.getElementById('gallerybig').style.display = 'inline';

    document.getElementById('galleryimage').style.visibility = 'hidden';

    makeRequest('gallery/gallery' + this.index + '.html');
}

function galleryControl(num) {
    if (num == 0) {
        document.getElementById('gallerybig').style.visibility = 'hidden';
        document.getElementById('gallerybig').style.display = 'none';
    } else {
        if (gallerybusy) {
            return;
        }
        document.getElementById('galleryimage').style.visibility = 'hidden';
        makeRequest('gallery/gallery' + num + '.html');
    }
}

function makeRequest(url) {
    var http_request = false;

    if (window.XMLHttpRequest) { // Mozilla, Safari, ...
        http_request = new XMLHttpRequest();
        if (http_request.overrideMimeType) {
            http_request.overrideMimeType('text/xml');
        }
    } else if (window.ActiveXObject) { // IE
        try {
            http_request = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
            try {
                http_request = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {}
        }
    }

    if (!http_request) {
        alert('Trouble with XMLHTTP instance');
        return false;
    }

    http_request.onreadystatechange = function() { changeContents(http_request);};
    http_request.open('GET', url, true);
    http_request.send(null);
}

var gallerypic;
function changeContents(http_request) {
    try {
        if (http_request.readyState == 4) {
            if (http_request.status == 200) {
                document.getElementById('gallerybig').innerHTML = http_request.responseText;
                gallerypic = document.getElementById('galleryimage');
                gallerypic.style.visibility = 'hidden';
                gallerypic.onload = function() { displayPhoto();};
            } else {
                alert(http_request.status + ': Sorry, there was a problem with your request. Please try again.');
            }
        }
    }
    catch( e ) {
        alert('Caught Exception: ' + e.description);
    }
}

function displayPhoto() {
    gallerybusy = 1;
    galimage = document.getElementById('galleryimage');
    var btall = galimage.offsetHeight;
    var bwide = galimage.offsetWidth;
    var block = document.getElementById('gallerybig');
    var xtall = block.offsetHeight;
    var xwide = block.offsetWidth;
    
    galimage.style.left = (xwide - bwide) / 2 + 'px';
    galimage.style.top = (xtall - btall + 20) / 2 + 'px';
    
    setOpacity(galimage, 0);
    galimage.style.visibility = 'visible';
    doFadeIn();
}

function doFadeIn() {
    for (var i = 0; i < 21; i++) {
        setTimeout('setOpacity(galimage, ' + i + ')', (40 * i));
    }
    
    setTimeout('clearGalleryBusy()', (40 * i));
}

function setOpacity(obj, alpha) {
    var ostyle = obj.style;
    if ( ostyle.MozOpacity != undefined ) { //Moz and older
        ostyle.MozOpacity = alpha/20;
    } else if ( ostyle.filter != undefined ) { //IE
        ostyle.filter = "alpha(opacity=' + alpha * 5 + ')";
        obj.filters.alpha.opacity = ( alpha * 5 );
    } else if ( ostyle.opacity != undefined ) { //Opera
        ostyle.opacity = alpha/20;
    }
}

function clearGalleryBusy() {
    gallerybusy = 0;
}

