function label2value(e)
{
    var label = e.title;
    if (e.value == label) {
        e.value = '';
    }
    $(e).css('color','');
}

function value2label(e)
{
    var label = e.title;
    if ('' == e.value) {
        e.value = label;
    }
}

function additem()
{
    var item = $("tr[id^='item-']:last");
    var idx = parseInt(item.attr('id').substring(5)) + 1;
    var new_item = item.clone(true);
    new_item.attr('id', 'item-'+idx);
    $("th:first", new_item).text(idx+'.');
    $("input", new_item).attr('value', '');
    $("big", new_item).remove();
    $("input:first", new_item).attr('name', 'order[item][name'+(idx-1)+']');
    $("input:last", new_item).attr('name', 'order[item][num'+(idx-1)+']');
    new_item.insertAfter(item);
    $("input:last", new_item).get(0).onblur();
    $("input:first", new_item).focus();
}

function validateForm(selector)
{
    var form = $(selector).get(0);
    var ferror = false;
    $(':input', form).each(function () {
        var e = this;
        if (e.type != 'submit' && e.type != 'image') {
            var bullet = $('.bull', $(e).parents('tr').get(0));
            if (bullet.length) {
                var error = (e.title == e.value || e.value.length == 0);
                if (!error && 'email' == e.id) {
                    error = !e.value.match(/[a-z0-9\.\_\-]+@[a-z0-9\.\_\-]+\.[a-z0-9]{2,7}/i);
                }
                if (!error && 'phone' == e.id) {
                    error = !e.value.match(/^[0-9\(\)\s\-\,\+]{7,}$/i);
                }
                if (error) {
                    bullet.css('color', '#9c2121');
                    ferror = true;
                } else {
                    bullet.css('color', '#97b751');
                }
            }
        }
    });
    var submit = $('input:last',form);
    if (ferror) {
        submit.attr('disabled','disabled');
        submit.fadeTo('fast', 0.5);
    } else {
        submit.attr('disabled', false);
        submit.fadeTo('fast', 1);
    }
    return !ferror;
}

function reloadForm (timeout) {
    setTimeout(function () {
        $.get(window.location.href, {ajaxmail: 1}, function (t) {
            $('#mail-form-result').replaceWith(t); 
        });
    }, timeout);
}

function showCompanyDetails () {
    $('#company-info').hide();
    $('#company-details').show();
}

$(
    function () {
        if ($('form.mail-form').length > 0) {
            var form = $('form.mail-form').get(0);
            form.onsubmit = function () {
                if (validateForm(form)) {
                    $('input,textarea',form).each(function () {label2value(this);});
                    var submit = $('input:last',form);
                    submit.fadeTo('fast', 0.5);
                    submit.attr('disabled','disabled');
                    $(form).append('<input type="hidden" name="ajaxmail" value="1"/>');
                    $(form).ajaxSubmit({ 
                        success: function (t) {
                            if (t.match('/<form/')) {
                                $(form).replaceWith(t);
                            } else {
                                $(form).replaceWith('<div id="mail-form-result" style="height:'+$(form).height()+'px">'+t+'</div>');
                                reloadForm(3000);
                            }
                        }
                    });
                }
                return false;
            }
            setInterval(function () {validateForm('form.mail-form')}, 500);
        }
    }
);

