function checkIdItem(form) {
	if (form.id_item.value) {
		window.location = '/doityourself/' + document.getElementById('id_item').value + '/';
	}
	else
		alert('Введите ID товара');

	return false;
}

function sendToPreview() {
	document.forms.add_comment_form.preview.value = 1;

	if (checkCommentForm(document.forms.add_comment_form))
		document.forms.add_comment_form.submit();

	document.forms.add_comment_form.preview.value = 0;
}

function sendToSave() {
	document.forms.add_comment_form.preview.value = 0;
}

function sendToEdit(edit_url) {
	window.location = edit_url;
}

function checkCommentForm(form) {
	text = form.comment.value;
	err = '';

	if (text.length < 15)
		err += "Комментарий должен быть не менее 15 символов!\n";

	if (text.length > 6000)
		err += "Комментарий должен быть не более 6000 символов!(символов - " + text.length + ")\n";

	if (form.preview.value != 1 && form.keystring.value == '')
		err += "Введите код с картинки!";

	if (err) {
		alert(err);
		return false;
	}
	else
		return true;
}

function addAnotherPic(obj) {
	var main_div = $(obj.parentNode.parentNode.parentNode);
	var divv = $(obj.parentNode.parentNode);
	var picnumber = $(main_div).find("input[name^=pic_file]").length;
	if (divv.next().attr("id") != "comment-pic" && picnumber < 15) {
		var cont = $("<div></div>")
			.attr("id", "comment-pic")
			.appendTo($(main_div));

		$("<div></div>")
			.addClass("comment-pic-input")
			.html("<input type=\"file\" name=\"pic_file[" + picnumber + "]\" onchange=\"addAnotherPic(this)\">")
			.appendTo($(cont));

		picnumber++;
	}
}

var number;
number = 0;

function addCommentItems(obj, item, id) {
	var main = $(obj.parentNode);
	var fchild = $(obj.parentNode.firstChild);
	var name = '';
	var count = 0;

	switch (item) {
		case 'href':
			name = 'href';
			count = $(main).find("input[name^=hrefs]").length;
			break;
		case 'article':
			name = 'article';
			count = $(main).find("input[name^=articles]").length;
			break;
	}

	if (count >= 0 && count < 5 && name) {
		number++;

		var cont = $("<div></div>")
			.attr("id", id + "-" + name + "[" + count + "]")
			.attr("class", "comment-user-" + name + "")
			.appendTo($(fchild));

		if (item == 'href') // добавление ссылок
		{
			var href = $("<input type='text'>")
				.attr("name", "hrefs[" + count + "]")
				.attr("class", "text")
				.attr("default", "Ссылка по теме (http://)")
				.appendTo($(cont));

			def = new defualtInput(href);

			var article = $("<input type='text'>")
				.attr("name", "descrs[" + count + "]")
				.attr("class", "text")
				.attr("default", "Пояснение")
				.appendTo($(cont));

			def = new defualtInput(article);
		}
		else if (item == 'article') // добавление товаров
		{
			var inp = $("<input type='text'>")
				.attr("name", "articles[" + count + "]")
				.attr("class", "text")
				.attr("default", "Товар по теме (ID)")
				.appendTo($(cont));

			def = new defualtInput(inp);
		}

		$(obj).html('добавить еще');

		if (count == 4)
			$(obj)
				.css("color", "#bbb")
				.css("border-bottom-color", "#bbb");

		var del = $("<span></span>")
			.html("&nbsp;")
		//.attr("id", "js-like-url")
			.attr("class", "del-href")
			.appendTo($(cont));

		$(del).click(function(event) {
			delCommentItems(this, name)
		});
	}
}


function delCommentItems(obj, item) {
	var main = obj.parentNode.parentNode.parentNode;
	var lchild = main.lastChild;

	$(lchild)
		.css("color", "#1868A0")
		.css("border-bottom-color", "#1868A0")

	obj.parentNode.parentNode.removeChild(obj.parentNode);
}

function defualtInput(elem) {
	this.input = null;
	this.def = "";

	this.create(elem);
}

defualtInput.prototype.create = function(elem) {
	this.input = elem;
	this.def = $(elem).attr("default");

	if (!$(this.input).val() || $(this.input).val() == $(this.input).attr("default"))
		$(this.input).css({ "color": "gray", "font-style": "italic" }).val(this.def);

	var obj = this;

	$(this.input).focus(function() { obj.hide() });
	$(this.input).blur(function() { obj.show() });
}

defualtInput.prototype.hide = function() {
	if ($(this.input).val() == this.def) {
		var obj = this;

		$(this.input).val("");
		$(this.input).keydown(function() { $(obj.input).css({ "color": "black", "font-style": "normal" }); });
	}
}

defualtInput.prototype.show = function() {
	if (!$(this.input).val() || $(this.input).val() == this.def) {
		$(this.input).css({ "color": "gray", "font-style": "italic" }).val(this.def);
		$(this.input).unbind('keydown');
	}
}

$(
	function() {
		$("input[default]").each(
			function() {
				new defualtInput(this);
			}
		);
	}
);


function deleteCommentPic(id_comment, id_pic) {
	$("#commentPic" + id_pic + " .comment-image-del").html("Удаление...");

	JsHttpRequest.query(
		"/catalog/commentDelPic.ajax.php",
		{
			"id_comment": id_comment,
			"id_pic": id_pic
		},
		function(result, errors) {
			if (result.err == 'no') {
				$("#commentPic" + id_pic).remove();
				$("#comment-add-pics").show();
			}
		},
		true
	);
}

function clearRatingStars(id, num) {
	for (i = num; i <= 10; i++) {
		$("#" + id + "-star" + i).removeClass('full').addClass('empty');
	}
}

function fillRatingStars(id, num) {
	for (i = 1; i <= num; i++) {
		$("#" + id + "-star" + i).removeClass('empty').addClass('full');
	}
}

function changeRatingStars(id, num) {
	num *= 1;

	clearRatingStars(id, num + 1);
	fillRatingStars(id, num);

	var status = Array('', 'Хуже не бывает', 'Очень плохо', 'Плохо', 'Ниже среднего', 'Средне', 'Выше среднего', 'Нормально', 'Хорошо', 'Отлично', 'Лучше не бывает!');

	$("#" + id + "-marks-label").html(status[num]);
}

function outRatingStars(id) {
	val = $("input[name=" + id + "]").val();

	if (val > 0) {
		changeRatingStars(id, val);
	}
	else
		clearRatingStars(id, 1);
}

function selectRatingStar(id, num) {
	$("#" + id + "-result").addClass('complete');
	$("input[name=" + id + "]").val(num);
}

function isSendedBookForm() {
	if (!$("input[name=sended]").val()) {
		if (confirm("Вы не оценили качество товара, не желаете оценить? \nДля оценки товара нажмите \"Ок\", для отправки рецензии \"Отмена\"."))
			return false;
	}

	return true;
}

function saveBookForm(form) {
	var id_books = form.id_books.value;
	var mark = form.mark.value;
	var printq = form.print.value;
	var illustrationq = form.illustration.value;
	var audience = form.audience.value;

	if (mark == 0 && printq == 0 && illustrationq == 0 && audience == 0) {
		return false;
	}

	JsHttpRequest.query(
		"/ajax.php",
		{
			"cl_name": "comments",
			"me_name": "savebookform",
			"id_books": id_books,
			"mark": mark,
			"print": printq,
			"illustration": illustrationq,
			"audience": audience
		},
		function(result, errors) {
			if (!result.err) {
				//$("#book_form_saved_result").removeClass("ajax_upload").html("Сохранено");
			}
		},
		true
	);

	form.sended.value = 1;
}

function sendProductVote(id_books, votemark) {
	JsHttpRequest.query(
		"/catalog/vote.ajax.php",
		{ "book": id_books,
			"votemark": votemark
		},
		function(result, errors) {
			if (result.err == 'no') {
				$("#rate").html(result.rate);
				$("#countmarks").html("Всего: " + result.countmarks);
				$("#count-marks-label").html("Ваша оценка: " + result.your_mark + " (оценило: " + result.countmarks + ")");
			}
		},
		true
	);
}

function refreshKcaptcha(sel) {
	var cont = $(sel);
	var kcaptcha_img = $('<img>').css('vertical-align', 'middle');
	var src = cont.find('img').attr('src');

	src = src.replace(/&r=[0-9\.]+/, '');

	kcaptcha_img.load(function() {
		cont.html(kcaptcha_img);
	})

	kcaptcha_img.attr('src', src + '&r=' + Math.random());
}

$(function() {

	$("span[id^=commenting]").live('click', function() {
		var idcomment = $(this).attr('idcomment');

		$("div[id^=commentsform-for-review][id!=commentsform-for-review" + idcomment + "][id!=commentsform-for-review]").hide();
		$("#commentsform-for-review input[name=id_comment]").val(idcomment);

		$("#commentsform-for-review").appendTo("#commentsform-for-review" + idcomment).show();
		$("#commentsform-for-review" + idcomment).show(0, function() {
			$('html').stop().animate(
				{ scrollTop: $("#commentsform-for-review" + idcomment).offset().top - 22 },
				250
			);
		});
	});

	var hash = window.location.hash;
	var regexp = /commenting[\d_]+/;
	if (hash.match(regexp)) {
		$(function() { $(hash).click(); });
	}

	var commentsMessagesCurrentElement = null;

	var commentsValidator = $("#comments-messages-form").formvalidate({
		rules: {
			message: { required: true, maxlength: 3000 },
			kcaptcha: { required: true }
		},
		messages: {
			message: { required: "Заполните текст сообщения", maxlength: "Слишком большое сообщение" },
			kcaptcha: { required: "Введите код с картинки" }
		},
		errortype: "qtip",
		submitHandler: function(form) {
			sendMessageForComment(form);
			return false;
		}
	});

	function sendMessageForComment(form) {
		$(form).find("input[type=submit]").addClass("waiting-button").attr({ disabled: true });
		$("#comments-message-loader").addClass("ajax_upload");

		JsHttpRequest.query("/ajax.php", { form: form }, function(result, errors) {
			if (typeof result.errors != 'undefined') {

				$("#comments-messages-form").formvalidate("errors", result.errors);

				$(form).find("input[type=submit]").show();

				if (result.errors.kcaptcha != undefined)
					refreshKcaptcha('#messages-kcaptcha-cont');
			}
			else {
				$("#commentsform-for-review").slideUp(250);
				refreshKcaptcha('#messages-kcaptcha-cont');

				$(form).find('input[type=text], textarea').each(function() {
					var defaultval = $(this).attr('default');
					if (defaultval)
						$(this).val(defaultval).css({ color: 'gray', 'font-style': 'italic' });
					else
						$(this).val('');
				});

				if ($("#comments-messages" + form.id_comment.value).find(".comment-text").length > 0)
					$("#comments-messages" + form.id_comment.value).append("<div class='comments-underline'></div>");

				$("#comments-messages" + form.id_comment.value).append(result.message);
			}

			$("#comments-message-loader").removeClass("ajax_upload");
			$(form).find("input[type=submit]").removeClass("waiting-button").attr({ disabled: false });
		}, true);
	}
})

