$(document).ready(function(){
    $('.vote-form, .mailbox-form').jqTransform();
//$('.q-other').hide()

    $('.form').find('.text, textarea').addClass('nottransform');
    $('.form').jqTransform();

    $('.register-company-data').hide();
    $('#registration-add-to-catalog').click(function() {
        $('.register-company-data').slideToggle();
        $('.register-person').slideToggle();
    });

    $('.add-field-link').click(function(){
        var f = $(this).siblings('input');
        var s = f.size();
        if (s < 3) f.last().after('<input type="text" class="text" name="'+f.first().attr('name')+s+'" />');
        if (s >= 2) $(this).hide();
        return false;
    });

    $(function(){
        $('.form input:file').customFileInput();
        $('.customfile').addClass('text');
    });

    $('select.#advanced-search-place').change(function(){
        var value = $('select#advanced-search-place option:selected').val();

        if (value == 'vacancies' || value == 'resume') {
            $('.q-vacancies').slideDown();
            $('.q-other').slideUp();

        } else {
            $('.q-vacancies').slideUp();
            $('.q-other').slideDown();
        }
    });


    $(function() {
        $(".period-slider").slider({
            range: "min",
            value:1,
            min: 0,
            max: 6,
            step: 1,
            slide: function( event, ui ) {
                $( "#amount" ).val( "$" + ui.value );
            }
        });
        $( ".period-slider" ).slider('value', $('#amount').val());
    });

    $('#add-answer-form').hide();
    $('.open-block-link').click(function(){
        $($(this).attr('href')).fadeToggle();
        return false;
    });

    $(function(){
        var lnk = $('.city-link');
        var list = $('#tsl');
        lnk.click(function(e){
            e.preventDefault();
            list.fadeToggle('fast')
        });

        list.find('a').click(function(e){
          e.preventDefault();
          lnk.text($(this).text());
          lnk.click();
          $.cookie('city', $(this).attr('href').match(/city=(\d+)/)[1]);
        });
    });

    $('.top-search-form .example a.functional').click(function(){
        var field = $('.top-search-form input:text');

        if (field.val() != '') {
            field.val(field.val() + ', ');
        }

        field.val(field.val() + $(this).text());
    });

    $('.tip a.functional').click(function(e){
        e.preventDefault();
        $(this).parents('li').find('input:text').val($(this).text());
    });

    $('.fancy, .oEditor_FancyPic').fancybox({
        'titlePosition': 'over'
    });

    $(window).keyup(function(e){
        var pager = $('.pagination');
        var link = '';

        if (pager.length == 0) {
            return;
        }

        //next page
        if (e.ctrlKey && e.keyCode == 39) {
            e.preventDefault();

            link = $('.to-page').eq(1);
            if (link.hasClass('disabled')) {
                return;
            }

            document.location = link.children('a').attr('href');
        }

        //previous page
        if (e.ctrlKey && e.keyCode == 37) {
            e.preventDefault();

            link = $('.to-page').eq(0);
            if (link.hasClass('disabled')) {
                return;
            }

            document.location = link.children('a').attr('href');
        }
    });

    $('.comments-option form input, .comments-option form textarea').keydown(function(e){
        if (e.ctrlKey && e.keyCode == 13) {
            e.preventDefault();

            $(this).parents('form').submit();
        }
    });

    $('input:radio[name="where"]').click(function() {
        $("#search_s").val($(this).attr('title'));
    });

    $('.deleteUserItem').click(function(){
        return confirm('Вы уверены?');
    });

    $('.deleteAccount').click(function(){
        return confirm('Вы действительно хотите удалить аккаунт?');
    });

    $('.contest-members .votes a').css('text-decoration', 'none').addClass('functional').click(function(e){
        e.preventDefault();
        var element = $(this);

        if (element.hasClass('voting')) {
            return false;
        }

        element.addClass('voting');
        element.parent().find('.report').remove();

        $.post(
        '/ajax.php',
        'cmd=contestVote&vote=' + element.attr('href').match(/vote=(\d+)/)[1],
        function(data){
            var element = $('.contest-members .votes a.voting').parent(),
            votes = parseInt(element.find('.number').text().match(/(\d+)$/)[1]),
            message;

            if (data == ':)') {
                message = 'Ваш голос учтен!';
                votes++;
                element.find('a').remove();
                element.html(message).append($('<span class="number c-orange" />').text(' +' + votes));

            } else {
                message = $('<span class="report c-red">Ваш голос не учтен!<br /></span>');
                element.prepend(message);
                element.find('a').removeClass('voting');
            }
        },
        'text');
    });

    $('#set-old-pswd').keyup(function(){
        var pswdFields = $('label[for=set-pswd], label[for=set-pswd2]');

        if ($(this).val() != '' && pswdFields.find('span.r').length == 0) {
            pswdFields.append($('<span class="r">*</span>'));

        } else if ($(this).val() == '') {
            pswdFields.find('span.r').remove();
        }
    });

    $('form').submit(function(){
        //проверка заполнения полей
        var fields = $(this).find('label span.r').parent().not().parent().find('input:visible, textarea'),
        submit = true;

        fields.each(function(){
            if ($(this).val() == '') {
                if (submit) {
                    $(this).focus();
                }

                $(this).css('border-color', '#f00');
                submit = false;

            } else {
                $(this).css('border-color', '#838383 #ababab #d7d7d7');
            }
        });

        if (!submit) {
            alert('Заполнены не все обязательные поля');
            return false;

        } else {
            //обработка поля "Отрасль" форм добавления/редактирования вакансии/резюме
            if ($(this).hasClass('profile-resume-form') || $(this).hasClass('profile-vacancy-form')) {
                var branchCounter = $(this).find('#vacancy-branch input:checked, #resume-branch input:checked').length;

                if (branchCounter == 0) {
                    alert('Выберите отрасль');
                    $(window).scrollTop($(this).offset().top - 10);
                    return false;
                }
            }

            fields.css('border-color', '#838383 #ababab #d7d7d7');
            return true;
        }
    });

    $('#vacancy-branch label .jqTransformCheckbox, #resume-branch label .jqTransformCheckbox').click(function(e){
        e.preventDefault();

        $(this).parent().click();
    });
    $('#vacancy-branch label, #resume-branch label').click(function(){
        if ($(this).find('input:checked').length == 1) {
            $(this).addClass('selected');

        } else {
            $(this).removeClass('selected');
        }
    });

    //обрабатываем плашку "Ищу работу"
    $('.startFindJob, .resetFindJob, .endFindJob').css({
        'text-decoration': 'none',
        'border-bottom': '1px dotted #408cd4'
    }).live('click', function(e){
        e.preventDefault();

        $('<div class="process r5" />').appendTo($(this).parents('.resume-archive-data'));

        if ($(this).hasClass('startFindJob') || $(this).hasClass('resetFindJob')) {
            $.post(
                '/ajax.php',
                {
                    cmd: 'findJob',
                    job: 'reset'
                },
                function(data){
                    if (data.status == 'success') {
                        $('.resume-archive-data .elapsed').text('Я ищу работу с сегодняшнего дня');
                        $('.resume-archive-data .options').html(data.html);

                    } else {
                        alert('Не удалось получить данные с сервера');
                    }
                        $('.resume-archive-data .process').remove();
                },
                'json'
            ).error(function(){
                alert('Не удалось получить данные');
                $('.resume-archive-data .process').remove();
            });

        } else {
            $.post(
                '/ajax.php',
                {
                    cmd: 'findJob',
                    job: 'end'
                },
                function(data){
                    if (data.status == 'success') {
                        $('.resume-archive-data .elapsed').text('Я не ищу работу');
                        $('.resume-archive-data .options').html(data.html);

                    } else {
                        alert('Не удалось получить данные с сервера');
                    }
                        $('.resume-archive-data .process').remove();
                },
                'json'
            ).error(function(){
                alert('Не удалось получить данные');
                $('.resume-archive-data .process').remove();
            });
        }
    });

    //обрабатываем формы из архивов резюме и вакансий (продление, отключение, удаление)
    $('.vacancies-archive-form, .resume-archive-form').live('submit', function(e){
        e.preventDefault();

        var extend = [],
        disable = [],
        del = [];

        $('<div class="process r5" />').appendTo($(this));

        $($(this).find('input[name="extend[]"]:checked')).each(function(){
            extend.push($(this).val());
        });
        $($(this).find('input[name="disable[]"]:checked')).each(function(){
            disable.push($(this).val());
        });
        $($(this).find('input[name="delete[]"]:checked')).each(function(){
            del.push($(this).val());
        });

        if (extend.length == 0 && disable.length == 0 && del.length == 0) {
            setTimeout('$(\'.resume-archive .process\').remove()', 700);

        } else {
            $.post(
                '/ajax.php',
                {
                    cmd: $(this).hasClass('vacancies-archive-form') ? 'processVacancies' : 'processResume',
                    extend: extend,
                    disable: disable,
                    'delete': del
                },
                function(data){
                    if (data.status == 'success') {
                        $('.resume-archive').html(data.html);
                        $('.resume-archive').jqTransform();

                    } else {
                        alert('Не удалось получить данные с сервера');
                    }
                    $('.resume-archive .process').remove();
                },
                'json'
            ).error(function(){
                alert('Не удалось получить данные');
                $('.resume-archive .process').remove();
            });
        }
    });

    // для визиивга
    $('a.audioplayer').each(function (i) {
        var audioPlayer = '<object type="application/x-shockwave-flash" data="/flash/audioplayer/player.swf" height="24" width="290">';
        audioPlayer += '<param name="movie" value="/flash/audioplayer/player.swf">';
        audioPlayer += '<param name="FlashVars" value="playerID=' + i + '&soundFile=' + $(this).attr('href') + '&titles=' + $(this).html() + '">';
        audioPlayer += '<param name="quality" value="high">';
        audioPlayer += '<param name="menu" value="false">';
        audioPlayer += '<param name="wmode" value="transparent">';
        audioPlayer += '</object>';
        $(this).after(audioPlayer).remove();
    });

    $('a.videoplayer').each(function (i) {
        var videoPlayer = '<object type="application/x-shockwave-flash" data="/flash/videoplayer/player.swf" height="370" width="450">';
        videoPlayer += '<param name="movie" value="/flash/videoplayer/player.swf">';
        videoPlayer += '<param name="FlashVars" value="playerID=' + i + '&link=&file=' + $(this).attr('href') + '&titles=' + $(this).html() + '">';
        videoPlayer += '<param name="quality" value="high">';
        videoPlayer += '<param name="menu" value="false">';
        videoPlayer += '<param name="allowfullscreen" value="true">';
        videoPlayer += '</object>';
        $(this).after(videoPlayer).remove();
    });
});

