AntiBK/scripts/scripts.js

187 lines
4.8 KiB
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

function getFormatedTime (time)
{
if (!time)
return 0;
var m = parseInt(time / 60);
time %= 60;
var s = time;
if (m == 0) return s+' cек.';
else return m+' мин. '+s+' cек.';
}
function strip_sc (str)
{
str = str.replace(/^\s+/, '');
str = str.replace(/\s*,\s*/g, ',');
str = str.substr(0, str.length - 1);
return str;
}
function trim (str)
{
str = str.replace(/^\s*/, '');
str = str.replace(/\s*$/, '');
return str;
}
function AddTo (login, bPrivate)
{
var c = frames.main.Hint3Name;
if (c != null && c != "")
{
$('#'+c+', [name='+c+']', main.document).val(login).focus();
return;
}
var txt = $('#text', talk.document).val();
var txtreg = txt;
var to = '';
var private = '';
var reg1 = new RegExp("(private|to)\\s*\\[(.+?)\\]", "");
while (res = txtreg.match(reg1))
{
action = res[1];
pr = res[2];
txtreg = txtreg.replace (reg1, '');
if (action == 'private')
{
pr_ar = pr.split(/,/);
for (i = 0; i < pr_ar.length; i++)
{
pr_ar[i] = trim(pr_ar[i]);
var slogin = pr_ar[i].replace (/([\^.*{}$%?\[\]+|\/\(\)])/g, "\\$1");
prReg = new RegExp (slogin+",", "");
if (!private.match(prReg))
private += pr_ar[i]+',';
}
}
if (action == 'to')
{
pr_ar = pr.split(/,/)
for (i = 0; i < pr_ar.length; i++)
{
pr_ar[i] = trim(pr_ar[i]);
var slogin = pr_ar[i].replace(/([\^.*{}$%?\[\]+|\/\(\)])/g, "\\$1");
prReg = new RegExp(slogin+",", "");
if (!to.match(prReg))
to += pr_ar[i]+',';
}
}
}
to = strip_sc (to);
private = strip_sc (private);
var to_str = ','+to+',';
var private_str = ','+private+',';
if (private)
private = 'private ['+private+'] ';
if (to)
to = 'to ['+to+'] ';
txtreg = txtreg.replace (/^\s+/, '');
txt = private + to + txtreg;
var ntxt = 'to ['+login+']';
var i = txt.indexOf (ntxt);
if (i != -1)
txt = txt.substr (0, i) + 'private ['+login+'] '+ txt.substr (i+ntxt.length, txt.length);
else
{
var ntxt2 = 'private ['+login+']';
i = txt.indexOf (ntxt2);
if (i != -1)
txt = txt.substr (0, i) + 'to ['+login+'] '+ txt.substr (i+ntxt2.length, txt.length);
else
{
var slogin = login.replace (/([\^.*{}$%?\[\]+|\/\(\)])/g, "\\$1");
reg = new RegExp (","+slogin+",", "");
flag = 0;
if (!private_str.match(reg) && txt.match(/private\s*\[.*\]/))
{
txt = txt.replace (/private\s*\[(.+)\]/, "private ["+login+",$1]");
flag = 1;
}
if (!to_str.match(reg) && txt.match(/to\s*\[.*\]/))
{
txt = txt.replace (/to\s*\[(.+)\]/, "to ["+login+",$1]");
flag = 1;
}
if (flag == 0 && !txt.match (/(to|private)\s*\[.*\]/))
txt = (( bPrivate ) ?'private ['+login+'] ' :'to ['+login+'] ') + txt;
}
}
$('#text', talk.document).val(txt).focus();
}
function AddToPrivate (login)
{
var s = $('#text', talk.document).val();
var reg2 = new RegExp ("private(\\s*)\\[(.*?)\\]", "");
var cs = s.replace (reg2, "private$1[,$2,]");
var slogin = login.replace (/([\^.*{}$%?\[\]+|\/\(\)])/g, "\\$1");
var reg = new RegExp ("private\\s*\\[.*,\\s*"+slogin+"\\s*,.*\\]", "");
var result = '';
var reg3 = new RegExp ("private\\s*\\[(.*?)\\]", "");
while (res = s.match(reg3))
{
result += res[1]+',';
s = s.replace (reg3, '');
}
result = result.replace (/,$/, '');
var prar = result.split (',');
for (i = 0; i < prar.length; i++)
{
prar[i] = prar[i].replace (/^\s+/, '');
prar[i] = prar[i].replace (/\s+$/, '');
}
var str = prar.join (', ');
if (str)
login += ', ';
space = ''
if (!s.match(/^\s+/))
space = ' ';
if (!cs.match(reg))
s = 'private ['+login+str+']' + space + s;
else
s = 'private ['+str+']' + space + s;
$('#text', talk.document).val(s).focus();
}
function linkAction (action)
{
frames.main.location.href = "main.php?action="+action;
}
function exploder (data)
{
if (data == '' || data == 'ajax_error')
location.href = 'index.php';
var variable = data.split('$$');
return variable;
}
function checkGame ()
{
var link = location.href.split("/");
if (link[link.length - 1] != 'game.php')
location.href = 'index.php';
try
{
var gframes = new Array($('[name=msg]').attr('src'), $('[name=user]').attr('src'), $('[name=talk]').attr('src'));
if (gframes[0] != 'msg.php' || gframes[1] != 'users.php' || gframes[2] != 'talk.php')
location.href = 'index.php';
}
catch(e){location.href = 'index.php';}
}
function cleanChat ()
{
$('#mes', msg.document).html('');
}
function exit ()
{
frames.main.dialogconfirm('Подтверждение', "top.linkAction('exit')", '<center>Вы уверены что хотите выйти из игры?</center>', 0);
}
var time_to_go = 0;
var city = '';