$(function(){
        // Dialog

        function updateTips(tips, t) {
            tips
            .text(t)
            .addClass('ui-state-highlight');
            setTimeout(function() {
                tips.removeClass('ui-state-highlight', 1500);
            }, 500);
        }

        function checkLength(tips, o,n,min,max) {

            if ( o.val().length > max || o.val().length < min ) {
                o.addClass('ui-state-error');
                updateTips(tips, "Długość pola " + n + " musi składać się z "+min+" do "+max+" znaków.");
                return false;
            } else {
                return true;
            }

        }

        function checkRegexp(tips, o,regexp,n) {

            if ( !( regexp.test( o.val() ) ) ) {
                o.addClass('ui-state-error');
                updateTips(tips, n);
                return false;
            } else {
                return true;
            }

        }




        $("#dialog-form").dialog({
            autoOpen: false,
            height: 490,
            width: 400,
            modal: true,
            buttons: {

                'Anuluj': function() {
                    $(this).dialog('close');
                },
                'Wyślij zapytanie': function() {

                    var name = $("#pyt_name"),
                    lastname = $("#pyt_lastname"),
                    email = $("#pyt_email"),
                    content = $("#pyt_content"),
                    phone = $("#pyt_phone"),
                    allFields = $([]).add(name).add(email).add(lastname).add(content),
                    tips = $(".pyt_validateTips");

                    var bValid = true;
                    allFields.removeClass('ui-state-error');

                    bValid = bValid && checkLength(tips, name,"imię",3,16);
                    bValid = bValid && checkLength(tips, lastname,"nazwisko",5,16);
                    bValid = bValid && checkLength(tips, email,"email",6,80);

                    bValid = bValid && checkRegexp(tips, name,/^[a-z]([0-9a-z_])+$/i,"Imię musi składać się ze znaków a-z, zacznij od litery.");
                    // From jquery.validate.js (by joern), contributed by Scott Gonzalez: http://projects.scottsplayground.com/email_address_validation/
                    bValid = bValid && checkRegexp(tips, email,/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i,"Na przykład: adamkowalski@wp.pl");
                    bValid = bValid && checkLength(tips, content,"zapytanie",5,600);

                    if (bValid) {
                        var dataString = 'question[name]='+name.val()+'&question[lastname]='+lastname.val()+'&question[email]='+email.val()+'&question[content]='+content.val()+'&question[phone]='+phone.val();

                        $.ajax({
                            type: "POST",
                            url: "main/question",
                            data: dataString,
                            success: function(data) {

                                var dial = $('<div style="display:hidden"></div>').appendTo('body');
                                // load remote content
                                $(dial).html(data);

                                dial.dialog({
                                    buttons: {

                                        'Ok': function() {
                                            $(this).dialog('close');
                                        }
                                    },
                                    modal: true
                                });
                                $('#dialog-form').dialog('close');


                            }
                        });

                    }


                    return false;


                }
            },
            close: function() {

            }
        });





        // Dialog Link 
        $('.dialog_link').click(function(){
            $('#dialog-form').dialog('open');
            return false;
        });

        $("#ui-datepicker-div").addClass("promoteZ");



        $('#pyt2_date').datepicker();

        //- polowanie na wakacje
        $("#dialog2-form").dialog({
            autoOpen: false,
            height: 510,
            width: 630,
            modal: true,
            buttons: {

                'Anuluj': function() {
                    $(this).dialog('close');
                },
                'Wyślij zapytanie': function() {

                    var name = $("#pyt2_name"),
                    lastname = $("#pyt2_lastname"),
                    email = $("#pyt2_email"),
                    content = $("#pyt2_content"),
                    phone = $("#pyt2_phone"),
                    regions = $("#pyt2_regions"),
                    date = $("#pyt2_date"),
                    nb_adults = $("#pyt2_nb_adults"),
                    standard = $("#pyt2_standard"),
                    trans_from = $("#pyt2_trans_from"),
                    nb_children = $("#pyt2_nb_children"),
                    days = $("#pyt2_days"),
                    allFields = $([]).add(name).add(email).add(lastname).add(content).add(regions).add(date).add(nb_adults).add(nb_children).add(days),
                    tips = $(".pyt2_validateTips");

                    var bValid = true;
                    allFields.removeClass('ui-state-error');

                    bValid = bValid && checkLength(tips, name,"imię",3,16);
                    bValid = bValid && checkLength(tips, lastname,"nazwisko",4,16);
                    bValid = bValid && checkRegexp(tips, name,/^[a-z]([0-9a-z_])+$/i,"Imię musi składać się ze znaków a-z, zacznij od litery.");
                   
                    bValid = bValid && checkLength(tips, email,"email",6,80);
                    bValid = bValid && checkRegexp(tips, email,/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i,"Na przykład: adamkowalski@wp.pl");
                    
                    bValid = bValid && checkRegexp(tips, date,/^([0-9\-]{10})+$/i,"Wprowadź planowaną datę wypoczynku");
                    
                    bValid = bValid && checkLength(tips, regions,"preferowane kierunki",4,46);
                    bValid = bValid && checkRegexp(tips, days,/^([0-9])+$/i,"Wprowadź długość wypoczynku");
                    bValid = bValid && checkRegexp(tips, nb_adults,/^([0-9])+$/i,"Wprowadź liczbę dorosłych uczestników wypoczynku");
                    bValid = bValid && checkRegexp(tips, nb_children,/^([0-9 ])+$/i,"Wprowadź liczbę dzieci uczestniczących w wypoczynku");
                    
                     
                     // From jquery.validate.js (by joern), contributed by Scott Gonzalez: http://projects.scottsplayground.com/email_address_validation/
                    

                    if (bValid) {
                        var dataString = 'hunt[name]='+name.val()+'&hunt[lastname]='+lastname.val()+'&hunt[email]='+email.val()+'&hunt[content]='+content.val()+'&hunt[phone]='+phone.val()+'&hunt[date]='+date.val()+'&hunt[regions]='+regions.val()+'&hunt[trans_from]='+trans_from.val()+'&hunt[trans_from]='+trans_from.val()+'&hunt[standard]='+standard.val()+'&hunt[nb_days]='+days.val()+'&hunt[nb_adults]='+nb_adults.val()+'&hunt[nb_children]='+nb_children.val()+'&hunt[content]='+content.val();

                        $.ajax({
                            type: "POST",
                            url: "main/hunt",
                            data: dataString,
                            success: function(data) {

                                var dial = $('<div style="display:hidden"></div>').appendTo('body');
                                // load remote content
                                $(dial).html(data);

                                dial.dialog({
                                    buttons: {

                                        'Ok': function() {
                                            $(this).dialog('close');
                                        }
                                    },
                                    modal: true
                                });
                                $('#dialog2-form').dialog('close');


                            }
                        });

                    }


                    return false;


                }
            },
            close: function() {

            }
        });


        $('#dialog2_link').click(function(){
            $('#dialog2-form').dialog('open');
            return false;
        });



    });