jQuery(function() {
    var text = '<div class="orderShadow" style="display: none"></div>'
             + '<form action="" method="post" enctype="multipart/form-data" class="orderForm" style="display: none">'
             + '  <h2>Заказ звонка</h2>'
             + '  <p>'
             + '    Оставьте свои данные и специалист компании перезвонит в указанное Вами время'
             + '  </p>'
             + '  <input type="hidden" name="caption" id="orderCaption" value="">'
             + '  <p class="orderSuccessful" style="display: none;">Ваш заказ успешно отправлен!</p>'
             + '  <div class="orderError" style="display: none;"></div>'
             + '  <table>'
             + '    <tr>'
             + '      <td class="orderLeft">'
             + '        <label for="orderName">Ваше имя</label><br />'
             + '        <input type="text" class="i_txt w100 " name="name" id="orderName" /><br />'
             + '        <label for="orderEMail">E-mail</label><br />'
             + '        <input type="text" class="i_txt w100" name="email" id="orderEMail" /><br />'
             + '        <label for="orderPhone">Телефон</label><br />'
             + '        <input type="text" class="i_txt w100" name="phone" id="orderPhone" /><br />'
             + '      </td>'
         /*
             + '      <td>'
             + '        <label for="orderDescription">Текст (дополнительная информация)</label><br />'
             + '        <textarea name="description" id="orderDescription"></textarea>'
             + '      </td>'
         */
             + '    </tr>'
             + '    <tr><td class="orderSend"><input type="submit" class="phone_submit_butt" value="Отправить заказ" /></td></tr>'
             + '  </table>'
             + '</form>';
    jQuery('body').append(text);
    orderFormActivated = true;
    
    jQuery('.orderShadow').click(function() {
        jQuery('.orderShadow').hide();
        jQuery('.orderForm').hide();
    });
    jQuery('.orderForm').submit(function() {
        if ($('#orderName').val() == '') {alert('Заполните поле Ваше имя'); return false; }
        if ($('#orderEMail').val() == '') {alert('Заполните поле E-mail'); return false; }
        if ($('#orderPhone').val() == '') {alert('Заполните поле Телефон'); return false; }
        JsHttpRequest.query(
            '/ajax/order_1.php',
            {'q': jQuery('.orderForm')[0]},
            function(result, text) {
                if (result.errors) {
                    for (var i = 0; i < result.errors.length; i++) {
                        jQuery('.orderForm #order' + result.errors[i].substr(0, 1).toUpperCase() + result.errors[i].substr(1)).addClass('error');
                    }
                    alert('Необходимо заполнить поля, помеченные красным цветом');
                } else {
                    jQuery('.orderError').hide();
                    jQuery('.orderForm table').hide();
                    jQuery('.orderCaption').hide();
                    jQuery('.orderSuccessful').show();
                }
            }
        );
        return false;
    });
    jQuery('.orderForm input, .orderForm textarea').keypress(function() { $(this).removeClass('error'); });
    jQuery('.orderForm input, .orderForm textarea').change(function() { $(this).removeClass('error'); });
});
jQuery.fn.extend({
    // this - это span, с которого вызывается форма
    orderForm: function(event,caption) {
        jQuery(this).click(function() {
            event = event || window.event;
            jQuery('#orderCaption').val(caption);
            jQuery('.orderForm input:text, .orderForm textarea').val('');
            jQuery('.orderShadow').width($('body').width());
            jQuery('.orderShadow').height($('body').height());
            jQuery('.orderShadow').show();
            jQuery('.orderForm').show();
            jQuery('.orderForm').css('left', ((jQuery(window).width() - jQuery('.orderForm').width()) / 2) + 'px');
            jQuery('.orderForm').css('top', ((jQuery(window).height() - jQuery('.orderForm').height()) / 2) + 'px');
            jQuery('.orderForm table').show();
            jQuery('.orderCaption').show();
            jQuery('.orderSuccessful').hide();
            event.preventDefault ? event.preventDefault() : (event.returnValue=false)
            event.stopPropagation ? event.stopPropagation() : (event.cancelBubble=true)
            return false;
        });
        
    }
});
