$.namespace("ui.rollover");

ui.rollover = function(config) {
    // validate config
    if (!config || !config.classRef) return;
    $(config.classRef).each(function(i) {
        $(this).bind("mouseenter", function() {

            // assumes no multiple "." in filename
            var fileExt = $(this).attr("src").split(".")[1];

            // e.g. splits out "filename".gif
            var newSrc = $(this).attr("src").split("." + fileExt)[0];

            // concatenate new src e.g. <filename> + "_on" + "." + ".gif"
            $(this).attr("src", newSrc + config.onState + "." + fileExt);
        }); // end bind

        $(this).bind("mouseleave", function() {

            // assumes no multiple "." in filename
            var fileExt = $(this).attr("src").split(".")[1];
            var newSrc = $(this).attr("src");
            var srcIndex = newSrc.indexOf(config.onState);
            var imgSrc = "";
            if (srcIndex != -1) {
                imgSrc = newSrc.substring(0, srcIndex) + config.offState + "." + fileExt;
            }
            $(this).attr("src", imgSrc);
        }); // end bind
    }); // end $.each
};

$(document).ready(
      function() {
          var buttonRollover = new ui.rollover(
                  {
                      classRef: ".rollover",
                      onState: "_on",
                      offState: ""
                  }
            );
      }
);


