/*******************************************************************************
*                                  Author:                                     *
*               Benjamin Dobnikar (benjamin.dobnikar@gmail.com)                *
*                                                                              *
*                                  Desc:                                       *
*                   Submits a contact form via AJAX request                    *
*      Checks every field twice, first in JS than in the file action           *
*             is set too. Returns the error/sucess message                     *
*******************************************************************************/
//on page load
$(function() {
    
    //hide success/warning message
    $("#success").hide();
    $("#warning").hide();
    
    //form validation
    $('.error').removeClass();
    $("form#booking-form input[type=submit]").click(function() {
        $('.error').removeClass();
		
		//name
        var name = $("input#name").val();
        if (name == "") {
            $("input#name").addClass('error');
            $("input#name").focus();
            return false;
        }
		        
		//email
        var email = $("input#email").val();
        if (email == "") {
            $("input#email").addClass('error');
            $("input#email").focus();
            return false;
        }
        
        //is the email valid?
        var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
        if(reg.test(email) == false) {
            $("input#email").addClass('error');
            $("input#email").focus();
            return false;
        }
        
		//location
        var location = $("input#location").val();
        if (location == "") {
            $("input#location").addClass('error');
            $("input#location").focus();
            return false;
        }
		
		//description
        var text = $("textarea#description").val();
        if (text == "") {
            $("textarea#description").addClass('error');
            $("textarea#description").focus();
        return false;
        }

		//captcha
        var rewrite = $("input#rewrite").val();
        if (rewrite == "") {
            $("input#rewrite").addClass('error');
            $("input#rewrite").focus();
        return false;
        }
        
        //is the captcha valid?
        if(rewrite != "A3$b7Md7") {
            $("input#rewrite").addClass('error');
            $("input#rewrite").focus();
            return false;
        }
        
        //submit disable before the post is executed
        $("form#booking-form input[type=submit]").attr("disabled", "disabled")

        //apply ajax
        $.post("bin/form.php",{
            name: $("#name").val(),
            email: $("#email").val(),
            org: $("#org").val(),
            location: $("#location").val(),
       		day: $("#day").val(),
       		month: $("#month").val(),
       		year: $("#year").val(),
            description: $("#description").val()
        }, function(data) {
            var msg = data['msg'];
            if(data['status'] == "ok") {
                //display notification about successfull post
                //$(".statusOk").html(msg).show();
                $("#success").show();
                setTimeout('$("#success").fadeOut("slow")', 1500);
            } else {
                //display error
                $("#warning").show();
                setTimeout('$("#warning").fadeOut("slow")', 1500);
            }
            //clean the fields
            $('form#booking-form input[type=reset]').click();
            //submit enable
            setTimeout('$("form#booking-form input[type=submit]").attr("disabled", "")', 1500);
        }, "json"); //ajax close
        return false; //prevent default
    }); //submit click close
}); //on load close 
