
var add_msg_prep = true;

function add_msg(logined,answr_id) {
	if (answr_id) {
		$("#answTR").show();
		$("#answTD").html('<b>Ответ на реплику</b><div style="margin-top:10px;font-size:10px; margin-left:20px;">'+$("#oph"+answr_id).text()+'<div class="hl1"></div>'+$("#opr"+answr_id).text()+'</div>');
		$("#answr").val(answr_id);
	} else {
		$("#answTR").hide();
		$("#answTD").html('');
		$("#answr").val('');
	}
	if (add_msg_prep) prepare_add_msg(logined);
	$('.add_msg_area').hide();
	$('#add_msg_div').show();
	$('#message').focus();
}

function add_msg_cancel() {
	$('.add_msg_area').show();
	$('#add_msg_div').hide();
}

function load_msg(obj) {
	try {
		var id = obj.parentNode.id;
		id = id.substr(3);
	} catch(e) {
		return;
	}
	$.get("/common/opinions.php?action=get_msg&id="+id+"&sid="+top.sid,
	function(txt) {
		obj.parentNode.innerHTML = txt;
	});
}

function prepare_add_msg(logined) {
	add_msg_prep = false;

	$.validator.setDefaults({
		submitHandler: function() {
			$("#op_loading").show();
			$("#add_msg_frm").fadeOut(200, function() {
				$.post("/common/opinions.php?action=add&sid="+top.sid, $("#add_msg_frm").serialize(), function(txt) {
					$("#op_loading").hide();
					if (txt.substr(0,7)=="<error>") {
						$("#err_msg").html( txt.substr(7) );
						$("#err_msg").show();
						$("#add_msg_frm").show();
					} else {
						$("#err_msg").hide();
						$("#add_msg_frm").show();
						$("#rnd").val('');
						$("#message").val('');
						capcha_refresh();
						add_msg_cancel();
						alert( txt );
					}
				});
			})
		}
	});

	if (!logined) {
		$.validator.addMethod(
			"rnd_check", 
			function(value, element, params) {
				if (!(/^([0-9]){4}/.test(value))) return false;
				var txt = $.ajax({url:"/cgi/pic.php?action=check&sid="+top.sid+"&value="+value+"&r="+Math.random(),async: false}).responseText;
				return (txt=='true');
			}, 
			"<br><font color='red'>Код подтверждения введен неверно.</font>"
		);
		
		var rnd_rules = {
				required: true,
				rnd_check: true
		};
		
	} else {
		var rnd_rules = {};
	}
	
	$("#add_msg_frm").validate({
		errorClass: "frm_error",
		rules: {
			message: {
				required: true,
				minlength: 3,
				maxlength: 2100
			},
			nick: {
				required: true,
				minlength: 3,
				maxlength: 32
			},
			rnd: rnd_rules
		},
		messages: {
			message: {
				required: "<br><font color='red'>Поле не заполнено</font>",
				minlength: "<br><font color='red'>Минимум 3 символа</font>",
				maxlength: "<br><font color='red'>Максимум 2100 символов</font>"
			},
			nick: {
				required: "<br><font color='red'>Поле не заполнено</font>",
				minlength: "<br><font color='red'>Минимум 3 символа</font>",
				maxlength: "<br><font color='red'>Максимум 32 символа</font>"
			},
			rnd: {
				required: "<br><font color='red'>Поле не заполнено</font>"
			}
		}
	});

}

