function define_effects() {
// set moo effects and initial states

// header
    // school of
        rel_school = new fx.Opacity('school', {duration: 1000});
        rel_school.hide();

    // rel text
        rel_txt = new fx.Opacity('rel', {duration: 1000});

    // a
        rel_a_opacity = new fx.Opacity('a', {duration: 500});
        rel_a_width = new fx.Width('a', {duration: 600});
        rel_a_opacity.hide();
        document.getElementById('a').style.width = 0;

    // ve
        rel_ve_opacity = new fx.Opacity('ve', {duration: 500});
	rel_ve_width = new fx.Width('ve', {duration: 700});
        rel_ve_opacity.hide();
        document.getElementById('ve').style.width = 0;

    // evant
        rel_evant_opacity = new fx.Opacity('evant', {duration: 500});
        rel_evant_opacity.hide();
        document.getElementById('evant').style.display = 'none';

    // atory
        rel_atory_opacity = new fx.Opacity('atory', {duration: 500});
        rel_atory_opacity.hide();
        document.getElementById('atory').style.display = 'none';

    // igion
        rel_igion_opacity = new fx.Opacity('igion', {duration: 1000});
        rel_igion_opacity.hide();
        document.getElementById('igion').style.display = 'none';

    // image
        rel_relevant_img = new fx.Opacity('relevant_img', {duration: 500});
        rel_relevant_img.hide();

        rel_real_img = new fx.Opacity('real_img', {duration: 500});
        rel_real_img.hide();

        rel_revelatory_img = new fx.Opacity('revelatory_img', {duration: 500});
        rel_revelatory_img.hide();

        rel_religion_img = new fx.Opacity('religion_img', {duration: 700});
        rel_religion_img.hide();

    // nav
        dg = new fx.Background('degree', {duration: 400});
        fac = new fx.Background('faculty', {duration: 550});
        aff = new fx.Background('affiliated', {duration: 600});
        con = new fx.Background('contact', {duration: 750});

// footer
    // meet us
	meet = new fx.Top('meet_us', {duration: 800, onComplete: function() { footvarstoggle() }});
        document.getElementById('meet_us').style.height = "11px";

    // wack-a-mole heads
    //  new ParseClassNames({duration: 300});
        rad = new fx.Opacity('radford_head', {duration: 400});
        jes = new fx.Opacity('jesse_head', {duration: 400});
        mar = new fx.Opacity('marisa_head', {duration: 400});
        oli = new fx.Opacity('oliver_head', {duration: 400});
        rad.hide(); jes.hide(); mar.hide(); oli.hide();

}

// footer
var foot = 0;
var footed = 0; // tells whether the footer has been changed
var radford_foot = 0;
var jesse_foot = 0;
var marisa_foot = 0;
var oliver_foot = 0;

function togglefoot(which) {
    if(((which == 'close')||(!which))&&(foot == 1)) {
    // close
        meet.toggle();
        footed = 1;
    } else {
        if(((which == 'open')||(!which))&&(foot == 0)) {
        // open
    	    document.getElementById('meet_us').className = 'meet_open';
            meet.toggle();
            footed = 1;
        }
    }
}

function footvarstoggle() {
if(foot == 1) {
    foot = 0;
    document.getElementById('meet_us').className = 'meet_closed';
    rad.hide(); jes.hide(); mar.hide(); oli.hide();
    document.getElementById('controller').innerHTML = '<span>Open</span>';
} else {
    foot = 1;
    rad.toggle(); jes.toggle(); mar.toggle(); oli.toggle();
    document.getElementById('controller').innerHTML = '<span>Close</span>';
}
}

function toggleme(who) {
    if(who == 'radford') {
        if(radford_foot != 1) {
            document.getElementById('footer_parent').className = 'pullquote';
            document.getElementById('pullquote_parent').className = 'radford';
            document.getElementById('pullquote_parent').style.background = 'url("private/dev/image/pq_top.gif") 175px 0 no-repeat';
            document.getElementById('pullquote_parent').style.display = 'block';
            document.getElementById('pullquote').innerHTML = 'Religion is so essential to understanding people.';
            document.getElementById('radford').className = 'open';
            radford_foot = 1;
        } else {
            document.getElementById('footer_parent').className = 'none';
            document.getElementById('pullquote_parent').className = 'none';
            document.getElementById('radford').className = 'closed';
            document.getElementById('pullquote_parent').style.display = 'none';
            radford_foot = 0;
        }
    } else {

    if(who == 'jesse') {
        if(jesse_foot != 1) {
            document.getElementById('footer_parent').className = 'pullquote';
            document.getElementById('pullquote_parent').className = 'jesse';
            document.getElementById('pullquote_parent').style.background = 'url("private/dev/image/pq_top.gif") 271px 0 no-repeat';
            document.getElementById('pullquote_parent').style.display = 'block';
            document.getElementById('pullquote').innerHTML = 'Understanding different religions, faiths, and beliefs, and how they\'ve worked out in many cultures around the world, gives you an advantage when dealing with people.';
            document.getElementById('jesse').className = 'open';
            jesse_foot = 1;
        } else {
            document.getElementById('footer_parent').className = 'none';
            document.getElementById('pullquote_parent').className = 'none';
            document.getElementById('jesse').className = 'closed';       
            document.getElementById('pullquote_parent').style.display = 'none';
            jesse_foot = 0;
        }
    } else {

    if(who == 'marisa') {
        if(marisa_foot != 1) {
            document.getElementById('footer_parent').className = 'pullquote';
            document.getElementById('pullquote_parent').className = 'marisa';
            document.getElementById('pullquote_parent').style.background = 'url("private/dev/image/pq_top.gif") 367px 0 no-repeat';
            document.getElementById('pullquote_parent').style.display = 'block';
            document.getElementById('pullquote').innerHTML = 'Majoring in religion helps you look at the world through a different set of eyes.';
            document.getElementById('marisa').className = 'open';
            marisa_foot = 1;
        } else {
            document.getElementById('footer_parent').className = 'none';
            document.getElementById('pullquote_parent').className = 'none';
            document.getElementById('pullquote_parent').style.display = 'none';
            document.getElementById('marisa').className = 'closed';    
            marisa_foot = 0;
        }
    } else {

    if(who == 'oliver') {
        if(oliver_foot != 1) {
            document.getElementById('footer_parent').className = 'pullquote';
            document.getElementById('pullquote_parent').className = 'oliver';
            document.getElementById('pullquote_parent').style.background = 'url("private/dev/image/pq_top.gif") 463px 0 no-repeat';
            document.getElementById('pullquote_parent').style.display = 'block';
            document.getElementById('pullquote').innerHTML = 'The absolute biggest strength of the religion major is the faculty.  The professors are into their fields in a way that the student can really see.';
            document.getElementById('oliver').className = 'open';
            oliver_foot = 1;
        } else {
            document.getElementById('footer_parent').className = 'none';
            document.getElementById('pullquote_parent').className = 'none';
            document.getElementById('pullquote_parent').style.display = 'none';
            document.getElementById('oliver').className = 'closed';  
            oliver_foot = 0;
        }
    } } } } 
}


// navigation
var dgnav = 0;
var facnav = 0;
var affnav = 0;
var connav = 0;

function togglenav(which) {
if(intro == 1) {
    if(which == 'degree') {
        if(dgnav == 1) {
            document.getElementById('degree').style.backgroundPosition = "0px 50px";
            dgnav = 0;
        } else {
            document.getElementById('degree').style.backgroundPosition = "0px 100px";
            dgnav = 1;
        }
    }

    if(which == 'faculty') {
        if(facnav == 1) {
            document.getElementById('faculty').style.backgroundPosition = "0px 50px";
            facnav = 0;
        } else {
            document.getElementById('faculty').style.backgroundPosition = "0px 100px";
            facnav = 1;
        }
    }

    if(which == 'affiliated') {
        if(affnav == 1) {
            document.getElementById('affiliated').style.backgroundPosition = "0px 50px";
            affnav = 0;
        } else {
        document.getElementById('affiliated').style.backgroundPosition = "0px 100px";
        affnav = 1;
        }
    }

    if(which == 'contact') {
        if(connav == 1) {
            document.getElementById('contact').style.backgroundPosition = "0px 50px";
            connav = 0;
        } else {
            document.getElementById('contact').style.backgroundPosition = "0px 100px";
            connav = 1;
        }
    }
}
}


// introduction

var preload = new Array();
var secs;
var timerID = null;
var timerRunning = false;
var delay = 250;
var intro = 0;
var rel_img = document.getElementById('header_image');

function introreset() {
    if(!footed) {
        togglefoot('open');
    }
intro_delay();
}

function init_timer() {
    // Set the length of the timer, in seconds
    secs = 40;
    stop_timer();
    start_timer();
    document.getElementById('rel_h1').style.background = 'none';
    document.getElementById('skip').innerHTML = 'skip intro';
}

function intro_delay() {
    // Set the length of the timer, in seconds
    secs = 2;
    stop_timer();
    start_delay();
}

function start_delay() {
    if (secs==0) {
    document.getElementById('a').style.width = 0;
    document.getElementById('ve').style.width = 0;
    document.getElementById('evant').style.display = 'none';
    document.getElementById('atory').style.display = 'none';
    document.getElementById('igion').style.display = 'none';
    rel_religion_img.toggle(); rel_real_img.hide(); rel_revelatory_img.hide(); rel_relevant_img.hide(); rel_evant_opacity.hide(); rel_a_opacity.hide(); rel_ve_opacity.hide(); rel_atory_opacity.hide(); rel_igion_opacity.hide(); rel_school.hide();
 
if(intro==0) {
    stop_timer();
    dg.scroll(50); fac.scroll(50); aff.scroll(50); con.scroll(50);
    document.getElementById('rel_h1').style.background = 'url("private/dev/image/school_of_religion.gif") top left no-repeat';
    intro = 1;
    document.getElementById('skip').innerHTML = 'show intro';
} else {
    dg.scroll(-50); fac.scroll(-50); aff.scroll(-50); con.scroll(-50);
    init_timer();
    intro = 0;
}
   } else {
        secs = secs - 1
        timerRunning = true
        timerID = self.setTimeout("start_delay()", delay)
    }
}

function stop_timer() {   
    if(timerRunning)
    clearTimeout(timerID)
    timerRunning = false;
}

function start_timer() {
    if (secs==0) {
        stop_timer();
        if(!footed) {
            togglefoot('open');
        }
    } else {
        if (secs==40) {
//            rel_txt.toggle();
        }

        if (secs==36) {
            rel_real_img.toggle();
        }

	if (secs==35) {
            rel_a_width.toggle();
	}

	if (secs==34) {
	    rel_a_opacity.toggle();
	}

        if (secs==29) {
            rel_relevant_img.toggle();
        }

        if (secs==28) {
            rel_a_opacity.toggle();
        }

        if (secs==27) {
	    rel_a_width.toggle();
            document.getElementById('evant').style.display = "block";
        }

	if (secs==25) {
            rel_evant_opacity.toggle();
	}

        if (secs==20) {
            rel_revelatory_img.toggle();
        }

        if (secs==19) {
            rel_evant_opacity.toggle();                         
        }

        if (secs==18) {
            rel_ve_width.toggle();
            document.getElementById('evant').style.display = "none"; 
	    document.getElementById('atory').style.display = "block";
        }

	if (secs==16) {
	    rel_ve_opacity.toggle();
	    rel_atory_opacity.toggle();
	}

        if (secs==9) {
            rel_religion_img.toggle();
        }

        if (secs==8) {
            rel_ve_opacity.toggle();
            rel_atory_opacity.toggle();
        }

	if (secs==7) {
            rel_ve_width.toggle();
	}

        if (secs==6) {
            document.getElementById('atory').style.display = 'none'; 
            document.getElementById('igion').style.display = 'block';
            rel_school.toggle();
        }

	if (secs==5) {
            rel_igion_opacity.toggle();
	}

        if (secs==3) {
            dg.scroll(50);
            fac.scroll(50);
            aff.scroll(50);
            con.scroll(50);
        }

        if (secs==1) {
            intro = 1;
            document.getElementById('skip').innerHTML = 'show intro';
        }

        secs = secs - 1
        timerRunning = true
        timerID = self.setTimeout("start_timer()", delay)
    }
}

fx.Background = Class.create();
fx.Background.prototype = Object.extend(new fx.Base(), {
    initialize: function(el, options) {
        this.el = $(el);
        this.setOptions(options);
        this.now = 0;
    },
    increase: function() {
        this.el.style.backgroundPosition = "0px " + this.now + "px";
    },
    toggle: function() {
        this.clearTimer();
        if (this.el.style.backgroundPosition != "0px -20px") { 
        this.custom(this.now, this.now - 20) } else {
            this.custom(this.now, this.now + 20)
        }
    },
    scroll: function(howMuch){
        this.clearTimer();
        this.custom(this.now, this.now + howMuch)
    }
});


fx.Top = Class.create();
fx.Top.prototype = Object.extend(new fx.Base(), {
    initialize: function(el, options) {
        this.el = $(el);
        this.setOptions(options);
        this.now = 49;
    },
    increase: function() {
        this.el.style.top = this.now + "px";
    },
    toggle: function() {
        this.clearTimer();
        if (this.el.style.top != "0px") { 
        this.custom(this.now, this.now - 49) } else {
            this.custom(this.now, this.now + 49)
        }
    },
    scroll: function(howMuch){
        this.clearTimer();
        this.custom(this.now, this.now + howMuch)
    }
});

window.onload = function() {

define_effects();

// display effects
init_timer();

// shift footer to center
footshift();

// display header and footer
document.getElementById('header_parent').style.top = "40px";
document.getElementById('footer_parent').style.bottom = 0;

}

function footshift() {
        shift = Math.ceil(document.body.clientWidth/2 - 335);
        if(document.getElementById('footer')) {
            document.getElementById('footer').style.left = shift + "px";
        }
        if(document.getElementById('pullquote_parent')) {
            document.getElementById('pullquote_parent').style.margin = "0 0 0 " + shift + "px";
        }
    }

window.onresize = function() {
    footshift();

}

