/* [Подготовка фреймов и загрузка сообщений] */ var userlist="<table id=ul width=100%>"+ "<tr id=woman><td colspan=4> <a href=\"javascript:;\" onclick=\"parent.tonick('Девушкам: '); return false;\">~~~~~~~~~Девушки~~~~~~~~~</a></td><td id=womanc>0</td></tr>"+ "<tr id=man><td colspan=4> <a href=\"javascript:;\" onclick=\"parent.tonick('Парням: '); return false;\">~~~~~~~~~Пацанчики~~~~~~~</a></td><td id=manc>0</td></tr>"+ "<tr id=noman><td colspan=4> <a href=\"javascript:;\" onclick=\"parent.tonick('Им: '); return false;\">~~~~~~~~~ХЗ кто~~~~~~~</a></td><td id=nomanc>0</td></tr>"+ "</table>";
/* [Функция - вывода сообщений и команд] */ var pu = new Array; function f(room,cmd,nick,tonick,text,time,colornick,color,var9,var10,var11,var12,var13,var14) { if(ign_ok(nick) && cmd!=6 && cmd!=7) return 0; /* Присвоение переменных */ if(cmd==5) {kill=var9; timeout=var10;} else if(cmd==6 || cmd==7) { inchat=text; mw=var9; st=var10; icon=var11; status=var12; love=var13; clan=var14; if(colornick=='') colornick=fontnick[0]; if(color=='') color=fonttext[0]; /* скрыть ник невидимки */ if(invisible[nick]) return; } else { sizenick=var9;size=var10;facenick=var11;face=var12; if(colornick=='') colornick=fontnick[0]; if(sizenick=='') sizenick=fontnick[1]; if(facenick=='') facenick=fontnick[2]; if(color=='') color=fonttext[0]; if(size=='') size=fonttext[1]; if(face=='') face=fonttext[2]; } /* Автоответчик */ if(loaded==1 && tonick==mynick && nick!=mynick) { var autotext=parent.chat.document.fmsg.text0.value; var obj=parent.chat.document.fmsg.autotext; if(autotext && obj && obj.checked) { parent.write.location.href='index.php?inc=write&'+parent.yourkey+'&text=/privat '+nick+': Автоответчик -> '+autotext+'&r='+Math.random(); }} /* Проверка пользовательских команд для простого сообщения */ if(cmd==0) { if(text.substr(0,5)=="/ping" && nick == mynick && loaded==1) { var ping=new Date().getTime()-gettime; text="<font color=red><i>ping: "+ping+"ms</i></font> "; } if(text.substr(0,6)=="/clear" && clearer[nick]) { if(loaded==1) parent.left.document.getElementsByTagName("body")[0].innerHTML="";text="очищаю фрейм сообщений просьба обновить страницу!";} if(text.substr(0,7)=="/reload" && reloader[nick]) { if(loaded==1) parent.location.reload(); text="перезагружаю чат";} if(text.substr(0,6)=="/alert" && alerter[nick]) { text=text.substr(text.indexOf(": ")+2); if(loaded==1 && mynick==tonick) alert(text); if(nick!=mynick) return; text=tonick+": отправленна команда алерт";} } /* Добавление граф ников, градиента и формат времени */ set_nick=setgn(cmd,nick); set_text=setgr(cmd,nick,text); set_time="<font style='cursor:pointer;' onclick='parent.sendto(\" смотри на время "+time+" \");'>"+time+"</font> "; /* Вывод простого сообщения */ if(cmd==0) { symbol=symbols[0];if(nick==mynick) symbol=symbols[1];if(tonick==mynick || text.split(mynick+":").length>1) symbol=symbols[2]; if(tonick==mynick || text.split(mynick+":").length>1) symbol = symbols[2]; if(text.substr(0,9) == 'Девушкам:' && parent.mymw == '1') symbol = symbols[2]; // Если первые 9 символов текста равны искомому и наша переменная пола равна 1 - мы девочки! if(text.substr(0,7) == 'Парням:' && parent.mymw == '0') symbol = symbols[2]; // Если первые 7 символов текста равны искомому и наша переменная пола равна 0 - мы мальчики! if(text.substr(0,3) == 'Им:' && parent.mymw == '') symbol = symbols[2]; // Если первые 3 символа текста равны искомому и переменной пола нету - мы хз кто! set_nick=" <a href='' onclick=\"parent.tonick('"+nick+": '); return false;\"><font size="+sizenick+" color="+colornick+" face='"+facenick+"'>"+set_nick+":</font></a> "; set_text=" <font size="+size+" color="+color+" face='"+face+"'>" +set_text+"</font> "; towr=symbol+set_time+set_nick+set_text+"<br>"; if(nick==mynick || tonick==mynick) myhistory+=towr; wr(towr); } /* Вывод приватных сообщений */ if(cmd==1 || cmd==2) { symbol=symbols[0];if(nick==mynick) symbol=symbols[3];if(tonick==mynick) symbol=symbols[4]; symbol2="";if(nick==mynick) symbol2=symbols[5];if(tonick==mynick) symbol2=symbols[6]; if(cmd==2) {symbol="";symbol2="";set_nick="<font size="+sizenick+" color="+colornick+" face='"+facenick+"'>"+set_nick+":</font> "; set_time=time;} else set_nick=" <a href='' onclick=\"parent.ptonick('"+nick+": '); return false;\"><font size="+sizenick+" color="+colornick+" face='"+facenick+"'>"+set_nick+":</font></a> "; set_text=" <font size="+size+" color="+color+" face='"+face+"'>"+symbol2+" "+set_text+"</font> "; towr=set_time+symbol+set_nick+set_text+"<br>"; if(nick==mynick || tonick==mynick) myhistory+=towr; /* - cmd=1 для обычного привата, фрейм или общее окно, cmd=2 приват в новом окне */ if(cmd==1 && privatok==1) {parent.privat.document.write("<div>"+towr+"</div>");parent.privat.scroll(0,1000000);} else if(cmd==1) wr(towr); else if(cmd==2) { if(nick==mynick) pnick=tonick; else pnick=nick; if(pu[pnick]==null || pu[pnick].closed) pu[pnick]=window.open("index.php?inc=privat&"+parent.yourkey+"&pnick="+pnick+"&pmess=<div>"+towr+"</div>","","scrollbars=no,width=500,height=400,noresize"); else { pu[pnick].pframe.document.write("<div>"+towr+"</div><script>scroll(0,1000000);</"+"script>"); pu[pnick].document.fmsg.text0.focus(); }}} /* Вывод выделенного сообщения '/me' или '/msg' */ if(cmd==3) { wr(set_time+"<b>Сообщение от <font size=2 color="+colornick+">"+set_nick+":</font></b> <i>"+set_text+"</i><br>"); } /* Вывод сообщения о вызове и сам вызов окном с музыкой '/call nick' */ if(cmd==4) { if(tonick==mynick && loaded==1) alert("Вас вызывает в чат "+nick+"!"); wr(set_time+"<i>"+set_nick+" вызывает "+tonick+".</i><br>"); } /* Вывод сообщения об удалении '/kill nick' и сам процесс */ if(cmd==5) { if(tonick==mynick && loaded==1 && kill!=6 && kill!=7) { if((kill==1)||(kill==2)||(kill==3)) { act="kill"; setcookie(parent.chatlogin.replace("-","_")+"_mpban",tonick,timeout); } if(kill==4) act="window"; if(kill==5) act="prav"; parent.location.href="exit.html?"+parent.yourkey+"&act="+act+"&timeout="+timeout+"&grund="+text; } if(text.length>0) text=" Причина: "+text+". "; if(timeout>0) { if(timeout<61) timeout="На "+timeout+" минут."; if(timeout==1440) timeout="На день!"; if(timeout==10080) timeout="На неделю!"; if(timeout==43200) timeout="На месяц!"; if(timeout>1000000) timeout="Навсегда!"; } wr(set_time+"<i><a href='' onclick=\"parent.tonick('"+nick+": '); return false;\"><font color="+colornick+">"+set_nick+"</font></a> "+deltxt[kill]+" "+tonick+".</i> "+timeout+text+"<br>"); } /* Вывод входа юзера в чат и добавление в нклист через add() */ if(cmd==6) { if(inchat=='0' && room==myroom) { set_nick="<a href='' onclick=\"parent.tonick('"+nick+": '); return false;\"><font color="+colornick+">"+set_nick+"</font></a>"; wr(set_time+"<font color=#00ff00>К нам приходит "+set_nick+".Поприветствуем!!!</font><br>"); } add(nick,colornick,st,mw,icon,status,inchat,time,room,love,clan); } /* Вывод выхода юзера из чата и удаление из никлиста через del() */ if(cmd==7) { if(inchat=='1' && room==myroom) { wr(set_time+"<font color=#00ff00>От нас дает деру <b>"+set_nick+"</b> и сматываеться.</font><br>"); } del(nick,colornick,st,mw,icon,status,inchat,time,room); } /* Сообщение о смене статуса участника и его изменение */ if(cmd==8) { status=text; for(var i=0;i<us.length;i++) if(us[i]!= null && us[i][0]==nick){ us[i][5]=status; if(icqtxt[status]) wr(set_time+"<font size=2 color="+colornick+"><b>"+set_nick+":</b></font> <i>"+icqtxt[status]+"</i><br>"); var obj=parent.users.document.getElementById("!"+nick); while(obj.cells.length) obj.deleteCell(0);format(i,obj); }} /* Функция перехода в комнаты */ if(cmd==10) { oldroom=room; setroom=text; if(loaded==1) { for(var i = 0;i<us.length;i++ ) if(us[i]!=null && us[i][0]==nick) { us[i][6]=setroom; update(oldroom,-1);update(setroom,1); } if(nick==mynick) { myroom=setroom; if(roomlog==1) { parent.left.document.body.innerHTML="Подождите, осуществляется переход в другую комнату ..."; window.setTimeout("loadframes();",2000); window.setTimeout("setstyle(rooms[myroom][2]);",4000); return; } ucc=new Array(); parent.left.document.body.innerHTML=""; parent.users.document.getElementById('users').innerHTML=userlist; window.setTimeout("for(var i=0;i<us.length;i++) if(us[i]!=null) add(us[i][0],us[i][1],us[i][2],us[i][3],us[i][4],us[i][5],'','',us[i][6],us[i][7],us[i][8]);",500); setstyle(rooms[myroom][2]); } else { for(var i = 0;i<us.length;i++ ) if(us[i]!=null && us[i][0]==nick) { if(myroom==setroom) {add(us[i][0],us[i][1],us[i][2],us[i][3],us[i][4],us[i][5],'','',us[i][6],us[i][7],us[i][8]);} else {var obj=parent.users.document.getElementById("!"+nick); if(obj) parent.users.document.getElementById('ul').deleteRow(obj.rowIndex); seprules(-1,us[i][2],us[i][3]);} }}} towr=""; if(nick==mynick && loaded==1) towr=set_time+"<i>Вы перешли в комнату -> <b>"+rooms[setroom][0]+"</b>.</i><br>"; else if(myroom==setroom) towr=set_time+"<i><a href='' onclick=\"parent.tonick('"+nick+": '); return false;\"><font color="+colornick+">"+nick+"</font></a> приходит к нам из комнаты -> <b>"+rooms[oldroom][0]+"</b>.</i><br>"; else if(myroom==oldroom) towr=set_time+"<i>"+nick+" уходит в комнату -> <b>"+rooms[setroom][0]+"</b>.</i><br>"; if(nick==mynick) myhistory+=towr; wr(towr); } /* Конец функции f() */ } /* Функция обновления числа юзеров и выбора комнат */ function update(room,plus) { obj=parent.users.document.getElementById("count"); if(obj) obj.innerHTML=uc; if(!rooms[room] || rooms.length<2) return; rooms[room][1]+=plus; obj=parent.users.document.getElementsByName("setroom")[0]; if(obj) obj.options[room].innerHTML=rooms[room][0]+" ("+rooms[room][1]+")"; if(room==myroom) {obj=parent.users.document.getElementById("roomcount"); if(obj) obj.innerHTML=rooms[room][1];} }