//
// Startup scripts for Sprockets NZ.
//
// @author Tom Ryder <tom@prodev.co.nz>
// @copyright 2010 Professional Development
//
"use strict";
$(window).addEvent("domready", function () {

    // Hover class setup.
    $$(".menu li").each(function (item) {
        item.onmouseover = function () {
            this.addClass("hover");
        };
        item.onmouseout = function () {
            this.removeClass("hover");
        };
    });

	// Focus class setup.
    $$("input,select").addEvent("focus", function () {
        this.addClass("focus");
    }).addEvent("blur", function () {
        this.removeClass("focus");
    });

    // Keep faded grey text in the search box when empty.
    (function () {
        var message = "Enter keywords here",
            active = {"color": "#000000"},
            inactive = {"color": "#959595"},
            empty = "",
            text = $$("#search .keywords"),
            form = $$("#search form");
        if (text && form) {
            text.addEvents({
                "focus": function () {
                    this.setStyles(active);
                    if (this.get("value") === message) {
                        this.set("value", empty);
                    }
                },
                "blur": function () {
                    if (this.get("value") === empty || this.get("value") === message) {
                        this.setStyles(inactive);
                        this.set("value", message);
                    }
                }
            });
            text.fireEvent("blur");
            form.addEvent("submit", function () {
                if (text.get("value") === message) {
                    text.set("value", empty);
                }
            });
        }
    }());

    // Set up left/right image tickers for homepage.
    (function () {
        $$("#homepage div.slide").each(function (slide) {
            var left, right, pictures, current, redraw;
            left = slide.getElement("div.left");
            right = slide.getElement("div.right");
            pictures = slide.getElements("img");
            if (pictures.length > 0) {
                current = 0;
                redraw = function () {
                    pictures.each(function (picture) {
                        picture.setStyle("display", "none");
                    });
                    pictures[current].setStyle("display", "block");
                };
                left.addEvent("click", function () {
                    if (current > 0) {
                        current -= 1;
                    }
                    redraw();
                });
                right.addEvent("click", function () {
                    if (current < (pictures.length-1)) {
                        current += 1;
                    }
                    redraw();
                });
                redraw();
            }
        });
    }());
});

