$(document).ready(function(){

    Cufon.replace('#header .fright ul li', { fontFamily: 'Myriad Pro Italic' });
    Cufon.replace('.styleH2', { fontFamily: 'Myriad Pro Italic' });
    Cufon.replace('.styleH4', { fontFamily: 'Myriad Pro Italic' });
    Cufon.replace('.phone', { fontFamily: 'Myriad Pro Regular' });
    Cufon.replace('.styleH3', { fontFamily: 'Myriad Pro Semibold Italic' });

    Cufon.now();

    $(".carousel").jCarouselLite({
          btnNext: ".next",
          btnPrev: ".prev"
    });

    $(".carousel ul li img").css("opacity", "0.4");

    $(".carousel ul li img").hover(
        function(){$(this).animate({opacity:"1"}, "fast");},
        function(){$(this).animate({opacity:".5"}, "fast");}
    );

    (function(){
        var score = [];
        var lastHit = false;
        var inputSelector = '#reservation-form input, #reservation-form textarea';
        var valueNames = ['name', 'telephone', 'email', 'note'];

        score.average = function() {
            var sum = 0;
            var i;

            for (i = 0; i < score.length; i++) {
                sum += score[i];
            }
            return sum / score.length;
        };

        function collectFormValues()
        {
            var values = {};

            $(inputSelector).each(function(i){
                if (i < valueNames.length) {
                    values[valueNames[i]] = $.trim($(this).val());
                }
            });

            return values;
        }

        function validateForm()
        {
            var values = collectFormValues();

            if (!values.name
             || !values.telephone
             || !values.email
             || !values.note
             || (values.name.length < 5)
             || (values.telephone.length < 9)
             || (values.email.length < 6)
             
            ) {
                alert('Prosím, vyplňte správně všechna pole, abychom Vás mohli kontaktovat.');
                return false;
            }

            if (! values.email.match(/^[A-Z0-9._%+\-]+@[A-Z0-9.\-]+\.(?:[A-Z]{2}|com|org|net|edu|gov|mil|biz|info|mobi|name|aero|asia|jobs|museum)$/i)) {
                alert('Prosím, uveďte svůj email.');
                return false;
            }

            if (score.average() < 50) {
                if (prompt('Ochrana proti spamům. Napište číslicí součet čísel třináct a tři:') != 16) {
                    return false;
                }
            }

            return values;
        }

        function submitForm()
        {
            $(inputSelector).each(function(i){
                if (i < valueNames.length) {
                    $(this).attr('name', valueNames[i]);
                }
            });

            $('#reservation-form a').after('<input type="hidden" name="bigsecret" value="yeah!" />');

            $('#reservation-form').submit();
        }

        $(inputSelector).keydown(function(){
            if (lastHit === false) {
                lastHit = (new Date()).getTime();
                return;
            } else {
                var currentHit = (new Date()).getTime();
                score.push(currentHit - lastHit);
                lastHit = currentHit;
            }
        });

        $('#reservation-form a').click(function(){
            var values = validateForm();

            if (values !== false) {
                submitForm();
            }

            return false;
        });
        

    }());
});

