var orderDetailsClick = function() {
    var self = $(this);
    var tr = $(self.parents('tr')[0]).next('tr');
    if (tr.css('display') == 'none') {
        tr.show();
        self.html('cкрыть детали');
    } else {
        tr.hide();
        self.html('детали заказа');
    }
    return false;
}

var createCalculator = function() {
    var div = $('#calculator-container');
    var ahs = $('a.show-calculator');
    if (div.size()) {
        var calc_btn = $('#calculator_calculate');
        var temp_div = $(document.createElement('div'));
        temp_div.appendTo($('body'));
        temp_div.css({
            'position' : 'absolute',
            'left' : '0px',
            'top' : '0px',
            'width' : $('body').width(),
            'height' : $('body').height(),
            'opacity' : '0',
            'background' : '#eee',
            'display' : 'none'
        });
        var calculator = $('#calculator'),
            hide_calculator = function() {temp_div.fadeTo('fast', 0, function(){calculator.hide();temp_div.hide();});return false;},
            show_calculator = function() {temp_div.show(); temp_div.fadeTo('fast', 0.5, function(){calculator.show();});return false};
        $('#calculator_close').click(hide_calculator);
        div.click(show_calculator);
        ahs.click(show_calculator);
        calc_btn.click(function(){
            $.post('/order_calculate/', $('input, select', calculator).serialize(), function(data){
                $('#calculator_approx_price').html(data);
            });
        });
    }
}

var initOrderForm = function() {
    var trType  = $('#id_translation_type');
    var trSrc   = $('#id_source_language');
    var trDst   = $('#id_destination_language');
    var docFile = $('#id_document');
    var docText = $('#id_document_text');
    formChanged = function() {
        if (trType.val() == 1 &&
            trSrc.val() &&
            trDst.val() &&
            trDst.val() != trSrc.val()) {
                docFile.parents('tr').show();
                docText.parents('tr').show();
            } else {
                docFile.parents('tr').hide();

                docText.parents('tr').hide();
            }
    }
    docChanged = function() {
        if (docFile.val().length) {
            docText.parents('tr').hide();
            docFile.parents('tr').show();
        }
        if (docText.val().length) {
            docFile.parents('tr').hide();
            docText.parents('tr').show();
        }
    }
    trType.change(formChanged);
    trSrc.change(formChanged);
    trDst.change(formChanged);
    docFile.change(docChanged);
    docText.change(docChanged);
    docText.keypress(function(){ return this.value.length <= 3000; });
    formChanged();
}

$(document).ready(function(){
    var translatorsFilterForm = $('#translators-filter-form');
    createCalculator();
    if ($('ul.tabs').size()) $('ul.tabs').superSimpleTabs();
    if ($('#order-add-form').size()) initOrderForm();
    $('button', translatorsFilterForm).click(function(){
        var newhref = ['http:/', window.location.host, 'translators', 'list']
        var lang = $('select[name=language]', translatorsFilterForm).val();
        var trtype = $('select[name=translation_type]', translatorsFilterForm).val();
        if (lang != "0") { newhref.push('language'); newhref.push(lang); }
        if (trtype != "0") { newhref.push('type'); newhref.push(trtype); }
            window.location = newhref.join('/');
        });
});

jQuery.fn.superSimpleTabs = function (selected) {
    var sel = selected || 1;
    return this.each(function () {
        var ul    = jQuery(this);
        var ipl    = 'a[href^=#]';
        ul.find(ipl).each(function (i) {
            var link = jQuery(this);

            if ((i + 1) === sel) {
                link.addClass('selected');
            }
            else {
                jQuery(link.attr('href')).hide();
            }
        });
        ul.click(function (e) {
            var clicked    = jQuery(e.target);
            var link    = false;

            if (clicked.is(ipl)) {
                link = clicked;
            }
            else {
                var parent = clicked.parents(ipl);

                if (parent.length) {
                    link = parent;
                }
            }

            if (link) {
                var selected = ul.find('a.selected');

                if (selected.length) {
                    jQuery(selected.removeClass('selected').attr('href')).hide();
                }

                jQuery(link.addClass('selected').attr('href')).show();

                return false;
            }
        });
    });
};


