window.addEvent("domready", function() {

    new Lightbox();

    // Tween scrolling to internal links

    new SmoothScroll({ "links": $$(".scroll") });

    // If Title and Value are equal on text inputs clears the text when field is active

    $$(".volatile").each(function(el) {
        $(el).addEvent("focus", function() {
            if (this.getValue() == this.getProperty("title")) {
                this.value = "";
            }
        });
    });

    // Change styles on focus, blur on form elements

    $$("#header .textfield, .pagecontent .textfield, .pagecontent select, .pagecontent textarea").addEvents({
        "focus": function() { this.setStyles({ 'border-color': '#806ba6' }); },
        "blur": function() { this.setStyles({ 'border-color': '#BBB7B7' }); }
    });

    // Video Player

    /*
    if ($("player")) {
    var so = new FlashObject("/_flash/videoplayer.swf", "videoplayer", "425", "344", "9", "#000000");
    so.addVariable("url", "/_flash/nescotclip.flv");
    so.addVariable("skin", "/_flash/nescot.swf");
    so.addParam("wmode","transparent");
    so.write("player");
    }
    */



    // Opens links into a new window

    $$("a[rel*='external']").each(function(a) {
        $(a).setProperty("target", "_blank");
    });

    // Without JS Nav degrades to be useable.

    $$('#navContainer').each(function(el) {
        el.setStyles({
            'height': '228px'
        });
    });

    $$('#navContainer #navContentContainer').each(function(el) {
        el.setStyles({
            'height': '192px'
        });
    });

    $$('#navContainer #navContentContainer .navContent').each(function(el) {
        el.setStyles({
            'height': '192px'
        });
    });

    $$('#navContainer #navContentContainer h2').each(function(el) {
        el.setStyles({
            'position': 'absolute',
            'left': '-9999px'
        });
    });

    // Navigation

    if ($("navContainer")) {

        var togglers = $$("#nav li a");
        var elements = $$("div.navContenttabarea");

        togglers.addEvent("click", function(e) {
            new Event(e).stop();
        });

        var productTabs = new Accordion(togglers, elements, {
            "onActive": function(tab) {
                tab.getParent().addClass("selected");
            },
            "onBackground": function(tab) {
                tab.getParent().removeClass("selected");
            },
            "alwaysHide": false,
            "transition": null,
            "duration": 0,
            "display": 4
        });

        productTabs.display(2);

    }

    $$(".departmentList").each(function(el) {
        var toggler = el.getElement(".expand");
        if (toggler) {
            var slide = new Fx.Slide(el.getElement("div"), { "duration": 350, "wait": false }).hide();
            toggler.addEvent("click", function(e) {
                new Event(e).stop();
                if (this.hasClass("expand")) {
                    this.removeClass("expand").addClass("collapse");
                    slide.slideIn();
                } else {
                    this.removeClass("collapse").addClass("expand");
                    slide.slideOut();
                }
            });

        }
    });

    $$(".studentProfile").each(function(el) {
        var toggler = el.getElement(".expand");
        if (toggler) {
            var slide = new Fx.Slide(el.getElement("div.studentProfileFull"), { "duration": 350, "wait": false }).hide();
            toggler.addEvent("click", function(e) {
                new Event(e).stop();
                if (this.hasClass("expand")) {
                    this.removeClass("expand").addClass("collapse");
                    slide.slideIn();
                } else {
                    this.removeClass("collapse").addClass("expand");
                    slide.slideOut();
                }
            });

        }
    });

    $$(".summarylist li").each(function(el) {
        var toggler = el.getElement(".expand");
        if (toggler) {
            var slide = new Fx.Slide(el.getElement("div"), { "duration": 350, "wait": false }).hide();
            toggler.addEvent("click", function(e) {
                new Event(e).stop();
                if (this.hasClass("expand")) {
                    this.removeClass("expand").addClass("collapse");
                    slide.slideIn();
                } else {
                    this.removeClass("collapse").addClass("expand");
                    slide.slideOut();
                }
            });

        }
    });


    var position = 0;
    var topnavelements = $$('#nav li');
    topnavelements.each(function(item, index) {
        if (item.hasClass('open') == true) {
            position = index;
        };
    });

    var accordion = new Accordion($$('#nav li'), $$('#banner li'), {
        opacity: 0,
        "transition": null,
        "duration": 0,
        "fixedHeight": 284,
        onActive: function(toggler) { toggler.addClass("selected"); },
        onBackground: function(toggler) { toggler.removeClass("selected"); }
    });

    accordion.display(position);

    $$('.nav li').addEvent('mouseenter', function() { this.fireEvent('click'); });
    $$('.nav li').addEvent('mouseout', function() {
        this.removeClass("selected");
        topnavelements[position].fireEvent('click');
    });


    if ($("searchkeywords") && $("searchcourses") && $("searchnescot")) {
        var mm = new MysticMeg($("searchkeywords"), {
            "ajaxUrl": "/courses/predictive-search/",
            "listClass": "predictive",
            "leftOffset": 0,
            "topOffset": 18,
            "highlight": false,
            "multipleSelect": false,
            "onSelect": function(v, f, o) {
                o.flush();
                o.hideResults();
                if (v.url != "") {
                    window.location.href = v.url;
                }
            },
            "onSuccess": function(r, e) { if ($("searchnescot").checked) { mm.hideResults(); } }
        });
        $("searchcourses").addEvent("change", function(e) {
            mm.getResults();
        });

        $("searchnescot").addEvent("change", function(e) {
            mm.hideResults();
        });
    }

});

