/* 
 * Simple Rollover script 
 * 
 * Relies on a simple naming convention and a css class. Just specify rollover
 * as (one of) your css class name(s) and name your image [anything]_up.[ext] for
 * the up state and [anything]_ov.[ext] for the over state.
 *
 * Also handles submit buttons that have a css class of button-rollover and switches
 * their class on rollover
 */
var RolloverRules = {
	"img.rollover" : function(element) {
		PythonRollover.initRollover(element);
		PythonEvent.observe(element, "mouseover", PythonRollover.mouseOver);
		PythonEvent.observe(element, "mouseout", PythonRollover.mouseOut);
		
		element = null;
	},
	"input.rollover" : function(element) {
		PythonRollover.initRollover(element);
		PythonEvent.observe(element, "mouseover", PythonRollover.mouseOver);
		PythonEvent.observe(element, "mouseout", PythonRollover.mouseOut);
		
		element = null;
	},
	"input.submit-button" : function(element) {
		PythonEvent.observe(element, "mouseover", PythonRollover.mouseOverButton);
		PythonEvent.observe(element, "mouseout", PythonRollover.mouseOutButton);
	}
};

var PythonRollover = {
  "initRollover" : function(image) {
  	var src = image.getAttribute("src");
  	var rolloverSrc = src.replace("_up.", "_ov.");
  	
  	// preload image
  	var preload = new Image();
  	preload.src = rolloverSrc;
  },

	"mouseOver" : function(event) {
	  var image = PythonEvent.element(event);
		image.setAttribute("src", image.getAttribute("src").replace("_up.", "_ov."));
  },

  "mouseOut" : function(event) {
	  var image = PythonEvent.element(event);
		image.setAttribute("src", image.getAttribute("src").replace("_ov.", "_up."));
  },

	"mouseOverButton" : function(event) {
	  var button = PythonEvent.element(event);
		button.setAttribute("class", "submit-button submit-button-over");
  },

  "mouseOutButton" : function(event) {
	  var button = PythonEvent.element(event);
		button.setAttribute("class", "submit-button");
  }
};

Behaviour.register(RolloverRules);

var FormRules = {
	"form.auto-submit" : function(element) {
		element.submit();	
	}
};
	
Behaviour.register(FormRules);
