$(document).ready(function() { 
    var options = { 
        target:        '#kalk-wynik',   // target element(s) to be updated with server response 
        beforeSubmit:  validate,  // pre-submit callback 
        success:       onSubmit,  // post-submit callback 
        
        // other available options: 
        url:       'kalkulator/kalkulator.php',         // override for form's 'action' attribute 
        type:      'post'        // 'get' or 'post', override for form's 'method' attribute 
        //dataType:  null        // 'xml', 'script', or 'json' (expected server response type) 
        //clearForm: true        // clear all form fields after successful submit 
        //resetForm: true        // reset the form after successful submit 
 
        // $.ajax options can be used here too, for example: 
        //timeout:   3000 
    }; 
 
    // bind to the form's submit event 
    $('#kalk-submit').click(function() { 
        // inside event callbacks 'this' is the DOM element so we first 
        // wrap it in a jQuery object and then invoke ajaxSubmit 
        $('#kalkulator').ajaxSubmit(options); 
 
        // !!! Important !!! 
        // always return false to prevent standard browser submit and page navigation 
        return false; 
    }); 
    
    $('#kalkulator').submit(function() { 
        $('#kalkulator').ajaxSubmit(options); 
        return false; 
    }); 
}); 
 
// pre-submit callback 
function validate(formData, jqForm, options) { 
    // formData is an array; here we use $.param to convert it to a string to display it 
    // but the form plugin does this for you automatically when it submits the data 
    // var queryString = $.param(formData);
    
    var notvalid = false;
    $('#kalkulator').find('input:text').each(function() {    
      if($(this).attr("value") == '' || !IsNumeric($(this).attr("value"))) {
         $(this).css('border', '1px solid red');
         notvalid = true;
         $('#kalk-wynik').html('');
      }
      else
         $(this).css('border', '1px solid #B9B9B9');     
    });
    

 
    // jqForm is a jQuery object encapsulating the form element.  To access the 
    // DOM element for the form do this: 
    // var formElement = jqForm[0]; 
 
    //alert('About to submit: \n\n' + queryString); 
 
    // here we could return false to prevent the form from being submitted; 
    // returning anything other than false will allow the form submit to continue 
    return !notvalid;
} 


// post-submit callback 
function onSubmit(responseText, statusText)  {     

    //alert(statusText);
    //document.getElementById('kalk-wynik').innerHTML = responseText;  
    //<link rel="stylesheet" type="text/css" href="css/style_ie6.css" />
    //<script src="js/DD_belatedPNG_0.0.8a-min.js" type="text/javascript"></script>
    //<script src="js/DD_belatedPNG_exec.js" type="text/javascript"></script>   
    

}


/********* przetwarzanie zamowienia *************/


function onSubmitZam(button_value, obj, values){
    if(button_value) {
      var notvalid = false;
      obj.find('input:text').each(function() {    
        if($(this).attr("value") == '') {
           $(this).css('border', '1px solid red');
           notvalid = true;
        }
        else
           $(this).css('border', '1px solid #B9B9B9');     
      });
      
      email = obj.find("input[name='mail']").attr('value');
      apos = email.indexOf("@");
      dotpos = email.lastIndexOf(".");
      if(apos < 1 || dotpos - apos < 2) {
        obj.find("input[name='mail']").css('border', '1px solid red');
        notvalid = true;
      }
      else
        obj.find("input[name='mail']").css('border', '1px solid #B9B9B9');   
      
      if(notvalid) return false;
    
      var data = "";
      data += "wheretosend="+values.wheretosend;
      data += "&kalktyp="+values.kalktyp;
      data += "&name="+values.name;
      data += "&phone="+values.phone;
      data += "&mail="+values.mail;
      data += "&orderinfo_2="+values.orderinfo_2;
      data += "&comments="+values.comments;

      $.ajax({
        type: "POST",
        url: "kalkulator/wyslij-zamowienie.php",
        data: data,
        complete: function(xml, status){
          if(xml.responseText == 1) {
            $.prompt('<h3 class="center">Zamówienie zostało wysłane</h3>',{ buttons: { OK: true }, prefix: 'kalksend'});
          }
          else {
            $.prompt('<h3 class="center">Wysłanie zamówienia nie powiodło się</h3><p class="center">Proszę spróbować ponownie</p>',{ buttons: { OK: true }, prefix: 'kalksend'});
          }
        }
      });
      
      return true;
    }
    else
      return true;
}


/********* funkcje pomocnicze *************/

function IsNumeric(sText) 
{
   var ValidChars = "0123456789.,";
   var IsNumber=true;
   var Char;

   for (i = 0; i < sText.length && IsNumber == true; i++) { 
      Char = sText.charAt(i);
      if (ValidChars.indexOf(Char) == -1) {
         IsNumber = false;
      }
    }
   return IsNumber;
}

