/* Sets the max length of the textareas
   From: quirksmode.org */

function setMaxLength() {
	var x = document.getElementsByTagName('textarea');
	var counter = document.createElement('div');
	counter.className = 'counter file-upload';
	for (var i=0;i<x.length;i++) {
		if (x[i].getAttribute('maxlength')) {
			var counterClone = counter.cloneNode(true);
			counterClone.relatedElement = x[i];
			counterClone.innerHTML = '<small><i><span>0</span> of '+x[i].getAttribute('maxlength')+' characters used.</i></small>';
			x[i].parentNode.insertBefore(counterClone,x[i].nextSibling);
			x[i].relatedElement = counterClone.getElementsByTagName('span')[0];
			x[i].onkeyup = x[i].onchange = checkMaxLength;
			x[i].onkeyup();
		}
	}
}

function checkMaxLength() {
	var maxLength = this.getAttribute('maxlength');
	var currentLength = this.value.length;
	if (currentLength > maxLength) {
		this.relatedElement.className = 'toomuch';
		this.value = this.value.substr(0,maxLength);
	}
	else
		this.relatedElement.className = '';
	this.relatedElement.firstChild.nodeValue = currentLength;
}
AppInit.addEvent(setMaxLength);


/* Makes the filler text in form elements disappear when you click on them */
AppInit.addEvent(function () {
  $$('input.text, textarea').each(function (el) {
    if (el.hasAttribute('default')) {
      el.observe('blur', function(ev) {
          var el = ev.element();
          if (el.value == '') {
            el.addClassName('inactive');
            el.value = el.getAttribute('default');
          }
      });
    
      el.observe('focus', function(ev) {
          var el = ev.element();
          if (!el.hasAttribute('default') || el.value == el.getAttribute('default')) {
             el.value = '';
             el.removeClassName('inactive');
          }
      });
    
      el.simulate('blur');
    }
  });
});