// Place your application-specific JavaScript functions and classes here
// This file is automatically included by javascript_include_tag :defaults

Event.observe(window,'load', function() {
	$$("input[@type=text],textarea").each(function(e) {
		Event.observe(e, 'focus', function() { $(this).toggleClassName("active") });
		Event.observe(e, 'blur', function() { $(this).toggleClassName("active") });
	});
	
	Event.addBehavior.reassignAfterAjax = true;
  Event.addBehavior({
    'div.ajax_pagination a' : Remote.Link
  })
  
  highlightTableRows();
  setupNumberFields();
});

function highlightTableRows() {
  $$('table tr').each(function(e) {
    $(e).onmouseover = function() { $(this).addClassName('highlight');}  
    $(e).onmouseout = function() { $(this).removeClassName('highlight');}
  });
}

function setupNumberFields() {
  $$(".number_field").each(function(f) {
    var field = f.down('input');
    var plus = f.down('.plus');
    var minus = f.down('.minus');
    var val = 0;
    var min = 0;
    var max = parseInt(field.getAttribute('max')) > 0 ? parseInt(field.getAttribute('max')) : 0;
    
    plus.onclick = function() {
      val = isNaN(parseInt(field.value)) ? 0 : parseInt(field.value);
      
      if (max > 0) {
        field.value = val + 1 > max ? max : val + 1;
      } 
      else {
        field.value = val + 1;
      }
      
      return false;
    }
    
    minus.onclick = function() {
      val = isNaN(parseInt(field.value)) ? 0 : parseInt(field.value);
      field.value = val - 1 < min ? min : val - 1;
      return false;
    }
    
    field.onkeyup = function() {
      field.value = isNaN(parseInt(field.value)) ? 0 : parseInt(field.value);
    }
  })
}
