//
//	Denisenko Denis, 2004-2008, denis.denisenko.ru
//

//========================================================================
//																		//
//																		//
//																		//
//																		//
//																		//
//						Форум, ajax										//
//																		//
//																		//
//																		//
//																		//
//																		//
//========================================================================

var textresponse;
var httpRequester = getHTTPRequestObject();
var READY_STATE_COMPLETE = 4;
var mtype = 0;

//var cForumRelativePath = "";		// если эта переменная существует, используем ее, иначе пустую строку

var ua = navigator.userAgent.toLowerCase();
if(ua.indexOf("msie") != -1 && document.all){
	mtype = 1;
} else if(ua.indexOf("safari") != -1){
	mtype = 3;
} else if(ua.indexOf("mozilla") != -1){
	mtype = 2;
}

//========================================================================
function getHTTPRequestObject(){

	var req = window.XMLHttpRequest? new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP"); 
	return req;
}
//========================================================================
function ResponseNone(){}
//========================================================================
function ResponseSave(){

	if (httpRequester.readyState == 4) {
		if (httpRequester.status == 200) {
			textresponse = httpRequester.responseText;
		} else {
			var message = "Problem retrieving data. requestStatus="+httpRequester.status+". Message="+httpRequester.statusText;
			alert (message);
		}
	}
}
//========================================================================
function MakeAjaxCall(url, async, resp){

	if(httpRequester){

//alert(url);

		httpRequester.open("GET", url, async);

		if(mtype == 1) httpRequester.onreadystatechange = ResponseSave;
		else httpRequester.onload = ResponseSave;

		httpRequester.send(null);
	}
}
//========================================================================
function MakeAjaxCallPost(url, async, resp, data){

	if(httpRequester){

		httpRequester.open("POST", url, async);

		if(mtype == 1) {
			httpRequester.onreadystatechange = ResponseSave;
		}
		else {
			httpRequester.onload = ResponseSave;
		}

		httpRequester.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
//alert(data);
		httpRequester.send(data);
	}
}
//========================================================================
function fajax_call_post(action, params, data){

	var r, resptype = "", async = true;

	if(action=="chat_msg_send"){
		r = ResponseNone;
		async = false;
	}

	else if(action=="profinfo_keywords_set"){
		r = ResponseNone;
	}

	else if(action=="hobbies_keywords_set"){
		r = ResponseNone;
	}

	else if(action=="votings_vote"){
		r = ResponseNone;
	}

	var url = ajax_compose_url(action, params, resptype)
	MakeAjaxCallPost(url, async, r, data);
}
//========================================================================
function ajax_compose_url(action, params, resptype){

	var url;
	if(resptype!=''){
		url = '../../f/ajax_xml.asp?action=' + action;			// !!! вообще неправильно добавлять уровни ../
	} else {
		var url = '../../f/ajax.asp?action=' + action;
	}

	if(params!='')
		url = url + '&' + params;

	return url;
}
//========================================================================
function fajax_call(action, params){

	var r, mthd = "GET", resptype = "", async = true;

	if(action=="file_keywords_get"){
		r = ResponseSave;
		resptype = "txt";
		async = false;
	}

	else if(action=="file_keywords_delete"){
		r = ResponseNone;
		async = false;
	}

	else if(action=="file_folder_create"){
		r = ResponseNone;
		async = false;
	}

	else if(action=="file_folders_getall"){
		r = ResponseSave;
		async = false;
		resptype = "txt";
	}

	else if(action=="file_folder_content_get"){
		r = ResponseSave;
		async = false;
		resptype = "txt";
	}

	else if(action=="file_move_one"){
		r = ResponseNone;
		async = false;
	}

	else if(action=="file_delete_one"){
		r = ResponseNone;
		async = false;
	}

	else if(action=="file_common_info_get"){
		r = ResponseSave;
		async = false;
		resptype = "txt";
	}

//	else if(action=="users_getall"){
//		r = ResponseSave;
//		async = false;
//		resptype = "txt";
//	}

	else if(action=="file_perm_set"){
		r = ResponseNone;
		async = false;
	}

	else if(action=="file_perm_get"){
		r = ResponseSave;
		async = false;
		resptype = "txt";
	}

	else if(action=="file_perm_delete"){
		r = ResponseNone;
		async = false;
	}

	else if(action=="chat_thread_getone"){
		r = ResponseSave;
		async = false;
		resptype = "txt";
	}

	else if(action=="user_nick_check"){
		r = ResponseSave;
		async = false;
		resptype = "txt";
	}

	else if(action=="poll_results_get"){
		r = ResponseSave;
		async = false;
		resptype = "txt";
	}

	else if(action=="user_get_by_nickpart"){
		r = ResponseSave;
		async = false;
		resptype = "txt";
	}

	else if(action=="msgtype_assign"){
		r = ResponseNone;
		async = false;
	}

	else if(action=="rc_readersget"){
		r = ResponseSave;
		async = false;
		resptype = "txt";
	}

	else if(action=="rc_new"){
		r = ResponseNone;
		async = false;
	}

	else if(action=="rc_deleteone"){
		r = ResponseNone;
		async = false;
	}

	else if(action=="rc_set"){
		r = ResponseSave;
		async = false;
		resptype = "txt";
	}

	else if(action=="rub_writeble_getall"){
		r = ResponseSave;
		async = false;
		resptype = "txt";
	}

//	else if(action=="marks_distribution_get"){
//		r = ResponseSave;
//		async = false;
//		resptype = "txt";
//	}

	else r = ResponseNone;

//	else if(action=="file_keywords_setone")	r = ResponseNone;
//	else if(action=="mark_set_one")			r = ResponseNone;
//	else if(action=="mark_delete_one")		r = ResponseNone;
//	else if(action=="file_child_perm_reset")r = ResponseNone;
//	else if(action=="declare_relation")		r = ResponseNone;
//	else if(action=="thread_keywords_set")	r = ResponseNone;
//	else if(action=="importance_set_one")	r = ResponseNone;
//	else if(action=="message_delete_one")	r = ResponseNone;
//	else if(action=="link_create_on_msg")	r = ResponseNone;
//	else if(action=="link_create_on_thread")r = ResponseNone;

	if(r){
		var url = ajax_compose_url(action, params, resptype);

//if(action=="rc_set") alert(url);

		MakeAjaxCall(url, async, r);
	}
}
//========================================================================
//																		//
//																		//
//																		//
//																		//
//																		//
//						Форум, основные скрипты							//
//																		//
//																		//
//																		//
//																		//
//																		//
//========================================================================

selected_text   = "";
selected_author = "";
tm = null;

//=======================================================================
function showhide_rubgroup(groupid){

	var im, sd, d = $("group" + groupid);
	if(d) {
		if(d.style.display=="none") {
			im = "pics/minus.gif";
			sd = "";
		} else {
			im = "pics/plus.gif";
			sd = "none";
		}
		d.style.display=sd;
		d = $("imgroup" + groupid);
		if(d) d.src=im;
	}
}
//=======================================================================
function check_flogon(){

	if(document.flogon.nick_logon.value=="")
		alert("Пожалуйста, введите логин")
	else
	if(document.flogon.pwd_logon.value=="")
		alert("Пожалуйста, введите пароль")
	else{
		obj=document.getElementById("pwd_logon");
		pwd=hex_md5(decode_to_8bit(obj.value));
		obj=document.getElementById("md5pwd_logon");
		obj.value=pwd;
		document.flogon.submit();
	}
}
//=======================================================================
function on_perm_change(mode,n){

	var en = 0, di = 0, obj = $((mode==1?"en":"di") + n);

	if(obj.checked)
		if(1 == mode)
			for(var i = 1; i <= n; i++){
				checkbox_set("en" + i, true);
				checkbox_set("di" + i, false);
			}
		else
			for(var i = 3; i >= n; i--){
				checkbox_set("en" + i, false);
				checkbox_set("di" + i, true);
			}
	else
		if(1 == mode)
			for(var i = 3; i >= n; i--)
				checkbox_set("en" + i, false);
		else
			checkbox_set("di" + n, false);

	for(var i = 1; i <= 3; i++)
		if(checkbox_get("en" + i, false)) en = i;

	for(var i = 3; i >= 1; i--)
		if(checkbox_get("di" + i, false)) di = i;

	setval("en", en);
	setval("di", di);
}
//=======================================================================
function open_fileselect(mode){

	l=screen.width-270;
	h=screen.height-250;

	st="height=" + h + ",width=280,top=100,left=" + l + ",location=0,resizable=0,scrollbars=1,menubar=0,toolbar=0";

	window.open("fileselect.asp?mode=" + mode, "forum_fileselect", st);
}
//=======================================================================
function addtag(idTa, tag){

	var oSel;

	if(mtype == 1){
		if ((oSel=document.selection).type=="Text") {

			var oTr = oSel.createRange();
			if (oTr.parentElement() == document.all[idTa]) {
				oTr.text = "[" + tag + "]" + oTr.text + "[/" + tag + "]";
			}
		}
	}
	else {

//		var st = document.getSelection();
//		st = st.replace(/\r\n/gi, " ");
//		while (st.indexOf("  ") !=-1)
//			st = st.replace(/  /gi, "");
//
//		tag = '[' + tag + ']' + st + '[/' + tag + ']';

		tag = '[' + tag + '][/' + tag + ']';
		document.fnewmsg.msgtext.value += tag;
	}
}
//=======================================================================
function getkey(){

	if(eval(Key)) check_form();
}
//=======================================================================
function check_form(){

	if(document.fnewmsg.subject.value=="")
		alert("Пожалуйста, введите тему сообщения")

	else if(document.fnewmsg.msgtext.value=="")
		alert("Пожалуйста, введите текст сообщения")

	else if(0 == getint("whom"))
		alert("Пожалуйста, выберите получателя")

	else {			//document.fnewmsg.submit()

		document.fnewmsg.target="";
		document.fnewmsg.action=form_action;
		document.fnewmsg.submit();
	}
}
//=======================================================================
function preview_msg(view, CurrentAuthorID){

	if(getval("msgtext") == "")alert("Пожалуйста, введите текст сообщения")
	else{
		window.open("", "preview", "height=400;width=600;toolbar=no,location=no,directories=no,status=yes,menubar=no,scrollbars=yes,resizable=yes,top=0,left=0");
		document.fnewmsg.target="preview";
		document.fnewmsg.action="preview.asp?view=" + view + "&uid=" + CurrentAuthorID;
		document.fnewmsg.submit();
	}
}
//=======================================================================
//function addsmile(smile){
//	document.fnewmsg.msgtext.value += smile;
//}
//=======================================================================
function save_selection(id, nm){

	selected_author = nm;

	if (document.getSelection){
		selected_text = document.getSelection();

		selected_text = selected_text.replace(/\r\n\r\n/gi, "_doublecaret_");
		selected_text = selected_text.replace(/\r\n/gi, " ");
		while (selected_text.indexOf("  ") !=-1)
			selected_text = selected_text.replace(/  /gi, "");

		selected_text = selected_text.replace(/_doublecaret_/gi, "\r\n\r\n");

	} else
		selected_text = document.selection.createRange().text;

	if(selected_text!=""){
		el = $("quote_icon_" + id);
		if(el)
			el.style.display="";

		tm = window.setTimeout('quote_hide_icon("quote_icon_' + id + '")', 5000);
	}
}
//=======================================================================
function quote_add_selection(dv){

	if((selected_text=="")||(selected_author==""))
		return;

	txt = "[quote='" + selected_author + "']" + selected_text + "[/quote]";
	document.fnewmsg.msgtext.value += txt;

	selected_text   = "";
	selected_author = "";

	el = $(dv)
	if(el)
		el.style.display="none";
}
//=======================================================================
function quote_hide_icon(dv){

	window.clearTimeout(tm);
	tm = null;

	el = $(dv)
	if(el)
		el.style.display="none";
}
//=======================================================================
function msgtype_set(el, tid){

	fajax_call("msgtype_assign", "tid=" + tid + "&msgtype=" + el.value);
	if(el.value > 0)
		alert("Тип сообщения сохранен");
	else
		alert("Тип сообщения удален");
}
//=======================================================================
function msgtype_change(el){

	el.blur();
}
//=======================================================================
function mark_set(el, msgid){

	if((el.value>=-2) && (el.value <= 2)) {

		fajax_call("mark_set_one", "msgid=" + msgid + "&mark=" + el.value);
		alert("Оценка проставлена");

	} else {
		fajax_call("mark_delete_one", "msgid=" + msgid);
		alert("Оценка удалена");
	}
}
//=======================================================================
function mark_change(el){

	el.blur();
}
//=======================================================================
function importance_set(el, tid){

	fajax_call("importance_set_one", "tid=" + tid + "&importance=" + el.value);
	alert("Важность ветки проставлена");
}
//=======================================================================
function importance_change(el){

	el.blur();
}
//=======================================================================
function declare_relations(uid, mark){

	var comments = "";
	if(mark!=0){
		comments = prompt('Введите свой комментарий к оценке. Он будет виден пользователю, которому вы ставите оценку.', '');
		if(!comments) comments = "";
	}

	fajax_call("declare_relation", "uid=" + uid + "&mark=" + mark + "&comments=" + EscapeToWin(comments));
	if(mark!=0) alert("Ваш голос учтен");
	else alert("Оценка удалена");
}
//=======================================================================
function thread_keywords_edit(tid){

	var kw = getval("thread_keywords");
	fajax_call("thread_keywords_set", "tid=" + tid + "&txt=" + kw);
	if(kw!="") alert("Ключевые слова заданы");
	else alert("Ключевые слова удалены");
}
//=======================================================================
function message_delete_one(mid){

	var b = confirm("Действительно удалить сообщение?");
	if(b) fajax_call("message_delete_one", "msgid=" + mid);
}
//=======================================================================
function profile_keywords_edit(atype){

	var kw = "";
	if(atype==9) {
		kw = getval("profinfo");
		fajax_call_post("profinfo_keywords_set", "", "keywords=" + EscapeToWin(kw));
	}
	else if(atype==10) {
		kw = getval("hobbies");
		fajax_call_post("hobbies_keywords_set", "", "keywords=" + EscapeToWin(kw));
	}

	if(kw!="") alert("Ключевые слова заданы");
	else alert("Ключевые слова удалены");
}
//=======================================================================
function check_and_post_user_info(){

	var pwd = getval("newpwd");
	var pwd2 = getval("newpwd2");

	if(pwd!=pwd2) alert("Пароли должны совпадать");
	else {
		var p;
		if(pwd=="") p = ""
		else p = hex_md5(decode_to_8bit(pwd));

		setval("newpwd_md5", p);
		document.fuserinfo.submit();
	}

/*
	obj = document.getElementById("newpwd");
	pwd = obj.value;
	obj = document.getElementById("newpwd_md5");
	if(pwd!=""){
		obj.value = hex_md5(decode_to_8bit(pwd));
	} else {
		obj.value = "";
	}
	document.fuserinfo.submit();
*/
}
//=======================================================================
function reset_password(){

	var nick = getval("nick");
	var email = getval("email");

	if((nick=="")||(email==""))
		alert("Необходимо заполнить все поля")
	else{
		fremember.submit()
	}
}
//=======================================================================
function addsmile_adv(smile){

//	smile = smile.replace("&apos;", "'");	
	parent.document.fnewmsg.msgtext.value += smile;

//	var el = parent.document.getElementById("msgtext");
//	el.value += smile;

}
//=======================================================================
function check_fadmin(){

//	if(document.fadmin.subj.value=="" == getval("subj"))
	if("" == getval("subj"))
		alert("Пожалуйста, введите новое название темы")
	else
		document.fadmin.submit();
}
//=======================================================================
function thread_move(){

//	if(document.fthread_move.newrid.value==0)
	if(0 == getint("newrid"))
		alert("Пожалуйста, выберите рубрику, в которую нужно перенести сообщение")
	else
		document.fthread_move.submit();
}
//=======================================================================
function link_create_on_msg(msgid){

	fajax_call("link_create_on_msg", "msgid=" + msgid);
	alert("Закладка добавлена");
}
//=======================================================================
function link_create_on_thread(tid){

	fajax_call("link_create_on_thread", "tid=" + tid);
	alert("Закладка добавлена");
}
//=======================================================================
function forum_votes_check(n){

	var co = 0;
	for(i=1;i<=cAnswersNum;i++)
		if(1 == $("voting" + i).checked)
			co++;

	if(co>cMaxAnswers){

		var el = $("voting" + aans[1]);
		el.checked = 0;

		for(j=1;j<cAnswersNum;j++)
			aans[j] = aans[j + 1];

		aans[cMaxAnswers] = n;
		
	} else
		aans[co] = n;
}
//=======================================================================
function forum_vote(){

	var ii = "", empty_answer = false, av = "";
	for(i=1;i<=cAnswersNum;i++)
		if(1 == $("voting" + i).checked) {
			if($("arb" + i)) {
				av = getval("arb" + i);

				av = av.replace(/!/g, "_exclamation_symbol_");
				av = av.replace(/@/g, "_at_symbol_");

				av = av.replace(/\r|\n/g, " ");

				empty_answer = empty_answer || ("" == av);
			} else
				av = "";

			ii += idss[i] + "@" + av + "!";
		}

	if("" == ii)
		alert("Выберите ответ")
	else if(empty_answer)
		alert("Введите текст ответа")
	else{

		fajax_call_post("votings_vote", "tid=" + cThreadID, "vote=" + EscapeToWin(ii));

		alert("Ваш голос учтен");
	}
}
//=======================================================================
function forum_poll_results_get(w100){

	var including_anonymous = 0;
	if($("poll_including_anonymous")) including_anonymous = ($("poll_including_anonymous").checked ? 1 : 0);

	fajax_call("poll_results_get", "tid=" + cThreadID + "&including_anonymous=" + including_anonymous);

	var html = gforum_poll_results(textresponse, w100);

	setInnerHTML("div_poll_results", html);
}
//=======================================================================
function gforum_poll_results(txt, w100){

	var html = '<table cellspacing=1 cellpadding=1>';

	var items = txt.split("\n");

	for(var i=0;i<items.length;i++){

		var item = items[i].split("\t");
		var txt		 = item[0];
		var percents = item[1];
		var votes	 = item[2];

		if(txt){
			html += '<tr><td>' + txt + '</td><td>';
			if(percents > 0)
				html += '<img src="../f/pics/gray.gif" height=10 width=' + Math.round(w100 * percents / 100) + '>';

			html += '</td><td>' + votes + '</td></tr>'
		}
	}
	html += '</table>';

	return html;
}
//=======================================================================
function gforum_userlist(txt, nick_elem, uid_elem, userlist_div){

	var relp = (typeof(cForumRelativePath) != "undefined" ? cForumRelativePath : "");

	var html = '<table cellspacing=1 cellpadding=1 border=0>';

	var items = txt.split("\n");

	for(var i=0;i<items.length;i++){

		var item	= items[i].split("\t");
		var uid		= item[0];
		var nick	= item[1];

		if(uid){
			html += '<tr><td width=40>&nbsp;</td><td><a href="user.asp?userid=' + uid +
					'"><img src="' + relp + 'pics/userinfo.gif" border=0 alt="Профиль пользователя"></a></td>' +
					'<td><span onclick=forum_user_select(' + uid + ',"' + escape(nick) +
					'","' + nick_elem + '","' + uid_elem + '","' + userlist_div + '") style="cursor:hand" ' +
					'title="Выбрать адресата">' + nick + '</span></td></tr>';
		}
	}
	html += '</table>';

	return html;
}
//=======================================================================
function forum_poll_form_switch(){

	showhide("div_poll_form");
}
//=======================================================================
function forum_find_user_by_nickpart(nick_elem, uid_elem, userlist_div){

//alert(nick_elem);
//alert(uid_elem);
//alert(userlist_div);

	var np = getval(nick_elem);
	if(np != ""){
		fajax_call("user_get_by_nickpart", "nickpart=" + EscapeToWin(np));
		var html = gforum_userlist(textresponse, nick_elem, uid_elem, userlist_div);
		setInnerHTML(userlist_div, html);
		show_element(userlist_div);
	}
}
//=======================================================================
function forum_user_select(uid, nick, nick_elem, uid_elem, userlist_div){

	setval(nick_elem, unescape(nick));
	setval(uid_elem, uid);
	hide_element(userlist_div);
}
//=======================================================================
function gf_marks_distribution(objid){

	var html = "<div style=\"cursor:hand\" onclick=of_div_hide('fd_marks_distribution')>" +
//		"<img src=\"pic.asp?mode=marks_distribution&objid=" + objid + "&rand=" + Math.random() +
		"<img src=\"pic.asp?mode=marks_distribution&objid=" + objid +
		"\" border=0 alt=\"Распределение голосов\"></div>";

	html = EnvelopeData(html);

	return html;
}
//=======================================================================
function forum_show_marks_distribution(objid){

	var srcDiv  = $('mdistr' + objid);
	var menuDiv = $('fd_marks_distribution');

	menuDiv.style.display = "";
	menuDiv.style.position = "absolute";
	menuDiv.style.left = offsetGet(srcDiv, "left") + 3;
	menuDiv.style.top = offsetGet(srcDiv, "top") + 3;
	menuDiv.style.width = "100px"
	menuDiv.style.height = "84px"
	menuDiv.style.background = "transparent";
	menuDiv.innerHTML = gf_marks_distribution(objid);
}
//=======================================================================
function gf_read_confirmation_setting_form(txt, objtype, objid){

	var html = "<table width=100% height=100% cellspacing=0 cellpadding=0 bgcolor=#ccccff><tr><td>" +
				"<table width=100%><tr bgcolor=#cccccc><td>Пользователь</td><td>Прочтено</td><td>&nbsp;</td></tr>";
	var items = txt.split("\n");

	for(var i=0;i<items.length;i++){

		var item	= items[i].split("\t");
		var uid		= item[0];
		var nick	= item[1];
		var dt_read = item[2];

		if(uid){
			html += "<tr><td>" + nick + "</td>" +
				"<td>" + dt_read + "</td>" +
				"<td>";
			if(dt_read == "")
				html += "<div style=\"cursor:hand\" onclick=forum_rc_deleteone('" + objtype + "'," + objid + "," + uid +
							")><img src=\"pics/msg_del.gif\" alt=\"Отменить необходимость подтверждения прочтения\"></div>";

			html += "</td></tr>";
		}
	}

	html += "</table><br><hr size=1><br>";

	html += 'Пользователь <input id=nickpart name=nickpart class=select1 value="" ' +
		'onkeypress="if(event.keyCode==13) forum_find_user_by_nickpart(\'nickpart\',\'whom\',\'div_whoms\')"> ' +
		'<input type=button value="Найти" onclick=forum_find_user_by_nickpart("nickpart","whom","div_whoms") ' +
		'style="font-size:8pt;border-style:solid;border-width:1">' +
		'<br>' +
		'<div id=div_whoms style="display:none;width:250px;background:#f7f7c7"></div>' +
		'<input type=hidden id=whom name=whom value="-1">' +
		'<br><input type=button value="Добавить" onclick="forum_rc_new(\'' + objtype + '\',' + objid + ')">';

	html += '<br><div style="cursor:hand" onclick=of_div_hide(\'fd_rc_form\') align=center>' +
			'<br>Закрыть<br></div></td></tr></table>';

	html = EnvelopeData(html);

	return html;
}
//=======================================================================
function forum_rc_deleteone(objtype, objid, uid){

	fajax_call("rc_deleteone", "objtype=" + objtype + "&objid=" + objid + "&uid=" + uid);

	forum_show_read_confirmation_setting_form(objtype, objid);
}
//=======================================================================
function forum_rc_new(objtype, objid){

	fajax_call("rc_new", "objtype=" + objtype + "&objid=" + objid + "&uid=" + getint("whom"));

	forum_show_read_confirmation_setting_form(objtype, objid);
}
//=======================================================================
function forum_show_read_confirmation_setting_form(objtype, objid){

	fajax_call("rc_readersget", "objtype=" + objtype + "&objid=" + objid);

	var srcDiv  = $('rc' + objid);
	var menuDiv = $('fd_rc_form');

	menuDiv.style.display = "";
	menuDiv.style.position = "absolute";
	menuDiv.style.left = offsetGet(srcDiv, "left") - 250;
	menuDiv.style.top = offsetGet(srcDiv, "top") + 3;
	menuDiv.style.width = "300px"
	menuDiv.style.height = "200px"
	menuDiv.style.background = "transparent";
	menuDiv.innerHTML = gf_read_confirmation_setting_form(textresponse, 'm', objid);
}
//=======================================================================
function forum_rc_set(objtype, objid, uid, key){

	var rc_v = getval("rc_v" + objid);

	fajax_call("rc_set", "objtype=" + objtype + "&objid=" + objid + "&uid=" + uid + "&key=" + key + "&rc_v=" + rc_v);

	if(textresponse.charAt(0) == "1")
		alert("Прочтение подтверждено");
	else{
		alert("Ошибка при подтверждении прочтения. Возможно, введен неверный код.");
		location.reload(true);
	}
}
//=======================================================================

//========================================================================
//																		//
//																		//
//																		//
//																		//
//																		//
//								Чат										//
//																		//
//																		//
//																		//
//																		//
//																		//
//========================================================================

var IntervalID, chatLastMID = 0;

//=======================================================================
function chat_messages_show(tid){

	fajax_call("chat_thread_getone", "tid=" + tid + "&last_mid=" + chatLastMID);

	var r2 = gchat_messages_show(textresponse);

	var doc = chat_frame.document;
	doc.write(r2);

	chat_frame.scrollTo(0, 1000000);
}
//=======================================================================
function chat_message_send(tid, txt, cs){

	fajax_call_post("chat_msg_send", "tid=" + tid, ifelse(cs,"convert_smiles=on&","") + "msgtext=" + EscapeToWin(txt));
}
//=======================================================================
function chat_refreshInterval_change(tid){

	if(IntervalID)
		window.clearInterval(IntervalID);

	var i = getint("intervals") * 1000;
	if(i<5000) i=5000;

	IntervalID = window.setInterval("chat_messages_show(" + tid + ",1)", i);
}
//=======================================================================
function chat_start(tid){

	var doc = chat_frame.document;
	var html = gchat_start();
	doc.open();
	doc.write(html);

	chat_messages_show(tid, 0);
}
//=======================================================================
function gchat_start(){

	var html = '<link href=forum.css rel=stylesheet type=text/css>' +
		'<link href="../global.css" rel=stylesheet type=text/css>' +
		'<body leftmargin=0 rightmargin=0 topmargin=0 bottommargin=0 bgcolor=#cceeff>';

	return html;
}
//=======================================================================
function gchat_messages_show(txt){

	var html = '<table width=100% cellspacing=0 cellpadding=0>';

	var msgs = txt.split("\n");

	for(var i=0;i<msgs.length;i++){

		var msg = msgs[i].split("\t");
		var id		 = msg[0];
		var authorid = msg[1];
		var nick	 = msg[2];
		var dt		 = msg[3];
		var unread	 = msg[4];
		var msgtext	 = msg[5];

		if(id){
			html += '<tr><td class=';

			if (unread==1) html += 'forum_thread_table_body_unread';
			else html += 'forum_thread_table_body';

			html += '>' + dt + ': <a href="user.asp?userid=' + authorid + '" target=userinfo>' + nick + '</a>: ' + msgtext + '</td></tr>';

			chatLastMID = id;
		}
	}
	html = html + '</table></body>';

	return html;
}
//========================================================================
//																		//
//																		//
//																		//
//																		//
//																		//
//								Файлы									//
//																		//
//																		//
//																		//
//																		//
//																		//
//========================================================================

var cKeyword = 1;
//var textresponse;
var CurrentFolder = '';
var dragged_fileid;
var photopoll_fileid;
var quota_exceeds = 0;
//var userlist = '';

//=======================================================================
function getval(id){

	var el = document.getElementById(id);

	if(el) return el.value;
	else return "";
}
//=======================================================================
function getfloat(id){

	var v = getval(id);
	v = v.replace(",",".");

	if(isNaN(v) || (v==""))
		return -1;
	else
		return parseFloat(v);		//eval(v);
}
//=======================================================================
function getint(id){

	var v = getval(id);
	v = v.replace(","," ");
	v = v.replace("."," ");

	if((v=="") || isNaN(v))
		return -1;
	else
		return parseInt(v,10);		//eval(v);
}
//=======================================================================
function file_keywords_setone(fileid){

	of_div_hide('fd_keywords');
	var a;
	a = prompt('Введите ключевое слово для файла', '');
	if(a){
		if(a!="")
			//ДЕКОДИРОВАТЬ a перед отправкой       ??? encodeURIComponent
			fajax_call("file_keywords_setone", "fileid=" + fileid + "&txt=" + a);
	}
}
//=======================================================================
function file_keywords_get(fileid){

	fajax_call("file_keywords_get", "fileid=" + fileid);
	of_keywords(textresponse, 'div_file_keywords_get' + fileid);
}
//=======================================================================
function file_keywords_delete(fileid, attrid){

	fajax_call("file_keywords_delete", "attrid=" + attrid);
	file_keywords_get(fileid);
}
//=======================================================================
function files_change_orderby(){

	elOrderby = document.getElementById("orderby");
	elDesc    = document.getElementById("desc");

	location = "files.asp?orderby=" + elOrderby.value + "&desc=" + elDesc.value;
}
//=======================================================================
function addfile_adv(file, virtual_name){

	txt = "\r\n" + "[filelocal]" + file + "[/filelocal]" + "\r\n" + "[small][gray]" + virtual_name + "[/gray][/small]" + "\r\n";
//if(window.opener.window)
//	alert("exist")
//else
//	alert("not");

//	el = window.opener.window.document.getElementById("msgtext");




//	if(mtype==1)
//		el = window.opener.document.getElementById("msgtext");			// ie opera
//	else
//		el = window.opener.document.fnewmsg
//
//if(el)
//	alert("ok23")
//else
//	alert("no!23");
//
//var ddd = window.opener.document;
//if (ddd)
//	alert("window.opener.doc exist");
//else
//	alert("window.opener.doc not exist");
//
//
////el = ddd.getElementById("msgtext");		
//frm = ddd.fnewmsg;
//el = frm.msgtext;
//
//if(el)
//	alert("ok")
//else
//	alert("no!!!");




//	window.opener.window.fnewmsg.msgtext.value += txt;
	window.opener.document.fnewmsg.msgtext.value += txt;
}
//=======================================================================
function addfolder_adv(folderid){

	txt = "\r\n" + "[folder]" + folderid + "[/folder]" + "\r\n";
	window.opener.document.fnewmsg.msgtext.value += txt;
}
//=======================================================================
function file_folder_new(){

	var a 
	a = prompt('Введите название папки', '');
	if(a){
		if(a!="")
			//ДЕКОДИРОВАТЬ a перед отправкой
			fajax_call("file_folder_create", "folder=" + CurrentFolder + a);

			fajax_call('file_folders_getall', '');
			of_folders_getall(textresponse, 'div_folders', false, '#cccccc', 'open');
			file_folder_click(CurrentFolder);
	}
}
//=======================================================================
function of_folder_content(txt, orderby, desc, cols, infopos, hreftype, filter){

	var divElement = document.getElementById("div_files");
	var html = gf_folder_content(txt, orderby, desc, cols, infopos, hreftype, filter);
	divElement.innerHTML = html;

	var folder = txt.split("\n")[0];

	if(folder=='-')
		folder='';

	var divElement = document.getElementById("div_path");
	divElement.innerHTML = '<h3>Мои файлы/' + folder.replace(/%20/g, ' ') + '</h3>';

	var divElement = document.getElementById("div_folder_new");
	if(folder=='')
		divElement.style.display = ''
	else
		divElement.style.display = 'none';

}
//=======================================================================
function of_allfiles(txt, orderby, desc, cols, infopos, hreftype, filter){

	var divElement = document.getElementById("div_files");
	var html = gf_folder_content(txt, orderby, desc, cols, infopos, hreftype, filter);
	divElement.innerHTML = html;
}
//=======================================================================
function file_rubric_click(rid, action){

	of_div_hide('fd_rubrics');
	if(action=="photopoll_create"){
		location = "newthread.asp?rid=" + rid + "&mode=photopoll&fileid=" + photopoll_fileid;
	}
}
//=======================================================================
function file_folder_click(folder){

	of_div_hide('fd_keywords');
	CurrentFolder = folder;
//	ajax_call('file_folder_content_get', 'folder=' + folder + '&filter=&orderby=filesize&desc=1');
	fajax_call('file_folder_content_get', 'folder=' + escape(folder) + '&filter=&orderby=filesize&desc=1');
	of_folder_content(textresponse, 'created', 0, 4, 'under', 'open', '');
}
//=======================================================================
function of_keywords(txt, div){

	var srcDiv = document.getElementById(div);
	var infoDiv = document.getElementById('fd_keywords');

	infoDiv.style.display = "";
	infoDiv.style.position = "absolute";
	infoDiv.style.left = offsetGet(srcDiv, "left");
	infoDiv.style.top = offsetGet(srcDiv, "top");
	infoDiv.style.width = "120px"
	infoDiv.style.height = "100px"
	infoDiv.style.background = "transparent";

	infoDiv.innerHTML = gf_keywords(txt);
}
//=======================================================================
function file_actions_menu(fileid, isFolder){

	var srcDiv  = document.getElementById('div_actions_menu' + fileid);
	var menuDiv = document.getElementById('fd_actions_menu');

	menuDiv.style.display = "";
	menuDiv.style.position = "absolute";
	menuDiv.style.left = offsetGet(srcDiv, "left");
	menuDiv.style.top = offsetGet(srcDiv, "top");
	menuDiv.style.width = "120px"
	menuDiv.style.height = "100px"
	menuDiv.style.background = "transparent";
	menuDiv.innerHTML = gf_actions_menu(fileid, isFolder);
}
//=======================================================================
function of_rubrics_getall(txt, div, envelope, cl, action){

	var html = gf_rubrics_getall(txt, cl, action);

	if(envelope){
		html = html + '<table width=100% bgcolor=' + cl + '><tr><td>' +
			'<div style="cursor:hand" onclick=of_div_hide(\'fd_rubrics\') align=center>' +
			'<br>Закрыть<br></div>' +
			'</td></tr></table>';
		html = EnvelopeData(html);
	}

	var divElement = $(div);
	divElement.style.display = "";
	divElement.innerHTML = html;
}
//=======================================================================
function file_rubrics_write(fileid){

	of_div_hide('fd_actions_menu');

	fajax_call("rub_writeble_getall", "");
	of_rubrics_getall(textresponse, 'fd_rubrics', true, '#ccccff', 'photopoll_create');

	var srcDiv  = $('div_actions_menu' + fileid);
	photopoll_fileid = fileid;
	of_div_show('fd_rubrics', offsetGet(srcDiv, 'left'), offsetGet(srcDiv, 'top'), '200px', '100px');
}
//=======================================================================
function file_move_one(fileid){

	of_div_hide('fd_actions_menu');

	fajax_call("file_folders_getall", "");
	of_folders_getall(textresponse, 'fd_folders', true, '#ccccff', 'move');

	var srcDiv  = $('div_actions_menu' + fileid);
	dragged_fileid = fileid;
	of_div_show('fd_folders', offsetGet(srcDiv, 'left'), offsetGet(srcDiv, 'top'), '150px', '100px');
}
//=======================================================================
function file_delete_one(fileid){

	of_div_hide('fd_actions_menu');
	fajax_call("file_delete_one", "fileid=" + fileid);

	fajax_call('file_folders_getall', '');
	of_folders_getall(textresponse, 'div_folders', false, '#cccccc', 'open');

	file_folder_click(CurrentFolder);
	file_common_info_get();
}
//=======================================================================
function of_folders_getall(txt, div, envelope, cl, action){

	var html = gf_folders_getall(txt, cl, action);

	if(envelope){
		html = html + '<table width=100% bgcolor=' + cl + '><tr><td>' +
			'<div style="cursor:hand" onclick=of_div_hide(\'fd_folders\') align=center>' +
			'<br>Закрыть<br></div>' +
			'</td></tr></table>';
		html = EnvelopeData(html);
	}

	var divElement = document.getElementById(div);
	divElement.style.display = "";
	divElement.innerHTML = html;
}
//=======================================================================
function of_div_hide(div){

//	var d = document.getElementById(div);
//	d.style.display = "none";

	if($(div)) $(div).style.display = "none";
}
//=======================================================================
function of_div_show(div, left, top, width, height){

	d = document.getElementById(div);

	d.style.position = "absolute";
	d.style.left = left;
	d.style.top = top;
	d.style.width = width;
	d.style.height = height;
	d.style.background = "transparent";
	d.style.display = "";
}
//=======================================================================
function f_ondragstart(fileid){

	dragged_fileid = fileid;
}
//=======================================================================
function f_ondrop(folder){

	fajax_call('file_move_one', 'destfolder=' + folder + '&fileid=' + dragged_fileid);

	of_div_hide('fd_folders');

	fajax_call('file_folders_getall', '');
	of_folders_getall(textresponse, 'div_folders', false, '#cccccc', 'open');

	file_folder_click(CurrentFolder);
}
//=======================================================================
function files_filterset(){

	var f = document.getElementById("filter");
	fajax_call('file_folder_content_get', 'folder=*&filter=' + f.value + '&orderby=created&desc=1');
	of_allfiles(textresponse, 'created', 0, 1, 'right', 'addfile', '');
}
//=======================================================================
function file_common_info_get(){

	fajax_call('file_common_info_get', '');
	var divElement = document.getElementById("div_file_common_info");
	divElement.innerHTML = gf_common_info(textresponse);
}
//=======================================================================
function file_permissions_menu(fileid, isFolder){

	var srcDiv;
	var vleft;
	var vtop;
	if(fileid == -2){
		srcDiv = document.getElementById('div_default_permissions');
		vleft = offsetGet(srcDiv, "left") + 250;
		vtop = offsetGet(srcDiv, "top") + 32;
	}
	else{
		srcDiv = document.getElementById('div_actions_menu' + fileid);
		vleft = offsetGet(srcDiv, "left");
		vtop = offsetGet(srcDiv, "top");
	}

	var menuDiv = document.getElementById('fd_permissions_menu');

	menuDiv.style.display = "";
	menuDiv.style.position = "absolute";
	menuDiv.style.left = vleft;
	menuDiv.style.top = vtop;
	menuDiv.style.width = "200px"
	menuDiv.style.height = "100px"
	menuDiv.style.background = "transparent";

	of_div_hide('fd_actions_menu');
	menuDiv.innerHTML = gf_permissions_menu(fileid, isFolder);
}
//=======================================================================
function file_perm_set_d(fileid, el, isFolder){

	fajax_call('file_perm_set', 'fileid=' + fileid + '&uid=-2&permvalue=' + el.value);

	file_permissions_menu(fileid, isFolder);
}
//=======================================================================
function file_perm_set_s(fileid, isFolder){

//	var uid = getint("f_prm_spec_users" + fileid);
	var uid = getint("whom");

	if(uid != -1) {
		var permvalue = getint("f_prm_spec" + fileid);
		fajax_call('file_perm_set', 'fileid=' + fileid + '&uid=' + uid + '&permvalue=' + permvalue);
		file_permissions_menu(fileid, isFolder);
	}
}
//=======================================================================
function file_perm_delete(fileid, isFolder, uid){

	fajax_call('file_perm_delete', 'fileid=' + fileid + '&uid=' + uid);

	file_permissions_menu(fileid, isFolder);
}
//=======================================================================
function file_child_perm_reset(fileid){

	fajax_call('file_child_perm_reset', 'fileid=' + fileid);
}
//=======================================================================
function doblur(el){

	el.blur();
}
//=======================================================================
//																		//
//																		//
//																		//
//																		//
//																		//
//							Файлы, генерация							//
//																		//
//																		//
//																		//
//																		//
//																		//
//========================================================================

//=======================================================================
function offsetGet(el, prop){

	var l=0;
	var v=0;
	while(el){
		v=(prop=="left")?el.offsetLeft:el.offsetTop;
		l+=v;
		el=el.offsetParent;
	}
	return l
}
//=======================================================================
function gf_rubrics_getall(txt, cl, action){

	var html = '<table width=100% cellspacing=0 cellpadding=0 bgcolor=' + cl + '><tr><td>';

	var rubrics = txt.split("\n");

	for(var i=0;i<rubrics.length;i++){

		var rubric = rubrics[i].split("\t");
		var rid    = rubric[0];
		var rname  = rubric[1];

		if(rid){

			if(action=='photopoll_create')
				html += '<span style="cursor:hand" onclick=file_rubric_click(' + rid +
					',"' + action + '")><img src="pics/tree/folder.gif">' + rname + '</span><br>';
		}
	}
	html = html + '</td></tr></table>';

	return html;
}
//=======================================================================
function gf_folders_getall(txt, cl, action){

	var html = '<table width=100% cellspacing=0 cellpadding=0 bgcolor=' + cl + '><tr><td>';

	var folders = txt.split("\n");

	for(var i=0;i<folders.length;i++){

		var folder = folders[i].split("\t");
		var level = folder[0];
		var name  = folder[1];
		var url   = folder[2];

		if(name){
			if(url=='-') url = '';

			for(var lv=1;lv<=level;lv++)
				html = html + '<img src="pics/tree/empty.gif">';

			var url2 = url.replace(/ /g, '%20');

			if(action=='open')
				html = html + '<span style="cursor:hand" onclick=file_folder_click("' + url2 +
					'") ondragenter="return false" ondragover="return false" ondrop="return f_ondrop(\'' +
					url2 + '\')"><img src="pics/tree/folder.gif">' + name + '</span><br>';
			else if(action=='move')
				html = html + '<span style="cursor:hand" onclick=f_ondrop(\'' +	url2 + '\')>' +
					'<img src="pics/tree/folder.gif">' + name + '</span><br>';
		}
	}
	html = html + '</td></tr></table>';

	return html;
}
//=======================================================================
function EnvelopeData(html){

	return '<table border=0 width=100% cellspacing=0 cellpadding=0>' +
		'<tr>' +
			'<td width=7><img src="../f/pics/co_tl.gif"></td>' +
			'<td background="../f/pics/b7-t.gif"></td>' +
			'<td width=7><img src="../f/pics/co_tr.gif"></td>' +
		'</tr><tr>' +
			'<td background="../f/pics/b7-l.gif"></td>' +
			'<td>' +
				html +
			'</td>' +
			'<td background="../f/pics/b7-r.gif"></td>' +
		'</tr><tr>' +
			'<td width=7><img src="../f/pics/co_bl.gif"></td>' +
			'<td background="../f/pics/b7-b.gif"></td>' +
			'<td width=7><img src="../f/pics/co_br.gif"></td>' +
		'</tr>' +
	'</table><br>';
}
//=======================================================================
function gf_keywords(txt){

	var html = '<table width=100% cellspacing=0 cellpadding=0 bgcolor=#ccccff>';
	var keywords = txt.split('\n');
	var co = 0;
	for(var i=0;i<keywords.length;i++){

		var keyword = keywords[i].split('\t');
		var id      = keyword[0];
		var fileid  = keyword[1];
		var keyword = keyword[2];

		if(id){
			html = html + '<tr valign=top><td>' + keyword + '</td><td width=15 align=right>' +
					'<div style="cursor:hand" id=div_file_keywords_delete' + id +
					' onclick=file_keywords_delete(' + fileid + ',' + id + ')><img src="pics/msg_del.gif" ' +
					'border=0 alt="Удалить ключевое слово"></div></td>' +
					'</tr><tr height=1 bgcolor=#7f7f7f><td colspan=2></td></tr>';
		}
	}

	html = html + '<tr><td colspan=2><div style="cursor:hand" onclick=of_div_hide(\'fd_keywords\') align=center>' +
		'<br>Закрыть<br></div></td></tr></table>'

	html = EnvelopeData(html);
	return html;
}
//=======================================================================
function gf_folder_content(txt, orderby, desc, cols, infopos, hreftype, filter){

// hreftype - addfile, addfolder, open

	var cellpadding = ifelse(infopos == 'under', 5, 0);

	var html = '<table cellpadding=' + cellpadding + ' cellspacing=0 bgcolor=#f7e7e7 border=0 width=100%>';

	var files = txt.split("\n");

	var canShowFiles = ifelse(hreftype != 'addfolder', true, false);
	var canShowFolders = ifelse(hreftype != 'addfile', true, false);

	var co = 0;
	for(var i=1;i<files.length;i++){				// т.е. строка 0 - имя папки

		var file = files[i].split("\t");

		var id           = file[0];
		var uid          = file[1];
		var real_name    = file[2];
		var output_name  = file[3];
		var virtual_name = file[4];
		var created      = file[5];
		var filesize     = file[6];
		var thumb        = file[7];

		if(id){

			if(co == 0)
				html = html + '<tr valign=top>';

			if((filesize > 0) && canShowFiles) {

				html = html + '<td>' + gf_onefile(id, uid, virtual_name, output_name, created, filesize, thumb, hreftype, infopos)
				html = html + '</td>';
				co++;
			};

			if((filesize == 0) && canShowFolders) {

				html = html + '<td>' + gf_onefolder(id, uid, output_name, virtual_name, created, hreftype)
				html = html + '</td>';
				co++;
			}

			if(co >= cols) {
				co = 0;
				html = html + '</tr>';
				if(i < (files.length - 1))
					html = html + '<tr height=3><td colspan=' + cols + ' bgcolor=#ffffff></td></tr>';
			}
		}
	}

	html = html + '</table>';

	return html;
}
//=======================================================================
function gf_infopanel(fileid, output_name, created, filesize){

	var html = '';

	if(filesize > 0){

		html = html + '<table width=100% cellspacing=0 cellpadding=2>' +
			'<tr valign=top>' + 
				'<td width=20>' +
					'<div style="cursor:hand" align=left onclick=file_keywords_setone(' + fileid + ')>' +
					'<img src="pics/info2.gif" alt="Ввести ключевое слово"></div>' +
					'<div style="cursor:hand" align=left id="div_file_keywords_get' + fileid + '" ' +
					'onclick=file_keywords_get(' + fileid + ')><img src="pics/quest2.gif" alt="Ключевые слова"></div>' +
				'</td><td class=forum_s7 align=center>' +
					output_name + '<br>' + created + '<br>' + filesize + ' байт' +
				'</td><td width=20>' +
					'<div style="cursor:hand" align=left id="div_actions_menu' + fileid + '" '+
					'onclick=file_actions_menu(' + fileid + ',false)>' +
					'<img src="pics/action.gif" alt="Действия"></div>' +
				'</td>' +
			'</tr>' +
		'</table>';
	}

	return html;
}
//=======================================================================
function gf_thumb(virtual_name, thumb, uid, fileid, hreftype){

	var html = '';
	var	alt = '';
	var onclick = '';

	if(hreftype == 'addfile') {
		alt = 'Вставить в сообщение';
//		html = html + '<a href="javascript:addfile_adv(' + fileid + ',\'' + virtual_name + '\')">';
		html = html + '<a href="javascript:addfile_adv(' + fileid + ',\'' + virtual_name.replace(/'/g, "\\'") + '\')">';

	} else if(hreftype == 'open') {
		alt = 'Открыть в новом окне';
		html = html + '<a href="file.asp?fileid=' + fileid + '" target=files ondragstart="f_ondragstart(' + fileid + ')">';

	} else if(hreftype == 'enter') {

		alt = 'Открыть папку';
		html += '<a href="" onclick=file_folder_click("' + virtual_name.replace(/ /g, '%20') + '")>';

	} else if(hreftype == 'addfolder') {
		alt = 'Вставить альбом в сообщение';
		html = html + '<a href="javascript:addfolder_adv(' + fileid + ')">';
	}

	html += '<img src="' + thumb + '" border=0 alt="' + alt + '"' + onclick + '>';

	if(alt!='')
		html = html + '</a>';

	return html;
}
//=======================================================================
function gf_onefile(fileid, uid, virtual_name, output_name, created, filesize, thumb, hreftype, infopos){

	var html = '<table cellspacing=0 cellpadding=0 border=0>' +
		'<tr height=120><td width=120 align=center>' +
		gf_thumb(virtual_name, thumb, uid, fileid, hreftype) +
		'</td>';

	if(infopos=='under')
		html = html + '</tr><tr>';

	html = html + '<td width=120>' + gf_infopanel(fileid, output_name, created, filesize) +
		'</td></tr></table>';

	return html;
}
//=======================================================================
function gf_onefolder(folderid, uid, output_name, virtual_name, created, hreftype){

	var html = '<table cellspacing=0 cellpadding=0 border=0>' +
		'<tr height=120>' +
			'<td width=120 align=center>' +

				gf_thumb(virtual_name, "thumbs/folder.gif", uid, folderid, ifelse(hreftype == 'open', 'enter', hreftype)) +

			'</td>' +
		'</tr><tr>' +
			'<td width=120>' +
				'<table width=100% cellspacing=0 cellpadding=2 border=0>' +
					'<tr valign=top>' + 
						'<td width=20>&nbsp;</td>' +
						'<td class=forum_s7 align=center>' +
							output_name + '<br>' + created +
						'</td><td width=20>' +
							'<div style="cursor:hand" align=left id="div_actions_menu' + folderid + '" '+
								'onclick=file_actions_menu(' + folderid + ',true)>' +
								'<img src="pics/action.gif" alt="Действия">' +
							'</div>' +
						'</td>' +
					'</tr>' +
				'</table>' +
			'</td>' + 
		'</tr>' + 
	'</table>';

	return html;
}
//=======================================================================
function gf_actions_menu(fileid, isFolder){

	var s = '';
	if(isFolder) s = 'папку'
	else s = 'файл';

	var html = '<table border=0 width=100% cellspacing=0 cellpadding=0 bgcolor=#ccccff>';
	if(!isFolder)
		html += '<tr valign=top>' +
			'<td><div style="cursor:hand" onclick=file_move_one(' + fileid + ')>Переместить файл</div><br>' +
			'</td></tr>';

	html += '<tr valign=top>' +
			'<td>' + 
				'<div style="cursor:hand" onclick=file_permissions_menu(' + fileid + ',' + isFolder + ')>Настроить разрешения</div><br>' +
		'</tr><tr valign=top>' +
			'<td>' + 
				'<div style="cursor:hand" onclick=file_rubrics_write(' + fileid + ')>Создать фото-опрос</div><br>' +
		'</tr><tr valign=top>' +
			'<td>' + 
				'<div style="cursor:hand" onclick=file_delete_one(' + fileid + ')>Удалить ' + s + '</div><br>' +
		'</tr><tr valign=top>' +
			'<td>' +
				'<div style="cursor:hand" onclick=of_div_hide(\'fd_actions_menu\') align=center>' +
				'<br>Закрыть<br></div>' +
			'</td>' +
		'</tr>' +
	'</table>';

	html = EnvelopeData(html);
	return html;
}
//=======================================================================
function gf_common_info(txt){

	var html = '';
	var info          = txt.split("\t");
	var quota         = info[0];
	var maxsize       = info[1];
	var count         = info[2];
	var totalsize     = info[3];
	quota_exceeds     = info[4];

	html = html + "Всего файлов: " + count + ", ";
	var frm = document.getElementById("div_file_upload_form");
	if(quota_exceeds==1){
		html = html + "<font color=red>";
		frm.style.display = "none";
	} else {
		frm.style.display = "";
	}

	html = html + "общим объемом " + totalsize + " / " + quota + " Мб";

	if(quota_exceeds=="1"){
		html = html + "</font>";
	}

	html = html + "<br>Максимальный размер файла: " + maxsize + " Мб";

	return html;
}
//=======================================================================
function gf_permissions_menu(fileid, isFolder){

	var arDefPerms = new Array('не определено', 'чтение запрещено', 'чтение разрешено');

	fajax_call("file_perm_get", "fileid=" + fileid);
//	var defperm = parseInt(textresponse.split('\n')[0],10);

	// получаем все разрешения, находим умолчание
	var defperm = -1;
	var shtml = '';
	var perms = textresponse.split('\n');

	for(var i=0; i<perms.length; i++){
		var perm = perms[i].split("\t");
		var uid = parseInt(perm[0],10);
		var nick = perm[1];
		var permvalue = parseInt(perm[2],10);
		if(uid == -2)
			defperm = permvalue;

		if(uid >= 0){
			shtml = shtml + '<tr><td>' + nick + '</td><td>' + arDefPerms[permvalue + 1] + '</td>' +
				'<td><span style="cursor:hand" onclick=file_perm_delete(' + fileid + ',' +
				isFolder + ',' + uid + ')>' + '<img src="pics/msg_del.gif" border=0 ' +
				'alt="Удалить специальное разрешение"></span></td></tr>';
		}
	}

	var defhtml = "";
	for(i=-1; i<=1; i++){
		if((fileid != -2) || (i != -1)){
			defhtml = defhtml + '<option value=' + i;
			if(i == defperm)
				defhtml = defhtml + ' selected';

			defhtml = defhtml + '>' + arDefPerms[i+1] + '</option>';
		}
	}

	if(shtml == '')
		shtml = "<tr><td>нет</td></tr>";

	shtml = '<table width=100% cellspacing=2 cellpadding=2 bgcolor=#ffff77>' + shtml + '</table>';

	var fhtml = '';
	if(isFolder){
		fhtml = '<br><hr size=1><b>Разрешения для дочерних объектов</b>&nbsp;' +
				'<span style="cursor:hand" onclick=file_child_perm_reset(' + fileid +
				')>' + '<img src="pics/msg_del.gif" border=0 ' +
				'alt="Сбросить разрешения для дочерних объектов"></span>';
	}

	var html = '<table border=0 width=100% cellspacing=0 cellpadding=0 bgcolor=#ccccff>' +
		'<tr valign=top>' +
			'<td><b>Разрешения по умолчанию</b><br>' +
				'<select id=fprmdef' + fileid + ' onchange="file_perm_set_d(' + fileid + ',this,' + isFolder + ')" ' +
					'onblur="doblur(this)">' + defhtml +
				'</select>' +
				fhtml + '<br><hr size=1><b>Специальные разрешения</b><br>' +
				shtml + '<br>' +

				'Пользователь <input id=nickpart name=nickpart class=select1 value="" ' +
				'onkeypress="if(event.keyCode==13) forum_find_user_by_nickpart(\'nickpart\',\'whom\',\'div_whoms\')"> ' +
				'<input type=button value="Найти" onclick=forum_find_user_by_nickpart("nickpart","whom","div_whoms") ' +
				'style="font-size:8pt;border-style:solid;border-width:1">' +
				'<br>' + 
				'<div id=div_whoms style="display:none;width:250px;background:#f7f7c7"></div>' +
				'<input type=hidden id=whom name=whom value="-1">' +

				'Тип<br>' +
				'<select id=f_prm_spec' + fileid + '>' +
					'<option value=0 selected>чтение запрещено</option>' +
					'<option value=1>чтение разрешено</option>' +
				'</select><br><input type=button value="Добавить" onclick="file_perm_set_s(' + fileid + ',' + isFolder + ')">' +
			'</td>' +
		'</tr><tr valign=top>' +
			'<td>' +
				'<div style="cursor:hand" onclick=of_div_hide(\'fd_permissions_menu\') align=center>' +
				'<br>Закрыть<br></div>' +
			'</td>' +
		'</tr>' +
	'</table>';

	html = EnvelopeData(html);

	return html;
}
//=======================================================================
