
/*
 * работа с формой отзыва покупателя
 */

$( function(){
        if($("#with_regular_feedback").length) return;


        /***** DEPRECATED start *******/
	var newFeedbackHtml = $('<form class="feedback-form floats-cotnainer"><div class="msg"></div><div class="form-elements"><div class="floats-container"><label>Ваш E-mail</label><input type="text" name="feedback[from]"></div><div class="floats-container"><label>Ваше cообщение</label><textarea name="feedback[content]"></textarea></div><div class="do-ajax-node"><a class="d-link gr-button">Отправить</a></div></div></form>'),

	injNode = $("#feedback_form").parents(".wysiwyg-content");

	if(!injNode.length)
		return;

	var ajaxUrl = $("#feedback_form").attr("action")+".json";

	injNode.replaceWith( newFeedbackHtml );
	if ($.isFunction(Theme.render)) Theme.render( newFeedbackHtml );

	var ResponseMessageContainer = $(".msg", newFeedbackHtml),
		FormMessage = $("textarea", newFeedbackHtml), FormEmail = $("input", newFeedbackHtml),
		DoAjaxNode = $(".do-ajax-node", newFeedbackHtml),

		addResponseMessage = function(message) {
			if(message.constructor == Object) {
				$.each(message, function(){addResponseMessage(this);}); return; }


			var forRender = $('<div class="item floats-container"><a class="d-link gr-button gr-button-care">X</a></div>')
				.append($("<div/>", {"class":"content", "html":""+message}))
				.appendTo(ResponseMessageContainer);

			if ($.isFunction(Theme.render)) Theme.render(forRender);

		},

		doAjax = function(){
			 $.ajax({
		        url:      ajaxUrl,
		        type:     'post',
		        data:     newFeedbackHtml.serialize(),
		        dataType: 'json',
		        beforeSend: function() {
		        	DoAjaxNode.html("Подождите...");
		        	ResponseMessageContainer.empty();
		        },
		        complete: function() {
		        	DoAjaxNode.html('<a class="d-link gr-button">Отправить</a>');
		        	if ($.isFunction(Theme.render)) Theme.render( DoAjaxNode );
		        },
		        success:  function(response) {
		        	ResponseMessageContainer.empty();

		            if ( response.status == 'ok' ) {
		                addResponseMessage(response.notice);
		                ResponseMessageContainer.addClass("success");
		            }
		            else {
		            	addResponseMessage(response.errors);
		            	ResponseMessageContainer.removeClass("success");
		            }

		        }
		    });
		};

	$(".do-ajax-node a").live("click", function(){
		doAjax();
	});

	$(".feedback-form .msg .gr-button").live("click", function(){
		$(this).parents(".item").remove();
	});
        /***** DEPRECATED end *******/
});
