/*

 * Автор скрипта: http://ucodes.ru/
 * 13.02.2011 (Bogggdan & TRANE73) 
 * Version 3 (fix a few bugs)
 * uCodes.ru — авторские скрипты для uCoz
 * Изменение этих строк запрещено

 */

$("#txtareapnanswer").bind("select change click focus keyup", function () {
	if (document.selection) this.sel = document.selection.createRange().duplicate();
}); //для бб-кодов
$("body").append("<link type=\"text\/css\" rel=\"stylesheet\" href=\"http:\/\/stalker-gsc.ru\/css\/pmstyle.css\">"); //css styles
$("#bodypmpage input.uSpoilerButton").live("click", function () {
	if (_uWnd.getbyname('pmpage')) setTimeout("_uWnd.getbyname('pmpage').checksize()", 100);
}); //авторесайз окошка при открытии спойлера. 
setTimeout("_uWnd.getbyname('pm').checksize()", 100);

var ucodesru = {
	iuser: function () {
		$('#iuser').html('<img src="http://ucodes.ru/images/loading.gif" style="position:relative;left:8px;bottom:1px;vertical-align:-3px;">');
		var pmuser = $('#PMtoUser').val();
		$('#iuser').load('/index/8-0-' + pmuser + ' #ouser', function(data){
		var resultou = $("#ouser").html();
		if(resultou == null) {$('#iuser').html('<font style="position:relative;left:8px;bottom:1px;color:red;"> - Пользователь не найден</a>')}
		}); 
	},
	send: function (pmuser) {
		new _uWnd('pmsend','Отправка сообщения', 550, 150, {
			alert: 1,
			modal: 0,
			resize: 0,
			nomove: 1,
			fadespeed: 500,
			maxh: 425,
			align: 0,
			oncontent: function () {if(pmuser) $('#PMtoUser').attr('value',pmuser);}
		},
		'<div class="brucpmtopl"><div class="optblockpmtop" id="bodypmsend"><div style="margin: 0px 0px 10px 0px;">Кому: <input id="PMtoUser" style="width: 150px" type="text"><a href="javascript://" style="position:relative;left:5px;bottom:1px;" onclick="ucodesru.iuser();">Проверить статус</a><span id="iuser"></span></div><div style="margin: 0px 0px 10px 0px;">Тема: <input id="subject" style="width: 450px" type="text"></div><div><textarea onkeypress="ucodesru.ctrpost(event);" id="ucodesmessagepm" style="width: 100%"></textarea></div><input type="button" value="Отправить сообщение" id="ucodespostmessagepm" onclick="ucodesru.sendLS();"></div></div>');
	},
	sendLS: function () {
		$("#ucodespostmessagepm").attr({disabled: 1, value: "Отправка..."});
		s = $('#PMtoUser').val();
		subject = $('#subject').val();
		message = $('#ucodesmessagepm').val();
		$.get("/index/14-0-0-1", function (pm) {
			ssid = $("input[name='ssid']", pm).val();
			if ($("#secuImg", pm).size() > 0) {
				imgsec = $("#secuImg", pm).clone();
				seckey = $("input[name='seckey']", pm).val();
				new _uWnd('cap', 'Код с картинки', 300, 80, {
					autosize: 0,
					modal: 1,
					oncontent: function () {
						$("#capImgSpan").html(imgsec);
						$("#capcode").focus();
					}
				},
				'<span id="capImgSpan"></span> <input type="text" id="capcode" onkeyup="ucodesru.sendsec()">');
			} else {
			$.post("/index", {
				s: s,
				subject: subject,
				message: message,
              	       		ssid: ssid,
				a: 18
				},
				function (re) {
				var rTxt = $($(re).text()).text();
				if(rTxt.indexOf("успешно") > -1) {
				setTimeout('_uWnd.close("pmsend")', 500);
				_uWnd.alert(rTxt, 'Внимание', {
					w: 225,
					h: 75
				});
				} else {
				_uWnd.alert(rTxt, 'Внимание', {
					w: 225,
					h: 75
				});
				}
				});
			}
			$("#ucodespostmessagepm").attr({disabled: 0, value: "Отправить сообщение"});
			$("#ucodesmessagepm").empty();
		});
	},
	sendsec: function () {
		var code = $("#capcode").val();
		if (code.length == 4) {
			$.post("/index", {
				s: s,
				subject: subject,
				message: message,
				code: code,
                    	 	ssid: ssid,
				seckey: seckey,
				a: 18
			},
			function (re) {
				var rTxt = $($(re).text()).text();
				if(rTxt.indexOf("успешно") > -1) {
				setTimeout('_uWnd.close("pmsend")', 500);
				_uWnd.alert('Сообщение отправлено', 'Успех', {
					w: 225,
					h: 75
				});
				} else {
					if(rTxt.indexOf("код б") > -1) {
					$('#secuImg').click();
					} else {
					_uWnd.close('cap');
					_uWnd.alert(rTxt, 'Внимание', {
						w: 225,
						h: 75
					});
					}
				}
			});
		}
	},
	init: function () {
		new _uWnd('pm', 'Личные Сообщения', 600, 300, {
			nomove: 1,
			resize: 0,
			minw: 600,
			maxw: 600,
			align: 0,
			minh: 200,
			maxh: 400,
			oncontent: function () {
				if (ucodesru.canget) ucodesru.get();
			},
			onclose: function () {
				ucodesru.canget = true;
			}
		},
		'<div class="brucpmtopl"><div class="optblockpmtop"><div style="float: right"><span class="delurlspanuc" onclick="ucodesru.del(this);">Удалить выделенные</span></div><div><span class="urlspanpmuc" id="ucpmall" onclick="ucodesru.get();">Принятые</span>, <span class="urlspanpmuc" id="ucpmunread" onclick="ucodesru.get2();">Отправленные</span>, <span class="urlspanpmuc" id="ucpmread" onclick="ucodesru.send();">Отправить сообщение</span></div></div></div><span id="noy"></span><table border="0" cellpadding="0" cellspacing="0" width="100%" id="er"><tr><td class="waittduc">Загрузка…</td></tr></table>');
	},
	get: function () {
		ucodesru.msgs = "";
		var header = '<tr id="top2"><td class="pmucnum pmucnumf" width="5%">№</td><td class="pmucnmdtf pmucnmdt" width="20%">Отправитель</td><td width="70%" class="thmucpm thmucpmf">Тема Личного Сообщения</td><td width="5%" class="optboxpmuc optboxpmucf"><input onchange="ucodesru.allpm(this.checked);" id="allpmcheck" type="checkbox"></td></tr>';
		$.get("/index/14", function (data) {
			ucodesru.canget = 0;
			if ($("#bdPMPage #pmdform table tr", data).text() == 'Сообщений нет') {
				$('#noy').html('<br><div class="optblockpmtop" style="text-align: center; padding: 46px;">У Вас нет сообщений</div>');
				$('#er').hide();
			} else {
				$("#bdPMPage #pmdform table tr:not(:last)", data).each(function () {
					var td = $(this).find("td"),
					_ = ucodesru.msgs,
					unr = td.find(".unread").size() > 0,
					thisTd = '<tr class="trpmuc" onmouseover="ucodesru.colortrPm(this, true);" onmouseout="ucodesru.colortrPm(this, false);"><td class="pmucnum pncolnumfix ' + (unr ? 'pmucunerad': '') + '" width="5%">' + td.eq(0).text() + '</td><td class="pmucnmdt ' + (unr ? 'pmucnmdtfurd': '') + '" width="20%"><a href="javascript://" onclick="ucodesru.profil(\'' + td.eq(1).find("a:eq(1)").attr("href") + '\');return false;">' + td.eq(1).find("a:eq(1)").text() + '</a><br><span class="datepmuc">' + td.eq(2).text() + '</span></td><td width="70%" class="thmucpm ' + (unr ? 'thmucpmfunr': '') + '"><a href="javascript://" onclick="ucodesru.swapPage(\'' + td.eq(1).find("a:eq(0)").attr("href") + '\', this, \'' + td.eq(1).find("a:eq(1)").text() + '\', \'' + td.eq(3).find("input[name='s']").val() + '\');return false;" class="pmhrefAuc">' + td.eq(1).find("a:eq(0)").text() + '</a></td><td width="5%" class="optboxpmuc ' + (unr ? 'optboxpmucfunr': '') + '"><input type="checkbox" onchange="ucodesru.selectMess(this, this.checked);" name="optMess" value="' + td.eq(3).find("input[name='s']").val() + '"></td></tr>\n';
					ucodesru.msgs = unr ? thisTd + _: _ + thisTd;
				});
				ucodesru.arry = ucodesru.msgs.split("\n");
				$('#noy').empty();
				$('#er').show();
				$("#er").html(header + ucodesru.arry.join(""));
				$(".pncolnumfix").each(function (oj) {
					$(this).html(oj + 1);
				});
			};
			setTimeout("_uWnd.getbyname('pm').checksize()", 150);
		});
	},
	get2: function () {
		ucodesru.msgs2 = "";
		
		var header2 = '<tr id="top2"><td class="pmucnum pmucnumf" width="5%">№</td><td class="pmucnmdtf pmucnmdt" width="20%">Получатель:</td><td width="70%" class="thmucpm thmucpmf">Тема Личного Сообщения</td><td width="5%" class="optboxpmuc optboxpmucf"><input onchange="ucodesru.allpm(this.checked);" id="allpmcheck" type="checkbox"></td></tr>';
		$.get("/index/14-0-1", function (data) {
			ucodesru.canget = 0;

			if ($("#bdPMPage #pmdform table tr", data).text() == 'Сообщений нет') {
				$('#noy').html('<br><div class="optblockpmtop" style="text-align: center; padding: 46px;">У Вас нет сообщений</div>');
				$('#er').hide();
			} else {
				$("#bdPMPage #pmdform table tr:not(:last)", data).each(function () {
					var td = $(this).find("td"),
					_ = ucodesru.msgs2,
					unr2 = td.find(".unread").size() > 0,
					thisTd2 = '<tr class="trpmuc" onmouseover="ucodesru.colortrPm(this, true);" onmouseout="ucodesru.colortrPm(this, false);"><td class="pmucnum pncolnumfix ' + (unr2 ? 'pmucunerad': '') + '" width="5%">' + td.eq(0).text() + '</td><td class="pmucnmdt ' + (unr2 ? 'pmucnmdtfurd': '') + '" width="20%"><a href="javascript://" onclick="ucodesru.profil(\'' + td.eq(1).find("a:eq(1)").attr("href") + '\');return false;">' + td.eq(1).find("a:eq(1)").text() + '</a><br><span class="datepmuc">' + td.eq(2).text() + '</span></td><td width="70%" class="thmucpm ' + (unr2 ? 'thmucpmfunr': '') + '"><a href="javascript://" onclick="ucodesru.swapPage(\'' + td.eq(1).find("a:eq(0)").attr("href") + '\', this, \'' + td.eq(1).find("a:eq(1)").text() + '\', \'' + td.eq(3).find("input[name='s']").val() + '\');return false;" class="pmhrefAuc">' + td.eq(1).find("a:eq(0)").text() + '</a></td><td width="5%" class="optboxpmuc ' + (unr2 ? 'optboxpmucfunr': '') + '"><input type="checkbox" onchange="ucodesru.selectMess(this, this.checked);" name="optMess" value="' + td.eq(3).find("input[name='s']").val() + '"></td></tr>\n';
					ucodesru.msgs2 = unr2 ? thisTd2 + _: _ + thisTd2;
				});
				ucodesru.arry2 = ucodesru.msgs2.split("\n");
				$('#noy').empty();
				$('#er').show();
				$("#er").html(header2 + ucodesru.arry2.join(""));
				$(".pncolnumfix").each(function (oj) {
					$(this).html(oj + 1);
				});
			};
			setTimeout("_uWnd.getbyname('pm').checksize()", 150);
		});
	},
	canget: true,
	theForm: {},
	colortrPm: function (o, ect) {
		$(o).find(".pmucnum,.optboxpmuc")[ect ? "addClass": "removeClass"]("hvrpmucfbl");
		$(o).find(".pmucnmdt,.thmucpm")[ect ? "addClass": "removeClass"]("hvrpmucfblb");
	},
	selectMess: function (o, c) {
		$("#ucpmall, #ucpmunread, #ucpmread").removeClass("tucsel");
		$(o).parents("tr").find(".pmucnum,.optboxpmuc")[c ? "addClass": "removeClass"]("hvrpmucfbls");
		$(o).parents("tr").find(".pmucnmdt,.thmucpm")[c ? "addClass": "removeClass"]("hvrpmucfblbs");
		$("#allpmcheck").attr("checked", ($("input[name='optMess']:checked").size() == $("input[name='optMess']").size()));
	},
	allpm: function (g) {
		$("#ucpmall, #ucpmunread, #ucpmread").removeClass("tucsel");
		$("input[name='optMess'], #allpmcheck").attr("checked", g);
		$("tr.trpmuc td.pmucnum,tr.trpmuc td.optboxpmuc")[g ? "addClass": "removeClass"]("hvrpmucfbls");
		$("tr.trpmuc td.pmucnmdt, tr.trpmuc td.thmucpm")[g ? "addClass": "removeClass"]("hvrpmucfblbs");
	},
	selectmenu: function (b, o) {
		ucodesru.allpm(false);
		$("#ucpmall, #ucpmunread, #ucpmread").removeClass("tucsel");
		$(o).addClass("tucsel");
		if (b == 'all') ucodesru.allpm(1),
		$("#allpmcheck").attr("checked", 1);
		else {
			$(".trpmuc").each(function () {
				if ($(this).find("td").hasClass("pmucunerad") == (b != 'read')) $(this).find(".pmucnmdt,.thmucpm").addClass("hvrpmucfblbs"),
				$(this).find(".pmucnum,.optboxpmuc").addClass("hvrpmucfbls"),
				$(this).find("input:checkbox").attr("checked", 1);
			});
		}
	},
	del: function (v) {
		var dar = $("input[name='optMess']:checked"),
		r = "";
		if (dar.size() == 0) return _uWnd.alert('Не выбрано ни одного сообщения', 'Ошибка', {
			w: 225,
			h: 75
		});
		$(v).html("Удаляем…");
		$(dar).each(function () {
			r += "s=" + this.value + "&";
		});
		r += "a=16&t=0";
		$.post("/index", r, function () {
			$(dar).parents(".trpmuc").remove();
			$(v).html("Удалить выделенные");
			$(".pncolnumfix").each(function (oj) {
				$(this).html(oj + 1);
			});
			if ($(".pncolnumfix").size() == 0) {$('#top2').hide();$('#noy').html('<br><div class="optblockpmtop" style="text-align: center; padding: 46px;">У Вас нет сообщений</div>');}
			_uWnd.getbyname('pm').checksize();
		});
	},
	profil: function (url) {
		window.open(url);
	},
	swapPage: function (p, obj, aname, theid) {
		ucodesru.pmid = theid;
		$(obj).parents("tr").find("td").removeClass("pmucunerad pmucnmdtfurd thmucpmfunr optboxpmucfunr");
		new _uWnd('pmpage', aname + ': ' + obj.innerHTML, 550, 150, {
			alert: 1,
			modal: 0,
			resize: 0,
			nomove: 1,
			fadespeed: 500,
			maxh: 425,
			align: 0,
			oncontent: function () {
				$.get(p, function (data) {
					var form = $("form#addform", data).serialize();
					if (form) {
						var answForm = "<div style='border-top: 1px solid #a6a6a6; margin: 10px 0px 0px 0px; padding: 6px 0px 0px 0px;'><div style='margin: 2px;'><img class=\"bbcodebutnpn\" align=\"absmiddle\" src=\"http://ucodes.ru/upload/1/bbcode/format-text-bold.png\" onclick=\"bbcodepm('b');\" alt=\"\" title=\"Жирный\"> <img class=\"bbcodebutnpn\" align=\"absmiddle\" src=\"http://ucodes.ru/upload/1/bbcode/format-text-italic.png\" onclick=\"bbcodepm('i');\" alt=\"\" title=\"Курсив\"> <img class=\"bbcodebutnpn\" align=\"absmiddle\" src=\"http://ucodes.ru/upload/1/bbcode/format-text-underline.png\" onclick=\"bbcodepm('u');\" alt=\"\" title=\"Подчеркнутый\"> <img class=\"bbcodebutnpn\" align=\"absmiddle\" src=\"http://ucodes.ru/upload/1/bbcode/script_code.png\" onclick=\"bbcodepm('code');\" alt=\"\" title=\"Вставить код\"> <img class=\"bbcodebutnpn\" align=\"absmiddle\" src=\"http://ucodes.ru/upload/1/bbcode/miscellaneous2.png\" onclick=\"bbcodepm('spoiler');\" alt=\"\" title=\"Спойлер\"> <img class=\"bbcodebutnpn\" align=\"absmiddle\" src=\"http://ucodes.ru/upload/1/bbcode/user_comment.png\" onclick=\"bbcodepm('quote');\" alt=\"\" title=\"Вставить цитату\"></div><div><textarea onkeypress='ucodesru.ctrpost(event);' id='txtareapnanswer'></textarea></div><input type='button' value='Отправить сообщение' id='ucodespostmessagepm' onclick='ucodesru.fx();'>&nbsp;&nbsp;<label><input type='checkbox' id='delafteranswer'><span style='color: grey; font-size: 9px;'>Удалить сообщение после ответа на него</span></label></div>",
						subject = "<div style='border-bottom: 1px solid #a6a6a6; margin: 0px 0px 10px 0px; padding: 0px 0px 6px 0px;'><input id='subjpmuc' style='width: 100%' type='text'></div>";
						if (/seckey\=\d+/.test(form)) {ucodesru.theForm["seckey"] = $("input[name='seckey']", data).val();ucodesru.imageCap = $("#secuImg", data).clone();} ucodesru.theForm.a = "18"; ucodesru.theForm.s = $("#addform input[name='s']", data).val(); ucodesru.theForm.pmh = $("#addform input[name='pmh']", data).val(); ucodesru.theForm.hl = $("#addform input[name='hl']", data).val(); ucodesru.theForm.ssid = $("#addform input[name='ssid']", data).val();}
					setTimeout(function () {
						$("#bodypmpage").html($("#bdPMPage table:first td:last", data).html()).find("#snewmes").hide().end().append(form ? answForm: "").prepend(form ? subject: "");
						$("#txtareapnanswer").focus();
						if (form) $("#subjpmuc").val($("input[name='subject']", data).val());
						_uWnd.getbyname('pmpage').checksize();
						$("#bodypmpage span:contains('+')").parent().click(function () {
							setTimeout(function () {
								_uWnd.getbyname('pmpage').checksize();
							},
							100);
						});
					},
					400);
					setTimeout("_uWnd.getbyname('pmpage').checksize()", 600);
				});
			}
		},
		'<div class="brucpmtopl"><div class="optblockpmtop" id="bodypmpage"><br><br><img src="http://ucodes.ru/upload/icons/load.gif" border="0" alt="" align="absmiddle"> Загрузка…<br><br><br></div></div>');
	},
	postPmanswer: function () {
		if (! ($("#subjpmuc").val().split(" ").join("").length && $("#txtareapnanswer").val().split(" ").join("").length)) return alert('Неправильно заполнено форма');
		var aftDel = $("#delafteranswer").is(":checked");
		$("#ucodespostmessagepm").attr({
			disabled: 1,
			value: "Загрузка…"
		});
		ucodesru.theForm.subject = $("#subjpmuc").val();
		ucodesru.theForm.message = $("#txtareapnanswer").val();
		$.post("/index", ucodesru.theForm, function (pl) {
			var rTxt = $($(pl).text()).text();
			if (rTxt.indexOf("код б") > -1) {
				$("#secuImg").trigger("click");
				$("#capcodepm").val("").focus();
			} else if (rTxt.indexOf("успешно") > -1) {
				if (aftDel) {
					$("input[name='optMess'][value='" + ucodesru.pmid + "']").attr("checked", true);
					ucodesru.del($(".delurlspanuc")[0]);
				}
				$("#ucodespostmessagepm").attr({
					disabled: 0,
					value: "Отправить сообщение"
				});
				if (_uWnd.getbyname("cc")) _uWnd.close("cc");
				$("#txtareapnanswer").val("");
				setTimeout('_uWnd.close("pmpage")', 500);
				_uWnd.alert('Сообщение отправлено', 'Успех', {
					w: 225,
					h: 75
				});
			} else alert(rTxt),
			$("#ucodespostmessagepm").attr({
				disabled: 0,
				value: "Отправить сообщение"
			});
		});
	},
	ctrpost: function (e) {
		e = e || window.event;
		if (e.keyCode == 10 || e.ctrlKey && e.keyCode == 13) ucodesru.postPmanswer();
	},
	fx: function () {
		if (ucodesru.theForm["seckey"]) ucodesru.postWithCap();
		else ucodesru.postPmanswer();
	},
	postWithCap: function () {
		if (! ($("#subjpmuc").val().split(" ").join("").length && $("#txtareapnanswer").val().split(" ").join("").length)) return alert('Неправильно заполнено форма');
		new _uWnd('cc', 'Каптча', 250, 80, {
			alert: 1,
			modal: 0,
			fadespeed: 500,
			oncontent: function () {
				$("#ucodespostmessagepm").attr({
					disabled: 1,
					value: "Загрузка…"
				});
				$("#capImgSpanpm").html(ucodesru.imageCap);
				$("#capcodepm").focus();
			},
			onclose: function () {
				$("#ucodespostmessagepm").attr({
					disabled: 0,
					value: "Отправить сообщение"
				});
			}
		},
		'<span id="capImgSpanpm"></span> <input type="text" maxlength="4" id="capcodepm" style="width: 90px; height: 28px; text-align: center; color: grey; font-size: 12pt;" onkeyup="ucodesru.checkCapCode(this.value);">');
	},
	checkCapCode: function (v) {
		if (v.length == 4) {
			ucodesru.theForm.code = v;
			ucodesru.postPmanswer();
		}
	}
}

function getselectionpm() {
	if (window.getSelection) return window.getSelection().toString();
	else if (document.getSelection) return document.getSelection();
	else return document.selection.createRange().text;
}
function bbcodepm(tg) {
	var s = getselectionpm();
	if (s) {
		$('#txtareapnanswer')[0].value += '[' + tg + ']' + s + '[/' + tg + ']';
		$('#txtareapnanswer').focus()
	} else {
		var o = '[' + tg + ']',
		c = '[/' + tg + ']',
		doc = $('#txtareapnanswer')[0];
		doc.focus();
		if (window.attachEvent && navigator.userAgent.indexOf('Opera') === -1) {
			var s = doc.sel;
			if (s) {
				var l = s.text.length;
				s.text = o + s.text + c;
				s.moveEnd("character", -c.length);
				s.moveStart("character", -l);
				s.select()
			}
		} else {
			var ss = doc.scrollTop;
			sel1 = doc.value.substr(0, doc.selectionStart);
			sel2 = doc.value.substr(doc.selectionEnd);
			sel = doc.value.substr(doc.selectionStart, doc.selectionEnd - doc.selectionStart);
			doc.value = sel1 + o + sel + c + sel2;
			doc.selectionStart = sel1.length + o.length;
			doc.selectionEnd = doc.selectionStart + sel.length;
			doc.scrollTop = ss
		};
		return false
	}
};