/* первые 3 функции это для совместимости с IE */

//существует ли нужное API
function ensureAddEventListener(obj) {
 if(!obj.addEventListener) obj.addEventListener=myEventListener;
}

//наша имплементация addEventListener
function myEventListener(name, func, dummyDirection) {
  if(!this.elisteners) this.elisteners={}; //регистр событий
  if(!this.elisteners[name]) this.elisteners[name]=[];
  //стандартное поведение, если обработч. уже есть, то ничего не делаем
  for(var i=0; i<this.elisteners[name].length; i++) if(this.elisteners[name][i]==func) return;
  this.elisteners[name].push(func);
  this["on"+name]=myEventHandler;
}

//обработчик вызывающий последовательно все зарег. обарботчики.
function myEventHandler() {
  if(this.elisteners[window.event.type])
   for(var i=0; i<this.elisteners[window.event.type].length; i++) this.elisteners[window.event.type][i].call(this, window.event);
}

// очистка и восстановление полей (обновлено 20.05.2010)
function clearInputField(elementId, text) {
	if (elementId)
	{
		var elem = document.getElementById(elementId);
		ensureAddEventListener(elem);
		elem.addEventListener("click", function() { if (this.value == text) this.value=''; }, false);
		elem.addEventListener("blur", function() { if (this.value == '') this.value=text; }, false);
	}
}
