/*
 *  mail.js
 *  @date 25. pazdziernika 2007, 20:57:01
 */

mail = (function() {
  
  var oPreloader;
  
  var response = function(sResponse) {
    if (typeof oPreloader == 'object') {
        var oParent = oPreloader.parentNode;
        oParent.removeChild(oPreloader);
        var oText = document.createElement('div');
        if (oText) {
            oText.id = 'mail-message';
            oText.innerHTML = sResponse;
            oParent.appendChild(oText);
        }
    }
  };
  
  var showPreloader = function(oForm) {
    if (typeof oForm == 'object') {
        oPreloader = document.createElement('div');
        if (oPreloader) {
            oPreloader.id = 'mail-preloader';
            oPreloader.innerHTML = '<p>Sending...<br  /><img src="gfx/preloader.gif" alt="" /></p>';
            
            /* kontener w którym znajduje sie formularz */
            var oParent = oForm.parentNode;
            
            oParent.removeChild(oForm);
            oParent.appendChild(oPreloader);
        }
    }
  };
  
  return (function(oForm) {
    if (typeof oForm == 'object') {
         if (oForm.elements.length) { // poczatek walidacji
             for (var i = 0; i < oForm.elements.length; i++) {
                  if (oForm.elements[i].type != 'hidden') {
                      if (oForm.elements[i].name == 'name') {
                          /* imie i nazwisko */
                          if (oForm.elements[i].value == '') {
                              alert('Please set your name');
                              oForm.elements[i].focus();
                              return false;
                          }
                      }
                         
                      /* email */
                      if (oForm.elements[i].name == 'email') {
                          if (oForm.elements[i].value == '') {
                              alert('Please set your e-mail address.');
                              oForm.elements[i].focus();
                              return false;
                          }
                      }
                         
                      /* prawidłowy zapis e-mail */
                      if (oForm.elements[i].name == 'email') {
                          if (!(/^(?:\w+\.?)*\w+@(?:\w+\.)+\w+$/.test(oForm.elements[i].value))) {
                              alert('Please set a valid e-mail address.');
                              oForm.elements[i].focus();
                              return false;
                          }
                      }
                         
                      /* tresc wiadomosci */
                      if (oForm.elements[i].name == 'msg') {
                          if (oForm.elements[i].value == '') {
                              alert('Please set content of your message.');
                              oForm.elements[i].focus();
                              return false;
                          }
                      }
                  }
            } 
        }// koniec walidacji
        
        if (typeof Ajax == 'object') {
            var sParams = Ajax.addParam(sParams, 'name', oForm.elements['name'].value);
            var sParams = Ajax.addParam(sParams, 'email', oForm.elements['email'].value);
            var sParams = Ajax.addParam(sParams, 'msg', oForm.elements['msg'].value);
            
            /* pokaz preloader */
            showPreloader(oForm);
            
            setTimeout(function(){
              /* wysyla zadanie */
              if (oForm.action != '') {
                  Ajax.post(oForm.action, sParams, response);
              }
            }, 2000);
            
            return false;
        }
    }
  });
})();