// For more information and instructions see the "Double Click Trapper"
// at http://willmaster.com/possibilities/archives

TrapClicksForHowManySeconds = 10;
AlertBoxMessage = "Un solo click es suficiente. El servidor responderá en unos momentos.\n\n\nPresione el botón \"OK\".";

PopUpBoxURL = "";
PopUpBoxHeight = 300;
PopUpBoxWidth  = 500;

NameOfForm = "procesarForm";
NameOfSubmitButton = "submitter";
NewTextForSubmitButton = "Enviando su aporte ...";

// ////////////////////////////////////////// //
// NO CUSTOMIZATION REQUIRED BELOW THIS POINT //
// ////////////////////////////////////////// //

TrapTime = 0;
DoubleClickTrapperCounter = 0;

function DoubleClickTrapperAction() {
    // ¿Está seguro?
    var valueToReturn = confirmar();
    if (valueToReturn) {
      // 2. Haga la "magia"
      DoubleClickTrapperCounter++;
      DoubleClickTrapperButton();
      var trapTheClick = false;
      if (DoubleClickTrapperCounter > 1 ) { trapTheClick = true; }
      if (trapTheClick == true) {
          var tDate = new Date;
          if (TrapTime == 0) {
              TrapTime = tDate.valueOf();
            }
          else {
              var localTrapTime = tDate.valueOf();
              if ((localTrapTime - TrapTime) > (TrapClicksForHowManySeconds * 1000)) {
                  TrapTime = 0;
                  trapTheClick = false;
                  DoubleClickTrapperCounter = 0;
              }
          }
      }
      valueToReturn = true;
      if (trapTheClick == true) {
          valueToReturn = false;
          DoubleClickTrapperPopUp();
          DoubleClickTrapperAlert();
      }
    }
    return valueToReturn;
} // end of function DoubleClickTrapperAction()


function DoubleClickTrapperButton() {
    var formname   = StripSpaces(NameOfForm);
    var submitname = StripSpaces(NameOfSubmitButton);
    var newtext    = StripSpaces(NewTextForSubmitButton);
    if (formname.length > 0 && submitname.length > 0 && newtext.length > 0) {
    var s = 'document.' + NameOfForm + '.' + NameOfSubmitButton + ".value = '" + NewTextForSubmitButton + "'";
    eval(s);
    }
} // end of function DoubleClickTrapperButton()

function DoubleClickTrapperPopUp() {
    var url = StripSpaces(PopUpBoxURL);
    if (url.length > 0) {
        if (PopUpBoxHeight < 1) { PopUpBoxHeight = 200; }
        if (PopUpBoxWidth < 1) { PopUpBoxWidth = 300; }
        window.open(url,'',('height=' + PopUpBoxHeight + ',width=' + PopUpBoxWidth + ',resizable=yes,scrollbars=yes'));
    }
} // end of function DoubleClickTrapperPopUp()

function DoubleClickTrapperAlert() {
    var message = StripSpaces(AlertBoxMessage);
    if (message.length > 0) { alert(AlertBoxMessage); }
} // end of function DoubleClickTrapperAlert()

function StripSpaces(s) {
    while(s.indexOf(' ') == 0) { s = s.substr(1); }
    return s;
} // end of function StripSpaces()

function limite(limitField, limitCount, limitNum) {
    if (limitField.value.length > limitNum)
        limitField.value = limitField.value.substring(0, limitNum);
    else
        limitCount.value = limitNum - limitField.value.length;
}

function confirmar() {
    var texto  = "Confirmación: \n\n"+
                 "Presione OK para enviar el aporte, ó,\n"+
                 "Presione Cancelar para devolverse al formulario.";
    return confirm(texto);
}

