var mss_hide_queue = new Array();
var old_group_data = new Array();
if (typeof window["disable_mss_menus"] == 'undefined')	disable_mss_menus = 0;
if (typeof window["disable_mss_messenger"] == 'undefined') disable_mss_messenger = 0;

function mss_create_messenger()
{
	var sid = mss_get_cookie("SID");

	if (sid!="" && !disable_mss_messenger)
	{
		var d = document.getElementById("mss_messenger_out");
		if (!d)
		{

			d = document.createElement("DIV");
			d.setAttribute('id',"mss_messenger");
			d.style.position='absolute';
			d.style.width='180px';
			d.style.fontFamily='Verdana';
			d.style.fontSize='8pt';

			var mss_closed = parseInt(mss_get_cookie("mss_closed"));
			var content="<!--<div id=mss_messenger_debug></div>--><div id=mss_messenger_out style='overflow-y:auto;overflow-x:hidden;height:270px;padding-top:5px;display:"+(mss_closed?"none":"block")+";border:1px solid #eeeeee;'><center>loading...</center></div><iframe style='display:none' src='' name=mss_contacts_frame id=mss_contacts_frame></iframe><div id=mss_friends_out></div>";
			
			var head_txt = "<table width=100%><tr><td style='color:white;font-weight:bold;'>Центр сообщений</td><td width=15><a href='javascript:void(0)' onclick='toggle_messenger();return false;'><img id=img_mss_toggle src='http://findplace.ru/messenger/im/"+(mss_closed?"max":"min")+".gif'></td></tr></table>";
		
			d.innerHTML = "<table width=220 cellpadding=0 cellspacing=0 height="+(mss_closed?50:350)+" id=mss_messenger_table><tr><td width=10 height=35 style='background: url(http://findplace.ru/messenger/im/sbhead-l.gif) no-repeat top left;'></td><td onmousedown = 'initMove(document.getElementById(\"mss_messenger\"), event);' onmouseup = 'moveState = false;' style='background: url(http://findplace.ru/messenger/im/sbhead-r.gif) no-repeat top right;padding: 0px 10px 0px 0px;'>"+head_txt+"</td></tr><tr><td width=10 style='background: url(http://findplace.ru/messenger/im/sbbody-l.gif) no-repeat bottom left;'></td><td style='background: url(http://findplace.ru/messenger/im/sbbody-r.gif) no-repeat bottom right;padding: 0px 10px 10px 0px;'>"+content+"</td></tr></table>";

			var x = mss_get_cookie("mss_left");
			var y = mss_get_cookie("mss_top");
			if (!x) x = document.body.offsetWidth-250;
			if (!y) y = 100;
			if (x<0) x = 0;
			if (y<0) y = 0;

			d.style.left=x;
			d.style.top=y;
			document.body.appendChild(d);
			document.onmouseup = function() { moveState = false;var dd = document.getElementById("mss_messenger"); if (dd) {mss_set_cookie("mss_left",GetX(dd));mss_set_cookie("mss_top",GetY(dd));}}
			document.onmousemove = function (event){ moveHandler(document.getElementById("mss_messenger"), event);}
		}
		update_mss_messenger("");
		setInterval('update_mss_messenger(\"\")',60000);
		setInterval('update_mss_add_data(\"\")',300000);
		setTimeout('update_mss_add_data(\"\")',1000);
	}


	d = document.createElement("DIV");
	d.setAttribute('id',"mss_messenger_fader");
	d.style.filter='progid:DXImageTransform.Microsoft.Alpha(opacity=50);';
	d.style.mozOpacity=0.5;
	d.style.khtmlOpacity=0.5;
	d.style.opacity=0.5;
	d.style.position='absolute';
	d.style.width='100%';
	d.style.left='0';
	d.style.top='0';
	d.style.height=document.body.offsetHeight;
	d.style.backgroundColor='white';
	d.style.display='none';
	d.innerHTML="&nbsp;";
	document.body.appendChild(d);


	var d1 = document.createElement("DIV");
	d1.setAttribute('id',"mss_messenger_container");
	d1.style.position='absolute';
	d1.style.width='100%';
	d1.style.left='0';
	d1.style.top='0';
	d1.style.height=document.body.offsetHeight;
	d1.style.fontFamily='Verdana';
	d1.style.fontSize='8pt';
	d1.style.display='none';
	var tth = "<div align=right style='padding:5px 0px 0px 0px;'><a href='javascript:void(0)' onclick='close_frame();return false;' style='text-decoration:none;color:#2B587A'>закрыть</a></div>";
	var ttc = "<iframe name='mss_center_frame' id='mss_center_frame' style='width:100%;height:530px;scrolling:no' src='' border=0 frameborder=0></iframe>";
        var tt = "<br><br><br><br><br><br><br><br><br><table width=100%><tr><td valign=top align=center><table width=700 height='550px' cellpadding=0 cellspacing=0 align=center><tr><td width=10 height=20 style='background: url(\"http://findplace.ru/messenger/im/sbhead-l2.gif\") no-repeat top left;'></td><td style='background: url(\"http://findplace.ru/messenger/im/sbhead-r2.gif\") no-repeat top right;padding: 0px 10px 0px 0px;'>"+tth+"</td></tr><tr><td width=10 style='background: url(\"http://findplace.ru/messenger/im/sbbody-l.gif\") no-repeat bottom left;'></td><td style='background: url(\"http://findplace.ru/messenger/im/sbbody-r.gif\") no-repeat bottom right;padding: 0px 10px 10px 0px;'>"+ttc+"</td></tr></table></td></tr></table>";
	d1.innerHTML=tt;
	//d1.innerHTML="<center><table width=100% height=100%><tr><td valign=center align=center><div style='width:700px;text-align:right;position:relative;top:23px;'><a href='javascript:void(0)' onclick='close_frame();return false;' style='text-decoration:none;color:#2B587A'>закрыть</a>&nbsp;&nbsp;&nbsp;</div><div style='width:700px;height:400px;background-color:white;'><iframe name='mss_center_frame' id='mss_center_frame' style='width:100%;height:400px;scrolling:no' src='http://findplace.ru/messenger/mss_frame.php?SID="+sid+"' border=0 frameborder=0></iframe></div></td></tr></table></center>";
	document.body.appendChild(d1);
	var sid = mss_get_cookie("SID");
	
/*	if (sid == "169484236487409")
	{
		d.style.display='block';
		d1.style.display='block';
	}*/






}
function mss_get_data(url)
{
	var sid = mss_get_cookie("SID");
	if (!sid || sid == "")
	{
		mss_data_recieved("error=no sid",'MSS_MSG_DATA');
		return;
	}

	var d = document.createElement("SCRIPT");
	d.setAttribute('language','JavaScript');
	d.setAttribute('src',url);
	document.body.appendChild(d);
}
function mss_data_recieved(data,tp)
{
	//alert(data+" "+tp)
	if (tp == "MSS_MSG_DATA")
	{
		if (data.indexOf("OK")>=0)
			create_messenger_tree();
		else 
		{
			if (data.indexOf("error")>=0)
				create_login_form();
		}
	}else
	if (tp == "MSS_ADD_DATA")
	{
		if (data.indexOf("OK")>=0)
			create_messenger_add();
	}
}
function toggle_group(id)
{
	var s = document.getElementById("site_users_"+id);
	var i = document.getElementById("site_usersi_"+id);
	if (s.style.display=="none") mss_set_cookie("mss_closed_group_"+id,"0"); else mss_set_cookie("mss_closed_group_"+id,"1");
	return toggle_div(s,i,'http://findplace.ru/messenger/im/minus.gif','http://findplace.ru/messenger/im/plus.gif');
}
function toggle_messenger()
{
	var s = document.getElementById("mss_messenger_out");
	var i = document.getElementById("img_mss_toggle");
	var t = document.getElementById("mss_messenger_table");
	if (!s) return;
	if (s.style.display=="none") 
	{
		t.style.height=280;
		mss_set_cookie("mss_closed","0"); 
	}
	else 
	{
		t.style.height=50;
		mss_set_cookie("mss_closed","1");
	}
	return toggle_div(s,i,'http://findplace.ru/messenger/im/min.gif','http://findplace.ru/messenger/im/max.gif');
}
function toggle_div(d,i,img1,img2)
{
	if (d.style.display=="none") 
	{
		if (i) i.src=img1;
		d.style.display="block"; 
	}
	else 
	{
		d.style.display="none";
		if (i) i.src=img2;
	}
	return false;
}
function create_messenger_tree()
{
	var s = "";
	styles = new Array(new Array("color: #3030a0;","color:#33a;font-weight:bold;"),new Array("color: #33a;","color:#33a;font-weight:bold;"),new Array("color: #a33;","color: #a33;font-weight:bold;"));
	style_all = "text-decoration:none;font-size:8pt;";
	style_div = "text-decoration:none;font-size:8pt;clear:both;width:100%;height:30px;border-bottom:1px solid #eeeeee;padding:2px 1px";
	var bgcolors = new Array("white","#F5F9FB");
	var sid = mss_get_cookie("SID");	
	ucnt = 0;
	if (old_group_data)
	if (old_group_data == group_data)
	{
		return;
	}
	old_group_data = group_data;
	var printed_users = new Array();
	var o = new Array(new Array(),new Array(),new Array(),new Array(),new Array(),new Array(),new Array(),new Array());
	for (var g=0;g<group_data.length;g++)
	{
		var g_closed = parseInt(mss_get_cookie("mss_closed_group_"+g));
		var g_has_msg = 0;
		var a = group_data[g][1].split(",");
		var jj=0;
		for (var i=0;i<a.length;i++)
		if (!printed_users[a[i]])
		{
			printed_users[a[i]] = 1;
			var udata = new Array();
			for (var j=0;j<user_data.length;j++)
				if (user_data[j][0] == a[i])
					udata = user_data[j];
			if (udata[0]>0)
			{
				style=style_all+styles[udata[2]][udata[3]];
				if (udata[5])
				{
					j=3;
					if (udata[3]>0) j = 4;
					if (udata[4]>0) j=5;
					sim = "online.gif";
				}
				else 
				{
					j=0;
					if (udata[3]>0) j = 1;
					if (udata[4]>0) j=2;

					sim = "offline.gif";
				}
				var msg = "";
				if (udata[4]>0)
				{
					msg = "<object classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000' codebase='http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0' width='25' height='15' style='background:transparent;'><param name='movie' value='http://findplace.ru/messenger/im/flash_konvert.swf'><param name='quality' value='high'><param name='wmode' value='transparent'><embed src='http://findplace.ru/messenger/im/flash_konvert.swf' quality='high' pluginspage='http://www.macromedia.com/go/getflashplayer' type='application/x-shockwave-flash' width='25' height='15' style='background:transparent;'></embed></object>&nbsp;";
					g_has_msg = 1;
				}
				o[j][o[j].length]="<a href='javascript:void(0)' onclick='open_talk(\""+sid+"\","+udata[0]+");return false;' style='text-decoration:none'><img src='http://findplace.ru/messenger/im/"+sim+"'>&nbsp;"+msg+"<span  style='"+style+"'>"+udata[1]+"</span></a><div style='text-align:right;width:100%;'><a href='http://"+group_data[g][0]+"/?a="+udata[0]+"' style='color:#2B587A' target=_blank>"+group_data[g][0]+"</a></div>";
				jj++;
			}
			ucnt++;
		}
		if (g_has_msg) g_closed = 0;
	}
	//var out="<a href='javascript:void(0)' style='text-decoration:none;font-size:8pt;' onclick='toggle_group("+g+")'><img id='site_usersi_"+g+"' src='http://findplace.ru/messenger/im/"+(g_closed?"plus":"minus")+".gif'>&nbsp;<b>"+group_data[g][0]+"</b></a><div id='site_users_"+g+"' style='margin-left:10px;display:"+(g_closed?"none":"block")+"'>";
	var out = "";
	var jj=0;
	for (i=o.length-1;i>=0;i--)
	{
		for (j=0;j<o[i].length;j++)
		{
			out=out+"<div style='"+style_div+";background-color:"+bgcolors[jj%2]+"'>"+o[i][j]+"</div>";
			jj++;
		}
	}
	//out=out+"</div><br>";
	s = out;
	if (ucnt == 0)
	{
		s = "<center><b>Пока друзей нет, Вы можете добавить их наводя мышку на ники на страницах сайта</b></center>";
	}else
	{
 		s=s+"<div style='display:none'><img src='http://findplace.ru/messenger/im/minus.gif'><img src='http://findplace.ru/messenger/im/plus.gif'></div>";
	}
	var d = document.getElementById("mss_messenger_out");
	if (d) d.innerHTML = s;
}
function create_messenger_add()
{
	var s = new Array();
	var sid = mss_get_cookie("SID");	
	
	{
		if (mss_add_data_cnt[0]>0)
			s[s.length]="<a href='javascript:void(0)' onclick='open_frame(\"friends_ask\");return false;' style='color:#2B587A'><b>Новые друзья ("+mss_add_data_cnt[0]+")</b></a>";
		if (mss_add_data_cnt[1]>0) s[s.length]="<a href='javascript:void(0)' onclick='open_frame(\"news\");return false;' style='color:#2B587A'><b>Мои новости "+(mss_add_data_cnt[1]>0?"("+mss_add_data_cnt[1]+")":"")+"</b></a>";
		if (mss_add_data_cnt[2]>0) s[s.length]="<a href='javascript:void(0)' onclick='open_frame(\"comments\");return false;' style='color:#2B587A'><b>Мои комментарии "+(mss_add_data_cnt[2]>0?"("+mss_add_data_cnt[2]+")":"")+"</b></a>";
		s[s.length]="<a href='javascript:void(0)' onclick='open_frame(\"friends\");return false;' style='color:#2B587A'><b>Мои друзья "+(mss_add_data_cnt[3]>0?"("+mss_add_data_cnt[3]+")":"")+"</b></a>";

	}
	var ss = "";
	for (var i=0;i<s.length;i++)
		ss+="<div style='padding:2px 0px;clear:both;'>"+s[i]+"</div>";
	ss = "<div style='width:100%;border:1px solid #eeeeee;padding:0px 5px 0px 5px;margin-top:5px'>"+ss+"</div>";
	var d = document.getElementById("mss_friends_out");
	if (d) d.innerHTML = ss;
}
function create_login_form()
{
	var s = "<div style='margin:5px;width:100%'><br><b>Вход на сайт</b><br><form method=post action='http://www.findplace.ru/users/login.php'><table width=100% align=center valign=center><tr><td width=50%>логин</td><td><input name=login class=small style='width:100%'></td></tr><tr><td>пароль</td><td><input type=password name=password class=small style='width:100%'></td></tr><tr><td><input class=small type=submit name=enter value=Войти></td><td align=right><a class=small href='http://findplace.ru/register/'><b>Регистрация</b></a></td></tr></table></form></div>";
	var d = document.getElementById("mss_messenger_out");
	if (d) d.innerHTML = s;

}
function update_mss_messenger(add_u)
{
	var sid = mss_get_cookie("SID");
	var url = 'http://findplace.ru/messenger/?SID='+sid+"&rr="+Math.random();
	if (add_u!="") url=url+"&"+add_u;
	mss_get_data(url);
	return false;
}
function update_mss_add_data(add_u)
{
	var sid = mss_get_cookie("SID");
	var url = 'http://findplace.ru/messenger/mss_add_data.php?SID='+sid+"&rr="+Math.random();
	if (add_u!="") url=url+"&"+add_u;
	mss_get_data(url);
	return false;
}
function mss_set_cookie(sName, sValue)
{
	document.cookie = sName + "=" + escape(sValue) + ";path=/";
}

function mss_get_cookie(sName)
{

var d = document.getElementById("mss_messenger_debug");
	if (d) d.innerHTML = document.cookie;
	var aCookie = document.cookie.split("; ");
	for (var i=0; i < aCookie.length; i++)
	{
		var aCrumb = aCookie[i].split("=");
		if (sName == aCrumb[0]) 
			return unescape(aCrumb[1]);
	}
	return "";
}


function mss_init()
{
	if (!disable_mss_menus)
	{
		a = document.getElementsByName("mss_nick_name");
		for (var i=0;i<a.length;i++)
		{
			mss_attach_menus(a[i]);
		}
	}
	mss_create_messenger();
}
function mss_show_user_menu(event)
{
	var e;
	if (event) e = event; else e = window.event;
	var d = (e.srcElement)?e.srcElement:e.target;
	while (d)
	{
		if (d.id)
			if (d.id.indexOf("user") == 0) break;
		d = d.parentNode;
	}
	if (!d) return;
	var id=d.id;
	id = id.replace(/^user/,"");

	var m = document.getElementById("mss_menu_"+id);
	var x = GetX(d);
	var y = GetY(d);
	m.style.left = x+5;
	m.style.top = y+20;
	m.style.display='block';
	mss_remove_from_hide_queue(id);
}
function mss_hide_user_menu()
{
	for (var i=0;i<mss_hide_queue.length;i++)
		if (mss_hide_queue[i]>0)
		{
			var m = document.getElementById("mss_menu_"+mss_hide_queue[i]);
			m.style.display='none';
		}
	mss_hide_queue = new Array();
}
function mss_out_user_nick(event)
{
	var e;
	if (event) e = event; else e = window.event;
	var d = (e.srcElement)?e.srcElement:e.target;
	while (d)
	{
		if (d.id)
			if (d.id.indexOf("user") == 0) break;
		d = d.parentNode;
	}
	if (!d) return;
	var id=d.id;
	id = id.replace(/^user/,"");
	mss_hide_queue.push(id);
	setTimeout('mss_hide_user_menu()',300);
}
function mss_remove_from_hide_queue(id)
{
	for (var i=0;i<mss_hide_queue.length;i++)
		if (mss_hide_queue[i] == id) mss_hide_queue[i] = 0;
}
function mss_out_user_menu(event)
{
	var e;
	if (event) e = event; else e = window.event;
	var d = (e.srcElement)?e.srcElement:e.target;
	while (d && d.tagName!='DIV')
		d = d.parentNode;

	var id=d.id;
	id = id.replace(/^mss_menu_/,"");
	mss_hide_queue.push(id);
	setTimeout('mss_hide_user_menu()',300);
	return false;
}
function mss_over_user_menu(event)
{
	var e;
	if (event) e = event; else e = window.event;
	var d = (e.srcElement)?e.srcElement:e.target;
	while (d && d.tagName!='DIV')
		d = d.parentNode;
	var id=d.id;
	id = id.replace(/^mss_menu_/,"");
	mss_remove_from_hide_queue(id);
	return false;
}
function GetX(e)
{
	var x=0;
	while (e)
	{
		x+=e.offsetLeft;
		e = e.offsetParent;
	}
	return x;
}
function GetY(e)
{
	var y=0;
	while (e)
	{
		y+=e.offsetTop;
		e = e.offsetParent;
	}
	return y;
}
function mss_attach_menus(a)
{
	a.onmouseover=mss_show_user_menu;
	a.onmouseout=mss_out_user_nick;
	var id=a.id;
	id = id.replace(/^user/,"");
	var d;
	d = document.getElementById("mss_menu_"+id);
	if (d) return;
	d = document.createElement("DIV");
	d.setAttribute('id',"mss_menu_"+id);
	d.style.border='1px solid #ccc';
	d.style.padding='5px';
	d.style.backgroundColor='white';
	d.style.position='absolute';
	d.style.display='none';
	d.onmouseover = mss_over_user_menu;
	d.onmouseout = mss_out_user_menu;
	d.onclick = mss_out_user_menu;

	var sid = mss_get_cookie("SID");
	var ss = "<a href='javascript:void(0)' onclick='open_talk(\""+sid+"\","+id+");return false;'>отправить сообщение</a><br><a href='javascript:void(0)' onmouseup='mss_add_friend("+id+");return false;'>добавить в друзья</a>";
	d.innerHTML = ss;
	d.style.left=0;
	d.style.top=0;
	document.body.appendChild(d);
}
function mss_add_friend(id)
{
	var proc_fr = 'update_mss_messenger("&add_friend='+id+'")';
	setTimeout(proc_fr,500);
}
function mss_del_friend(id)
{
	var proc_fr = 'update_mss_messenger("&del_friend='+id+'")';
	setTimeout(proc_fr,500);
}
function mss_open_upload(mode,id,code,service_id)
{
	var sid = mss_get_cookie("SID");
	var url = "";
	if (id>0) url = "http://photovision.ru/uploadnew/?mode="+mode+"&id="+id+"&SID="+sid+"&service_id="+service_id;
	else if (code>0) url = "http://photovision.ru/uploadnew/?mode="+mode+"&code="+code+"&SID="+sid+"&service_id="+service_id;
	else url = "http://photovision.ru/uploadnew/?mode="+mode+"&SID="+sid+"&service_id="+service_id;
	open_frame(url);
	return false;
}
function mss_open_upload_to(mode,sid,id,to,type,service_id)
{
	var sid = mss_get_cookie("SID");
	var url = "";
	if (id>0) url = "http://photovision.ru/uploadnew/?mode="+mode+"&id="+id+"&SID="+sid+"&to_id="+to+"&to_type="+type+"&service_id="+service_id;
	else url = "http://photovision.ru/uploadnew/?mode="+mode+"&SID="+sid+"&to_id="+to+"&to_type="+type+"&service_id="+service_id;
	open_frame(url);
	return false;
}

function mss_open_profile(mode)
{
	var sid = mss_get_cookie("SID");
	open_frame("http://findplace.ru/userinfo/?SID="+sid+(mode!=null?"&mode="+mode:""));
	return false;
}
function mss_open_reg()
{
	open_frame("http://findplace.ru/register/");
	return false;
}
function mss_open_login()
{
	open_frame("http://findplace.ru/login_form/");
	return false;
}
function mss_open_restore_password()
{
	open_frame("http://findplace.ru/restore_password/");
	return false;
}
function mss_open_reg_params(s)
{
	open_frame("http://findplace.ru/register/?"+s);
	return false;
}
function open_frame(page)
{
	var sid = mss_get_cookie("SID");
	var d = document.getElementById("mss_messenger_container");
	if (d) d.style.display='block';
	d = document.getElementById("mss_messenger_fader");
	if (d) d.style.display='block';
	var fr = document.getElementById("mss_center_frame");
	if (fr)
	if (page.indexOf("http") == 0)
		fr.src=page;
	else
		fr.src="http://findplace.ru/messenger/mss_frame.php?SID="+sid+"&page="+page;
	return false;
}
function close_frame()
{
	var d = document.getElementById("mss_messenger_container");
	if (d) d.style.display='none';
	d = document.getElementById("mss_messenger_fader");
	if (d) d.style.display='none';
}
function open_talk(sid,user)
{
	var from = document.location+"";
	if (from.indexOf("findplace")>0) from = "";
	else from = "&from="+encodeURI(from);
	window.open("http://findplace.ru/messenger/wnd.php?SID="+sid+"&selectuser=" + user+'&rnd=' + Math.round(Math.random()*1000000000)+from, "TalkAbout_"+user, "width=630, height=370, directories=no, toolbar=no, location=no, menubar=no, status=no");
	return false;
}

var moveState = false;
var x0, y0;
var divX0, divY0;

// Объявим функцию для определения координат мыши
function defPosition(event) {
    var x = y = 0;
    if (document.attachEvent != null) { // Internet Explorer & Opera
        x = window.event.clientX + document.documentElement.scrollLeft + document.body.scrollLeft;
        y = window.event.clientY + document.documentElement.scrollTop + document.body.scrollTop;
    }
    if (!document.attachEvent && document.addEventListener) { // Gecko
        x = event.clientX + window.scrollX;
        y = event.clientY + window.scrollY;
    }
    return {x:x, y:y};
}

// Функция инициализации движения
// Записываем всё параметры начального состояния
function initMove(div, event) {
    var event = event || window.event;
	if (!div) return;
    x0 = defPosition(event).x;
    y0 = defPosition(event).y;
    divX0 = parseInt(div.style.left);
    divY0 = parseInt(div.style.top);
    moveState = true;
}
// И последнее
// Функция обработки движения:
function moveHandler(div, event) {
    var event = event || window.event;
    if (moveState && div) {
	var xx = divX0 + defPosition(event).x - x0;
	var yy = divY0 + defPosition(event).y - y0;
	if (xx<0) xx = 0;
	if (yy<0) yy = 0;

        div.style.left = xx;
        div.style.top  = yy;
    }
}

