addEvent(window, "load", common_init);

function addEvent(obj, evType, fn, useCapture){
// By Scott Andrew
  if (obj.addEventListener){
    obj.addEventListener(evType, fn, useCapture);
    return true;
  } else if (obj.attachEvent){
    var r = obj.attachEvent("on"+evType, fn);
    return r;
  } else {
    alert("Handler could not be attached");
  }
}

function removeEvent(obj, evType, fn, useCapture){
// By Scott Andrew

  if (obj.removeEventListener){
    obj.removeEventListener(evType, fn, useCapture);
    return true;
  } else if (obj.detachEvent){
    var r = obj.detachEvent("on"+evType, fn);
    return r;
  } else {
    alert("Handler could not be removed");
  }
}

function getEventSrc(e) {
 // get a reference to the IE/windows event object
 if (!e) e = window.event;

 // DOM-compliant name of event source property
 if (e.target)
   return e. target;
 // IE/windows name of event source property
 else if (e.srcElement)
   return e.srcElement;
}

function common_init() {
    if (!document.getElementsByTagName) return;
	
    var forms = document.getElementsByTagName("form");
	
    for (i=0; i<forms.length; i++) {
		addEvent(forms[i], "submit", common_submitOnce);
    }
}

function common_submitOnce(event) {
	var obj = getEventSrc(event);
	if (obj.elements) {
		var elements = obj.elements;
		
		for (i=0; i<elements.length; i++) {
			if (elements[i].type)
				if ((elements[i].type.toLowerCase() == "submit") || (elements[i].type.toLowerCase() == "reset")) {
					elements[i].disabled = true;
					elements[i].value = elements[i].value.replace(/./g, "--");
				}
		}
	}
	window.status = "Form submitted. Please wait...";
}
