/**
 * Incluyendo este javascript en una página web se evita
 * que los formularios con método POST sean enviados mas de una vez.
 * La segunda vez que se use un mismo botón de submit se ejecutará
 * la función "secondClick()". Esta función puede ser modificada para
 * mostrar otro mensaje o realizar otra acción; es importante que esta
 * función devuelva "false" para que el formulario no sea enviado por segunda vez.
 */
function secondClick(){
	return false;
}

function preventDoubleSubmit(){
	var aoForms = document.forms;
	if (aoForms && aoForms.length > 0) {
		for (var i = 0; i < aoForms.length; i++) {
			if (aoForms[i].method && aoForms[i].method.toLowerCase() == "post") {
				preventDoubleSubmitForm(aoForms[i]);
			}
		}
	}
}

function preventDoubleSubmitForm(oForm){
	var fSubmit = oForm.onsubmit;
	oForm.onsubmit = function() {
		var bRet = true;
		if (fSubmit) {
			bRet = fSubmit();
		}
		if (bRet) { // onsubmit original devuelve true
			oForm.onsubmit = secondClick;
		}
		return bRet;
	}
}

/**
 * funcion addLoadEvent de Simon Willison: http://simonwillison.net/2004/May/26/addLoadEvent/
 **/
function addLoadEvent(func) {
	var oldonload = window.onload;
	if (typeof window.onload != 'function') {
		window.onload = func;
	} else {
		window.onload = function() {
			oldonload();
			func();
		}
	}
}

// Añade la llamada a "preventDoubleSubmit" en el onload de la p?gina
addLoadEvent( preventDoubleSubmit );

